From f5117515ab26658e93d9efc2d99651c332840782 Mon Sep 17 00:00:00 2001 From: Clyhtsuriva Date: Sun, 27 Jun 2021 13:24:40 +0200 Subject: Added an extension check for songs and covered it with a test. --- src/main/java/musichub/main/Main.java | 2 +- src/main/java/musichub/util/PathValidation.java | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/musichub/main/Main.java b/src/main/java/musichub/main/Main.java index e7ca721..1fa5c52 100644 --- a/src/main/java/musichub/main/Main.java +++ b/src/main/java/musichub/main/Main.java @@ -94,7 +94,7 @@ public class Main { System.out.println("Song content: "); String content = scan.nextLine(); if (!isPathValid(content)) { - String logMsg = "The music file was not found with the path you've provided."; + String logMsg = "The music file was not found with the path you've provided or the extension is not .wav"; LogHandler.write(logMsg, "WARNING"); //write a line in the log file System.out.println(logMsg + "\nType h for available commands"); choice = scan.nextLine(); diff --git a/src/main/java/musichub/util/PathValidation.java b/src/main/java/musichub/util/PathValidation.java index df11388..ea00c24 100644 --- a/src/main/java/musichub/util/PathValidation.java +++ b/src/main/java/musichub/util/PathValidation.java @@ -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 -- cgit v1.2.3