diff --git a/src/main/java/NTNU/IDATT1002/controllers/Search.java b/src/main/java/NTNU/IDATT1002/controllers/Search.java index b1b4cfa0cc4b4467605a7a0701dca37597429df5..4d673e7115f1c511ca25c58c79de96671fd40b71 100644 --- a/src/main/java/NTNU/IDATT1002/controllers/Search.java +++ b/src/main/java/NTNU/IDATT1002/controllers/Search.java @@ -1,6 +1,9 @@ package NTNU.IDATT1002.controllers; import NTNU.IDATT1002.App; +import NTNU.IDATT1002.models.Image; +import NTNU.IDATT1002.models.Tag; +import NTNU.IDATT1002.utils.ImageUtil; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.fxml.Initializable; @@ -10,7 +13,6 @@ import javafx.scene.control.Button; import javafx.scene.control.ChoiceBox; import javafx.scene.control.ScrollPane; import javafx.scene.control.TextField; -import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.MouseEvent; import javafx.scene.layout.HBox; @@ -19,12 +21,17 @@ import javafx.scene.layout.VBox; import javafx.scene.text.Font; import javafx.scene.text.Text; -import javax.persistence.EntityManager; -import javax.persistence.TypedQuery; +import javax.persistence.*; +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaDelete; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.CriteriaUpdate; +import javax.persistence.metamodel.Metamodel; import java.io.IOException; import java.net.URL; import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.ResourceBundle; import java.util.stream.Collectors; @@ -59,7 +66,7 @@ public class Search implements Initializable { * @param resources */ public void initialize(URL location, ResourceBundle resources) { - if (!App.ex.getSearchField().isEmpty()){ + if (!App.ex.getSearchField().isEmpty()){ search_result.setText(App.ex.getSearchField()); } @@ -67,8 +74,7 @@ public class Search implements Initializable { query.setParameter("name", App.ex.getSearchField()); List<Image> images = query.getResultList(); - List<String> urls = Arrays.asList("@../../Images/placeholder-1920x1080.png", "@../../Images/party.jpg", "@../../Images/placeholderLogo.png"); - for(int i = 0; i < urls.size(); i++) { + for(int i = 0; i < images.size(); i++) { HBox h = new HBox(); h.setPrefHeight(300); h.setPrefWidth(1920); @@ -80,7 +86,7 @@ public class Search implements Initializable { p.setPrefHeight(300); ImageView iV = new ImageView(); - iV.setImage(new Image(urls.get(i))); + iV.setImage(ImageUtil.convertToFXImage(images.get(i))); iV.setFitHeight(300); iV.setFitWidth(500); iV.pickOnBoundsProperty().setValue(true); @@ -98,9 +104,13 @@ public class Search implements Initializable { Text title = setText("TITLE:", 550, 66, 153, "System Bold", 48); Text tag = setText("TAG:", 550, 97, 70, "System Bold", 24); Text desc = setText("DESCRIPTION:", 550, 126, 129, "System Bold", 18); - Text title_Field = setText(urls.get(i), 700, 66, "System Bold", 48); - Text tag_Field = setText("####", 700, 97, "System Bold", 24); - Text desc_Field = setText("####", 700, 126, "System Bold", 18); + Text title_Field = setText("SKAL BILDENE HA TITTEL?", 700, 66, "System Bold", 48); + String tagsString = images.get(i).getTags().stream() + .map(Tag::getName) + .collect(Collectors.joining(" ")); + + Text tag_Field = setText(tagsString, 700, 97, "System Bold", 24); + Text desc_Field = setText(images.get(i).getMetadata().toString(), 700, 126, "System Bold", 18); p.getChildren().addAll(iV, title, tag, desc, title_Field, tag_Field, desc_Field); h.getChildren().add(p);