From 50cc4fc9c1a02a0c6b44172642f4fdf3180f9b0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20Brodin=20=C3=98stby?= <larsbost@stud.ntnu.no>
Date: Wed, 8 Apr 2020 11:39:34 +0200
Subject: [PATCH] Validate album name and toString fix for album

---
 .../IDATT1002/controllers/CreateAlbum.java     | 16 ++++++++--------
 .../NTNU/IDATT1002/service/TagService.java     | 18 ++++++++++++++----
 2 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/src/main/java/NTNU/IDATT1002/controllers/CreateAlbum.java b/src/main/java/NTNU/IDATT1002/controllers/CreateAlbum.java
index faffbad2..da365402 100644
--- a/src/main/java/NTNU/IDATT1002/controllers/CreateAlbum.java
+++ b/src/main/java/NTNU/IDATT1002/controllers/CreateAlbum.java
@@ -24,7 +24,6 @@ import javafx.scene.layout.GridPane;
 import javafx.scene.layout.HBox;
 import javafx.scene.layout.Pane;
 import javafx.scene.layout.VBox;
-import org.hibernate.boot.jaxb.internal.stax.HbmEventReader;
 
 import javax.persistence.EntityManager;
 import java.io.IOException;
@@ -161,15 +160,16 @@ public class CreateAlbum implements Initializable {
     String title = album_title_field.getText();
     String description = album_desc_field.getText();
     String tags = album_tag_field.getText();
+
+    if (tags.isEmpty()){ tags = " "; }
+
     List<Tag> tagsToAdd = TagService.getTagsFromString(tags);
     User user = ApplicationState.getCurrentUser();
 
-      //temporary solution for the toString problem with album log creation
+      //temporary solution for the toString problem with album log creation, along with the if(tag) above
       if (description.isEmpty()) {
-          description = "No desripton";
-      } if (tags.isEmpty()){
-        tags = " ";
-    }
+        description = "No desripton added";
+      }
 
     List<Node> imageContainers = new ArrayList<>(fileContainer.getChildren());
     List<String> checkedImagesId = new ArrayList<>();
@@ -192,7 +192,7 @@ public class CreateAlbum implements Initializable {
         createdAlbum.ifPresent(album -> {
           App.ex.setChosenAlbumId(album.getId());
           try {
-            App.setRoot("main");
+            App.setRoot("view_album");
           } catch (IOException e) {
             e.printStackTrace();
           }
@@ -202,7 +202,7 @@ public class CreateAlbum implements Initializable {
         createdAlbum.ifPresent(album -> {
           App.ex.setChosenAlbumId(album.getId());
           try {
-            App.setRoot("main");
+            App.setRoot("view_album");
           } catch (IOException e) {
             e.printStackTrace();
           }
diff --git a/src/main/java/NTNU/IDATT1002/service/TagService.java b/src/main/java/NTNU/IDATT1002/service/TagService.java
index f073aa87..75f041af 100644
--- a/src/main/java/NTNU/IDATT1002/service/TagService.java
+++ b/src/main/java/NTNU/IDATT1002/service/TagService.java
@@ -55,13 +55,23 @@ public class TagService {
      * @return the list of tag objects
      */
     public static List<Tag> getTagsFromString(String tagsAsString) {
-        String[] tags = tagsAsString
-                .trim()
-                .split("[, ?.@]+");
+        if (tagsAsString.isBlank()) {
+            String[] tags = tagsAsString.split(" ");
 
-        return Stream.of(tags)
+            return Stream.of(tags)
                 .map(Tag::new)
                 .collect(Collectors.toList());
+
+        }else {
+            String[] tags = tagsAsString
+            .trim()
+            .split("[, ?.@]+");
+
+            return Stream.of(tags)
+                .map(Tag::new)
+                .collect(Collectors.toList());
+
+        }
     }
 
     /**
-- 
GitLab