From fe4f0a8d6bf9ac0e13d09071d0db3dda15c28cdf Mon Sep 17 00:00:00 2001 From: Erik Foris Date: Fri, 5 Jul 2024 11:31:22 +0200 Subject: [PATCH 1/6] refactor: Add licence field to Dataset model --- .../PADAS/group3/DataDash/model/Dataset.java | 10 ++++++ src/main/resources/data.sql | 34 +++++++++---------- src/main/resources/schema.sql | 2 +- 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java index 5f28d40..7f78848 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java @@ -43,6 +43,8 @@ public class Dataset { private URL url; + private String licence; + private static final List sortable = Arrays.asList("author", "title", "upvotes", "date"); @ManyToOne @@ -115,6 +117,10 @@ public class Dataset { return url; } + public String getLicence() { + return licence; + } + public static List getSort() { return sortable; } @@ -163,4 +169,8 @@ public class Dataset { upvotes--; } + public void setLicence(String licence) { + this.licence = licence; + } + } diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql index 68993c1..51257a9 100644 --- a/src/main/resources/data.sql +++ b/src/main/resources/data.sql @@ -10,21 +10,21 @@ INSERT INTO category (id, name) VALUES ('123e4567-e89b-12d3-a456-426614174002', 'Health'); -- Insert sample data into dataset -INSERT INTO dataset (date, raiting, upvotes, votes, categorie_id, id, abst, author, description, title, url, type) VALUES -('2023-01-01', 4.5, 100, 120, '123e4567-e89b-12d3-a456-426614174000', '123e4567-e89b-12d3-a456-426614174100', 'Abstract 1', 'Author 1', 'Description 1', 'Title 1', 'http://example.com/1', 'API'), -('2023-01-02', 4.7, 150, 170, '123e4567-e89b-12d3-a456-426614174001', '123e4567-e89b-12d3-a456-426614174101', 'Abstract 2', 'Author 2', 'Description 2', 'Title 2', 'http://example.com/2', 'DATASET'), -('2023-01-03', 4.9, 200, 220, '123e4567-e89b-12d3-a456-426614174002', '123e4567-e89b-12d3-a456-426614174102', 'Abstract 3', 'Author 3', 'Description 3', 'Title 3', 'http://example.com/3', 'API'), -('2023-01-04', 4.2, 80, 100, '123e4567-e89b-12d3-a456-426614174003', '123e4567-e89b-12d3-a456-426614174103', 'Abstract 4', 'Author 4', 'Description 4', 'Title 4', 'http://example.com/4', 'DATASET'), -('2023-01-05', 4.6, 120, 140, '123e4567-e89b-12d3-a456-426614174004', '123e4567-e89b-12d3-a456-426614174104', 'Abstract 5', 'Author 5', 'Description 5', 'Title 5', 'http://example.com/5', 'API'); +INSERT INTO dataset (date, raiting, upvotes, votes, categorie_id, id, abst, author, description, title, url, type, licence) VALUES +('2023-01-01', 4.5, 100, 120, '123e4567-e89b-12d3-a456-426614174000', '123e4567-e89b-12d3-a456-426614174100', 'Abstract 1', 'Author 1', 'Description 1', 'Title 1', 'http://example.com/1', 'API', 'MIT'), +('2023-01-02', 4.7, 150, 170, '123e4567-e89b-12d3-a456-426614174001', '123e4567-e89b-12d3-a456-426614174101', 'Abstract 2', 'Author 2', 'Description 2', 'Title 2', 'http://example.com/2', 'DATASET', 'MIT'), +('2023-01-03', 4.9, 200, 220, '123e4567-e89b-12d3-a456-426614174002', '123e4567-e89b-12d3-a456-426614174102', 'Abstract 3', 'Author 3', 'Description 3', 'Title 3', 'http://example.com/3', 'API', 'MIT'), +('2023-01-04', 4.2, 80, 100, '123e4567-e89b-12d3-a456-426614174003', '123e4567-e89b-12d3-a456-426614174103', 'Abstract 4', 'Author 4', 'Description 4', 'Title 4', 'http://example.com/4', 'DATASET', 'MIT'), +('2023-01-05', 4.6, 120, 140, '123e4567-e89b-12d3-a456-426614174004', '123e4567-e89b-12d3-a456-426614174104', 'Abstract 5', 'Author 5', 'Description 5', 'Title 5', 'http://example.com/5', 'API', 'MIT'); -- Insert 10 more sample data into dataset -INSERT INTO dataset (date, raiting, upvotes, votes, categorie_id, id, abst, author, description, title, url, type) VALUES -('2023-01-06', 4.8, 180, 200, '123e4567-e89b-12d3-a456-426614174005', '123e4567-e89b-12d3-a456-426614174105', 'Abstract 6', 'Author 6', 'Description 6', 'Title 6', 'http://example.com/6', 'API'), -('2023-01-07', 4.3, 90, 110, '123e4567-e89b-12d3-a456-426614174006', '123e4567-e89b-12d3-a456-426614174106', 'Abstract 7', 'Author 7', 'Description 7', 'Title 7', 'http://example.com/7', 'DATASET'), -('2023-01-08', 4.7, 150, 170, '123e4567-e89b-12d3-a456-426614174007', '123e4567-e89b-12d3-a456-426614174107', 'Abstract 8', 'Author 8', 'Description 8', 'Title 8', 'http://example.com/8', 'API'), -('2023-01-09', 4.9, 200, 220, '123e4567-e89b-12d3-a456-426614174000', '123e4567-e89b-12d3-a456-426614174108', 'Abstract 9', 'Author 9', 'Description 9', 'Title 9', 'http://example.com/9', 'DATASET'), -('2023-01-10', 4.2, 80, 100, '123e4567-e89b-12d3-a456-426614174001', '123e4567-e89b-12d3-a456-426614174109', 'Abstract 10', 'Author 10', 'Description 10', 'Title 10', 'http://example.com/10', 'API'), -('2023-11-11', 4.6, 120, 140, '123e4567-e89b-12d3-a456-426614174002', '123e4567-e89b-12d3-a456-426614174110', 'Abstract 11', 'Author 11', 'Description 11', 'Title 11', 'http://example.com/11', 'DATASET'), -('2023-09-12', 4.8, 180, 200, '123e4567-e89b-12d3-a456-426614174003', '123e4567-e89b-12d3-a456-426614174111', 'Abstract 12', 'Author 12', 'Description 12', 'Title 12', 'http://example.com/12', 'API'), -('2023-03-13', 4.3, 90, 110, '123e4567-e89b-12d3-a456-426614174004', '123e4567-e89b-12d3-a456-426614174112', 'Abstract 13', 'Author 13', 'Description 13', 'Title 13', 'http://example.com/13', 'DATASET'), -('2021-01-14', 4.7, 150, 170, '123e4567-e89b-12d3-a456-426614174005', '123e4567-e89b-12d3-a456-426614174113', 'Abstract 14', 'Author 14', 'Description 14', 'Title 14', 'http://example.com/14', 'API'), -('2024-01-15', 4.9, 200, 220, '123e4567-e89b-12d3-a456-426614174006', '123e4567-e89b-12d3-a456-426614174114', 'Abstract 15', 'Author 15', 'Description 15', 'Title 15', 'http://example.com/15', 'DATASET'); \ No newline at end of file +INSERT INTO dataset (date, raiting, upvotes, votes, categorie_id, id, abst, author, description, title, url, type, licence) VALUES +('2023-01-06', 4.8, 180, 200, '123e4567-e89b-12d3-a456-426614174005', '123e4567-e89b-12d3-a456-426614174105', 'Abstract 6', 'Author 6', 'Description 6', 'Title 6', 'http://example.com/6', 'API', 'MIT'), +('2023-01-07', 4.3, 90, 110, '123e4567-e89b-12d3-a456-426614174006', '123e4567-e89b-12d3-a456-426614174106', 'Abstract 7', 'Author 7', 'Description 7', 'Title 7', 'http://example.com/7', 'DATASET', 'MIT'), +('2023-01-08', 4.7, 150, 170, '123e4567-e89b-12d3-a456-426614174007', '123e4567-e89b-12d3-a456-426614174107', 'Abstract 8', 'Author 8', 'Description 8', 'Title 8', 'http://example.com/8', 'API', 'MIT'), +('2023-01-09', 4.9, 200, 220, '123e4567-e89b-12d3-a456-426614174000', '123e4567-e89b-12d3-a456-426614174108', 'Abstract 9', 'Author 9', 'Description 9', 'Title 9', 'http://example.com/9', 'DATASET', 'MIT'), +('2023-01-10', 4.2, 80, 100, '123e4567-e89b-12d3-a456-426614174001', '123e4567-e89b-12d3-a456-426614174109', 'Abstract 10', 'Author 10', 'Description 10', 'Title 10', 'http://example.com/10', 'API', 'MIT'), +('2023-11-11', 4.6, 120, 140, '123e4567-e89b-12d3-a456-426614174002', '123e4567-e89b-12d3-a456-426614174110', 'Abstract 11', 'Author 11', 'Description 11', 'Title 11', 'http://example.com/11', 'DATASET', 'MIT'), +('2023-09-12', 4.8, 180, 200, '123e4567-e89b-12d3-a456-426614174003', '123e4567-e89b-12d3-a456-426614174111', 'Abstract 12', 'Author 12', 'Description 12', 'Title 12', 'http://example.com/12', 'API', 'MIT'), +('2023-03-13', 4.3, 90, 110, '123e4567-e89b-12d3-a456-426614174004', '123e4567-e89b-12d3-a456-426614174112', 'Abstract 13', 'Author 13', 'Description 13', 'Title 13', 'http://example.com/13', 'DATASET', 'MIT'), +('2021-01-14', 4.7, 150, 170, '123e4567-e89b-12d3-a456-426614174005', '123e4567-e89b-12d3-a456-426614174113', 'Abstract 14', 'Author 14', 'Description 14', 'Title 14', 'http://example.com/14', 'API', 'MIT'), +('2024-01-15', 4.9, 200, 220, '123e4567-e89b-12d3-a456-426614174006', '123e4567-e89b-12d3-a456-426614174114', 'Abstract 15', 'Author 15', 'Description 15', 'Title 15', 'http://example.com/15', 'DATASET', 'MIT'); \ No newline at end of file diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql index bb7c8b1..0385a13 100644 --- a/src/main/resources/schema.sql +++ b/src/main/resources/schema.sql @@ -3,5 +3,5 @@ DROP TABLE IF EXISTS category; create table category (id uuid not null, name varchar(255), primary key (id)); -create table dataset (date date, raiting float(24) not null, upvotes integer not null, votes integer not null, categorie_id uuid, id uuid not null, abst varchar(255), author varchar(255), description varchar(255), title varchar(255), url varchar(255), type enum ('API','DATASET'), primary key (id)); +create table dataset (date date, raiting float(24) not null, upvotes integer not null, votes integer not null, categorie_id uuid, id uuid not null, abst varchar(255), author varchar(255), description varchar(255), title varchar(255), url varchar(255), type enum ('API','DATASET'), licence varchar(255), primary key (id)); alter table if exists dataset add constraint FKq6qwq6u473f89h71s7rf97ruy foreign key (categorie_id) references category; From 93a52097de5abd61403b99e893502330fc1874ea Mon Sep 17 00:00:00 2001 From: J-Klinke Date: Fri, 5 Jul 2024 12:04:32 +0200 Subject: [PATCH 2/6] - main.js: fixed bug in the filterButton EventListener (removed if-clause) added new EventListener for fetching categories updated fetchCategories() --- src/main/resources/static/dataset.js | 6 +----- src/main/resources/static/main.js | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/main/resources/static/dataset.js b/src/main/resources/static/dataset.js index 29170a8..bd33176 100644 --- a/src/main/resources/static/dataset.js +++ b/src/main/resources/static/dataset.js @@ -37,7 +37,7 @@ export default class Dataset { clone.querySelector("p").innerText = this.#description; clone.querySelector("span").innerText = this.#upvotes; let votedIDs = window.localStorage; - // depending on whether the button has been up/downvoted, its according button get disabled and hidden + // depending on whether the button has been up/downvoted, its according button gets disabled and hidden if (votedIDs.getItem(this.#id)) { let votedButton = clone.querySelector(votedIDs.getItem(this.#id)? ".upvote-btn":".downvote-btn"); votedButton.classList.add("isVoted"); @@ -57,8 +57,4 @@ export default class Dataset { return clone; } - - getID() { - return this.#id; - } } diff --git a/src/main/resources/static/main.js b/src/main/resources/static/main.js index 32caf41..cb558ac 100644 --- a/src/main/resources/static/main.js +++ b/src/main/resources/static/main.js @@ -9,6 +9,7 @@ export const lastQuery = { currentPage: 0 }; const votedIDs = window.localStorage; +const loadedCategories = new Set; // definition of all buttons & sections const addButton = document.getElementById("add-btn"); @@ -33,12 +34,13 @@ addButton.addEventListener("click", () => { }); filterButton.addEventListener("change", () => { - const filterString = filterButton.value; - if (filterString !== filterButton.querySelector("#default-filter").value) { - fetchQuery(createQuery(), true); - } + fetchQuery(createQuery(), true); }); +filterButton.addEventListener("click", () => { + fetchCategories(); +}) + searchButton.addEventListener("click", () => { fetchQuery(createQuery(), true); @@ -99,7 +101,7 @@ function getFilterQuery() { } else if (document.querySelector('#filter-btn option:checked').parentElement.label === "Standard categories") { return ["type", filterString]; } else { - return ["category", filterString]; + return ["category", filterButton.options[filterButton.selectedIndex].value] } } @@ -177,15 +179,18 @@ function updateSections() { // fetches the further categories used in the filter function function fetchCategories() { - const fetchURL = new URL( - "api/v1/categories", baseURL); + const fetchURL = new URL("api/v1/categories", baseURL); fetch(fetchURL) .then(resp => resp.json()) .then((data) => { for (let i = 0; i < data.length; i++) { - let category = data[i].toLowerCase(); - category = category.charAt(0).toUpperCase() + category.slice(1); - document.getElementById("other-categories").appendChild(new Option(category)); + let categoryName = data[i].name.toLowerCase(); + categoryName = categoryName.charAt(0).toUpperCase() + categoryName.slice(1); + if (!loadedCategories.has(categoryName)) { + let newCategory = new Option(categoryName, data[i].id); + document.getElementById("other-categories").appendChild(newCategory); + loadedCategories.add(categoryName); + } } }); } From 6ae3a73a7e745e3667588af7ede1658d258cca56 Mon Sep 17 00:00:00 2001 From: Erik Foris Date: Fri, 5 Jul 2024 12:19:47 +0200 Subject: [PATCH 3/6] refactor: Add licence field to Dataset constructor --- .../de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java | 3 ++- .../fim/PADAS/group3/DataDash/model/LoadDummyDatabase.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java index 7f78848..7877d53 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java @@ -50,7 +50,7 @@ public class Dataset { @ManyToOne private Category categorie; - public Dataset(String title, String abst, String description, String author, URL url, Category categories, Type type) { + public Dataset(String title, String abst, String description, String author, URL url, Category categories, Type type, String licence) { this.raiting = 0; this.votes = 0; @@ -63,6 +63,7 @@ public class Dataset { setCategorie(categories); setType(type); setUrl(url); + setLicence(licence); } public Dataset() { diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/LoadDummyDatabase.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/LoadDummyDatabase.java index ba3dd32..6600bdb 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/LoadDummyDatabase.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/LoadDummyDatabase.java @@ -25,7 +25,7 @@ public class LoadDummyDatabase { Category category = new Category("Category" + i); log.info("Preloading" + categoryRepository.save(category)); - Dataset dataset = new Dataset("Title" + i, "Abst" + i, "Description" + i, "Author" + i,null, category, Type.API); + Dataset dataset = new Dataset("Title" + i, "Abst" + i, "Description" + i, "Author" + i,null, category, Type.API, "MIT"); for (int j = 0; j < new Random().nextInt(50); j++) { dataset.upvote(); } From 15f743d8ab78ce3ba9fda78964828d6da52b8bea Mon Sep 17 00:00:00 2001 From: J-Klinke Date: Fri, 5 Jul 2024 12:30:40 +0200 Subject: [PATCH 4/6] fixed bugs: - suppressed display of search results if nothing was found but there were previous searches - improved display timing of search results/initial pages, which led to false displays --- src/main/resources/static/contentUtility.js | 2 ++ src/main/resources/static/main.css | 9 +++++---- src/main/resources/static/main.js | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/resources/static/contentUtility.js b/src/main/resources/static/contentUtility.js index ff48f52..c8adbb8 100644 --- a/src/main/resources/static/contentUtility.js +++ b/src/main/resources/static/contentUtility.js @@ -17,8 +17,10 @@ export function fetchQuery(fetchString, clearResults) { function parseContent(content, clearResults) { if (content.length === 0) { searchSection.querySelector("#nothing-found ").classList.remove("hidden"); + searchSection.querySelector(".datasets").classList.add("hidden"); } else { searchSection.querySelector("#nothing-found").classList.add("hidden"); + searchSection.querySelector(".datasets").classList.remove("hidden"); const datasets = content.map(dataset => new Dataset(dataset)); if (clearResults) { Array.from(searchSection.querySelectorAll(".datasets .dataset")).forEach(e => e.remove()); diff --git a/src/main/resources/static/main.css b/src/main/resources/static/main.css index ab5e5bf..8a0b141 100644 --- a/src/main/resources/static/main.css +++ b/src/main/resources/static/main.css @@ -78,10 +78,6 @@ header { text-align: center; } -.hidden { - display: none; -} - #search-entry:focus-visible { outline: none; } @@ -93,6 +89,11 @@ header { gap: 1rem; } +.hidden { + display: none; +} + + @container (width < 60ch) { .datasets { grid-template-columns: 1fr; diff --git a/src/main/resources/static/main.js b/src/main/resources/static/main.js index cb558ac..3501471 100644 --- a/src/main/resources/static/main.js +++ b/src/main/resources/static/main.js @@ -47,10 +47,10 @@ searchButton.addEventListener("click", () => { }); searchBar.addEventListener("input", () => { - updateSections(); clearTimeout(searchBarTimeout); searchBarTimeout = setTimeout(() => { fetchQuery(createQuery(), true); + updateSections(); }, searchDelay); }); From 68595e22a73cfafae9387b37dc63323e3eb820a1 Mon Sep 17 00:00:00 2001 From: Erik Foris Date: Fri, 5 Jul 2024 12:34:26 +0200 Subject: [PATCH 5/6] refactor: move static sites into static, Remove unused PageController and update main.js for page navigation --- .../group3/DataDash/controler/PageController.java | 12 ------------ src/main/resources/{templates => static}/add.html | 0 src/main/resources/{templates => static}/index.html | 0 src/main/resources/static/main.js | 3 +-- 4 files changed, 1 insertion(+), 14 deletions(-) delete mode 100644 src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/PageController.java rename src/main/resources/{templates => static}/add.html (100%) rename src/main/resources/{templates => static}/index.html (100%) diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/PageController.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/PageController.java deleted file mode 100644 index f1a0f6f..0000000 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/PageController.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.controler; - -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; - -@Controller -public class PageController { - @GetMapping("/add") - public String getAddPage() { - return "add"; - } -} diff --git a/src/main/resources/templates/add.html b/src/main/resources/static/add.html similarity index 100% rename from src/main/resources/templates/add.html rename to src/main/resources/static/add.html diff --git a/src/main/resources/templates/index.html b/src/main/resources/static/index.html similarity index 100% rename from src/main/resources/templates/index.html rename to src/main/resources/static/index.html diff --git a/src/main/resources/static/main.js b/src/main/resources/static/main.js index 65c62d6..5ddbced 100644 --- a/src/main/resources/static/main.js +++ b/src/main/resources/static/main.js @@ -81,8 +81,7 @@ for (const downvoteButton of downvoteButtons) { // functions of the main page function navigateToAdd() { - //TODO: url to add page not yet implemented, add here - window.location.href = "/add"; + window.location.href = "/add.html"; } function filter(filterString) { From 3d71bfee2b57d44416e9e717894b24dc1c39b350 Mon Sep 17 00:00:00 2001 From: Erik Foris Date: Fri, 5 Jul 2024 13:05:56 +0200 Subject: [PATCH 6/6] refactor: finilase project structure --- .../DataDash/{model => Dataset}/Dataset.java | 5 ++- .../DatasetController.java | 10 ++--- .../{model => Dataset}/DatasetService.java | 6 ++- .../PADAS/group3/DataDash/Dataset/Type.java | 6 +++ .../{model => Dataset}/dataRepository.java | 4 +- .../{model => category}/Category.java | 3 +- .../CategoryController.java | 6 +-- .../{model => category}/CategoryDto.java | 2 +- .../CategoryDtoMapper.java | 2 +- .../CategoryRepository.java | 2 +- .../{model => category}/CategoryService.java | 2 +- .../DataDash/model/LoadDummyDatabase.java | 40 ------------------- .../fim/PADAS/group3/DataDash/model/Type.java | 6 --- 13 files changed, 28 insertions(+), 66 deletions(-) rename src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/{model => Dataset}/Dataset.java (96%) rename src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/{controler => Dataset}/DatasetController.java (94%) rename src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/{model => Dataset}/DatasetService.java (95%) create mode 100644 src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/Type.java rename src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/{model => Dataset}/dataRepository.java (96%) rename src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/{model => category}/Category.java (86%) rename src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/{controler => category}/CategoryController.java (87%) rename src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/{model => category}/CategoryDto.java (85%) rename src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/{model => category}/CategoryDtoMapper.java (77%) rename src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/{model => category}/CategoryRepository.java (88%) rename src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/{model => category}/CategoryService.java (94%) delete mode 100644 src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/LoadDummyDatabase.java delete mode 100644 src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Type.java diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/Dataset.java similarity index 96% rename from src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java rename to src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/Dataset.java index 7877d53..c8ed4e3 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Dataset.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/Dataset.java @@ -1,10 +1,13 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.model; +package de.uni_passau.fim.PADAS.group3.DataDash.Dataset; import java.net.URL; import java.time.LocalDate; import java.util.Arrays; import java.util.List; import java.util.UUID; + +import de.uni_passau.fim.PADAS.group3.DataDash.category.Category; + import java.sql.Date; import jakarta.persistence.Entity; diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/DatasetController.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/DatasetController.java similarity index 94% rename from src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/DatasetController.java rename to src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/DatasetController.java index 947b346..3e54858 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/DatasetController.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/DatasetController.java @@ -1,15 +1,9 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.controler; +package de.uni_passau.fim.PADAS.group3.DataDash.Dataset; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.web.bind.annotation.*; - -import de.uni_passau.fim.PADAS.group3.DataDash.model.Category; -import de.uni_passau.fim.PADAS.group3.DataDash.model.Dataset; -import de.uni_passau.fim.PADAS.group3.DataDash.model.DatasetService; -import de.uni_passau.fim.PADAS.group3.DataDash.model.Type; - import org.springframework.data.domain.Pageable; import org.springframework.data.web.config.EnableSpringDataWebSupport; import org.springframework.http.HttpStatus; @@ -20,6 +14,8 @@ import java.util.UUID; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import de.uni_passau.fim.PADAS.group3.DataDash.category.Category; + @RestController @RequestMapping("/api/v1/datasets") @EnableSpringDataWebSupport diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/DatasetService.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/DatasetService.java similarity index 95% rename from src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/DatasetService.java rename to src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/DatasetService.java index ea1fe96..7762f31 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/DatasetService.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/DatasetService.java @@ -1,4 +1,4 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.model; +package de.uni_passau.fim.PADAS.group3.DataDash.Dataset; import java.time.LocalDate; import java.util.List; @@ -7,6 +7,10 @@ import java.util.UUID; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; + +import de.uni_passau.fim.PADAS.group3.DataDash.category.Category; +import de.uni_passau.fim.PADAS.group3.DataDash.category.CategoryRepository; + import org.springframework.data.domain.Page; @Service diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/Type.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/Type.java new file mode 100644 index 0000000..9f2770d --- /dev/null +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/Type.java @@ -0,0 +1,6 @@ +package de.uni_passau.fim.PADAS.group3.DataDash.Dataset; + +public enum Type { + DATASET, + API +} \ No newline at end of file diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/dataRepository.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/dataRepository.java similarity index 96% rename from src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/dataRepository.java rename to src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/dataRepository.java index 130415d..c896552 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/dataRepository.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/Dataset/dataRepository.java @@ -1,4 +1,4 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.model; +package de.uni_passau.fim.PADAS.group3.DataDash.Dataset; import java.util.List; import java.util.Optional; @@ -11,6 +11,8 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; +import de.uni_passau.fim.PADAS.group3.DataDash.category.Category; + public interface dataRepository extends JpaRepository { Dataset getDatasetById(UUID id); diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Category.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/Category.java similarity index 86% rename from src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Category.java rename to src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/Category.java index 4246baa..a868283 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Category.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/Category.java @@ -1,10 +1,11 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.model; +package de.uni_passau.fim.PADAS.group3.DataDash.category; import java.util.List; import java.util.UUID; import org.springframework.context.annotation.Lazy; +import de.uni_passau.fim.PADAS.group3.DataDash.Dataset.Dataset; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/CategoryController.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryController.java similarity index 87% rename from src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/CategoryController.java rename to src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryController.java index 69a162e..3ce13b0 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/controler/CategoryController.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryController.java @@ -1,14 +1,10 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.controler; +package de.uni_passau.fim.PADAS.group3.DataDash.category; import java.util.List; import java.util.UUID; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; - -import de.uni_passau.fim.PADAS.group3.DataDash.model.CategoryDto; -import de.uni_passau.fim.PADAS.group3.DataDash.model.CategoryService; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryDto.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryDto.java similarity index 85% rename from src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryDto.java rename to src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryDto.java index a21d0cf..11644cc 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryDto.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryDto.java @@ -1,4 +1,4 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.model; +package de.uni_passau.fim.PADAS.group3.DataDash.category; import java.util.UUID; diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryDtoMapper.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryDtoMapper.java similarity index 77% rename from src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryDtoMapper.java rename to src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryDtoMapper.java index e7ecc10..683fdc8 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryDtoMapper.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryDtoMapper.java @@ -1,4 +1,4 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.model; +package de.uni_passau.fim.PADAS.group3.DataDash.category; public class CategoryDtoMapper { diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryRepository.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryRepository.java similarity index 88% rename from src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryRepository.java rename to src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryRepository.java index a0b67e5..acde965 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryRepository.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryRepository.java @@ -1,4 +1,4 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.model; +package de.uni_passau.fim.PADAS.group3.DataDash.category; import java.util.List; import java.util.Optional; diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryService.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryService.java similarity index 94% rename from src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryService.java rename to src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryService.java index d975497..3e2698f 100644 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/CategoryService.java +++ b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/category/CategoryService.java @@ -1,4 +1,4 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.model; +package de.uni_passau.fim.PADAS.group3.DataDash.category; import org.springframework.stereotype.Service; import java.util.List; diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/LoadDummyDatabase.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/LoadDummyDatabase.java deleted file mode 100644 index 6600bdb..0000000 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/LoadDummyDatabase.java +++ /dev/null @@ -1,40 +0,0 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.model; - -import java.util.List; -import java.util.Random; - -import org.slf4j.LoggerFactory; -import org.springframework.boot.CommandLineRunner; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - - - -@Configuration -public class LoadDummyDatabase { - - private static final org.slf4j.Logger log = LoggerFactory.getLogger(LoadDummyDatabase.class); - - //@Bean - CommandLineRunner initDatabase(dataRepository repository, CategoryRepository categoryRepository) { - - - - return args -> { - for (int i = 0; i < 100; i++) { - Category category = new Category("Category" + i); - log.info("Preloading" + categoryRepository.save(category)); - - Dataset dataset = new Dataset("Title" + i, "Abst" + i, "Description" + i, "Author" + i,null, category, Type.API, "MIT"); - for (int j = 0; j < new Random().nextInt(50); j++) { - dataset.upvote(); - } - log.info("Preloading" + repository.save(dataset)); - log.info("Preloading" + categoryRepository.save(category)); - } - List s = repository.findByTitleLike("%Title%"); - log.info("Found Entry with ID: " + s.get(1).getId());}; - } - - -} \ No newline at end of file diff --git a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Type.java b/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Type.java deleted file mode 100644 index 8f72c12..0000000 --- a/src/main/java/de/uni_passau/fim/PADAS/group3/DataDash/model/Type.java +++ /dev/null @@ -1,6 +0,0 @@ -package de.uni_passau.fim.PADAS.group3.DataDash.model; - -public enum Type { - DATASET, - API -} \ No newline at end of file