Commit d442640f authored by marceteau's avatar marceteau
Browse files

refactor : erreurs arguments en entrée

parent 6b7481e2
......@@ -88,22 +88,47 @@ public class ArchiveConverterMain {
* @throws IngestRejectException
* @throws DuplicateLanguageException
*/
public static void main(String[] args) throws ParseException, DuplicateLanguageException, IngestRejectException, IOException, NotSupportedException {
ArchiveConverterMain converter = new ArchiveConverterMain(args);
if (converter.onlyManifest) {
converter.manifestConversion();
} else {
File convertedArchive = converter.archiveConversion();
public static void main(String[] args) {
try {
ArchiveConverterMain converter = new ArchiveConverterMain(args);
if (converter.onlyManifest) {
converter.manifestConversion();
} else {
File convertedArchive = converter.archiveConversion();
}
} catch(MissingArgumentException e) {
System.err.println(e.getMessage());
System.exit(-1);
} catch (IllegalArgumentException e) {
System.err.println(e.getMessage());
System.exit(-1);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DuplicateLanguageException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IngestRejectException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
* @throws IllegalArgumentException
* @throws MissingArgumentException
* @throws ParseException
*/
public ArchiveConverterMain(String[] args) throws ParseException {
public ArchiveConverterMain(String[] args) throws MissingArgumentException, IllegalArgumentException, ParseException {
CommandLineParser parser = new BasicParser();
Options options = new Options();
addWantedOptions(options);
......@@ -138,7 +163,6 @@ public class ArchiveConverterMain {
if(commandLine.hasOption("a")) {
agency = commandLine.getOptionValue("a") ;
} else {
System.err.println("Le service versant doit être indiqué.");
formatter.printHelp("archive-converter", options);
throw new MissingArgumentException("Le service versant doit être indiqué.");
}
......@@ -146,11 +170,9 @@ public class ArchiveConverterMain {
if(commandLine.hasOption("c")) {
propertiesFolder = Paths.get(commandLine.getOptionValue("c")) ;
if(!propertiesFolder.toFile().exists()) {
System.err.println("Le répertoire de fichiers properties " + propertiesFolder.toString() + " n'existe pas.");
throw new IllegalArgumentException("Le répertoire de fichiers properties " + propertiesFolder.toString() + " n'existe pas.");
}
} else {
System.err.println("Le répertoire de fichiers properties est obligatoire.");
formatter.printHelp("archive-converter", options);
throw new MissingArgumentException("Le répertoire de fichiers properties est obligatoire.");
......@@ -159,7 +181,6 @@ public class ArchiveConverterMain {
if(commandLine.hasOption("e")) {
errorFolder = Paths.get(commandLine.getOptionValue("e")) ;
if(!errorFolder.toFile().exists()) {
System.err.println("Le répertoire d'erreur " + errorFolder.toString() + " n'existe pas.");
throw new IllegalArgumentException("Le répertoire d'erreur " + errorFolder.toString() + " n'existe pas.");
}
}
......@@ -167,28 +188,22 @@ public class ArchiveConverterMain {
if(commandLine.hasOption("l")) {
errorLanguageFolder = Paths.get(commandLine.getOptionValue("l")) ;
if(!errorLanguageFolder.toFile().exists()) {
System.err.println("Le répertoire d'erreur de language " + errorLanguageFolder.toString() + " n'existe pas.");
throw new IllegalArgumentException("Le répertoire d'erreur de language " + errorLanguageFolder.toString() + " n'existe pas.");
}
}
if(commandLine.hasOption("p")) {
planClassementFile = Paths.get(commandLine.getOptionValue("p")) ;
if(!planClassementFile.toFile().exists()) {
System.err.println("Le fichier de plan de classement " + planClassementFile.toString() + " n'existe pas.");
}
}
if(commandLine.hasOption("o")) {
outputDir = Paths.get(commandLine.getOptionValue("o")) ;
if(!outputDir.toFile().exists()) {
System.err.println("Le répertoire de sortie " + outputDir.toString() + " n'existe pas.");
throw new IllegalArgumentException("Le répertoire de sortie " + outputDir.toString() + " n'existe pas.");
}
}
if(!commandLine.hasOption("f")) {
System.err.println("Le formalisme d'entrée est obligatoire. Précisez l'entrée souhaitée : sip ou seda1");
formatter.printHelp("archive-converter", options);
throw new MissingArgumentException("Le formalisme d'entrée est obligatoire. Précisez l'entrée souhaitée : sip ou seda1");
} else {
......@@ -203,7 +218,6 @@ public class ArchiveConverterMain {
this.inputFolder = Paths.get(commandLine.getOptionValue('d'));
} else {
if (!commandLine.hasOption("i")) {
System.err.println("Il est obligatoire d'utiliser l'option --input-folder ou bien --manifest-path afin de connaitre l'objet en entrée.");
throw new MissingArgumentException("Il est obligatoire d'utiliser l'option --input-folder ou bien --manifest-path afin de connaitre l'objet en entrée.");
} else {
this.manifestPath = Paths.get(commandLine.getOptionValue("i"));
......@@ -212,7 +226,6 @@ public class ArchiveConverterMain {
if(commandLine.hasOption("m")) {
if (!commandLine.hasOption("i")) {
System.err.println("Il est obligatoire d'utiliser l'option --input-folder dans le cas d'une conversion de manifest.");
throw new IllegalArgumentException("Il est obligatoire d'utiliser l'option --input-folder dans le cas d'une conversion de manifest.");
}
this.onlyManifest = true;
......@@ -250,7 +263,7 @@ public class ArchiveConverterMain {
}
private void manifestConversion() {
private void manifestConversion() throws IllegalArgumentException {
ManifestConverter archiveConverter = null;
File originManifest = new File(this.manifestPath.toString());
......@@ -273,7 +286,6 @@ public class ArchiveConverterMain {
archiveConverter = new Seda1ToSeda21Converter();
archiveConverter.setOnlyManifest(true);
}else {
System.err.println("Ce formalisme n'est pas reconnu, veuillez choisir sip, aip ou seda1");
throw new IllegalArgumentException("Ce formalisme n'est pas reconnu, veuillez choisir sip, aip ou seda1");
}
......@@ -310,7 +322,7 @@ public class ArchiveConverterMain {
}
public File archiveConversion() throws IngestRejectException, IOException, NotSupportedException, DuplicateLanguageException, ParseException {
public File archiveConversion() throws IngestRejectException, IOException, NotSupportedException, DuplicateLanguageException, ParseException, IllegalArgumentException {
ArchiveConverter archiveConverter = null;
if(formalism.equals("sip") || formalism.equals("aip")) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment