aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/musichub/business/MusicHub.java21
-rw-r--r--src/main/java/musichub/main/Main.java9
2 files changed, 29 insertions, 1 deletions
diff --git a/src/main/java/musichub/business/MusicHub.java b/src/main/java/musichub/business/MusicHub.java
index f7cf137..bbac505 100644
--- a/src/main/java/musichub/business/MusicHub.java
+++ b/src/main/java/musichub/business/MusicHub.java
@@ -339,4 +339,25 @@ public class MusicHub {
}
}
+
+ public void searchAudioElement() throws UnsupportedAudioFileException, NoAlbumFoundException, LineUnavailableException, IOException {
+ Scanner scanner = new Scanner(System.in);
+ System.out.println("Entrez le titre ou l'artiste de la musique que vous souhaitez chercher dans la base de données");
+ String word = scanner.next().toLowerCase(Locale.ROOT);
+ List<AudioElement> searchResult = new ArrayList<>();
+ for(AudioElement el : elements){
+ if(el.getTitle().toLowerCase(Locale.ROOT).contains(word) || el.getArtist().toLowerCase(Locale.ROOT).contains(word)){
+ searchResult.add(el);
+ System.out.println(el);
+ }
+ }
+
+ if(searchResult.isEmpty()){
+ System.err.println("Aucun résultat pour votre recherche");
+ }
+ if (searchResult.size()==1){
+ this.getAudioElement(searchResult, searchResult.get(0).getTitle());
+ }
+ }
+
} \ 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 1fa5c52..cd1fd5f 100644
--- a/src/main/java/musichub/main/Main.java
+++ b/src/main/java/musichub/main/Main.java
@@ -13,7 +13,8 @@ import java.util.Scanner;
import static musichub.util.PathValidation.isPathValid;
public class Main {
- public static void main(String[] args) throws UnsupportedAudioFileException, IOException, LineUnavailableException {
+ public static void main(String[] args) throws UnsupportedAudioFileException, IOException, LineUnavailableException, NoAlbumFoundException {
+
MusicHub theHub = new MusicHub();
@@ -243,6 +244,10 @@ public class Main {
printAvailableCommands();
choice = scan.nextLine();
break;
+ case 'r':
+ //search a music
+ theHub.searchAudioElement();
+ printAvailableCommands();
case 'o':
//consult the app logs
LogHandler.read();
@@ -262,6 +267,7 @@ public class Main {
System.out.println("g: display songs of an album, ordered by genre");
System.out.println("d: display songs of an album");
System.out.println("u: display audiobooks ordered by author");
+ System.out.println("r: search audio elements");
System.out.println("c: add a new song");
System.out.println("a: add a new album");
System.out.println("+: add a song to an album");
@@ -272,4 +278,5 @@ public class Main {
System.out.println("o: consult the app logs");
System.out.println("q: quit program");
}
+
} \ No newline at end of file