diff options
Diffstat (limited to '')
| -rw-r--r-- | src/main/java/musichub/business/MusicHub.java | 21 | ||||
| -rw-r--r-- | src/main/java/musichub/util/PathValidation.java (renamed from src/main/java/musichub/business/PathValidation.java) | 16 |
2 files changed, 34 insertions, 3 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/business/PathValidation.java b/src/main/java/musichub/util/PathValidation.java index b0281ba..ea00c24 100644 --- a/src/main/java/musichub/business/PathValidation.java +++ b/src/main/java/musichub/util/PathValidation.java @@ -1,4 +1,4 @@ -package musichub.business; +package musichub.util; import java.nio.file.Files; import java.nio.file.Path; @@ -25,15 +25,25 @@ public final class PathValidation { } /** - * Method that checks the validity of a given path + * Method that checks the validity of a given path and file. * * @param inputPath the path given by the user * @return a boolean */ public static boolean isPathValid(String inputPath) { + boolean isExtensionValid = false; + + int index = inputPath.lastIndexOf('.'); + if (index > 0) { + String extension = inputPath.substring(index + 1); + if (extension.equals("wav")) { + isExtensionValid = true; + } + } + Path path = Paths.get(inputPath); - return Files.exists(path); + return (Files.exists(path) & isExtensionValid); } }
\ No newline at end of file |
