aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorClyhtsuriva <aimeric@adjutor.xyz>2021-06-26 14:02:34 +0200
committerClyhtsuriva <aimeric@adjutor.xyz>2021-06-26 14:02:34 +0200
commita57fd29902578adf7238d71cf9bbd55408584557 (patch)
tree44da38a092957dfc7a590d8f7e91a65aa8482d97 /src
parent4ff84568723b1663b9e20f95535d3213f8d3e92e (diff)
Applying the latest package architecture.
Diffstat (limited to 'src')
-rw-r--r--src/main/java/musichub/business/PathValidation.java28
-rw-r--r--src/main/java/musichub/main/Main.java14
-rw-r--r--src/test/java/musichub/business/PathValidationTest.java8
3 files changed, 47 insertions, 3 deletions
diff --git a/src/main/java/musichub/business/PathValidation.java b/src/main/java/musichub/business/PathValidation.java
new file mode 100644
index 0000000..97f8759
--- /dev/null
+++ b/src/main/java/musichub/business/PathValidation.java
@@ -0,0 +1,28 @@
+package musichub.business;
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+/**
+ * Class offering a path validation method.
+ *
+ * @author Aimeric ADJUTOR
+ * @version 1.0
+ */
+
+public class PathValidation {
+
+ /**
+ * Methode that checks the validity of a given path
+ *
+ * @param inputPath the path given by the user
+ * @return a boolean
+ */
+
+ public static boolean isPathValid(String inputPath) {
+ Path path = Paths.get(inputPath);
+ return Files.exists(path);
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/musichub/main/Main.java b/src/main/java/musichub/main/Main.java
index 2876734..e2e4731 100644
--- a/src/main/java/musichub/main/Main.java
+++ b/src/main/java/musichub/main/Main.java
@@ -2,13 +2,14 @@ package musichub.main;
import musichub.business.*;
+import javax.sound.sampled.LineUnavailableException;
+import javax.sound.sampled.UnsupportedAudioFileException;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
-import javax.sound.sampled.LineUnavailableException;
-import javax.sound.sampled.UnsupportedAudioFileException;
+import static musichub.business.PathValidation.isPathValid;
public class Main {
public static void main(String[] args) throws UnsupportedAudioFileException, IOException, LineUnavailableException {
@@ -47,7 +48,7 @@ public class Main {
albumTitle = scan.nextLine();
try {
List<Song> songs = theHub.getAlbumSongsSortedByGenre(albumTitle);
- System.out.println(songs);;
+ System.out.println(songs);
} catch (NoAlbumFoundException ex) {
System.out.println("No album found with the requested title " + ex.getMessage());
}
@@ -88,8 +89,15 @@ public class Main {
String artist = scan.nextLine();
System.out.println("Song length in seconds: ");
int length = Integer.parseInt(scan.nextLine());
+
System.out.println("Song content: ");
String content = scan.nextLine();
+ if (!isPathValid(content)) {
+ System.out.println("The music file was not found with the path you've provided.\nType h for available commands");
+ choice = scan.nextLine();
+ break;
+ }
+
Song s = new Song(title, artist, length, content, genre);
theHub.addElement(s);
System.out.println("New element list: ");
diff --git a/src/test/java/musichub/business/PathValidationTest.java b/src/test/java/musichub/business/PathValidationTest.java
new file mode 100644
index 0000000..2b24d7a
--- /dev/null
+++ b/src/test/java/musichub/business/PathValidationTest.java
@@ -0,0 +1,8 @@
+package musichub.business;
+
+
+public class PathValidationTest {
+ void testIsPathValid() {
+ //Not implemented yet
+ }
+} \ No newline at end of file