aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
-rw-r--r--target/classes/musichub/business/AudioElement.classbin5392 -> 5422 bytes
-rw-r--r--target/classes/musichub/business/MusicHub.classbin11543 -> 11543 bytes
-rw-r--r--target/classes/musichub/business/SortByAuthor.classbin901 -> 901 bytes
-rw-r--r--target/classes/musichub/business/SortByDate.classbin854 -> 854 bytes
-rw-r--r--target/classes/musichub/business/SortByGenre.classbin858 -> 858 bytes
-rw-r--r--target/classes/musichub/main/Main.classbin9840 -> 10064 bytes
9 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
diff --git a/target/classes/musichub/business/AudioElement.class b/target/classes/musichub/business/AudioElement.class
index 3579513..bb0f170 100644
--- a/target/classes/musichub/business/AudioElement.class
+++ b/target/classes/musichub/business/AudioElement.class
Binary files differ
diff --git a/target/classes/musichub/business/MusicHub.class b/target/classes/musichub/business/MusicHub.class
index 8b8b280..9554eeb 100644
--- a/target/classes/musichub/business/MusicHub.class
+++ b/target/classes/musichub/business/MusicHub.class
Binary files differ
diff --git a/target/classes/musichub/business/SortByAuthor.class b/target/classes/musichub/business/SortByAuthor.class
index ac4474a..e366c32 100644
--- a/target/classes/musichub/business/SortByAuthor.class
+++ b/target/classes/musichub/business/SortByAuthor.class
Binary files differ
diff --git a/target/classes/musichub/business/SortByDate.class b/target/classes/musichub/business/SortByDate.class
index 6892059..9d330cb 100644
--- a/target/classes/musichub/business/SortByDate.class
+++ b/target/classes/musichub/business/SortByDate.class
Binary files differ
diff --git a/target/classes/musichub/business/SortByGenre.class b/target/classes/musichub/business/SortByGenre.class
index 7cabb3e..512232f 100644
--- a/target/classes/musichub/business/SortByGenre.class
+++ b/target/classes/musichub/business/SortByGenre.class
Binary files differ
diff --git a/target/classes/musichub/main/Main.class b/target/classes/musichub/main/Main.class
index 1e19601..d9ad38a 100644
--- a/target/classes/musichub/main/Main.class
+++ b/target/classes/musichub/main/Main.class
Binary files differ