From 5c2675115c26e5e70a00452919082c7e4f1f5d89 Mon Sep 17 00:00:00 2001 From: Capelier-Marla Date: Wed, 14 Dec 2022 11:42:29 +0100 Subject: [PATCH] process distribution name --- src/main/java/fr/packageviewer/ArgParse.java | 1 + src/main/java/fr/packageviewer/Main.java | 46 +++++++++++++++++++- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/main/java/fr/packageviewer/ArgParse.java b/src/main/java/fr/packageviewer/ArgParse.java index 0873d04..e477c3f 100644 --- a/src/main/java/fr/packageviewer/ArgParse.java +++ b/src/main/java/fr/packageviewer/ArgParse.java @@ -31,6 +31,7 @@ public class ArgParse { if(params.help) { jCommander.setProgramName("PackageViewer"); jCommander.usage(); + System.exit(0); } else { // store the argument parsed in the variable packet = params.packet; diff --git a/src/main/java/fr/packageviewer/Main.java b/src/main/java/fr/packageviewer/Main.java index b66a048..d04ec45 100644 --- a/src/main/java/fr/packageviewer/Main.java +++ b/src/main/java/fr/packageviewer/Main.java @@ -1,11 +1,53 @@ package fr.packageviewer; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Future; + +import fr.packageviewer.distribution.ArchDistribution; +import fr.packageviewer.pack.Package; + public class Main { + /** + * Check if the given distribution is supported + * @param distribution distribution name + * @return the distribution wanted if found, or null if there is none, or stop the program if it is not supported + * @author Capelier-Marla + */ + private static String processDistribution(String distribution) { + // check if the user asked a distribution + if(distribution == null || distribution.length() == 0) { + return null; + } + // create a map with the distribution names + Map distributionMap = new HashMap(); + distributionMap.put("ARCH", "archlinux"); + distributionMap.put("ARCHLINUX", "archlinux"); + distributionMap.put("FEDORA", "fedora"); + distribution = distribution.toUpperCase(); + + // check if we support the distribtion + if(distributionMap.containsKey(distribution)) { + // give the distribution name + return distributionMap.get(distribution); + } else { + // stop the program as the user want a non-supported distribution + System.out.println("Cette ditribution n'a pas été trouvée"); + System.exit(0); + return null; + } + } + public static void main(String[] args) { // send the command line arguments to the parser ArgParse.parseArguments(args); - System.out.println(ArgParse.getPacket()); - System.out.println(ArgParse.getDistribution()); + String packet = ArgParse.getPacket(); + String distribution = ArgParse.getDistribution(); + + System.out.println(packet); + distribution = processDistribution(distribution); + System.out.println(distribution); } }