From c4db9f43fb17154fb6a4a6a53e5fec06f1b9ffac Mon Sep 17 00:00:00 2001 From: Emmanuel Bigeon Date: Thu, 11 Oct 2018 12:14:07 -0400 Subject: [PATCH] Clean up and format --- .../bigeon/gclc/ApplicationAttachement.java | 20 +- .../bigeon/gclc/CommandRequestListener.java | 18 +- .../net/bigeon/gclc/ConsoleApplication.java | 67 ++- .../java/net/bigeon/gclc/GCLCConstants.java | 25 +- .../java/net/bigeon/gclc/command/Command.java | 32 +- .../gclc/command/CommandParameters.java | 42 +- .../bigeon/gclc/command/CommandProvider.java | 45 +- .../net/bigeon/gclc/command/HelpExecutor.java | 26 +- .../net/bigeon/gclc/command/ICommand.java | 24 +- .../bigeon/gclc/command/ICommandProvider.java | 42 +- .../gclc/command/ParametrizedCommand.java | 52 +- .../gclc/command/ParametrizedCommandData.java | 103 ++-- .../net/bigeon/gclc/command/SubedCommand.java | 43 +- .../bigeon/gclc/command/base/ExitCommand.java | 36 +- .../bigeon/gclc/command/base/MockCommand.java | 23 +- .../gclc/command/base/ScriptExecution.java | 102 ++-- .../gclc/command/base/package-info.java | 23 +- .../net/bigeon/gclc/command/package-info.java | 24 +- .../exception/CommandParsingException.java | 28 +- .../gclc/exception/CommandRunException.java | 27 +- .../exception/CommandRunExceptionType.java | 18 +- .../gclc/exception/InvalidCommandName.java | 18 +- .../exception/InvalidParameterException.java | 18 +- .../bigeon/gclc/exception/package-info.java | 18 +- .../java/net/bigeon/gclc/i18n/Messages.java | 21 +- .../net/bigeon/gclc/i18n/package-info.java | 18 +- .../net/bigeon/gclc/manager/ConsoleInput.java | 20 +- .../bigeon/gclc/manager/ConsoleOutput.java | 27 +- .../net/bigeon/gclc/manager/EmptyInput.java | 28 +- .../net/bigeon/gclc/manager/package-info.java | 18 +- .../java/net/bigeon/gclc/package-info.java | 18 +- .../net/bigeon/gclc/prompt/CLIPrompter.java | 212 ++++---- .../gclc/prompt/CLIPrompterMessages.java | 22 +- .../net/bigeon/gclc/prompt/package-info.java | 18 +- .../net/bigeon/gclc/tools/ConstantString.java | 34 +- .../net/bigeon/gclc/tools/PrintUtils.java | 37 +- .../net/bigeon/gclc/tools/StringProvider.java | 22 +- .../net/bigeon/gclc/tools/package-info.java | 18 +- .../gclc/utils/AOutputForwardRunnable.java | 37 +- .../bigeon/gclc/utils/PipedConsoleInput.java | 43 +- .../bigeon/gclc/utils/PipedConsoleOutput.java | 35 +- .../bigeon/gclc/utils/ReadingRunnable.java | 100 ++-- .../net/bigeon/gclc/utils/SinkOutput.java | 22 +- .../bigeon/gclc/utils/StreamConsoleInput.java | 31 +- .../gclc/utils/StreamConsoleOutput.java | 24 +- .../bigeon/gclc/utils/WritingRunnable.java | 18 +- .../net/bigeon/gclc/utils/package-info.java | 23 +- .../gclc/CommandTestingApplication.java | 27 +- .../bigeon/gclc/ConsoleApplicationTest.java | 85 ++- .../bigeon/gclc/ConsoleTestApplication.java | 20 +- .../net/bigeon/gclc/GCLCConstantsTest.java | 69 +-- .../gclc/command/CommandParametersTest.java | 42 +- .../gclc/command/CommandProviderTest.java | 20 +- .../net/bigeon/gclc/command/CommandTest.java | 62 +-- .../bigeon/gclc/command/HelpExecutorTest.java | 26 +- .../gclc/command/ParametrizedCommandTest.java | 127 ++--- .../gclc/command/ScriptExecutionTest.java | 42 +- .../bigeon/gclc/command/SubedCommandTest.java | 44 +- .../exception/CommandRunExceptionTest.java | 31 +- .../gclc/manager/ReadingRunnableTest.java | 34 +- .../manager/SystemConsoleManagerTest.java | 42 +- .../gclc/prompt/CLIPrompterMessagesTest.java | 32 +- .../bigeon/gclc/prompt/CLIPrompterTest.java | 483 ++++++++---------- .../tools/AOutputForwardRunnableTest.java | 29 +- .../net/bigeon/gclc/tools/PrintUtilsTest.java | 60 +-- 65 files changed, 1377 insertions(+), 1618 deletions(-) diff --git a/gclc/src/main/java/net/bigeon/gclc/ApplicationAttachement.java b/gclc/src/main/java/net/bigeon/gclc/ApplicationAttachement.java index a496af0..e1391ca 100644 --- a/gclc/src/main/java/net/bigeon/gclc/ApplicationAttachement.java +++ b/gclc/src/main/java/net/bigeon/gclc/ApplicationAttachement.java @@ -11,17 +11,17 @@ package net.bigeon.gclc; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -29,10 +29,10 @@ package net.bigeon.gclc; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -51,7 +51,7 @@ public interface ApplicationAttachement { * application. The attached command should be specific to the attachement * (typically, the generic help command or the script command should not be * added through this mechanism). - * + * * @param application the application * @throws InvalidCommandName if a command name is invalid for the * application. */ diff --git a/gclc/src/main/java/net/bigeon/gclc/CommandRequestListener.java b/gclc/src/main/java/net/bigeon/gclc/CommandRequestListener.java index 290b976..252160b 100644 --- a/gclc/src/main/java/net/bigeon/gclc/CommandRequestListener.java +++ b/gclc/src/main/java/net/bigeon/gclc/CommandRequestListener.java @@ -11,17 +11,17 @@ package net.bigeon.gclc; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -29,10 +29,10 @@ package net.bigeon.gclc; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/ConsoleApplication.java b/gclc/src/main/java/net/bigeon/gclc/ConsoleApplication.java index bc560cb..e963e55 100644 --- a/gclc/src/main/java/net/bigeon/gclc/ConsoleApplication.java +++ b/gclc/src/main/java/net/bigeon/gclc/ConsoleApplication.java @@ -43,17 +43,17 @@ package net.bigeon.gclc; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -61,10 +61,10 @@ package net.bigeon.gclc; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -88,9 +88,8 @@ import net.bigeon.gclc.i18n.Messages; import net.bigeon.gclc.manager.ConsoleInput; import net.bigeon.gclc.manager.ConsoleOutput; -/** - * A {@link ConsoleApplication} is an application that require the user to input - * commands. +/** A {@link ConsoleApplication} is an application that require the user to + * input commands. *

* A typical use case is the following: * @@ -111,20 +110,20 @@ import net.bigeon.gclc.manager.ConsoleOutput; public final class ConsoleApplication implements ICommandProvider { /** The class logger. */ - private static final Logger LOGGER = Logger + private static final Logger LOGGER = Logger .getLogger(ConsoleApplication.class.getName()); /** The welcome message. */ - public final String header; + public final String header; /** The good bye message. */ - public final String footer; + public final String footer; /** The standard output for the application. */ - private final ConsoleOutput out; + private final ConsoleOutput out; /** The standard input for the application. */ - private final ConsoleInput in; + private final ConsoleInput in; /** The container of commands. */ - public final SubedCommand root; + public final SubedCommand root; /** The state of this application. */ - private boolean running; + private boolean running; /** The listeners. */ private final List listeners = new ArrayList<>(); @@ -135,8 +134,7 @@ public final class ConsoleApplication implements ICommandProvider { * @param welcome the welcoming message * @param goodbye the goodbye message */ public ConsoleApplication(final ConsoleOutput out, final ConsoleInput in, - final String welcome, - final String goodbye) { + final String welcome, final String goodbye) { header = welcome; footer = goodbye; this.in = in; @@ -161,8 +159,7 @@ public final class ConsoleApplication implements ICommandProvider { * java.lang.String[]) */ @Override public void executeSub(final ConsoleOutput output, final ConsoleInput input, - final String command, - final String... args) throws CommandRunException { + final String command, final String... args) throws CommandRunException { root.executeSub(output, input, command, args); } @@ -182,8 +179,8 @@ public final class ConsoleApplication implements ICommandProvider { /** Interpret a command line. *

- * This method will split the command in its part and execute the command - * with {@link #executeSub(ConsoleOutput, ConsoleInput, String, String...)}. + * This method will split the command in its part and execute the command with + * {@link #executeSub(ConsoleOutput, ConsoleInput, String, String...)}. * * @param cmd the command * @throws IOException if the command could not be parsed */ @@ -198,12 +195,11 @@ public final class ConsoleApplication implements ICommandProvider { } if (!args.isEmpty()) { try { - executeSub(out, in, args.get(0), Arrays.copyOfRange( - args.toArray(new String[0]), 1, args.size())); + executeSub(out, in, args.get(0), + Arrays.copyOfRange(args.toArray(new String[0]), 1, args.size())); } catch (final CommandRunException e) { LOGGER.log(Level.FINE, "Command failed: " + cmd, e); //$NON-NLS-1$ - out.println(Messages - .getString("ConsoleApplication.cmd.failed", cmd)); //$NON-NLS-1$ + out.println(Messages.getString("ConsoleApplication.cmd.failed", cmd)); //$NON-NLS-1$ out.println(e.getLocalizedMessage()); if (e.getType() == CommandRunExceptionType.USAGE) { get(args.get(0)).help(out); @@ -228,8 +224,8 @@ public final class ConsoleApplication implements ICommandProvider { /** The running loop content. *

- * This consisting in getting the command, executing it and exiting - * (restarting the loop). */ + * This consisting in getting the command, executing it and exiting (restarting + * the loop). */ private void runLoop() { try { final String cmd = in.prompt(); @@ -241,8 +237,7 @@ public final class ConsoleApplication implements ICommandProvider { } interpretCommand(cmd); } catch (final InterruptedIOException e) { - LOGGER.info( - "Prompt interrupted. It is likely the application is closing."); //$NON-NLS-1$ + LOGGER.info("Prompt interrupted. It is likely the application is closing."); //$NON-NLS-1$ LOGGER.log(Level.FINER, "Interruption of the prompt.", //$NON-NLS-1$ e); } catch (final IOException e) { @@ -250,8 +245,7 @@ public final class ConsoleApplication implements ICommandProvider { running = false; LOGGER.warning( "The console manager was closed. Closing the application as no one can reach it."); //$NON-NLS-1$ - LOGGER.log(Level.FINE, - "An exception caused the closing of the application", //$NON-NLS-1$ + LOGGER.log(Level.FINE, "An exception caused the closing of the application", //$NON-NLS-1$ e); } } @@ -268,8 +262,7 @@ public final class ConsoleApplication implements ICommandProvider { running = false; LOGGER.warning( "The console manager was closed. Closing the application as no one can reach it."); //$NON-NLS-1$ - LOGGER.log(Level.FINE, - "An exception caused the closing of the application", //$NON-NLS-1$ + LOGGER.log(Level.FINE, "An exception caused the closing of the application", //$NON-NLS-1$ e); return; } diff --git a/gclc/src/main/java/net/bigeon/gclc/GCLCConstants.java b/gclc/src/main/java/net/bigeon/gclc/GCLCConstants.java index 00afc20..6a3b28c 100644 --- a/gclc/src/main/java/net/bigeon/gclc/GCLCConstants.java +++ b/gclc/src/main/java/net/bigeon/gclc/GCLCConstants.java @@ -45,17 +45,17 @@ package net.bigeon.gclc; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -99,9 +99,9 @@ public final class GCLCConstants { * @param index the index of the current position * @return the argument * @throws CommandParsingException if the end of string does not mark end of - * command and is not followed by a space */ + * command and is not followed by a space */ private static String endOfString(final String cmd, final int startIndex, - final int index) throws CommandParsingException { + final int index) throws CommandParsingException { if (index < cmd.length() && cmd.charAt(index) != ' ') { throw new CommandParsingException("Misplaced quote"); //$NON-NLS-1$ } @@ -137,7 +137,8 @@ public final class GCLCConstants { * @param cmd the command to split in its parts * @return the list of argument preceded by the command name * @throws CommandParsingException if the parsing of the command failed */ - public static List splitCommand(final String cmd) throws CommandParsingException { + public static List splitCommand(final String cmd) + throws CommandParsingException { final List args = new ArrayList<>(); // parse the string to separate arguments int index = 0; diff --git a/gclc/src/main/java/net/bigeon/gclc/command/Command.java b/gclc/src/main/java/net/bigeon/gclc/command/Command.java index 5b4432d..1d7cadf 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/Command.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/Command.java @@ -11,17 +11,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -29,10 +29,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -68,7 +68,7 @@ public abstract class Command implements ICommand { /** The linux end of line character. */ private static final String EOL_LINUX = "\n"; //$NON-NLS-1$ /** The name of the command. */ - protected final String name; + protected final String name; /** Create the command. * @@ -80,8 +80,8 @@ public abstract class Command implements ICommand { /** Get the brief part of the command help. *

- * This method may be overriden by implementations to improve the help - * content. The default behavior is to print the tip. + * This method may be overriden by implementations to improve the help content. + * The default behavior is to print the tip. * * @return a brief description of the command * @see Command#help(ConsoleOutput, String...) */ @@ -112,8 +112,8 @@ public abstract class Command implements ICommand { * * @see net.bigeon.gclc.command.ICommand#help(ConsoleOutput, String...) */ @Override - public final void help(final ConsoleOutput manager, - final String... args) throws IOException { + public final void help(final ConsoleOutput manager, final String... args) + throws IOException { manager.println(getCommandName()); manager.println(brief()); manager.println(); @@ -123,8 +123,8 @@ public abstract class Command implements ICommand { final String details = usageDetail(); if (details != null && !details.isEmpty()) { manager.print(details); - if (!(details.endsWith(EOL_LINUX) || - details.endsWith(System.lineSeparator()))) { + if (!(details.endsWith(EOL_LINUX) + || details.endsWith(System.lineSeparator()))) { manager.println(); } } diff --git a/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java b/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java index bb93c59..92e3849 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java @@ -11,17 +11,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -29,10 +29,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -54,15 +54,15 @@ import net.bigeon.gclc.exception.CommandParsingException; * @author Emmanuel BIGEON */ public final class CommandParameters { /** Number of element for a string argument. */ - private static final int STRINGARG_NUMBER_OF_ELEMENTS = 2; + private static final int STRINGARG_NUMBER_OF_ELEMENTS = 2; /** Boolean arguments. */ private final Map booleanArguments; /** String arguments. */ - private final Map stringArguments; + private final Map stringArguments; /** Arguments restriction on the named ones. */ - private final boolean strict; + private final boolean strict; /** additional (unnamed) parameters. */ - private final List additional = new ArrayList<>(); + private final List additional = new ArrayList<>(); /** Create a command parameter object. * @@ -70,7 +70,7 @@ public final class CommandParameters { * @param strings the string parameters * @param strict if the argument are restricted to the declared ones */ public CommandParameters(final Set bools, final Set strings, - final boolean strict) { + final boolean strict) { booleanArguments = new ConcurrentHashMap<>(bools.size()); for (final String string : bools) { booleanArguments.put(string, Boolean.FALSE); @@ -103,8 +103,8 @@ public final class CommandParameters { * @param key the key * @return if the key was specified */ public boolean getBool(final String key) { - return booleanArguments.containsKey(key) && - booleanArguments.get(key).booleanValue(); + return booleanArguments.containsKey(key) + && booleanArguments.get(key).booleanValue(); } /** Get the boolean arguments. @@ -126,14 +126,13 @@ public final class CommandParameters { * @param key the key * @return if the key is present in string arguments or boolean ones. */ public boolean hasArgument(final String key) { - return stringArguments.containsKey(key) || - booleanArguments.containsKey(key); + return stringArguments.containsKey(key) || booleanArguments.containsKey(key); } /** Attempt to parse an argument. *

- * This method return 0 if the parsing was incorrect, or the number of - * parsed elements. + * This method return 0 if the parsing was incorrect, or the number of parsed + * elements. * * @param arg the argument * @param next the next element @@ -174,8 +173,7 @@ public final class CommandParameters { } final int p = parseArg(args[i], next); if (p == 0) { - throw new CommandParsingException( - "Invalid parameter " + args[i]); //$NON-NLS-1$ + throw new CommandParsingException("Invalid parameter " + args[i]); //$NON-NLS-1$ } i += p; } diff --git a/gclc/src/main/java/net/bigeon/gclc/command/CommandProvider.java b/gclc/src/main/java/net/bigeon/gclc/command/CommandProvider.java index c2d22b6..4eb8027 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/CommandProvider.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/CommandProvider.java @@ -9,17 +9,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -27,10 +27,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -49,9 +49,10 @@ import net.bigeon.gclc.manager.ConsoleOutput; * @author Emmanuel BIGEON */ public class CommandProvider implements ICommandProvider { /** The minus character. */ - private static final String MINUS = "-"; //$NON-NLS-1$ + private static final String MINUS = "-"; //$NON-NLS-1$ /** The space character. */ - private static final String SPACE = " "; //$NON-NLS-1$ + private static final String SPACE = " "; //$NON-NLS-1$ + /** The commands set. *

* The insertion order is conserved through the use of a @@ -64,17 +65,6 @@ public class CommandProvider implements ICommandProvider { commands = new LinkedHashSet<>(); } - /** Test the command name validity. - * - * @param name the command name - * @throws InvalidCommandName if the name is invalid */ - private static void testCommandName(final String name) throws InvalidCommandName { - if (name == null || name.isEmpty() || name.startsWith(MINUS) - || name.contains(SPACE)) { - throw new InvalidCommandName(); - } - } - /* (non-Javadoc) * @see net.bigeon.gclc.command.ICommandProvider#add(java.lang.String, * net.bigeon.gclc.command.Command) */ @@ -121,4 +111,15 @@ public class CommandProvider implements ICommandProvider { } return null; } + + /** Test the command name validity. + * + * @param name the command name + * @throws InvalidCommandName if the name is invalid */ + private static void testCommandName(final String name) throws InvalidCommandName { + if (name == null || name.isEmpty() || name.startsWith(MINUS) + || name.contains(SPACE)) { + throw new InvalidCommandName(); + } + } } diff --git a/gclc/src/main/java/net/bigeon/gclc/command/HelpExecutor.java b/gclc/src/main/java/net/bigeon/gclc/command/HelpExecutor.java index 95c42d7..8fa26e6 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/HelpExecutor.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/HelpExecutor.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -93,8 +93,7 @@ public final class HelpExecutor extends Command { * * @param cmdName the command name * @param cmd the command to execute the help of */ - public HelpExecutor(final String cmdName, - final ICommand cmd) { + public HelpExecutor(final String cmdName, final ICommand cmd) { super(cmdName); this.cmd = cmd; } @@ -114,7 +113,7 @@ public final class HelpExecutor extends Command { * String[]) */ @Override public void execute(final ConsoleOutput out, final ConsoleInput in, - final String... args) throws CommandRunException { + final String... args) throws CommandRunException { try { cmd.help(out, args); } catch (final IOException e) { @@ -131,8 +130,7 @@ public final class HelpExecutor extends Command { } /* (non-Javadoc) - * @see net.bigeon.gclc.command.Command#usageDetail() - */ + * @see net.bigeon.gclc.command.Command#usageDetail() */ @Override protected String usageDetail() { return null; diff --git a/gclc/src/main/java/net/bigeon/gclc/command/ICommand.java b/gclc/src/main/java/net/bigeon/gclc/command/ICommand.java index 46733a9..0fe8397 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/ICommand.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/ICommand.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -90,11 +90,11 @@ public interface ICommand { * @param in the input * @param args the arguments * @throws CommandRunException if the command failed */ - void execute(ConsoleOutput out, ConsoleInput in, - String... args) throws CommandRunException; + void execute(ConsoleOutput out, ConsoleInput in, String... args) + throws CommandRunException; /** Get teh command name. - * + * * @return the command's name */ String getCommandName(); diff --git a/gclc/src/main/java/net/bigeon/gclc/command/ICommandProvider.java b/gclc/src/main/java/net/bigeon/gclc/command/ICommandProvider.java index e736557..1c6ac7b 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/ICommandProvider.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/ICommandProvider.java @@ -43,17 +43,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -61,10 +61,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -81,8 +81,8 @@ import net.bigeon.gclc.manager.ConsoleOutput; * @author Emmanuel BIGEON */ public interface ICommandProvider { - /** Adds a command to this provider, if no command was associated with the - * given key. + /** Adds a command to this provider, if no command was associated with the given + * key. * * @param value the command to execute * @return if the command was added @@ -91,25 +91,25 @@ public interface ICommandProvider { /** Execute the command with the given name. *

- * If no command with this name is found, an error command is usually - * executed. If there are several commands with the same name, the behavior - * is unspecified. Depending on the implementation, it may run an error - * command or prompt the user for a choice. + * If no command with this name is found, an error command is usually executed. + * If there are several commands with the same name, the behavior is + * unspecified. Depending on the implementation, it may run an error command or + * prompt the user for a choice. * * @param out the output * @param in the input * @param command the name of the command the user wishes to execute * @param args the arguments for the command * @throws CommandRunException if the command failed to run */ - void executeSub(ConsoleOutput out, ConsoleInput in, String command, - String... args) throws CommandRunException; + void executeSub(ConsoleOutput out, ConsoleInput in, String command, String... args) + throws CommandRunException; /** Get the command with the given name. *

- * If no command with this name is found, an error command is usually - * returned. If there are several commands with the same name, the behavior - * is unspecified. Depending on the implementation, it may return an error - * command or the first command with this name found. + * If no command with this name is found, an error command is usually returned. + * If there are several commands with the same name, the behavior is + * unspecified. Depending on the implementation, it may return an error command + * or the first command with this name found. * * @param command the name of the command the user wishes to execute * @return the command to execute */ diff --git a/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommand.java b/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommand.java index a097a63..5ec1ce6 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommand.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommand.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -89,9 +89,8 @@ public abstract class ParametrizedCommand extends Command { /** Create a parametrized command. *

- * Implementation are supposed to call the - * {@link #addBooleanParameter(String)} and - * {@link #addStringParameter(String, boolean)} method to set the + * Implementation are supposed to call the {@link #addBooleanParameter(String)} + * and {@link #addStringParameter(String, boolean)} method to set the * parameters. * * @param name the name */ @@ -101,9 +100,8 @@ public abstract class ParametrizedCommand extends Command { /** Create a parametrized command. *

- * Implementation are supposed to call the - * {@link #addBooleanParameter(String)} and - * {@link #addStringParameter(String, boolean)} method to set the + * Implementation are supposed to call the {@link #addBooleanParameter(String)} + * and {@link #addStringParameter(String, boolean)} method to set the * parameters. * * @param name the name @@ -116,9 +114,10 @@ public abstract class ParametrizedCommand extends Command { /** Add a boolean parameter to defined parmaters. * * @param flag the boolean flag - * @throws InvalidParameterException if the parameter is already defined as - * a string parameter */ - protected final void addBooleanParameter(final String flag) throws InvalidParameterException { + * @throws InvalidParameterException if the parameter is already defined as a + * string parameter */ + protected final void addBooleanParameter(final String flag) + throws InvalidParameterException { data.addBooleanParameter(flag); } @@ -126,28 +125,27 @@ public abstract class ParametrizedCommand extends Command { * * @param flag the parameter flag * @param needed if the parameter's absence should cause an exception - * @throws InvalidParameterException if the parameter is already defined as - * a boolean parameter */ - protected final void addStringParameter(final String flag, - final boolean needed) throws InvalidParameterException { + * @throws InvalidParameterException if the parameter is already defined as a + * boolean parameter */ + protected final void addStringParameter(final String flag, final boolean needed) + throws InvalidParameterException { data.addStringParameter(flag, needed); } /** Actually performs the execution after parsing the parameters. - * + * * @param out the output * @param in the input * @param parameters the command parameters * @throws CommandRunException if the command failed */ protected abstract void doExecute(ConsoleOutput out, ConsoleInput in, - CommandParameters parameters) throws CommandRunException; + CommandParameters parameters) throws CommandRunException; /* (non-Javadoc) * @see net.bigeon.gclc.command.Command#execute(java.lang.String[]) */ @Override - public final void execute(final ConsoleOutput output, - final ConsoleInput input, - final String... args) throws CommandRunException { + public final void execute(final ConsoleOutput output, final ConsoleInput input, + final String... args) throws CommandRunException { try { doExecute(output, input, data.getParameters(input, args)); } catch (final IOException e) { diff --git a/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java b/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java index 91f4f27..ca1e574 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/ParametrizedCommandData.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -75,20 +75,18 @@ import java.io.IOException; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import net.bigeon.gclc.exception.CommandParsingException; import net.bigeon.gclc.exception.InvalidParameterException; import net.bigeon.gclc.manager.ConsoleInput; import net.bigeon.gclc.manager.EmptyInput; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - /** An object to handle standardized command parameters. * * @author Emmanuel BIGEON */ @@ -96,13 +94,14 @@ public final class ParametrizedCommandData { /** The boolean parameters mandatory status. */ private final Set boolParams = new HashSet<>(); + /** The string parameters mandatory status. */ private final Map stringParams = new ConcurrentHashMap<>(); /** The parameters mandatory status. */ private final Map params = new ConcurrentHashMap<>(); /** The restriction of provided parameters on execution to declared paramters in * the status maps. */ - private final boolean strict; + private final boolean strict; /** The data for the parametrized command. */ public ParametrizedCommandData() { @@ -110,7 +109,7 @@ public final class ParametrizedCommandData { } /** The data for a parametrized command. - * + * * @param strict if the command was refusing unrecognized parameters */ public ParametrizedCommandData(final boolean strict) { this.strict = strict; @@ -163,8 +162,22 @@ public final class ParametrizedCommandData { throw new InvalidParameterException("Parameter is already defined as boolean"); //$NON-NLS-1$ } + /** Retrieve the boolean parameters (aka flags). + * + * @return the set of boolean parameters */ + public final Set getBooleanParameters() { + return Collections.unmodifiableSet(boolParams); + } + + /** Retrieve the parameter names. + * + * @return the stringParams */ + public final Set getParameters() { + return params.keySet(); + } + /** Get the parameters from an input. - * + * * @param input the input * @param args the command arguments * @return the command object @@ -193,6 +206,28 @@ public final class ParametrizedCommandData { return parameters; } + /** Get the string parameters names. + * + * @return the stringParams */ + public final Set getStringParameters() { + return stringParams.keySet(); + } + + /** Test if a parameter is needed. + * + * @param param the parameter name + * @return if the parameter is needed */ + public final boolean isNeeded(final String param) { + return params.containsKey(param) && params.get(param).booleanValue(); + } + + /** If the command refuse unrecognized parameters. + * + * @return the strict */ + public final boolean isStrict() { + return strict; + } + /** Fill the undefined parameters. *

* This method prompts the user to fill the needed parameters. @@ -215,40 +250,4 @@ public final class ParametrizedCommandData { parameters.set(string, value); } } - - /** Retrieve the boolean parameters (aka flags). - * - * @return the set of boolean parameters */ - public final Set getBooleanParameters() { - return Collections.unmodifiableSet(boolParams); - } - - /** Retrieve the parameter names. - * - * @return the stringParams */ - public final Set getParameters() { - return params.keySet(); - } - - /** Get the string parameters names. - * - * @return the stringParams */ - public final Set getStringParameters() { - return stringParams.keySet(); - } - - /** Test if a parameter is needed. - * - * @param param the parameter name - * @return if the parameter is needed */ - public final boolean isNeeded(final String param) { - return params.containsKey(param) && params.get(param).booleanValue(); - } - - /** If the command refuse unrecognized parameters. - * - * @return the strict */ - public final boolean isStrict() { - return strict; - } } diff --git a/gclc/src/main/java/net/bigeon/gclc/command/SubedCommand.java b/gclc/src/main/java/net/bigeon/gclc/command/SubedCommand.java index 6b4fecb..e528fa7 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/SubedCommand.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/SubedCommand.java @@ -43,17 +43,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -61,10 +61,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -86,16 +86,15 @@ import net.bigeon.gclc.manager.ConsoleOutput; public final class SubedCommand extends CommandProvider implements ICommand { /** The tab character. */ - private static final String TAB = "\t"; //$NON-NLS-1$ - /** The command to execute when this command is called with no sub - * arguments. + private static final String TAB = "\t"; //$NON-NLS-1$ + /** The command to execute when this command is called with no sub arguments. *

* This may be null, in which case the command should have arguments. */ - private final ICommand noArgCommand; + private final ICommand noArgCommand; /** A tip on this command. */ - private final String tip; + private final String tip; /** The name of the command. */ - private final String name; + private final String name; /** Create the command that defines sub commands. * @@ -111,7 +110,7 @@ public final class SubedCommand extends CommandProvider implements ICommand { * * @param name the name of the command * @param noArgCommand the command to execute when no extra parameter are - * provided */ + * provided */ public SubedCommand(final String name, final ICommand noArgCommand) { super(); this.name = name; @@ -125,7 +124,7 @@ public final class SubedCommand extends CommandProvider implements ICommand { * @param noArgCommand the command to execute * @param tip the help tip associated */ public SubedCommand(final String name, final ICommand noArgCommand, - final String tip) { + final String tip) { super(); this.name = name; this.noArgCommand = noArgCommand; @@ -147,7 +146,7 @@ public final class SubedCommand extends CommandProvider implements ICommand { * @see fr.bigeon.acide.Command#execute(java.lang.String[]) */ @Override public void execute(final ConsoleOutput output, final ConsoleInput input, - final String... args) throws CommandRunException { + final String... args) throws CommandRunException { if (args.length == 0 || args[0].startsWith("-")) { //$NON-NLS-1$ if (noArgCommand != null) { noArgCommand.execute(output, input, args); @@ -176,15 +175,15 @@ public final class SubedCommand extends CommandProvider implements ICommand { /* (non-Javadoc) * @see net.bigeon.gclc.command.Command#help() */ @Override - public void help(final ConsoleOutput manager, - final String... args) throws IOException { + public void help(final ConsoleOutput manager, final String... args) + throws IOException { if (args.length != 0 && !args[0].startsWith("-")) { //$NON-NLS-1$ // Specific final ICommand c = get(args[0]); if (c != null) { c.help(manager, Arrays.copyOfRange(args, 1, args.length)); } else { - manager.println("No command "+Arrays.toString(args)); + manager.println("No command " + Arrays.toString(args)); } } else { // Generic @@ -196,7 +195,7 @@ public final class SubedCommand extends CommandProvider implements ICommand { manager.println(TAB + cmd.getCommandName()); } else { manager.println(TAB + cmd.getCommandName() + ": " + //$NON-NLS-1$ - cmd.tip()); + cmd.tip()); } } } diff --git a/gclc/src/main/java/net/bigeon/gclc/command/base/ExitCommand.java b/gclc/src/main/java/net/bigeon/gclc/command/base/ExitCommand.java index a51f06d..b8f79a2 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/base/ExitCommand.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/base/ExitCommand.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command.base; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command.base; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -84,13 +84,13 @@ import net.bigeon.gclc.prompt.CLIPrompterMessages; * @author Emmanuel BIGEON */ public class ExitCommand implements ICommand { /** The exit command manual message key. */ - private static final String EXIT_MAN = "exit.man"; //$NON-NLS-1$ + private static final String EXIT_MAN = "exit.man"; //$NON-NLS-1$ /** The tip of the exit command. */ - private static final String EXIT = "exit.tip"; //$NON-NLS-1$ + private static final String EXIT = "exit.tip"; //$NON-NLS-1$ /** The application that will be exited when this command runs. */ private final ConsoleApplication app; /** The exit command name. */ - private final String name; + private final String name; /** Create the exiting command. * @@ -109,8 +109,8 @@ public class ExitCommand implements ICommand { } @Override - public final void execute(final ConsoleOutput output, - final ConsoleInput input, final String... args) { + public final void execute(final ConsoleOutput output, final ConsoleInput input, + final String... args) { beforeExit(); app.exit(); } @@ -123,11 +123,11 @@ public class ExitCommand implements ICommand { } @Override - public final void help(final ConsoleOutput manager, - final String... args) throws IOException { - manager.println( - CLIPrompterMessages.getString(EXIT_MAN, (Object[]) args)); + public final void help(final ConsoleOutput manager, final String... args) + throws IOException { + manager.println(CLIPrompterMessages.getString(EXIT_MAN, (Object[]) args)); } + @Override public final String tip() { return CLIPrompterMessages.getString(EXIT); diff --git a/gclc/src/main/java/net/bigeon/gclc/command/base/MockCommand.java b/gclc/src/main/java/net/bigeon/gclc/command/base/MockCommand.java index 82a0123..65baa46 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/base/MockCommand.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/base/MockCommand.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command.base; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command.base; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -98,7 +98,7 @@ public final class MockCommand implements ICommand { * String[]) */ @Override public void execute(final ConsoleOutput out, final ConsoleInput in, - final String... args) { + final String... args) { // } @@ -113,8 +113,7 @@ public final class MockCommand implements ICommand { * @see net.bigeon.gclc.command.ICommand#help(net.bigeon.gclc.manager. * ConsoleManager, java.lang.String[]) */ @Override - public void help(final ConsoleOutput manager, - final String... args) { + public void help(final ConsoleOutput manager, final String... args) { // } diff --git a/gclc/src/main/java/net/bigeon/gclc/command/base/ScriptExecution.java b/gclc/src/main/java/net/bigeon/gclc/command/base/ScriptExecution.java index 8e1a058..8add260 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/base/ScriptExecution.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/base/ScriptExecution.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command.base; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,16 +63,15 @@ package net.bigeon.gclc.command.base; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% */ import java.io.BufferedReader; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.nio.charset.Charset; @@ -100,13 +99,16 @@ import net.bigeon.gclc.manager.ConsoleOutput; public final class ScriptExecution extends Command { /** The tab character. */ - private static final String TAB = "\t"; //$NON-NLS-1$ + private static final String TAB = "\t"; //$NON-NLS-1$ /** the space character. */ - private static final String SPACE = " "; //$NON-NLS-1$ + private static final String SPACE = " "; //$NON-NLS-1$ + /** The application. */ private final ConsoleApplication application; + /** The commenting prefix. */ private final String commentPrefix; + /** The charset for files. */ private final Charset charset; @@ -117,32 +119,18 @@ public final class ScriptExecution extends Command { * @param commentPrefix the comment prefix in the script files * @param charset the charset to use for files */ public ScriptExecution(final String name, final ConsoleApplication application, - final String commentPrefix, final Charset charset) { + final String commentPrefix, final Charset charset) { super(name); this.application = application; this.commentPrefix = commentPrefix; this.charset = charset; } - /** Check the arguments. - * - * @param args the arguments - * @throws CommandRunException if the arguments were not the ones - * expected */ - private static void checkArgs(final String[] args) throws CommandRunException { - if (args.length == 0) { - throw new CommandRunException(CommandRunExceptionType.USAGE, - "Expecting a file"); //$NON-NLS-1$ - } - } - - - /* (non-Javadoc) * @see net.bigeon.gclc.command.ICommand#execute(java.lang.String[]) */ @Override public void execute(final ConsoleOutput out, final ConsoleInput in, - final String... args) throws CommandRunException { + final String... args) throws CommandRunException { checkArgs(args); final String scriptFile = args[0]; final String[] params = Arrays.copyOfRange(args, 1, args.length); @@ -150,7 +138,7 @@ public final class ScriptExecution extends Command { int lineNo = -1; try (InputStreamReader fReader = new InputStreamReader( Files.newInputStream(Paths.get(scriptFile)), charset); - BufferedReader reader = new BufferedReader(fReader)) { + BufferedReader reader = new BufferedReader(fReader)) { while ((cmd = reader.readLine()) != null) { lineNo++; final String cmdLine = readCommandLine(cmd, params); @@ -159,12 +147,12 @@ public final class ScriptExecution extends Command { } final List ps = GCLCConstants.splitCommand(cmdLine); final String command = ps.remove(0); - application.executeSub(out, in, command, - ps.toArray(new String[0])); + application.executeSub(out, in, command, ps.toArray(new String[0])); } } catch (final CommandParsingException e) { - throw new CommandRunException(MessageFormat.format( - "Invalid command in script ({0})", e.getLocalizedMessage()), //$NON-NLS-1$ + throw new CommandRunException( + MessageFormat.format("Invalid command in script ({0})", //$NON-NLS-1$ + e.getLocalizedMessage()), e); } catch (final IOException e) { throw new CommandRunException("Unable to read script", //$NON-NLS-1$ @@ -174,29 +162,14 @@ public final class ScriptExecution extends Command { } } - /** This method will create the correct exception. The exception source must - * be this command. - * - * @param e the exception - * @param lineNo the line nu;ber - * @return the exception to actually throw */ - private static CommandRunException manageRunException(final CommandRunException e, - final int lineNo) { - return new CommandRunException(CommandRunExceptionType.EXECUTION, - MessageFormat.format( - "The script could not complete due to command failure at line {0} ({1})", //$NON-NLS-1$ - Integer.valueOf(lineNo), e.getLocalizedMessage()), - e); - } - /** Read a line of the script. * * @param cmd the line * @param params the formatting parameters * @return the command if it is indeed one, null otherwise * @throws CommandRunException if the line stqrted with a space character */ - private String readCommandLine(final String cmd, - final Object[] params) throws CommandRunException { + private String readCommandLine(final String cmd, final Object[] params) + throws CommandRunException { if (cmd.startsWith(SPACE) || cmd.startsWith(TAB)) { throw new CommandRunException( "Invalid line in script (line starts with space character)"); @@ -227,8 +200,7 @@ public final class ScriptExecution extends Command { builder.append( " The script file must contain one line commands. The lines must never"); //$NON-NLS-1$ builder.append(System.lineSeparator()); - builder.append( - "start with whitespace characters. The lines starting with"); //$NON-NLS-1$ + builder.append("start with whitespace characters. The lines starting with"); //$NON-NLS-1$ builder.append(System.lineSeparator()); builder.append('"'); builder.append(commentPrefix); @@ -245,4 +217,30 @@ public final class ScriptExecution extends Command { return super.usagePattern() + " "; //$NON-NLS-1$ } + /** Check the arguments. + * + * @param args the arguments + * @throws CommandRunException if the arguments were not the ones expected */ + private static void checkArgs(final String[] args) throws CommandRunException { + if (args.length == 0) { + throw new CommandRunException(CommandRunExceptionType.USAGE, + "Expecting a file"); //$NON-NLS-1$ + } + } + + /** This method will create the correct exception. The exception source must be + * this command. + * + * @param e the exception + * @param lineNo the line nu;ber + * @return the exception to actually throw */ + private static CommandRunException manageRunException(final CommandRunException e, + final int lineNo) { + return new CommandRunException(CommandRunExceptionType.EXECUTION, + MessageFormat.format( + "The script could not complete due to command failure at line {0} ({1})", //$NON-NLS-1$ + Integer.valueOf(lineNo), e.getLocalizedMessage()), + e); + } + } diff --git a/gclc/src/main/java/net/bigeon/gclc/command/base/package-info.java b/gclc/src/main/java/net/bigeon/gclc/command/base/package-info.java index 99d367f..32f87bb 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/base/package-info.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/base/package-info.java @@ -1,7 +1,4 @@ -/** - * @author Emmanuel Bigeon - * - */ +/** @author Emmanuel Bigeon */ package net.bigeon.gclc.command.base; /*- @@ -11,17 +8,17 @@ package net.bigeon.gclc.command.base; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -29,10 +26,10 @@ package net.bigeon.gclc.command.base; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/command/package-info.java b/gclc/src/main/java/net/bigeon/gclc/command/package-info.java index e683d63..09d6275 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/package-info.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/package-info.java @@ -4,9 +4,9 @@ * There are some implementations, such as the * {@link net.bigeon.gclc.command.ParametrizedCommand} for commands with a * predefined set of flags and option taking a string as value, the - * {@link net.bigeon.gclc.command.SubedCommand} for a command that is declined in - * a set of sub commands, the {@link net.bigeon.gclc.command.HelpExecutor} for - * help display of other commands and the + * {@link net.bigeon.gclc.command.SubedCommand} for a command that is declined + * in a set of sub commands, the {@link net.bigeon.gclc.command.HelpExecutor} + * for help display of other commands and the * * @author Emmanuel BIGEON */ package net.bigeon.gclc.command; @@ -18,17 +18,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -36,10 +36,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/exception/CommandParsingException.java b/gclc/src/main/java/net/bigeon/gclc/exception/CommandParsingException.java index 231ed5d..74a8a1a 100644 --- a/gclc/src/main/java/net/bigeon/gclc/exception/CommandParsingException.java +++ b/gclc/src/main/java/net/bigeon/gclc/exception/CommandParsingException.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.exception; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.exception; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -80,16 +80,16 @@ public class CommandParsingException extends Exception { private static final long serialVersionUID = 1L; /** Create the exception with a message. - * - * @param message the message */ + * + * @param message the message */ public CommandParsingException(final String message) { super(message); } /** Create the exception with a message and a cause. - * - * @param message the message - * @param cause the cause */ + * + * @param message the message + * @param cause the cause */ public CommandParsingException(final String message, final Throwable cause) { super(message, cause); } diff --git a/gclc/src/main/java/net/bigeon/gclc/exception/CommandRunException.java b/gclc/src/main/java/net/bigeon/gclc/exception/CommandRunException.java index b2d2d5c..73fa786 100644 --- a/gclc/src/main/java/net/bigeon/gclc/exception/CommandRunException.java +++ b/gclc/src/main/java/net/bigeon/gclc/exception/CommandRunException.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.exception; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.exception; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -87,8 +87,7 @@ public final class CommandRunException extends Exception { * * @param type the type of exception * @param message the message */ - public CommandRunException(final CommandRunExceptionType type, - final String message) { + public CommandRunException(final CommandRunExceptionType type, final String message) { super(message); this.type = type; } @@ -98,8 +97,8 @@ public final class CommandRunException extends Exception { * @param type the type of exception * @param message a message * @param cause the cause */ - public CommandRunException(final CommandRunExceptionType type, - final String message, final Throwable cause) { + public CommandRunException(final CommandRunExceptionType type, final String message, + final Throwable cause) { super(message, cause); this.type = type; } @@ -128,7 +127,7 @@ public final class CommandRunException extends Exception { public String getLocalizedMessage() { if (getCause() != null) { return super.getLocalizedMessage() + ": " + //$NON-NLS-1$ - getCause().getLocalizedMessage(); + getCause().getLocalizedMessage(); } return super.getLocalizedMessage(); } diff --git a/gclc/src/main/java/net/bigeon/gclc/exception/CommandRunExceptionType.java b/gclc/src/main/java/net/bigeon/gclc/exception/CommandRunExceptionType.java index 47e9ab2..986c011 100644 --- a/gclc/src/main/java/net/bigeon/gclc/exception/CommandRunExceptionType.java +++ b/gclc/src/main/java/net/bigeon/gclc/exception/CommandRunExceptionType.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.exception; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.exception; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/exception/InvalidCommandName.java b/gclc/src/main/java/net/bigeon/gclc/exception/InvalidCommandName.java index 330c76b..192ef91 100644 --- a/gclc/src/main/java/net/bigeon/gclc/exception/InvalidCommandName.java +++ b/gclc/src/main/java/net/bigeon/gclc/exception/InvalidCommandName.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.exception; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.exception; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/exception/InvalidParameterException.java b/gclc/src/main/java/net/bigeon/gclc/exception/InvalidParameterException.java index ff8a023..d50f2f5 100644 --- a/gclc/src/main/java/net/bigeon/gclc/exception/InvalidParameterException.java +++ b/gclc/src/main/java/net/bigeon/gclc/exception/InvalidParameterException.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.exception; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.exception; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/exception/package-info.java b/gclc/src/main/java/net/bigeon/gclc/exception/package-info.java index 1e9878d..ac1d328 100644 --- a/gclc/src/main/java/net/bigeon/gclc/exception/package-info.java +++ b/gclc/src/main/java/net/bigeon/gclc/exception/package-info.java @@ -10,17 +10,17 @@ package net.bigeon.gclc.exception; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -28,10 +28,10 @@ package net.bigeon.gclc.exception; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/i18n/Messages.java b/gclc/src/main/java/net/bigeon/gclc/i18n/Messages.java index 3f12eba..090da7f 100644 --- a/gclc/src/main/java/net/bigeon/gclc/i18n/Messages.java +++ b/gclc/src/main/java/net/bigeon/gclc/i18n/Messages.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.i18n; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.i18n; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -89,8 +89,7 @@ public final class Messages { .getBundle(BUNDLE_NAME); /** The class logger. */ - private static final Logger LOGGER = Logger - .getLogger(Messages.class.getName()); + private static final Logger LOGGER = Logger.getLogger(Messages.class.getName()); /** Utility class. */ private Messages() { diff --git a/gclc/src/main/java/net/bigeon/gclc/i18n/package-info.java b/gclc/src/main/java/net/bigeon/gclc/i18n/package-info.java index 8964cd4..b564a3b 100644 --- a/gclc/src/main/java/net/bigeon/gclc/i18n/package-info.java +++ b/gclc/src/main/java/net/bigeon/gclc/i18n/package-info.java @@ -10,17 +10,17 @@ package net.bigeon.gclc.i18n; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -28,10 +28,10 @@ package net.bigeon.gclc.i18n; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/manager/ConsoleInput.java b/gclc/src/main/java/net/bigeon/gclc/manager/ConsoleInput.java index 59b4d21..f696073 100644 --- a/gclc/src/main/java/net/bigeon/gclc/manager/ConsoleInput.java +++ b/gclc/src/main/java/net/bigeon/gclc/manager/ConsoleInput.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.manager; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.manager; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -146,7 +146,7 @@ public interface ConsoleInput extends AutoCloseable { void setPrompt(String prompt); /** Set the prompting string. - * + * * @param string the prompt string */ void setPrompt(StringProvider string); } diff --git a/gclc/src/main/java/net/bigeon/gclc/manager/ConsoleOutput.java b/gclc/src/main/java/net/bigeon/gclc/manager/ConsoleOutput.java index 3e53504..c4a3978 100644 --- a/gclc/src/main/java/net/bigeon/gclc/manager/ConsoleOutput.java +++ b/gclc/src/main/java/net/bigeon/gclc/manager/ConsoleOutput.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.manager; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.manager; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -86,14 +86,12 @@ public interface ConsoleOutput extends AutoCloseable { /** Print a string. * * @param text the message to print (without line break at the end). - * @throws IOException if the manager is closed or could not read the - * prompt */ + * @throws IOException if the manager is closed or could not read the prompt */ void print(String text) throws IOException; /** Prints an end of line. * - * @throws IOException if the manager is closed or could not read the - * prompt */ + * @throws IOException if the manager is closed or could not read the prompt */ void println() throws IOException; /** Print a string followed by an end of line. @@ -102,8 +100,7 @@ public interface ConsoleOutput extends AutoCloseable { * {@link #println()}. * * @param message the message to print - * @throws IOException if the manager is closed or could not read the - * prompt */ + * @throws IOException if the manager is closed or could not read the prompt */ void println(String message) throws IOException; } diff --git a/gclc/src/main/java/net/bigeon/gclc/manager/EmptyInput.java b/gclc/src/main/java/net/bigeon/gclc/manager/EmptyInput.java index 4bf2c2e..86b43e7 100644 --- a/gclc/src/main/java/net/bigeon/gclc/manager/EmptyInput.java +++ b/gclc/src/main/java/net/bigeon/gclc/manager/EmptyInput.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.manager; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.manager; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -82,10 +82,12 @@ public final class EmptyInput implements ConsoleInput { /** The empty prompter. */ public static final ConsoleInput INSTANCE = new EmptyInput(); + /** The empty input. */ private EmptyInput() { // } + /* (non-Javadoc) * @see net.bigeon.gclc.manager.ConsoleInput#close() */ @Override @@ -136,11 +138,9 @@ public final class EmptyInput implements ConsoleInput { } /* (non-Javadoc) - * @see net.bigeon.gclc.manager.ConsoleInput#prompt(java.lang.String, - * long) */ + * @see net.bigeon.gclc.manager.ConsoleInput#prompt(java.lang.String, long) */ @Override - public String prompt(final String message, - final long timeout) { + public String prompt(final String message, final long timeout) { return ""; //$NON-NLS-1$ } @@ -153,6 +153,6 @@ public final class EmptyInput implements ConsoleInput { @Override public void setPrompt(StringProvider string) { - // + // } } diff --git a/gclc/src/main/java/net/bigeon/gclc/manager/package-info.java b/gclc/src/main/java/net/bigeon/gclc/manager/package-info.java index ba7a99b..59c879f 100644 --- a/gclc/src/main/java/net/bigeon/gclc/manager/package-info.java +++ b/gclc/src/main/java/net/bigeon/gclc/manager/package-info.java @@ -10,17 +10,17 @@ package net.bigeon.gclc.manager; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -28,10 +28,10 @@ package net.bigeon.gclc.manager; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/package-info.java b/gclc/src/main/java/net/bigeon/gclc/package-info.java index 3b9e9b2..12f7110 100644 --- a/gclc/src/main/java/net/bigeon/gclc/package-info.java +++ b/gclc/src/main/java/net/bigeon/gclc/package-info.java @@ -10,17 +10,17 @@ package net.bigeon.gclc; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -28,10 +28,10 @@ package net.bigeon.gclc; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompter.java b/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompter.java index 317fd64..ee3634f 100644 --- a/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompter.java +++ b/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompter.java @@ -43,17 +43,17 @@ package net.bigeon.gclc.prompt; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -61,10 +61,10 @@ package net.bigeon.gclc.prompt; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -86,25 +86,25 @@ import net.bigeon.gclc.manager.ConsoleOutput; public final class CLIPrompter { /** The zero integer. */ - private static final Integer ZERO = Integer.valueOf(0); + private static final Integer ZERO = Integer.valueOf(0); /** message key for format error in prompting a choice. */ - private static final String PROMPTCHOICE_FORMATERR = "promptchoice.formaterr"; //$NON-NLS-1$ + private static final String PROMPTCHOICE_FORMATERR = "promptchoice.formaterr"; //$NON-NLS-1$ /** message key for out of bound error in prompting a choice. */ - private static final String PROMPTCHOICE_OUTOFBOUNDS = "promptchoice.outofbounds"; //$NON-NLS-1$ + private static final String PROMPTCHOICE_OUTOFBOUNDS = "promptchoice.outofbounds"; //$NON-NLS-1$ /** message key for first form of no in prompting a choice. */ - private static final String PROMPTBOOL_CHOICES_NO1 = "promptbool.choices.no1"; //$NON-NLS-1$ + private static final String PROMPTBOOL_CHOICES_NO1 = "promptbool.choices.no1"; //$NON-NLS-1$ /** message key for first form of yes in prompting a choice. */ - private static final String PROMPTBOOL_CHOICES_YES1 = "promptbool.choices.yes1"; //$NON-NLS-1$ + private static final String PROMPTBOOL_CHOICES_YES1 = "promptbool.choices.yes1"; //$NON-NLS-1$ /** Message key for boolean choosing. */ - private static final String BOOL_CHOICES = "promptbool.choices"; //$NON-NLS-1$ + private static final String BOOL_CHOICES = "promptbool.choices"; //$NON-NLS-1$ /** Message key for the list end of prompt symbol. */ - private static final String LIST_DISP_KEY = "promptlist.exit.dispkey"; //$NON-NLS-1$ + private static final String LIST_DISP_KEY = "promptlist.exit.dispkey"; //$NON-NLS-1$ /** Message key for the line prompt. */ - private static final String PROMPT = "prompt.lineprompt"; //$NON-NLS-1$ + private static final String PROMPT = "prompt.lineprompt"; //$NON-NLS-1$ /** Message key for the separation of choices selection. */ - private static final String LIST_CHOICE_SEP = "promptlist.multi.sepkey"; //$NON-NLS-1$ + private static final String LIST_CHOICE_SEP = "promptlist.multi.sepkey"; //$NON-NLS-1$ /** The class logger. */ - private static final Logger LOGGER = Logger + private static final Logger LOGGER = Logger .getLogger(CLIPrompter.class.getName()); /** Utility class. */ @@ -118,9 +118,8 @@ public final class CLIPrompter { * @param chs the list of integers * @param index the max index of choice * @return if the parsing was done correctly */ - private static boolean addUserChoice(final String val, - final List chs, - final int index) { + private static boolean addUserChoice(final String val, final List chs, + final int index) { if (val.isEmpty()) { return true; } @@ -138,12 +137,11 @@ public final class CLIPrompter { * @param output the manager * @param choices the choices * @param cancel the cancel option if it exists - * @return the number of choices plus one (or the number of choices if there - * is a cancel) + * @return the number of choices plus one (or the number of choices if there is + * a cancel) * @throws IOException if the manager was closed */ private static Integer listChoices(final ConsoleOutput output, - final List choices, - final String cancel) throws IOException { + final List choices, final String cancel) throws IOException { int index = 0; for (final U u : choices) { output.println(index++ + ") " + u); //$NON-NLS-1$ @@ -162,36 +160,34 @@ public final class CLIPrompter { * @return the choice * @throws IOException if the manager was closed */ public static boolean promptBoolean(final ConsoleOutput manager, - final ConsoleInput input, - final String message) throws IOException { + final ConsoleInput input, final String message) throws IOException { String result = input .prompt(message + CLIPrompterMessages.getString(BOOL_CHOICES)); boolean first = true; - final String choices = CLIPrompterMessages - .getString(PROMPTBOOL_CHOICES_YES1) + ", " + //$NON-NLS-1$ - CLIPrompterMessages - .getString(PROMPTBOOL_CHOICES_NO1); - while (!(result.equalsIgnoreCase( - CLIPrompterMessages.getString(PROMPTBOOL_CHOICES_YES1)) || - CLIPrompterMessages.getString(PROMPTBOOL_CHOICES_NO1) - .equalsIgnoreCase(result) || - CLIPrompterMessages.getString("promptbool.choices.no2") //$NON-NLS-1$ - .equalsIgnoreCase(result) || - CLIPrompterMessages.getString("promptbool.choices.yes2") //$NON-NLS-1$ - .equalsIgnoreCase(result))) { + final String choices = CLIPrompterMessages.getString(PROMPTBOOL_CHOICES_YES1) + + ", " + //$NON-NLS-1$ + CLIPrompterMessages.getString(PROMPTBOOL_CHOICES_NO1); + while (!(result + .equalsIgnoreCase(CLIPrompterMessages.getString(PROMPTBOOL_CHOICES_YES1)) + || CLIPrompterMessages.getString(PROMPTBOOL_CHOICES_NO1) + .equalsIgnoreCase(result) + || CLIPrompterMessages.getString("promptbool.choices.no2") //$NON-NLS-1$ + .equalsIgnoreCase(result) + || CLIPrompterMessages.getString("promptbool.choices.yes2") //$NON-NLS-1$ + .equalsIgnoreCase(result))) { if (!first) { manager.println(CLIPrompterMessages .getString("promptbool.choices.invalid", choices)); //$NON-NLS-1$ - result = input.prompt( - message + CLIPrompterMessages.getString(BOOL_CHOICES)); + result = input + .prompt(message + CLIPrompterMessages.getString(BOOL_CHOICES)); } first = false; } - return result.equalsIgnoreCase( - CLIPrompterMessages.getString(PROMPTBOOL_CHOICES_YES1)) || - result.equalsIgnoreCase(CLIPrompterMessages - .getString("promptbool.choices.yes2")); //$NON-NLS-1$ + return result + .equalsIgnoreCase(CLIPrompterMessages.getString(PROMPTBOOL_CHOICES_YES1)) + || result.equalsIgnoreCase( + CLIPrompterMessages.getString("promptbool.choices.yes2")); //$NON-NLS-1$ } /** Prompt for a choice. @@ -206,13 +202,9 @@ public final class CLIPrompter { * @return the choice * @throws IOException if the manager was closed */ public static U promptChoice(final ConsoleOutput manager, - final ConsoleInput input, - final List keys, - final List choices, - final String message, - final String cancel) throws IOException { - final Integer index = promptChoice(manager, input, keys, message, - cancel); + final ConsoleInput input, final List keys, final List choices, + final String message, final String cancel) throws IOException { + final Integer index = promptChoice(manager, input, keys, message, cancel); if (index == null) { return null; } @@ -232,13 +224,9 @@ public final class CLIPrompter { * @return the chosen object * @throws IOException if the manager was closed */ public static T promptChoice(final ConsoleOutput manager, - final ConsoleInput input, - final List choices, - final Map choicesMap, - final String message, - final String cancel) throws IOException { - final Integer res = promptChoice(manager, input, choices, message, - cancel); + final ConsoleInput input, final List choices, final Map choicesMap, + final String message, final String cancel) throws IOException { + final Integer res = promptChoice(manager, input, choices, message, cancel); if (res == null) { return null; } @@ -256,10 +244,8 @@ public final class CLIPrompter { * @return the index of the choice * @throws IOException if the manager was closed */ public static Integer promptChoice(final ConsoleOutput manager, - final ConsoleInput input, - final List choices, - final String message, - final String cancel) throws IOException { + final ConsoleInput input, final List choices, final String message, + final String cancel) throws IOException { manager.println(message); final Integer index = listChoices(manager, choices, cancel); String result; @@ -271,13 +257,12 @@ public final class CLIPrompter { if (r >= 0 && r <= index.intValue()) { break; } - manager.println(CLIPrompterMessages - .getString(PROMPTCHOICE_OUTOFBOUNDS, ZERO, index)); + manager.println(CLIPrompterMessages.getString(PROMPTCHOICE_OUTOFBOUNDS, + ZERO, index)); } catch (final NumberFormatException e) { - LOGGER.log(Level.FINER, - "Unrecognized number. Prompting user again.", e); //$NON-NLS-1$ - manager.println(CLIPrompterMessages - .getString(PROMPTCHOICE_FORMATERR, ZERO, index)); + LOGGER.log(Level.FINER, "Unrecognized number. Prompting user again.", e); //$NON-NLS-1$ + manager.println(CLIPrompterMessages.getString(PROMPTCHOICE_FORMATERR, + ZERO, index)); } listChoices(manager, choices, cancel); } @@ -299,13 +284,10 @@ public final class CLIPrompter { * @return the chosen object * @throws IOException if the manager was closed */ public static T promptChoice(final ConsoleOutput manager, - final ConsoleInput input, - final Map choicesMap, - final String message, - final String cancel) throws IOException { - return promptChoice(manager, input, - new ArrayList<>(choicesMap.keySet()), choicesMap, message, - cancel); + final ConsoleInput input, final Map choicesMap, final String message, + final String cancel) throws IOException { + return promptChoice(manager, input, new ArrayList<>(choicesMap.keySet()), + choicesMap, message, cancel); } /** Prompt for an integer. @@ -314,8 +296,8 @@ public final class CLIPrompter { * @param message the prompt message * @return the integer * @throws IOException if the manager was closed */ - public static int promptInteger(final ConsoleInput manager, - final String message) throws IOException { + public static int promptInteger(final ConsoleInput manager, final String message) + throws IOException { boolean still = true; int r = 0; while (still) { @@ -344,8 +326,7 @@ public final class CLIPrompter { * @return the list of user inputs * @throws IOException if the manager was closed */ public static List promptList(final ConsoleOutput manager, - final ConsoleInput input, - final String message) throws IOException { + final ConsoleInput input, final String message) throws IOException { return promptList(manager, input, message, CLIPrompterMessages.getString("promptlist.exit.defaultkey")); //$NON-NLS-1$ } @@ -359,12 +340,10 @@ public final class CLIPrompter { * @return the list of user inputs * @throws IOException if the manager was closed */ public static List promptList(final ConsoleOutput manager, - final ConsoleInput input, - final String message, - final String ender) throws IOException { + final ConsoleInput input, final String message, final String ender) + throws IOException { final List strings = new ArrayList<>(); - manager.println( - message + CLIPrompterMessages.getString(LIST_DISP_KEY, ender)); + manager.println(message + CLIPrompterMessages.getString(LIST_DISP_KEY, ender)); String res = null; while (!ender.equals(res)) { res = input.prompt(CLIPrompterMessages.getString(PROMPT)); @@ -383,10 +362,9 @@ public final class CLIPrompter { * @return the text * @throws IOException if the manager was closed */ public static String promptLongText(final ConsoleOutput manager, - final ConsoleInput input, - final String message) throws IOException { - return promptLongText(manager, input, message, CLIPrompterMessages - .getString("promptlongtext.exit.defaultkey")); //$NON-NLS-1$ + final ConsoleInput input, final String message) throws IOException { + return promptLongText(manager, input, message, + CLIPrompterMessages.getString("promptlongtext.exit.defaultkey")); //$NON-NLS-1$ } /** Prompt for a text with several lines. @@ -398,11 +376,10 @@ public final class CLIPrompter { * @return the text * @throws IOException if the manager was closed */ public static String promptLongText(final ConsoleOutput manager, - final ConsoleInput input, - final String message, - final String ender) throws IOException { - manager.println(message + CLIPrompterMessages - .getString("promptlongtext.exit.dispkey", ender)); //$NON-NLS-1$ + final ConsoleInput input, final String message, final String ender) + throws IOException { + manager.println(message + + CLIPrompterMessages.getString("promptlongtext.exit.dispkey", ender)); //$NON-NLS-1$ final StringBuilder res = new StringBuilder(); String line; do { @@ -426,12 +403,9 @@ public final class CLIPrompter { * @return the choice * @throws IOException if the manager was closed */ public static List promptMultiChoice(final ConsoleOutput manager, - final ConsoleInput input, - final List keys, - final List choices, - final String message) throws IOException { - final List indices = promptMultiChoice(manager, input, keys, - message); + final ConsoleInput input, final List keys, final List choices, + final String message) throws IOException { + final List indices = promptMultiChoice(manager, input, keys, message); final List userChoices = new ArrayList<>(indices.size()); for (final Integer integer : indices) { userChoices.add(choices.get(integer.intValue())); @@ -451,12 +425,9 @@ public final class CLIPrompter { * @return the chosen objects (or an empty list) * @throws IOException if the manager was closed */ public static List promptMultiChoice(final ConsoleOutput manager, - final ConsoleInput input, - final List choices, - final Map choicesMap, - final String message) throws IOException { - final List chs = promptMultiChoice(manager, input, choices, - message); + final ConsoleInput input, final List choices, final Map choicesMap, + final String message) throws IOException { + final List chs = promptMultiChoice(manager, input, choices, message); final List userChoices = new ArrayList<>(chs.size()); for (final Integer integer : chs) { userChoices.add(choicesMap.get(choices.get(integer.intValue()))); @@ -474,9 +445,8 @@ public final class CLIPrompter { * @return the indices of the choices * @throws IOException if the manager was closed */ public static List promptMultiChoice(final ConsoleOutput manager, - final ConsoleInput input, - final List choices, - final String message) throws IOException { + final ConsoleInput input, final List choices, final String message) + throws IOException { manager.println(message); final Integer index = listChoices(manager, choices, null); String result; @@ -492,11 +462,11 @@ public final class CLIPrompter { try { added = addUserChoice(val, chs, index.intValue()); } catch (final NumberFormatException e) { - LOGGER.log(Level.FINER, - "Unrecognized number. Prompting user again.", e); //$NON-NLS-1$ + LOGGER.log(Level.FINER, "Unrecognized number. Prompting user again.", //$NON-NLS-1$ + e); keepOn = true; - manager.println(CLIPrompterMessages - .getString(PROMPTCHOICE_FORMATERR, ZERO, index)); + manager.println(CLIPrompterMessages.getString(PROMPTCHOICE_FORMATERR, + ZERO, index)); listChoices(manager, choices, null); break; } @@ -522,11 +492,10 @@ public final class CLIPrompter { * @return the chosen objects * @throws IOException if the manager was closed */ public static List promptMultiChoice(final ConsoleOutput manager, - final ConsoleInput input, - final Map choicesMap, - final String message) throws IOException { - return promptMultiChoice(manager, input, - new ArrayList<>(choicesMap.keySet()), choicesMap, message); + final ConsoleInput input, final Map choicesMap, final String message) + throws IOException { + return promptMultiChoice(manager, input, new ArrayList<>(choicesMap.keySet()), + choicesMap, message); } /** Prompt the user for a non empty text. @@ -536,9 +505,8 @@ public final class CLIPrompter { * @param reprompt the prompting message after empty input * @return the non empty input * @throws IOException if the manager was closed */ - public static String promptNonEmpty(final ConsoleInput manager, - final String prompt, - final String reprompt) throws IOException { + public static String promptNonEmpty(final ConsoleInput manager, final String prompt, + final String reprompt) throws IOException { String res = manager.prompt(prompt); while (res.isEmpty()) { res = manager.prompt(reprompt); diff --git a/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompterMessages.java b/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompterMessages.java index 752a28d..cd752a0 100644 --- a/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompterMessages.java +++ b/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompterMessages.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.prompt; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.prompt; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -82,12 +82,12 @@ import java.util.logging.Logger; * @author Emmanuel BIGEON */ public final class CLIPrompterMessages { /** The resource name. */ - private static final String BUNDLE_NAME = "net.bigeon.gclc.messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "net.bigeon.gclc.messages"; //$NON-NLS-1$ /** The resource. */ private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle .getBundle(BUNDLE_NAME); /** The logger. */ - private static final Logger LOGGER = Logger + private static final Logger LOGGER = Logger .getLogger(CLIPrompterMessages.class.getName()); /** Utility class. */ diff --git a/gclc/src/main/java/net/bigeon/gclc/prompt/package-info.java b/gclc/src/main/java/net/bigeon/gclc/prompt/package-info.java index c571ea5..436dc05 100644 --- a/gclc/src/main/java/net/bigeon/gclc/prompt/package-info.java +++ b/gclc/src/main/java/net/bigeon/gclc/prompt/package-info.java @@ -17,17 +17,17 @@ package net.bigeon.gclc.prompt; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -35,10 +35,10 @@ package net.bigeon.gclc.prompt; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/tools/ConstantString.java b/gclc/src/main/java/net/bigeon/gclc/tools/ConstantString.java index 4524834..8ab2864 100644 --- a/gclc/src/main/java/net/bigeon/gclc/tools/ConstantString.java +++ b/gclc/src/main/java/net/bigeon/gclc/tools/ConstantString.java @@ -41,17 +41,17 @@ package net.bigeon.gclc.tools; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -59,32 +59,32 @@ package net.bigeon.gclc.tools; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% */ /** A {@link StringProvider} that hold a constant string. - * + * * @author Emmanuel Bigeon */ public class ConstantString implements StringProvider { private final String string; + /** Create a provider for a string. + * + * @param string the string */ + public ConstantString(String string) { + this.string = string; + } + /* (non-Javadoc) * @see net.bigeon.gclc.tools.StringProvider#apply() */ @Override public String apply() { return string; } - - /** Create a provider for a string. - * - * @param string the string */ - public ConstantString(String string) { - this.string = string; - } } diff --git a/gclc/src/main/java/net/bigeon/gclc/tools/PrintUtils.java b/gclc/src/main/java/net/bigeon/gclc/tools/PrintUtils.java index c4186f9..e9e10a2 100644 --- a/gclc/src/main/java/net/bigeon/gclc/tools/PrintUtils.java +++ b/gclc/src/main/java/net/bigeon/gclc/tools/PrintUtils.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.tools; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.tools; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -80,27 +80,27 @@ import java.util.List; public final class PrintUtils { /** The continuation dot string. */ - private static final String CONT_DOT = "..."; //$NON-NLS-1$ + private static final String CONT_DOT = "..."; //$NON-NLS-1$ /** The continuation dot string length. */ - private static final int CONT_DOT_LENGTH = CONT_DOT.length(); + private static final int CONT_DOT_LENGTH = CONT_DOT.length(); /** The empty string constant. */ - private static final String EMPTY = ""; //$NON-NLS-1$ + private static final String EMPTY = ""; //$NON-NLS-1$ /** Utility class. */ private PrintUtils() { // Utility class } - /** Print the text possibly cutting it if it goes over the authorized length - * and adding a mark of continuation. + /** Print the text possibly cutting it if it goes over the authorized length and + * adding a mark of continuation. * * @param text the text to print * @param nbCharacters the number of characters of the resulting text - * @param indicateTooLong if an indication shell be given that the text - * didn't fit + * @param indicateTooLong if an indication shell be given that the text didn't + * fit * @return the text to print (will be of exactly nbCharacters). */ public static String print(final String text, final int nbCharacters, - final boolean indicateTooLong) { + final boolean indicateTooLong) { StringBuilder res = new StringBuilder(text); if (res.length() > nbCharacters) { // Cut @@ -125,8 +125,7 @@ public final class PrintUtils { * @param i the length of the wrap * @return the list of resulting strings */ public static List wrap(final String description, final int i) { - final String[] originalLines = description - .split(System.lineSeparator()); + final String[] originalLines = description.split(System.lineSeparator()); final List result = new ArrayList<>(); for (final String string : originalLines) { String toCut = string; diff --git a/gclc/src/main/java/net/bigeon/gclc/tools/StringProvider.java b/gclc/src/main/java/net/bigeon/gclc/tools/StringProvider.java index 7cbbc3b..e6fa021 100644 --- a/gclc/src/main/java/net/bigeon/gclc/tools/StringProvider.java +++ b/gclc/src/main/java/net/bigeon/gclc/tools/StringProvider.java @@ -41,17 +41,17 @@ package net.bigeon.gclc.tools; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -59,10 +59,10 @@ package net.bigeon.gclc.tools; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -73,11 +73,11 @@ package net.bigeon.gclc.tools; * Implementations of this interface will provide a string, this internal state * of the object may be so that successive calls to the apply method return * different results. - * + * * @author Emmanuel */ public interface StringProvider { /** Provide a string. - * + * * @return the string */ String apply(); } diff --git a/gclc/src/main/java/net/bigeon/gclc/tools/package-info.java b/gclc/src/main/java/net/bigeon/gclc/tools/package-info.java index bb21fce..d81246f 100644 --- a/gclc/src/main/java/net/bigeon/gclc/tools/package-info.java +++ b/gclc/src/main/java/net/bigeon/gclc/tools/package-info.java @@ -10,17 +10,17 @@ package net.bigeon.gclc.tools; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -28,10 +28,10 @@ package net.bigeon.gclc.tools; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/utils/AOutputForwardRunnable.java b/gclc/src/main/java/net/bigeon/gclc/utils/AOutputForwardRunnable.java index 3160733..539d5df 100644 --- a/gclc/src/main/java/net/bigeon/gclc/utils/AOutputForwardRunnable.java +++ b/gclc/src/main/java/net/bigeon/gclc/utils/AOutputForwardRunnable.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.utils; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.utils; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -83,14 +83,14 @@ import java.util.logging.Logger; public abstract class AOutputForwardRunnable implements Runnable { /** The class logger. */ - private static final Logger LOGGER = Logger + private static final Logger LOGGER = Logger .getLogger(AOutputForwardRunnable.class.getName()); /** The default timeout (one tenth of second). */ - private static final long DEFAULT_TIMEOUT = 100; + private static final long DEFAULT_TIMEOUT = 100; /** The manager. */ private final PipedConsoleOutput manager; /** The timeout. */ - private final long timeout; + private final long timeout; /** Create a forwarding runnable. * @@ -103,19 +103,18 @@ public abstract class AOutputForwardRunnable implements Runnable { /** Create a forward runnable with the given timeout. *

- * Short timeout will be very responsive to the application actual messages, - * but may use computation time if the application is not verbose. Long - * timeout will save computation time, but will read batches of messages at - * once if the application is verbose. The right length for the timeout is - * likely to depend on the application and the use of it. + * Short timeout will be very responsive to the application actual messages, but + * may use computation time if the application is not verbose. Long timeout will + * save computation time, but will read batches of messages at once if the + * application is verbose. The right length for the timeout is likely to depend + * on the application and the use of it. *

* If you do not know what timeout length to use, please use the * {@link #AOutputForwardRunnable(PipedConsoleOutput)} constructor. * * @param manager the manager * @param timeout the timeout between message requests. */ - public AOutputForwardRunnable(final PipedConsoleOutput manager, - final long timeout) { + public AOutputForwardRunnable(final PipedConsoleOutput manager, final long timeout) { super(); this.manager = manager; this.timeout = timeout; diff --git a/gclc/src/main/java/net/bigeon/gclc/utils/PipedConsoleInput.java b/gclc/src/main/java/net/bigeon/gclc/utils/PipedConsoleInput.java index 00a7a19..e9f4dc3 100644 --- a/gclc/src/main/java/net/bigeon/gclc/utils/PipedConsoleInput.java +++ b/gclc/src/main/java/net/bigeon/gclc/utils/PipedConsoleInput.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.utils; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.utils; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -87,17 +87,16 @@ import net.bigeon.gclc.tools.StringProvider; * used to test application behavior. * * @author Emmanuel Bigeon */ -public final class PipedConsoleInput - implements ConsoleInput { +public final class PipedConsoleInput implements ConsoleInput { /** THe inner manager. */ private final StreamConsoleInput innerManager; /** The stream to pipe commands into. */ - private final PipedOutputStream commandInput; + private final PipedOutputStream commandInput; /** The stream for the application to read commands from. */ - private final PipedInputStream in; + private final PipedInputStream in; /** The writing thread. */ - private final WritingRunnable writing; + private final WritingRunnable writing; /** Create a manager that will write and read through piped stream. * @@ -106,11 +105,9 @@ public final class PipedConsoleInput public PipedConsoleInput(final PrintStream outPrint) throws IOException { commandInput = new PipedOutputStream(); in = new PipedInputStream(commandInput); - innerManager = new StreamConsoleInput(outPrint, in, - StandardCharsets.UTF_8); + innerManager = new StreamConsoleInput(outPrint, in, StandardCharsets.UTF_8); writing = new WritingRunnable(commandInput, StandardCharsets.UTF_8); - final Thread th = new Thread(writing, - "GCLC console piped input stream"); //$NON-NLS-1$ + final Thread th = new Thread(writing, "GCLC console piped input stream"); //$NON-NLS-1$ th.start(); } @@ -145,8 +142,7 @@ public final class PipedConsoleInput * @see net.bigeon.gclc.manager.ConsoleInput#prompt() */ @Override public String prompt() throws IOException { - return innerManager - .prompt(innerManager.getPrompt() + System.lineSeparator()); + return innerManager.prompt(innerManager.getPrompt() + System.lineSeparator()); } /* (non-Javadoc) @@ -164,8 +160,7 @@ public final class PipedConsoleInput } /* (non-Javadoc) - * @see net.bigeon.gclc.manager.ConsoleInput#prompt(java.lang.String, - * long) */ + * @see net.bigeon.gclc.manager.ConsoleInput#prompt(java.lang.String, long) */ @Override public String prompt(final String message, final long timeout) throws IOException { return innerManager.prompt(message + System.lineSeparator(), timeout); @@ -177,10 +172,10 @@ public final class PipedConsoleInput public void setPrompt(final String prompt) { innerManager.setPrompt(prompt); } - + @Override public void setPrompt(StringProvider string) { - innerManager.setPrompt(string); + innerManager.setPrompt(string); } /** Type a message in the input. diff --git a/gclc/src/main/java/net/bigeon/gclc/utils/PipedConsoleOutput.java b/gclc/src/main/java/net/bigeon/gclc/utils/PipedConsoleOutput.java index 531bf36..4602509 100644 --- a/gclc/src/main/java/net/bigeon/gclc/utils/PipedConsoleOutput.java +++ b/gclc/src/main/java/net/bigeon/gclc/utils/PipedConsoleOutput.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.utils; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.utils; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -87,21 +87,20 @@ import net.bigeon.gclc.manager.ConsoleOutput; * used to test application behavior. * * @author Emmanuel Bigeon */ -public final class PipedConsoleOutput - implements ConsoleOutput { +public final class PipedConsoleOutput implements ConsoleOutput { /** The encoding between streams. */ - private static final String UTF_8 = "UTF-8"; //$NON-NLS-1$ + private static final String UTF_8 = "UTF-8"; //$NON-NLS-1$ /** THe inner manager. */ private final StreamConsoleOutput innerManager; /** The reader to get application return from. */ - private final BufferedReader commandBuffOutput; + private final BufferedReader commandBuffOutput; /** The stream to get application return from. */ - private final PipedInputStream commandOutput; + private final PipedInputStream commandOutput; /** The print writer for application to write return to. */ - private final PrintStream outPrint; + private final PrintStream outPrint; /** The reading thread. */ - private final ReadingRunnable reading; + private final ReadingRunnable reading; /** Create a manager that will write and read through piped stream. * @@ -140,8 +139,8 @@ public final class PipedConsoleOutput /** Wait for a specific message to arrive. *

- * When this method returns, the message was appended to the data, it - * may or may not be the next line of data. + * When this method returns, the message was appended to the data, it may or + * may not be the next line of data. * * @param message the message * @return the thread to join to wait for message delivery diff --git a/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java b/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java index 2bef78d..c49acbf 100644 --- a/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java +++ b/gclc/src/main/java/net/bigeon/gclc/utils/ReadingRunnable.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.utils; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.utils; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -76,7 +76,6 @@ import java.io.IOException; import java.io.InterruptedIOException; import java.util.ArrayDeque; import java.util.Deque; -import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; @@ -98,7 +97,7 @@ public final class ReadingRunnable implements Runnable { /** The message. */ private final String message; /** The started status. */ - private boolean started = false; + private boolean started = false; /** Create the waiting runnable. * @@ -106,7 +105,7 @@ public final class ReadingRunnable implements Runnable { * @param start the object to notify when ready to wait * @param message the message to wait for */ public ToWaitRunnable(final Object obj, final Object start, - final String message) { + final String message) { this.obj = obj; this.start = start; this.message = message; @@ -137,8 +136,7 @@ public final class ReadingRunnable implements Runnable { return; } } catch (final InterruptedException e) { - LOGGER.log(Level.SEVERE, THREAD_INTERRUPTION_EXCEPTION, - e); + LOGGER.log(Level.SEVERE, THREAD_INTERRUPTION_EXCEPTION, e); Thread.currentThread().interrupt(); } } @@ -149,26 +147,28 @@ public final class ReadingRunnable implements Runnable { /** The thread intteruption logging message. */ private static final String THREAD_INTERRUPTION_EXCEPTION = "Thread interruption exception."; //$NON-NLS-1$ /** The closed pipe message. */ - private static final String CLOSED_PIPE = "Closed pipe"; //$NON-NLS-1$ + private static final String CLOSED_PIPE = "Closed pipe"; //$NON-NLS-1$ /** Wait timeout. */ - private static final long TIMEOUT = 1000; + private static final long TIMEOUT = 1000; /** Class logger. */ - private static final Logger LOGGER = Logger + private static final Logger LOGGER = Logger .getLogger(ReadingRunnable.class.getName()); + /** Read messages. */ - private final Deque messages = new ArrayDeque<>(); + private final Deque messages = new ArrayDeque<>(); + /** the reader. */ - private final BufferedReader reader; + private final BufferedReader reader; /** the state of this runnable. */ - private boolean running = true; + private boolean running = true; /** Synchro object. */ - private final Object lock = new Object(); + private final Object lock = new Object(); /** The waiting status for a message. */ - private boolean waiting; + private boolean waiting; /** The blocker for a given message. */ - private final Map messageBlocker = new ConcurrentHashMap<>(); + private final Map messageBlocker = new ConcurrentHashMap<>(); /** The lock. */ - private final Object messageBlockerLock = new Object(); + private final Object messageBlockerLock = new Object(); /** The message being delivered. */ private String delivering; @@ -180,25 +180,12 @@ public final class ReadingRunnable implements Runnable { this.reader = reader; } - /** Strip the string from head NULL characters. - * - * @param line the line to strip the null character from - * @return the resulting string */ - private static String stripNull(final String line) { - String res = line; - while (res.length() > 0 && res.charAt(0) == 0) { - LOGGER.severe( - "NULL character heading the result of the read. This is a stream problem..."); //$NON-NLS-1$ - res = res.substring(1); - } - return res; - } - /** do wait for a message. - *

This method should only be called inside a loop. + *

+ * This method should only be called inside a loop. + * * @param timeout the timeout of the wait. - * @throws IOException if the runnable was stopped and no essage was found. - */ + * @throws IOException if the runnable was stopped and no essage was found. */ private void doWaitMessage(final long timeout) throws IOException { try { synchronized (lock) { @@ -262,8 +249,7 @@ public final class ReadingRunnable implements Runnable { } final Object obj = messageBlocker.get(message); final Object start = new Object(); - final ToWaitRunnable waitRunn = new ToWaitRunnable(obj, start, - message); + final ToWaitRunnable waitRunn = new ToWaitRunnable(obj, start, message); final Thread th = new Thread(waitRunn); // Wait for the thread to actually start before unlocking the message queue. @@ -273,8 +259,7 @@ public final class ReadingRunnable implements Runnable { try { start.wait(TIMEOUT); } catch (final InterruptedException e) { - LOGGER.log(Level.SEVERE, THREAD_INTERRUPTION_EXCEPTION, - e); + LOGGER.log(Level.SEVERE, THREAD_INTERRUPTION_EXCEPTION, e); Thread.currentThread().interrupt(); } } @@ -296,8 +281,7 @@ public final class ReadingRunnable implements Runnable { } } - /** Interrupts the wait on the next message by providing an empty - * message. */ + /** Interrupts the wait on the next message by providing an empty message. */ public void interrupt() { synchronized (lock) { if (waiting) { @@ -354,8 +338,8 @@ public final class ReadingRunnable implements Runnable { if (running) { LOGGER.info("Reading interrupted"); //$NON-NLS-1$ } - LOGGER.log(Level.FINER, - "Read interruption was caused by an exception", e); //$NON-NLS-1$ + LOGGER.log(Level.FINER, "Read interruption was caused by an exception", //$NON-NLS-1$ + e); } catch (final IOException e) { LOGGER.log(Level.FINE, "The stream reading threw an exception", //$NON-NLS-1$ e); @@ -380,11 +364,25 @@ public final class ReadingRunnable implements Runnable { /** Wait for the next message to be integratted. * * @param timeout the timeout to wait - * @throws IOException if the next message was not delivered and the - * runnable stopped. */ + * @throws IOException if the next message was not delivered and the runnable + * stopped. */ private void waitMessage(final long timeout) throws IOException { while (messages.isEmpty()) { doWaitMessage(timeout); } } + + /** Strip the string from head NULL characters. + * + * @param line the line to strip the null character from + * @return the resulting string */ + private static String stripNull(final String line) { + String res = line; + while (res.length() > 0 && res.charAt(0) == 0) { + LOGGER.severe( + "NULL character heading the result of the read. This is a stream problem..."); //$NON-NLS-1$ + res = res.substring(1); + } + return res; + } } diff --git a/gclc/src/main/java/net/bigeon/gclc/utils/SinkOutput.java b/gclc/src/main/java/net/bigeon/gclc/utils/SinkOutput.java index d9bc0e7..a739950 100644 --- a/gclc/src/main/java/net/bigeon/gclc/utils/SinkOutput.java +++ b/gclc/src/main/java/net/bigeon/gclc/utils/SinkOutput.java @@ -47,17 +47,17 @@ import net.bigeon.gclc.manager.ConsoleOutput; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -65,10 +65,10 @@ import net.bigeon.gclc.manager.ConsoleOutput; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -85,6 +85,7 @@ public final class SinkOutput implements ConsoleOutput { private SinkOutput() { // } + /* (non-Javadoc) * @see net.bigeon.gclc.manager.ConsoleOutput#close() */ @Override @@ -114,8 +115,7 @@ public final class SinkOutput implements ConsoleOutput { } /* (non-Javadoc) - * @see net.bigeon.gclc.manager.ConsoleOutput#println(java.lang.String) - */ + * @see net.bigeon.gclc.manager.ConsoleOutput#println(java.lang.String) */ @Override public void println(final String message) { // diff --git a/gclc/src/main/java/net/bigeon/gclc/utils/StreamConsoleInput.java b/gclc/src/main/java/net/bigeon/gclc/utils/StreamConsoleInput.java index fe319c9..92b6e8e 100644 --- a/gclc/src/main/java/net/bigeon/gclc/utils/StreamConsoleInput.java +++ b/gclc/src/main/java/net/bigeon/gclc/utils/StreamConsoleInput.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.utils; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.utils; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -96,7 +96,7 @@ public final class StreamConsoleInput implements ConsoleInput { private StringProvider prompt = DEFAULT_PROMPT; /** The print stream. */ - private final PrintStream out; + private final PrintStream out; /** The input stream. */ private final BufferedReader in; @@ -109,8 +109,8 @@ public final class StreamConsoleInput implements ConsoleInput { /** The reading runnable. */ private final ReadingRunnable reading; - /** This default constructor relies on the system defined standart output - * and input stream. */ + /** This default constructor relies on the system defined standart output and + * input stream. */ public StreamConsoleInput() { this(System.out, System.in, Charset.defaultCharset()); } @@ -121,7 +121,7 @@ public final class StreamConsoleInput implements ConsoleInput { * @param in the input stream * @param charset the charset for the input */ public StreamConsoleInput(final PrintStream out, final InputStream in, - final Charset charset) { + final Charset charset) { super(); this.out = out; this.in = new BufferedReader(new InputStreamReader(in, charset)); @@ -200,8 +200,7 @@ public final class StreamConsoleInput implements ConsoleInput { /* (non-Javadoc) * @see net.bigeon.gclc.ConsoleManager#prompt(java.lang.String) */ @Override - public String prompt(final String message, - final long timeout) throws IOException { + public String prompt(final String message, final long timeout) throws IOException { checkOpen(); if (out != null) { out.print(message); @@ -219,6 +218,6 @@ public final class StreamConsoleInput implements ConsoleInput { @Override public void setPrompt(StringProvider string) { - this.prompt = string; + prompt = string; } } diff --git a/gclc/src/main/java/net/bigeon/gclc/utils/StreamConsoleOutput.java b/gclc/src/main/java/net/bigeon/gclc/utils/StreamConsoleOutput.java index a77a600..6da1422 100644 --- a/gclc/src/main/java/net/bigeon/gclc/utils/StreamConsoleOutput.java +++ b/gclc/src/main/java/net/bigeon/gclc/utils/StreamConsoleOutput.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.utils; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.utils; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -85,10 +85,10 @@ public final class StreamConsoleOutput implements ConsoleOutput { /** The print stream. */ private final PrintStream out; /** If the manager is closed. */ - private boolean closed = false; + private boolean closed = false; - /** This default constructor relies on the system defined standart output - * and input stream. */ + /** This default constructor relies on the system defined standart output and + * input stream. */ public StreamConsoleOutput() { this(System.out); } diff --git a/gclc/src/main/java/net/bigeon/gclc/utils/WritingRunnable.java b/gclc/src/main/java/net/bigeon/gclc/utils/WritingRunnable.java index 25256e8..b0fee75 100644 --- a/gclc/src/main/java/net/bigeon/gclc/utils/WritingRunnable.java +++ b/gclc/src/main/java/net/bigeon/gclc/utils/WritingRunnable.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.utils; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.utils; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/main/java/net/bigeon/gclc/utils/package-info.java b/gclc/src/main/java/net/bigeon/gclc/utils/package-info.java index 2e6d899..bef3e62 100644 --- a/gclc/src/main/java/net/bigeon/gclc/utils/package-info.java +++ b/gclc/src/main/java/net/bigeon/gclc/utils/package-info.java @@ -1,7 +1,4 @@ -/** - * @author Emmanuel Bigeon - * - */ +/** @author Emmanuel Bigeon */ package net.bigeon.gclc.utils; /*- @@ -11,17 +8,17 @@ package net.bigeon.gclc.utils; * Copyright (C) 2014 - 2018 Bigeon * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -29,10 +26,10 @@ package net.bigeon.gclc.utils; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% diff --git a/gclc/src/test/java/net/bigeon/gclc/CommandTestingApplication.java b/gclc/src/test/java/net/bigeon/gclc/CommandTestingApplication.java index 2eb1ad8..0abbcda 100644 --- a/gclc/src/test/java/net/bigeon/gclc/CommandTestingApplication.java +++ b/gclc/src/test/java/net/bigeon/gclc/CommandTestingApplication.java @@ -45,17 +45,17 @@ package net.bigeon.gclc; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,17 +63,16 @@ package net.bigeon.gclc; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% */ import java.io.IOException; -import net.bigeon.gclc.ConsoleApplication; import net.bigeon.gclc.command.ICommand; import net.bigeon.gclc.exception.InvalidCommandName; import net.bigeon.gclc.utils.PipedConsoleInput; @@ -83,16 +82,14 @@ import net.bigeon.gclc.utils.PipedConsoleOutput; *

* TODO * - * @author Emmanuel Bigeon - * - */ + * @author Emmanuel Bigeon */ @SuppressWarnings("javadoc") public class CommandTestingApplication implements AutoCloseable { private final ConsoleApplication application; - private final Thread th; + private final Thread th; private final PipedConsoleOutput out; - private final PipedConsoleInput in; + private final PipedConsoleInput in; /** @throws IOException if the streams cannot be build */ public CommandTestingApplication() throws IOException { diff --git a/gclc/src/test/java/net/bigeon/gclc/ConsoleApplicationTest.java b/gclc/src/test/java/net/bigeon/gclc/ConsoleApplicationTest.java index b08971e..b952e71 100644 --- a/gclc/src/test/java/net/bigeon/gclc/ConsoleApplicationTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/ConsoleApplicationTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -87,8 +87,6 @@ import java.nio.charset.StandardCharsets; import org.junit.Test; -import net.bigeon.gclc.CommandRequestListener; -import net.bigeon.gclc.ConsoleApplication; import net.bigeon.gclc.command.ICommand; import net.bigeon.gclc.command.base.ExitCommand; import net.bigeon.gclc.exception.CommandRunException; @@ -103,7 +101,7 @@ import net.bigeon.gclc.utils.PipedConsoleOutput; /** Test class for ConsoleApplication * * @author Emmanuel Bigeon */ -@SuppressWarnings({"javadoc", "nls", "static-method"}) +@SuppressWarnings({ "javadoc", "nls", "static-method" }) public class ConsoleApplicationTest { /** 3 seconds in milliseconds */ @@ -114,13 +112,11 @@ public class ConsoleApplicationTest { public void testConsoleApplication() { try (PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { - final ConsoleApplication app = new ConsoleApplication(null, in, - "", ""); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { + final ConsoleApplication app = new ConsoleApplication(null, in, "", ""); app.exit(); } catch (final IOException e) { fail("System Console Manager failed"); @@ -129,14 +125,13 @@ public class ConsoleApplicationTest { } @Test - public void testExecution() throws IOException, InterruptedException, - InvalidCommandName { + public void testExecution() + throws IOException, InterruptedException, InvalidCommandName { try (CommandTestingApplication application = new CommandTestingApplication()) { // remove welcome assertEquals("Header should be preserved", - application.getApplication().header, - application.readNextLine()); + application.getApplication().header, application.readNextLine()); // Remove first prompt application.sendCommand(""); application.sendCommand("test"); @@ -146,15 +141,13 @@ public class ConsoleApplicationTest { assertEquals("Command fail should dispaly appropriate message", Messages.getString("ConsoleApplication.cmd.failed", "toto"), application.readNextLine()); - assertEquals( - "Unrecognized comment should result in a specific message.", + assertEquals("Unrecognized comment should result in a specific message.", Messages.getString("CommandProvider.unrecognized", "toto"), application.readNextLine()); application.sendCommand("long"); assertEquals("Before wait should receive message", "Waita minute", application.readNextLine()); - assertEquals("Unexpected message", "done!", - application.readNextLine()); + assertEquals("Unexpected message", "done!", application.readNextLine()); final CommandRequestListener crl = new CommandRequestListener() { @@ -184,22 +177,20 @@ public class ConsoleApplicationTest { application.sendCommand("exit"); assertEquals("Footer should be preserved", - application.getApplication().footer, - application.readNextLine()); + application.getApplication().footer, application.readNextLine()); assertFalse("Stopped application should not be running", application.getApplication().isRunning()); } ConsoleApplication appli = null; try (PipedConsoleOutput manager = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { - final ConsoleApplication app = new ConsoleApplication(manager, in, - null, null); + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { + final ConsoleApplication app = new ConsoleApplication(manager, in, null, + null); appli = app; app.add(new ExitCommand("exit", app)); @@ -219,17 +210,15 @@ public class ConsoleApplicationTest { "Application should still exist even if the console input and output are closed.", appli); appli.start(); - assertFalse( - "Application should not start on closed console input and output", + assertFalse("Application should not start on closed console input and output", appli.isRunning()); } @Test public void testInterpretCommand() throws InvalidCommandName, IOException { try (PipedConsoleInput test = new PipedConsoleInput(null); - PipedConsoleOutput out = new PipedConsoleOutput()) { - final ConsoleApplication appl = new ConsoleApplication(out, test, - "", ""); + PipedConsoleOutput out = new PipedConsoleOutput()) { + final ConsoleApplication appl = new ConsoleApplication(out, test, "", ""); appl.interpretCommand("invalid cmd \"due to misplaced\"quote"); assertEquals("Specific error message expected", @@ -245,11 +234,9 @@ public class ConsoleApplicationTest { * manager.ConsoleOutput, net.bigeon.gclc.manager.ConsoleInput, * java.lang.String[]) */ @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { - throw new CommandRunException(CommandRunExceptionType.USAGE, - message); + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { + throw new CommandRunException(CommandRunExceptionType.USAGE, message); } @Override @@ -258,8 +245,8 @@ public class ConsoleApplicationTest { } @Override - public void help(final ConsoleOutput manager, - final String... args) throws IOException { + public void help(final ConsoleOutput manager, final String... args) + throws IOException { manager.println(message); } diff --git a/gclc/src/test/java/net/bigeon/gclc/ConsoleTestApplication.java b/gclc/src/test/java/net/bigeon/gclc/ConsoleTestApplication.java index 748e96c..d947a70 100644 --- a/gclc/src/test/java/net/bigeon/gclc/ConsoleTestApplication.java +++ b/gclc/src/test/java/net/bigeon/gclc/ConsoleTestApplication.java @@ -41,17 +41,17 @@ package net.bigeon.gclc; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -59,18 +59,16 @@ package net.bigeon.gclc; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% */ import java.io.IOException; -import net.bigeon.gclc.ApplicationAttachement; -import net.bigeon.gclc.ConsoleApplication; import net.bigeon.gclc.command.Command; import net.bigeon.gclc.command.HelpExecutor; import net.bigeon.gclc.command.ICommandProvider; diff --git a/gclc/src/test/java/net/bigeon/gclc/GCLCConstantsTest.java b/gclc/src/test/java/net/bigeon/gclc/GCLCConstantsTest.java index 7a7f502..fab2288 100644 --- a/gclc/src/test/java/net/bigeon/gclc/GCLCConstantsTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/GCLCConstantsTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -79,13 +79,12 @@ import java.util.List; import org.junit.Test; -import net.bigeon.gclc.GCLCConstants; import net.bigeon.gclc.exception.CommandParsingException; /** Test class for {@link GCLCConstants} * * @author Emmanuel Bigeon */ -@SuppressWarnings({"nls", "static-method"}) +@SuppressWarnings({ "nls", "static-method" }) public class GCLCConstantsTest { /** Test method for @@ -96,63 +95,47 @@ public class GCLCConstantsTest { public void testSplitCommand() throws CommandParsingException { List res; res = GCLCConstants.splitCommand("aCommand"); - assertTrue("single word command should have one element", - res.size() == 1); - assertTrue("Command should be preserved", - res.get(0).equals("aCommand")); + assertTrue("single word command should have one element", res.size() == 1); + assertTrue("Command should be preserved", res.get(0).equals("aCommand")); res = GCLCConstants.splitCommand("aCommand with some arguments"); assertEquals("Command size", 4, res.size()); assertEquals("Elements should be preserved", "aCommand", res.get(0)); assertTrue("Elements should be preserved", res.get(1).equals("with")); assertTrue("Elements should be preserved", res.get(2).equals("some")); - assertTrue("Elements should be preserved", - res.get(3).equals("arguments")); + assertTrue("Elements should be preserved", res.get(3).equals("arguments")); res = GCLCConstants.splitCommand("aCommand with some arguments"); assertEquals("Command size", 4, res.size()); - assertTrue("Elements should be preserved", - res.get(0).equals("aCommand")); + assertTrue("Elements should be preserved", res.get(0).equals("aCommand")); assertTrue("Elements should be preserved", res.get(1).equals("with")); assertTrue("Elements should be preserved", res.get(2).equals("some")); - assertTrue("Elements should be preserved", - res.get(3).equals("arguments")); + assertTrue("Elements should be preserved", res.get(3).equals("arguments")); res = GCLCConstants.splitCommand("aCommand \"with some\" arguments"); assertEquals("Command size", 3, res.size()); - assertTrue("Elements should be preserved", - res.get(0).equals("aCommand")); - assertTrue("Elements should be preserved", - res.get(1).equals("with some")); - assertTrue("Elements should be preserved", - res.get(2).equals("arguments")); + assertTrue("Elements should be preserved", res.get(0).equals("aCommand")); + assertTrue("Elements should be preserved", res.get(1).equals("with some")); + assertTrue("Elements should be preserved", res.get(2).equals("arguments")); res = GCLCConstants.splitCommand("aCommand with\\ some arguments"); assertEquals("Command size", 3, res.size()); - assertTrue("Elements should be preserved", - res.get(0).equals("aCommand")); - assertTrue("Elements should be preserved", - res.get(1).equals("with some")); - assertTrue("Elements should be preserved", - res.get(2).equals("arguments")); + assertTrue("Elements should be preserved", res.get(0).equals("aCommand")); + assertTrue("Elements should be preserved", res.get(1).equals("with some")); + assertTrue("Elements should be preserved", res.get(2).equals("arguments")); res = GCLCConstants.splitCommand("aCommand wi\\\"th some arguments"); assertEquals("Command size", 4, res.size()); - assertTrue("Elements should be preserved", - res.get(0).equals("aCommand")); + assertTrue("Elements should be preserved", res.get(0).equals("aCommand")); assertTrue("Elements should be preserved", res.get(1).equals("wi\"th")); assertTrue("Elements should be preserved", res.get(2).equals("some")); - assertTrue("Elements should be preserved", - res.get(3).equals("arguments")); + assertTrue("Elements should be preserved", res.get(3).equals("arguments")); res = GCLCConstants.splitCommand("aCommand with \"some arguments\""); assertEquals("Command size", 3, res.size()); - assertTrue("Elements should be preserved", - res.get(0).equals("aCommand")); + assertTrue("Elements should be preserved", res.get(0).equals("aCommand")); assertTrue("Elements should be preserved", res.get(1).equals("with")); - assertTrue("Elements should be preserved", - res.get(2).equals("some arguments")); + assertTrue("Elements should be preserved", res.get(2).equals("some arguments")); try { // Wrong lines? - res = GCLCConstants - .splitCommand("aCommand with \"some ar\"guments"); + res = GCLCConstants.splitCommand("aCommand with \"some ar\"guments"); fail("Misplaced quotes should fail"); } catch (final CommandParsingException e) { // ok diff --git a/gclc/src/test/java/net/bigeon/gclc/command/CommandParametersTest.java b/gclc/src/test/java/net/bigeon/gclc/command/CommandParametersTest.java index 4d83700..a6615a3 100644 --- a/gclc/src/test/java/net/bigeon/gclc/command/CommandParametersTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/command/CommandParametersTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -82,7 +82,6 @@ import java.util.Set; import org.junit.Test; -import net.bigeon.gclc.command.CommandParameters; import net.bigeon.gclc.exception.CommandParsingException; /** @@ -90,7 +89,7 @@ import net.bigeon.gclc.exception.CommandParsingException; * TODO * * @author Emmanuel Bigeon */ -@SuppressWarnings({"static-method", "nls"}) +@SuppressWarnings({ "static-method", "nls" }) public class CommandParametersTest { /** Test method for @@ -101,8 +100,7 @@ public class CommandParametersTest { public final void testCommandParameters() throws CommandParsingException { final Set strings = new HashSet<>(); final Set bools = new HashSet<>(); - CommandParameters parameters = new CommandParameters(bools, strings, - true); + CommandParameters parameters = new CommandParameters(bools, strings, true); try { parameters.parseArgs("-ungivenFlag"); @@ -127,8 +125,7 @@ public class CommandParametersTest { bools.add("boolFlag"); strings.add("str"); - final CommandParameters parameters = new CommandParameters(bools, - strings, true); + final CommandParameters parameters = new CommandParameters(bools, strings, true); assertNull(parameters.get("ungiven")); assertNull(parameters.get("str")); @@ -166,8 +163,7 @@ public class CommandParametersTest { bools.add("boolFlag"); strings.add("str"); - CommandParameters parameters = new CommandParameters(bools, strings, - true); + CommandParameters parameters = new CommandParameters(bools, strings, true); parameters.parseArgs("-boolFlag"); assertTrue(parameters.getAdditionals().isEmpty()); @@ -202,8 +198,7 @@ public class CommandParametersTest { bools.add("boolFlag"); strings.add("str"); - CommandParameters parameters = new CommandParameters(bools, strings, - true); + CommandParameters parameters = new CommandParameters(bools, strings, true); assertFalse(parameters.getBool("ungiven")); assertFalse(parameters.getBool("boolFlag")); @@ -255,8 +250,7 @@ public class CommandParametersTest { bools.add("boolFlag"); strings.add("str"); - final CommandParameters parameters = new CommandParameters(bools, - strings, true); + final CommandParameters parameters = new CommandParameters(bools, strings, true); try { parameters.parseArgs("-ungivenFlag"); @@ -285,8 +279,7 @@ public class CommandParametersTest { bools.add("boolFlag"); strings.add("str"); - CommandParameters parameters = new CommandParameters(bools, strings, - true); + CommandParameters parameters = new CommandParameters(bools, strings, true); assertFalse(parameters.getBool("ungiven")); assertFalse(parameters.getBool("boolFlag")); @@ -323,8 +316,7 @@ public class CommandParametersTest { bools.add("boolFlag"); strings.add("str"); - CommandParameters parameters = new CommandParameters(bools, strings, - true); + CommandParameters parameters = new CommandParameters(bools, strings, true); assertNull(parameters.get("ungiven")); assertNull(parameters.get("str")); diff --git a/gclc/src/test/java/net/bigeon/gclc/command/CommandProviderTest.java b/gclc/src/test/java/net/bigeon/gclc/command/CommandProviderTest.java index 2236382..9607b12 100644 --- a/gclc/src/test/java/net/bigeon/gclc/command/CommandProviderTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/command/CommandProviderTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -75,8 +75,6 @@ import static org.junit.Assert.fail; import org.junit.Test; -import net.bigeon.gclc.command.CommandProvider; -import net.bigeon.gclc.command.ICommand; import net.bigeon.gclc.command.base.MockCommand; import net.bigeon.gclc.exception.InvalidCommandName; diff --git a/gclc/src/test/java/net/bigeon/gclc/command/CommandTest.java b/gclc/src/test/java/net/bigeon/gclc/command/CommandTest.java index c6b5d1c..534ca1d 100644 --- a/gclc/src/test/java/net/bigeon/gclc/command/CommandTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/command/CommandTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -79,13 +79,13 @@ import java.io.IOException; import org.junit.Test; -import net.bigeon.gclc.command.Command; import net.bigeon.gclc.exception.CommandRunException; import net.bigeon.gclc.manager.ConsoleInput; import net.bigeon.gclc.manager.ConsoleOutput; import net.bigeon.gclc.utils.PipedConsoleOutput; -/**

+/** + *

* TODO * * @author Emmanuel Bigeon */ @@ -98,9 +98,8 @@ public class CommandTest { cmd = new Command("name") { @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { // } @@ -134,9 +133,8 @@ public class CommandTest { cmd = new Command("name") { @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { // } @@ -176,9 +174,8 @@ public class CommandTest { } @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { // } @@ -218,9 +215,8 @@ public class CommandTest { } @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { // } @@ -253,9 +249,8 @@ public class CommandTest { cmd = new Command("name") { @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { // } @@ -290,9 +285,8 @@ public class CommandTest { cmd = new Command("name") { @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { // } @@ -330,9 +324,8 @@ public class CommandTest { cmd = new Command("name") { @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { // } @@ -369,9 +362,8 @@ public class CommandTest { cmd = new Command("name") { @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { // } diff --git a/gclc/src/test/java/net/bigeon/gclc/command/HelpExecutorTest.java b/gclc/src/test/java/net/bigeon/gclc/command/HelpExecutorTest.java index bc6bb72..f5a3237 100644 --- a/gclc/src/test/java/net/bigeon/gclc/command/HelpExecutorTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/command/HelpExecutorTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -78,9 +78,6 @@ import java.io.IOException; import org.junit.Test; -import net.bigeon.gclc.command.Command; -import net.bigeon.gclc.command.HelpExecutor; -import net.bigeon.gclc.command.SubedCommand; import net.bigeon.gclc.command.base.MockCommand; import net.bigeon.gclc.exception.CommandRunException; import net.bigeon.gclc.manager.ConsoleInput; @@ -106,7 +103,7 @@ public class HelpExecutorTest { @Override public void execute(final ConsoleOutput out, final ConsoleInput in, - final String... args) throws CommandRunException { + final String... args) throws CommandRunException { // } @@ -139,8 +136,7 @@ public class HelpExecutorTest { @Test public final void testTip() throws IOException { try (PipedConsoleOutput test = new PipedConsoleOutput()) { - final HelpExecutor help = new HelpExecutor("?", - new MockCommand("mock")); + final HelpExecutor help = new HelpExecutor("?", new MockCommand("mock")); assertNotNull("Tip should be provided", help.tip()); help.help(test); } diff --git a/gclc/src/test/java/net/bigeon/gclc/command/ParametrizedCommandTest.java b/gclc/src/test/java/net/bigeon/gclc/command/ParametrizedCommandTest.java index 4b8c1f7..830877f 100644 --- a/gclc/src/test/java/net/bigeon/gclc/command/ParametrizedCommandTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/command/ParametrizedCommandTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -87,8 +87,6 @@ import java.nio.charset.StandardCharsets; import org.junit.Test; -import net.bigeon.gclc.command.CommandParameters; -import net.bigeon.gclc.command.ParametrizedCommand; import net.bigeon.gclc.exception.CommandRunException; import net.bigeon.gclc.exception.InvalidParameterException; import net.bigeon.gclc.manager.ConsoleInput; @@ -112,9 +110,8 @@ public class ParametrizedCommandTest { ParametrizedCommand cmd = new ParametrizedCommand("name") { @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { // } @@ -131,9 +128,8 @@ public class ParametrizedCommandTest { cmd = new ParametrizedCommand("name", true) { @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { // } @@ -179,8 +175,8 @@ public class ParametrizedCommandTest { * @throws InterruptedException if the test failed * @throws IOException if the test failed */ @Test - public final void testExecute() throws CommandRunException, - InterruptedException, IOException { + public final void testExecute() + throws CommandRunException, InterruptedException, IOException { final String addParam = "additional"; final String str1 = "str1"; final String str2 = "str2"; @@ -192,9 +188,8 @@ public class ParametrizedCommandTest { private boolean evenCall = true; @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { assertTrue(parameters.getBooleanArgumentKeys().isEmpty()); assertTrue(parameters.getStringArgumentKeys().isEmpty()); if (evenCall) { @@ -235,9 +230,8 @@ public class ParametrizedCommandTest { } @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { assertEquals(2, parameters.getBooleanArgumentKeys().size()); assertEquals(2, parameters.getStringArgumentKeys().size()); switch (call) { @@ -302,9 +296,8 @@ public class ParametrizedCommandTest { } @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { assertEquals(2, parameters.getBooleanArgumentKeys().size()); assertEquals(2, parameters.getStringArgumentKeys().size()); switch (call) { @@ -376,9 +369,8 @@ public class ParametrizedCommandTest { } @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { assertEquals(str2, parameters.get(str1)); } @@ -419,9 +411,8 @@ public class ParametrizedCommandTest { } @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { // assertEquals(str2, parameters.get(str1)); } @@ -466,9 +457,8 @@ public class ParametrizedCommandTest { } @Test - public void testExecuteInteractive() throws IOException, - CommandRunException, - InterruptedException { + public void testExecuteInteractive() + throws IOException, CommandRunException, InterruptedException { ParametrizedCommand cmd; final String addParam = "additional"; final String str1 = "str1"; @@ -490,9 +480,8 @@ public class ParametrizedCommandTest { } @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) throws CommandRunException { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) throws CommandRunException { if (!str2.equals(parameters.get(str1))) { throw new CommandRunException("Expected other argument"); } @@ -509,12 +498,11 @@ public class ParametrizedCommandTest { } }; try (PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { cmd.execute(out, in, "-" + str1, str2); cmd.execute(out, in, "-" + str1, str2, "-" + bool1); cmd.execute(out, in, "-" + str1, str2, addParam); @@ -528,12 +516,10 @@ public class ParametrizedCommandTest { try { assertEquals("value of " + str1 + "? ", buf.readLine()); in.type(""); - assertEquals( - "value of " + str1 + "? (cannot be empty) ", + assertEquals("value of " + str1 + "? (cannot be empty) ", buf.readLine()); in.type(""); - assertEquals( - "value of " + str1 + "? (cannot be empty) ", + assertEquals("value of " + str1 + "? (cannot be empty) ", buf.readLine()); in.type(str2); } catch (final IOException e) { @@ -548,12 +534,11 @@ public class ParametrizedCommandTest { th.join(); } try (PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final Thread th = new Thread(new Runnable() { @@ -593,9 +578,8 @@ public class ParametrizedCommandTest { ParametrizedCommand cmd = new ParametrizedCommand("name") { @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { // } @@ -612,9 +596,8 @@ public class ParametrizedCommandTest { assertTrue(cmd.isStrict()); cmd = new ParametrizedCommand("name") { @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { // } @@ -631,9 +614,8 @@ public class ParametrizedCommandTest { assertTrue(cmd.isStrict()); cmd = new ParametrizedCommand("name") { @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { // } @@ -656,9 +638,8 @@ public class ParametrizedCommandTest { public final void testParametrizedCommandConsoleManagerStringBoolean() { ParametrizedCommand cmd = new ParametrizedCommand("name", false) { @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { // } @@ -675,9 +656,8 @@ public class ParametrizedCommandTest { assertFalse(cmd.isStrict()); cmd = new ParametrizedCommand("name", false) { @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { // } @@ -694,9 +674,8 @@ public class ParametrizedCommandTest { assertFalse(cmd.isStrict()); cmd = new ParametrizedCommand("name", false) { @Override - protected void doExecute(final ConsoleOutput out, - final ConsoleInput in, - final CommandParameters parameters) { + protected void doExecute(final ConsoleOutput out, final ConsoleInput in, + final CommandParameters parameters) { // } diff --git a/gclc/src/test/java/net/bigeon/gclc/command/ScriptExecutionTest.java b/gclc/src/test/java/net/bigeon/gclc/command/ScriptExecutionTest.java index f86b522..e2e8863 100644 --- a/gclc/src/test/java/net/bigeon/gclc/command/ScriptExecutionTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/command/ScriptExecutionTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -88,7 +88,8 @@ import net.bigeon.gclc.exception.CommandRunExceptionType; import net.bigeon.gclc.utils.PipedConsoleInput; import net.bigeon.gclc.utils.PipedConsoleOutput; -/**

+/** + *

* Test class for {@link ScriptExecution} * * @author Emmanuel Bigeon */ @@ -108,8 +109,7 @@ public class ScriptExecutionTest { fail("creation of console manager failed"); //$NON-NLS-1$ return; } - final ConsoleApplication app = new ConsoleApplication( - test, in, "", ""); + final ConsoleApplication app = new ConsoleApplication(test, in, "", ""); new ConsoleTestApplication().attach(app); final ScriptExecution exec = new ScriptExecution("script", app, "#", //$NON-NLS-1$ //$NON-NLS-2$ Charset.forName("UTF-8")); @@ -122,8 +122,7 @@ public class ScriptExecutionTest { } try { - exec.execute(test, in, - "src/test/resources/scripts/withprependSpace.txt"); //$NON-NLS-1$ + exec.execute(test, in, "src/test/resources/scripts/withprependSpace.txt"); //$NON-NLS-1$ fail("execution of script with lines begining with space should fail"); //$NON-NLS-1$ } catch (final CommandRunException e1) { // ok @@ -131,8 +130,7 @@ public class ScriptExecutionTest { } try { - exec.execute(test, in, - "src/test/resources/scripts/invalidCmdParse.txt"); //$NON-NLS-1$ + exec.execute(test, in, "src/test/resources/scripts/invalidCmdParse.txt"); //$NON-NLS-1$ fail("execution of script with invalid command line should fail"); //$NON-NLS-1$ } catch (final CommandRunException e1) { // ok @@ -140,8 +138,7 @@ public class ScriptExecutionTest { } try { - exec.execute(test, in, - "src/test/resources/scripts/invalidCmd.txt"); //$NON-NLS-1$ + exec.execute(test, in, "src/test/resources/scripts/invalidCmd.txt"); //$NON-NLS-1$ fail("execution of script with invalid command should fail"); //$NON-NLS-1$ } catch (final CommandRunException e1) { // ok @@ -149,8 +146,7 @@ public class ScriptExecutionTest { } try { - exec.execute(test, in, - "src/test/resources/scripts/failingCmdInvoc.txt"); //$NON-NLS-1$ + exec.execute(test, in, "src/test/resources/scripts/failingCmdInvoc.txt"); //$NON-NLS-1$ fail("execution of script with failing command should fail"); //$NON-NLS-1$ } catch (final CommandRunException e1) { // ok @@ -158,8 +154,7 @@ public class ScriptExecutionTest { } try { - exec.execute(test, in, - "src/test/resources/scripts/someNonExisting.file"); //$NON-NLS-1$ + exec.execute(test, in, "src/test/resources/scripts/someNonExisting.file"); //$NON-NLS-1$ fail("execution of script with unexisting file should fail"); //$NON-NLS-1$ } catch (final CommandRunException e1) { // ok @@ -199,7 +194,8 @@ public class ScriptExecutionTest { } } - /** Test method for {@link net.bigeon.gclc.command.base.ScriptExecution#tip()}. */ + /** Test method for + * {@link net.bigeon.gclc.command.base.ScriptExecution#tip()}. */ @Test public void testTip() { final ScriptExecution exec = new ScriptExecution("script", null, "#", //$NON-NLS-1$ //$NON-NLS-2$ diff --git a/gclc/src/test/java/net/bigeon/gclc/command/SubedCommandTest.java b/gclc/src/test/java/net/bigeon/gclc/command/SubedCommandTest.java index fa6545a..1f5a259 100644 --- a/gclc/src/test/java/net/bigeon/gclc/command/SubedCommandTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/command/SubedCommandTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.command; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.command; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -80,9 +80,6 @@ import java.io.IOException; import org.junit.Test; -import net.bigeon.gclc.command.Command; -import net.bigeon.gclc.command.ICommand; -import net.bigeon.gclc.command.SubedCommand; import net.bigeon.gclc.command.base.MockCommand; import net.bigeon.gclc.exception.CommandRunException; import net.bigeon.gclc.exception.InvalidCommandName; @@ -136,9 +133,8 @@ public class SubedCommandTest { cmd.add(new Command("fail") { @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { throw new CommandRunException("Failing command", null); } @@ -182,9 +178,8 @@ public class SubedCommandTest { cmd.add(new Command("fail") { @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { throw new CommandRunException("Failing command"); } @@ -235,9 +230,8 @@ public class SubedCommandTest { cmd.add(new Command("fail") { @Override - public void execute(final ConsoleOutput out, - final ConsoleInput in, - final String... args) throws CommandRunException { + public void execute(final ConsoleOutput out, final ConsoleInput in, + final String... args) throws CommandRunException { throw new CommandRunException("Failing command"); } @@ -257,7 +251,7 @@ public class SubedCommandTest { } try { - cmd.executeSub(null, null,"id"); + cmd.executeSub(null, null, "id"); } catch (final CommandRunException e) { fail("Unexpected exception when running mock command"); assertNotNull(e); @@ -349,7 +343,7 @@ public class SubedCommandTest { @Override public void execute(final ConsoleOutput out, final ConsoleInput in, - final String... args) throws CommandRunException { + final String... args) throws CommandRunException { // } @@ -359,8 +353,8 @@ public class SubedCommandTest { } @Override - public void help(final ConsoleOutput manager, - final String... args) throws IOException { + public void help(final ConsoleOutput manager, final String... args) + throws IOException { // } diff --git a/gclc/src/test/java/net/bigeon/gclc/exception/CommandRunExceptionTest.java b/gclc/src/test/java/net/bigeon/gclc/exception/CommandRunExceptionTest.java index 4d6875c..962bcb6 100644 --- a/gclc/src/test/java/net/bigeon/gclc/exception/CommandRunExceptionTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/exception/CommandRunExceptionTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.exception; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.exception; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -77,28 +77,23 @@ import org.junit.Test; import net.bigeon.gclc.command.ICommand; import net.bigeon.gclc.command.base.MockCommand; -import net.bigeon.gclc.exception.CommandRunException; /** *

* TODO * - * @author Emmanuel Bigeon - * - */ + * @author Emmanuel Bigeon */ public class CommandRunExceptionTest { - /** - * Test method for {@link net.bigeon.gclc.exception.CommandRunException#getLocalizedMessage()}. - */ + /** Test method for + * {@link net.bigeon.gclc.exception.CommandRunException#getLocalizedMessage()}. */ @Test public final void testGetLocalizedMessage() { CommandRunException e; final ICommand cmd = new MockCommand("name"); final String messageInner = "inner"; final String message = "message"; - e = new CommandRunException(message, - new CommandRunException(messageInner)); + e = new CommandRunException(message, new CommandRunException(messageInner)); assertEquals(message + ": " + messageInner, e.getLocalizedMessage()); e = new CommandRunException(message); diff --git a/gclc/src/test/java/net/bigeon/gclc/manager/ReadingRunnableTest.java b/gclc/src/test/java/net/bigeon/gclc/manager/ReadingRunnableTest.java index c65200a..a780fb8 100644 --- a/gclc/src/test/java/net/bigeon/gclc/manager/ReadingRunnableTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/manager/ReadingRunnableTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.manager; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.manager; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -97,7 +97,8 @@ public class ReadingRunnableTest { /** */ @Before - public void setUp() {} + public void setUp() { + } /** Test method for * {@link net.bigeon.gclc.utils.ReadingRunnable#getMessage()}. */ @@ -122,19 +123,18 @@ public class ReadingRunnableTest { * @throws InterruptedException if the test failed * @throws IOException if the test failed */ @Test - public final void testGetWaitForDelivery() throws InterruptedException, - IOException { + public final void testGetWaitForDelivery() throws InterruptedException, IOException { try (PipedOutputStream out = new PipedOutputStream(); - InputStream piped = new PipedInputStream(out); - BufferedReader reader = new BufferedReader( - new InputStreamReader(piped, "UTF-8"))) { + InputStream piped = new PipedInputStream(out); + BufferedReader reader = new BufferedReader( + new InputStreamReader(piped, "UTF-8"))) { final ReadingRunnable runnable = new ReadingRunnable(reader); final Thread th0 = new Thread(runnable, "read"); th0.start(); final Thread th = runnable.getWaitForDelivery("msg"); - out.write(Charset.forName("UTF-8") - .encode("msg" + System.lineSeparator()).array()); + out.write(Charset.forName("UTF-8").encode("msg" + System.lineSeparator()) + .array()); final Thread th2 = new Thread(new Runnable() { diff --git a/gclc/src/test/java/net/bigeon/gclc/manager/SystemConsoleManagerTest.java b/gclc/src/test/java/net/bigeon/gclc/manager/SystemConsoleManagerTest.java index ac0545c..5a18e3b 100644 --- a/gclc/src/test/java/net/bigeon/gclc/manager/SystemConsoleManagerTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/manager/SystemConsoleManagerTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.manager; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.manager; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -104,8 +104,8 @@ public class SystemConsoleManagerTest { final InputStream in = new PipedInputStream(outStream); final PrintStream out = new PrintStream(outStream); final String test = "test"; - final StreamConsoleInput manager = new StreamConsoleInput(System.out, - in, Charset.forName("UTF-8")); + final StreamConsoleInput manager = new StreamConsoleInput(System.out, in, + Charset.forName("UTF-8")); final Thread th = new Thread(new Runnable() { @@ -131,7 +131,7 @@ public class SystemConsoleManagerTest { } /** Test method for {@link net.bigeon.gclc.manager.ConsoleInput#prompt()}. - * + * * @throws IOException if the test failed * @throws InterruptedException if the test failed */ @Test @@ -139,10 +139,10 @@ public class SystemConsoleManagerTest { final String test = "test"; try (PipedOutputStream outStream = new PipedOutputStream(); - InputStream in = new PipedInputStream(outStream); - final PrintStream out = new PrintStream(outStream); - StreamConsoleInput manager = new StreamConsoleInput(System.out, in, - Charset.forName("UTF-8"))) { + InputStream in = new PipedInputStream(outStream); + final PrintStream out = new PrintStream(outStream); + StreamConsoleInput manager = new StreamConsoleInput(System.out, in, + Charset.forName("UTF-8"))) { final Thread th = new Thread(new Runnable() { @@ -162,15 +162,15 @@ public class SystemConsoleManagerTest { /** Test method for * {@link net.bigeon.gclc.manager.ConsoleInput#setPrompt(java.lang.String)}. - * + * * @throws IOException if the test failed */ @Test public final void testSetPrompt() throws IOException { try (PipedOutputStream outStream = new PipedOutputStream(); - InputStream in = new PipedInputStream(outStream); - final PrintStream out = new PrintStream(outStream); - StreamConsoleInput manager = new StreamConsoleInput(System.out, in, - Charset.forName("UTF-8"))) { + InputStream in = new PipedInputStream(outStream); + final PrintStream out = new PrintStream(outStream); + StreamConsoleInput manager = new StreamConsoleInput(System.out, in, + Charset.forName("UTF-8"))) { final String prt = "++"; manager.setPrompt(prt); diff --git a/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterMessagesTest.java b/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterMessagesTest.java index 62a498b..a8aca55 100644 --- a/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterMessagesTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterMessagesTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.prompt; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.prompt; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -75,26 +75,20 @@ import static org.junit.Assert.assertEquals; import org.junit.Test; -import net.bigeon.gclc.prompt.CLIPrompterMessages; - /** *

* TODO * - * @author Emmanuel Bigeon - * - */ + * @author Emmanuel Bigeon */ public class CLIPrompterMessagesTest { - /** - * Test method for {@link net.bigeon.gclc.prompt.CLIPrompterMessages#getString(java.lang.String, java.lang.Object[])}. - */ + /** Test method for + * {@link net.bigeon.gclc.prompt.CLIPrompterMessages#getString(java.lang.String, java.lang.Object[])}. */ @Test public final void testGetString() { String key = "bad.key"; assertEquals('!' + key + '!', CLIPrompterMessages.getString(key)); - assertEquals('!' + key + '!', - CLIPrompterMessages.getString(key, "some arg")); + assertEquals('!' + key + '!', CLIPrompterMessages.getString(key, "some arg")); assertEquals('!' + key + '!', CLIPrompterMessages.getString(key, new Object[] {})); } diff --git a/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterTest.java b/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterTest.java index 361dfd8..5bb07ca 100644 --- a/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/prompt/CLIPrompterTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.prompt; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.prompt; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -92,8 +92,6 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; -import net.bigeon.gclc.prompt.CLIPrompter; -import net.bigeon.gclc.prompt.CLIPrompterMessages; import net.bigeon.gclc.utils.PipedConsoleInput; import net.bigeon.gclc.utils.PipedConsoleOutput; @@ -121,25 +119,20 @@ public class CLIPrompterTest { @Test public final void testPromptBoolean() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final Thread th = new Thread(new Runnable() { @Override public void run() { try { - assertTrue(CLIPrompter.promptBoolean(out, in, - "My message")); //$NON-NLS-1$ - assertTrue(CLIPrompter.promptBoolean(out, in, - "My message")); //$NON-NLS-1$ - assertFalse(CLIPrompter.promptBoolean(out, in, - "My message")); //$NON-NLS-1$ - assertFalse(CLIPrompter.promptBoolean(out, in, - "My message")); //$NON-NLS-1$ + assertTrue(CLIPrompter.promptBoolean(out, in, "My message")); //$NON-NLS-1$ + assertTrue(CLIPrompter.promptBoolean(out, in, "My message")); //$NON-NLS-1$ + assertFalse(CLIPrompter.promptBoolean(out, in, "My message")); //$NON-NLS-1$ + assertFalse(CLIPrompter.promptBoolean(out, in, "My message")); //$NON-NLS-1$ } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -171,12 +164,11 @@ public class CLIPrompterTest { @Test public final void testPromptChoiceConsoleManagerListOfStringListOfUStringString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final List keys = new ArrayList<>(); final List choices = new ArrayList<>(); keys.add("A choice"); //$NON-NLS-1$ @@ -192,14 +184,14 @@ public class CLIPrompterTest { public void run() { try { assertEquals("Asserted provided value to be retrieved", - choices.get(0), CLIPrompter.promptChoice(out, - in, keys, choices, message, cancel)); - assertEquals("Asserted provided value to be retrieved", - choices.get(0), CLIPrompter.promptChoice(out, - in, keys, choices, message, null)); - assertEquals("Asserted provided value to be retrieved", - null, CLIPrompter.promptChoice(out, in, keys, + choices.get(0), CLIPrompter.promptChoice(out, in, keys, choices, message, cancel)); + assertEquals("Asserted provided value to be retrieved", + choices.get(0), CLIPrompter.promptChoice(out, in, keys, + choices, message, null)); + assertEquals("Asserted provided value to be retrieved", null, + CLIPrompter.promptChoice(out, in, keys, choices, message, + cancel)); } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -215,8 +207,7 @@ public class CLIPrompterTest { buf.readLine()); in.type("yoyo"); //$NON-NLS-1$ // fail, reprompt - final String msg = CLIPrompterMessages.getString( - "promptchoice.formaterr", //$NON-NLS-1$ + final String msg = CLIPrompterMessages.getString("promptchoice.formaterr", //$NON-NLS-1$ 0, keys.size()); for (final String line : msg.split(System.lineSeparator())) { assertEquals(line, out.readNextLine()); @@ -235,10 +226,8 @@ public class CLIPrompterTest { buf.readLine()); in.type("2"); //$NON-NLS-1$ // fail, reprompt - assertEquals( - CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ - keys.size() - 1), - out.readNextLine()); + assertEquals(CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ + keys.size() - 1), out.readNextLine()); assertTrue(out.readNextLine().contains(keys.get(0))); assertTrue(out.readNextLine().contains(keys.get(1))); assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), //$NON-NLS-1$ @@ -262,12 +251,11 @@ public class CLIPrompterTest { @Test public final void testPromptChoiceConsoleManagerListOfUMapOfUTStringString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final List keys = new ArrayList<>(); final Map choices = new HashMap<>(); keys.add("A choice"); //$NON-NLS-1$ @@ -283,16 +271,14 @@ public class CLIPrompterTest { public void run() { try { assertEquals("Asserted provided value to be retrieved", - choices.get(keys.get(0)), - CLIPrompter.promptChoice(out, in, keys, choices, - message, cancel)); + choices.get(keys.get(0)), CLIPrompter.promptChoice(out, + in, keys, choices, message, cancel)); assertEquals("Asserted provided value to be retrieved", - choices.get(keys.get(0)), - CLIPrompter.promptChoice(out, in, keys, choices, - message, null)); - assertEquals("Asserted provided value to be retrieved", - null, CLIPrompter.promptChoice(out, in, keys, - choices, message, cancel)); + choices.get(keys.get(0)), CLIPrompter.promptChoice(out, + in, keys, choices, message, null)); + assertEquals("Asserted provided value to be retrieved", null, + CLIPrompter.promptChoice(out, in, keys, choices, message, + cancel)); } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -308,8 +294,7 @@ public class CLIPrompterTest { buf.readLine()); in.type("yoyo"); //$NON-NLS-1$ // fail, reprompt - final String msg = CLIPrompterMessages.getString( - "promptchoice.formaterr", //$NON-NLS-1$ + final String msg = CLIPrompterMessages.getString("promptchoice.formaterr", //$NON-NLS-1$ 0, keys.size()); for (final String line : msg.split(System.lineSeparator())) { assertEquals(line, out.readNextLine()); @@ -328,10 +313,8 @@ public class CLIPrompterTest { buf.readLine()); in.type("2"); //$NON-NLS-1$ // fail, reprompt - assertEquals( - CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ - keys.size() - 1), - out.readNextLine()); + assertEquals(CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ + keys.size() - 1), out.readNextLine()); assertTrue(out.readNextLine().contains(keys.get(0).toString())); assertTrue(out.readNextLine().contains(keys.get(1).toString())); assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), //$NON-NLS-1$ @@ -355,12 +338,11 @@ public class CLIPrompterTest { @Test public final void testPromptChoiceConsoleManagerListOfUStringString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final List keys = new ArrayList<>(); keys.add("A choice"); //$NON-NLS-1$ keys.add("An other"); //$NON-NLS-1$ @@ -373,17 +355,16 @@ public class CLIPrompterTest { public void run() { try { assertEquals("Asserted provided value to be retrieved", - Integer.valueOf(0), CLIPrompter.promptChoice( - out, in, keys, message, cancel)); + Integer.valueOf(0), + CLIPrompter.promptChoice(out, in, keys, message, cancel)); assertEquals("Asserted provided value to be retrieved", - Integer.valueOf(0), CLIPrompter.promptChoice( - out, in, keys, message, null)); + Integer.valueOf(0), + CLIPrompter.promptChoice(out, in, keys, message, null)); assertEquals("Asserted provided value to be retrieved", - Integer.valueOf(1), CLIPrompter.promptChoice( - out, in, keys, message, null)); - assertEquals("Asserted provided value to be retrieved", - null, CLIPrompter.promptChoice(out, in, keys, - message, cancel)); + Integer.valueOf(1), + CLIPrompter.promptChoice(out, in, keys, message, null)); + assertEquals("Asserted provided value to be retrieved", null, + CLIPrompter.promptChoice(out, in, keys, message, cancel)); } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -399,8 +380,7 @@ public class CLIPrompterTest { buf.readLine()); in.type("yoyo"); //$NON-NLS-1$ // fail, reprompt - final String msg = CLIPrompterMessages.getString( - "promptchoice.formaterr", //$NON-NLS-1$ + final String msg = CLIPrompterMessages.getString("promptchoice.formaterr", //$NON-NLS-1$ 0, keys.size()); for (final String line : msg.split(System.lineSeparator())) { assertEquals(line, out.readNextLine()); @@ -419,10 +399,8 @@ public class CLIPrompterTest { buf.readLine()); in.type("2"); //$NON-NLS-1$ // fail, reprompt - assertEquals( - CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ - keys.size() - 1), - out.readNextLine()); + assertEquals(CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ + keys.size() - 1), out.readNextLine()); assertTrue(out.readNextLine().contains(keys.get(0).toString())); assertTrue(out.readNextLine().contains(keys.get(1).toString())); assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), //$NON-NLS-1$ @@ -455,12 +433,11 @@ public class CLIPrompterTest { @Test public final void testPromptChoiceConsoleManagerMapOfUTStringString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final List keys = new ArrayList<>(); final Map choices = new HashMap<>(); keys.add("A choice"); //$NON-NLS-1$ @@ -476,16 +453,14 @@ public class CLIPrompterTest { public void run() { try { assertEquals("Asserted provided value to be retrieved", - choices.get(keys.get(0)), - CLIPrompter.promptChoice(out, in, keys, choices, - message, cancel)); + choices.get(keys.get(0)), CLIPrompter.promptChoice(out, + in, keys, choices, message, cancel)); assertEquals("Asserted provided value to be retrieved", - choices.get(keys.get(0)), - CLIPrompter.promptChoice(out, in, keys, choices, - message, null)); - assertEquals("Asserted provided value to be retrieved", - null, CLIPrompter.promptChoice(out, in, keys, - choices, message, cancel)); + choices.get(keys.get(0)), CLIPrompter.promptChoice(out, + in, keys, choices, message, null)); + assertEquals("Asserted provided value to be retrieved", null, + CLIPrompter.promptChoice(out, in, keys, choices, message, + cancel)); } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -503,8 +478,7 @@ public class CLIPrompterTest { buf.readLine()); in.type("yoyo"); //$NON-NLS-1$ // fail, reprompt - final String msg = CLIPrompterMessages.getString( - "promptchoice.formaterr", //$NON-NLS-1$ + final String msg = CLIPrompterMessages.getString("promptchoice.formaterr", //$NON-NLS-1$ 0, keys.size()); for (final String line : msg.split(System.lineSeparator())) { assertEquals(line, out.readNextLine()); @@ -523,10 +497,8 @@ public class CLIPrompterTest { buf.readLine()); in.type("2"); //$NON-NLS-1$ // fail, reprompt - assertEquals( - CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ - keys.size() - 1), - out.readNextLine()); + assertEquals(CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ + keys.size() - 1), out.readNextLine()); assertTrue(out.readNextLine().contains(keys.get(0).toString())); assertTrue(out.readNextLine().contains(keys.get(1).toString())); assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), //$NON-NLS-1$ @@ -552,21 +524,18 @@ public class CLIPrompterTest { @Test public final void testPromptInteger() { try (PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final Thread th = new Thread(new Runnable() { @Override public void run() { try { - assertEquals("Asserted provided value to be retrieved", - 10, + assertEquals("Asserted provided value to be retrieved", 10, CLIPrompter.promptInteger(in, "My message")); //$NON-NLS-1$ - assertEquals("Asserted provided value to be retrieved", - -15, + assertEquals("Asserted provided value to be retrieved", -15, CLIPrompter.promptInteger(in, "My message")); //$NON-NLS-1$ } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ @@ -596,12 +565,11 @@ public class CLIPrompterTest { @Test public final void testPromptListConsoleManagerString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final List keys = new ArrayList<>(); keys.add("A choice"); //$NON-NLS-1$ keys.add("An other"); //$NON-NLS-1$ @@ -615,8 +583,8 @@ public class CLIPrompterTest { assertEquals("Asserted provided value to be retrieved", new ArrayList(), CLIPrompter.promptList(out, in, message)); - assertEquals("Asserted provided value to be retrieved", - keys, CLIPrompter.promptList(out, in, message)); + assertEquals("Asserted provided value to be retrieved", keys, + CLIPrompter.promptList(out, in, message)); } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -631,8 +599,7 @@ public class CLIPrompterTest { .getString("promptlist.exit.defaultkey")))); //$NON-NLS-1$ assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), //$NON-NLS-1$ buf.readLine()); - in.type(CLIPrompterMessages - .getString("promptlist.exit.defaultkey")); //$NON-NLS-1$ + in.type(CLIPrompterMessages.getString("promptlist.exit.defaultkey")); //$NON-NLS-1$ // enter keys list nLine = out.readNextLine(); assertTrue(nLine.startsWith(message)); @@ -646,8 +613,7 @@ public class CLIPrompterTest { assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), //$NON-NLS-1$ buf.readLine()); } - in.type(CLIPrompterMessages - .getString("promptlist.exit.defaultkey")); //$NON-NLS-1$ + in.type(CLIPrompterMessages.getString("promptlist.exit.defaultkey")); //$NON-NLS-1$ th.join(); } catch (IOException | InterruptedException e) { fail("Unexpected excpetion"); //$NON-NLS-1$ @@ -660,12 +626,11 @@ public class CLIPrompterTest { @Test public final void testPromptListConsoleManagerStringString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final List keys = new ArrayList<>(); keys.add("A choice"); //$NON-NLS-1$ keys.add("An other"); //$NON-NLS-1$ @@ -678,11 +643,10 @@ public class CLIPrompterTest { public void run() { try { assertEquals("Asserted provided value to be retrieved", - new ArrayList(), CLIPrompter - .promptList(out, in, message, ender)); - assertEquals("Asserted provided value to be retrieved", - keys, CLIPrompter.promptList(out, in, message, - ender)); + new ArrayList(), + CLIPrompter.promptList(out, in, message, ender)); + assertEquals("Asserted provided value to be retrieved", keys, + CLIPrompter.promptList(out, in, message, ender)); } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -692,16 +656,16 @@ public class CLIPrompterTest { th.start(); String nLine = out.readNextLine(); assertTrue(nLine.startsWith(message)); - assertTrue(nLine.endsWith(CLIPrompterMessages - .getString("promptlist.exit.dispkey", ender))); //$NON-NLS-1$ + assertTrue(nLine.endsWith( + CLIPrompterMessages.getString("promptlist.exit.dispkey", ender))); //$NON-NLS-1$ assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), //$NON-NLS-1$ buf.readLine()); in.type(ender); // enter keys list nLine = out.readNextLine(); assertTrue(nLine.startsWith(message)); - assertTrue(nLine.endsWith(CLIPrompterMessages - .getString("promptlist.exit.dispkey", ender))); //$NON-NLS-1$ + assertTrue(nLine.endsWith( + CLIPrompterMessages.getString("promptlist.exit.dispkey", ender))); //$NON-NLS-1$ assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), //$NON-NLS-1$ buf.readLine()); for (int i = 0; i < keys.size(); i++) { @@ -722,26 +686,22 @@ public class CLIPrompterTest { @Test public final void testPromptLongTextConsoleManagerString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final String message = "My message"; - final String longText = "Some text with" + System.lineSeparator() + - "line feeds and other" + - System.lineSeparator() + - System.lineSeparator() + - " \tspecial characters"; + final String longText = "Some text with" + System.lineSeparator() + + "line feeds and other" + System.lineSeparator() + + System.lineSeparator() + " \tspecial characters"; final Thread th = new Thread(new Runnable() { @Override public void run() { try { - assertEquals("Asserted provided value to be retrieved", - "", + assertEquals("Asserted provided value to be retrieved", "", CLIPrompter.promptLongText(out, in, message)); assertEquals("Asserted provided value to be retrieved", longText + System.lineSeparator(), @@ -756,18 +716,17 @@ public class CLIPrompterTest { String nLine = out.readNextLine(); assertTrue(nLine.startsWith(message)); assertTrue(nLine.endsWith(CLIPrompterMessages.getString( - "promptlongtext.exit.dispkey", CLIPrompterMessages - .getString("promptlongtext.exit.defaultkey")))); + "promptlongtext.exit.dispkey", + CLIPrompterMessages.getString("promptlongtext.exit.defaultkey")))); assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), buf.readLine()); - in.type(CLIPrompterMessages - .getString("promptlongtext.exit.defaultkey")); + in.type(CLIPrompterMessages.getString("promptlongtext.exit.defaultkey")); // enter long text nLine = out.readNextLine(); assertTrue(nLine.startsWith(message)); assertTrue(nLine.endsWith(CLIPrompterMessages.getString( - "promptlongtext.exit.dispkey", CLIPrompterMessages - .getString("promptlongtext.exit.defaultkey")))); + "promptlongtext.exit.dispkey", + CLIPrompterMessages.getString("promptlongtext.exit.defaultkey")))); assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), buf.readLine()); final String[] text = longText.split(System.lineSeparator()); @@ -776,8 +735,7 @@ public class CLIPrompterTest { assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), buf.readLine()); } - in.type(CLIPrompterMessages - .getString("promptlongtext.exit.defaultkey")); + in.type(CLIPrompterMessages.getString("promptlongtext.exit.defaultkey")); th.join(); } catch (IOException | InterruptedException e) { fail("Unexpected excpetion"); //$NON-NLS-1$ @@ -790,18 +748,17 @@ public class CLIPrompterTest { @Test public final void testPromptLongTextConsoleManagerStringString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final String message = "My message"; final String ender = "\\quit"; - final String[] text = new String[] {"Some text with", - "feeds and other", " \tspecial characters"}; - final String longText = text[0] + System.lineSeparator() + text[1] + - System.lineSeparator() + text[2]; + final String[] text = new String[] { "Some text with", "feeds and other", + " \tspecial characters" }; + final String longText = text[0] + System.lineSeparator() + text[1] + + System.lineSeparator() + text[2]; final Thread th = new Thread(new Runnable() { @@ -809,12 +766,10 @@ public class CLIPrompterTest { public void run() { try { assertEquals("Asserted provided value to be retrieved", //$NON-NLS-1$ - "", CLIPrompter.promptLongText(out, in, message, - ender)); + "", CLIPrompter.promptLongText(out, in, message, ender)); assertEquals("Asserted provided value to be retrieved", longText + System.lineSeparator(), - CLIPrompter.promptLongText(out, in, message, - ender)); + CLIPrompter.promptLongText(out, in, message, ender)); } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -824,16 +779,16 @@ public class CLIPrompterTest { th.start(); String nLine = out.readNextLine(); assertTrue(nLine.startsWith(message)); - assertTrue(nLine.endsWith(CLIPrompterMessages - .getString("promptlongtext.exit.dispkey", ender))); + assertTrue(nLine.endsWith( + CLIPrompterMessages.getString("promptlongtext.exit.dispkey", ender))); assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), buf.readLine()); in.type(ender); // enter long text nLine = out.readNextLine(); assertTrue(nLine.startsWith(message)); - assertTrue(nLine.endsWith(CLIPrompterMessages - .getString("promptlongtext.exit.dispkey", ender))); + assertTrue(nLine.endsWith( + CLIPrompterMessages.getString("promptlongtext.exit.dispkey", ender))); assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), buf.readLine()); for (final String element : text) { @@ -854,12 +809,11 @@ public class CLIPrompterTest { @Test public final void testPromptMultiChoiceConsoleManagerListOfStringListOfUString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final List keys = new ArrayList<>(); final List choices = new ArrayList<>(); keys.add("A choice"); //$NON-NLS-1$ @@ -873,18 +827,18 @@ public class CLIPrompterTest { @Override public void run() { try { - assertTrue("Asserted provided value to be retrieved", - CLIPrompter.promptMultiChoice(out, in, keys, - choices, message).isEmpty()); + assertTrue("Asserted provided value to be retrieved", CLIPrompter + .promptMultiChoice(out, in, keys, choices, message) + .isEmpty()); final ArrayList l = new ArrayList<>(); l.add(choices.get(0)); - assertEquals("Asserted provided value to be retrieved", - l, CLIPrompter.promptMultiChoice(out, in, keys, - choices, message)); + assertEquals("Asserted provided value to be retrieved", l, + CLIPrompter.promptMultiChoice(out, in, keys, choices, + message)); l.add(choices.get(1)); - assertEquals("Asserted provided value to be retrieved", - l, CLIPrompter.promptMultiChoice(out, in, keys, - choices, message)); + assertEquals("Asserted provided value to be retrieved", l, + CLIPrompter.promptMultiChoice(out, in, keys, choices, + message)); } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -899,8 +853,7 @@ public class CLIPrompterTest { buf.readLine()); in.type("yoyo"); //$NON-NLS-1$ // fail, reprompt - final String msg = CLIPrompterMessages.getString( - "promptchoice.formaterr", //$NON-NLS-1$ + final String msg = CLIPrompterMessages.getString("promptchoice.formaterr", //$NON-NLS-1$ 0, keys.size() - 1); for (final String line : msg.split(System.lineSeparator())) { assertEquals(line, out.readNextLine()); @@ -918,10 +871,8 @@ public class CLIPrompterTest { buf.readLine()); in.type("2"); //$NON-NLS-1$ // fail, reprompt - assertEquals( - CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ - keys.size() - 1), - out.readNextLine()); + assertEquals(CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ + keys.size() - 1), out.readNextLine()); assertTrue(out.readNextLine().contains(keys.get(0))); assertTrue(out.readNextLine().contains(keys.get(1))); assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), //$NON-NLS-1$ @@ -946,12 +897,11 @@ public class CLIPrompterTest { @Test public final void testPromptMultiChoiceConsoleManagerListOfUMapOfUTString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final List keys = new ArrayList<>(); final Map choices = new HashMap<>(); keys.add("A choice"); //$NON-NLS-1$ @@ -965,18 +915,18 @@ public class CLIPrompterTest { @Override public void run() { try { - assertTrue("Asserted provided value to be retrieved", - CLIPrompter.promptMultiChoice(out, in, keys, - choices, message).isEmpty()); + assertTrue("Asserted provided value to be retrieved", CLIPrompter + .promptMultiChoice(out, in, keys, choices, message) + .isEmpty()); final ArrayList l = new ArrayList<>(); l.add(choices.get(keys.get(0))); - assertEquals("Asserted provided value to be retrieved", - l, CLIPrompter.promptMultiChoice(out, in, keys, - choices, message)); + assertEquals("Asserted provided value to be retrieved", l, + CLIPrompter.promptMultiChoice(out, in, keys, choices, + message)); l.add(choices.get(keys.get(1))); - assertEquals("Asserted provided value to be retrieved", - l, CLIPrompter.promptMultiChoice(out, in, keys, - choices, message)); + assertEquals("Asserted provided value to be retrieved", l, + CLIPrompter.promptMultiChoice(out, in, keys, choices, + message)); } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -991,8 +941,7 @@ public class CLIPrompterTest { buf.readLine()); in.type("yoyo"); //$NON-NLS-1$ // fail, reprompt - final String msg = CLIPrompterMessages.getString( - "promptchoice.formaterr", //$NON-NLS-1$ + final String msg = CLIPrompterMessages.getString("promptchoice.formaterr", //$NON-NLS-1$ 0, keys.size() - 1); for (final String line : msg.split(System.lineSeparator())) { assertEquals(line, out.readNextLine()); @@ -1010,10 +959,8 @@ public class CLIPrompterTest { buf.readLine()); in.type("2"); //$NON-NLS-1$ // fail, reprompt - assertEquals( - CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ - keys.size() - 1), - out.readNextLine()); + assertEquals(CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ + keys.size() - 1), out.readNextLine()); assertTrue(out.readNextLine().contains(keys.get(0).toString())); assertTrue(out.readNextLine().contains(keys.get(1).toString())); assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), //$NON-NLS-1$ @@ -1038,12 +985,11 @@ public class CLIPrompterTest { @Test public final void testPromptMultiChoiceConsoleManagerListOfUString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final List keys = new ArrayList<>(); keys.add("A choice"); //$NON-NLS-1$ keys.add("An other"); //$NON-NLS-1$ @@ -1054,18 +1000,15 @@ public class CLIPrompterTest { @Override public void run() { try { - assertTrue("Asserted provided value to be retrieved", - CLIPrompter.promptMultiChoice(out, in, keys, - message).isEmpty()); + assertTrue("Asserted provided value to be retrieved", CLIPrompter + .promptMultiChoice(out, in, keys, message).isEmpty()); final ArrayList l = new ArrayList<>(); l.add(0); - assertEquals("Asserted provided value to be retrieved", - l, CLIPrompter.promptMultiChoice(out, in, keys, - message)); + assertEquals("Asserted provided value to be retrieved", l, + CLIPrompter.promptMultiChoice(out, in, keys, message)); l.add(1); - assertEquals("Asserted provided value to be retrieved", - l, CLIPrompter.promptMultiChoice(out, in, keys, - message)); + assertEquals("Asserted provided value to be retrieved", l, + CLIPrompter.promptMultiChoice(out, in, keys, message)); } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -1080,8 +1023,7 @@ public class CLIPrompterTest { buf.readLine()); in.type("yoyo"); //$NON-NLS-1$ // fail, reprompt - final String msg = CLIPrompterMessages.getString( - "promptchoice.formaterr", //$NON-NLS-1$ + final String msg = CLIPrompterMessages.getString("promptchoice.formaterr", //$NON-NLS-1$ 0, keys.size() - 1); for (final String line : msg.split(System.lineSeparator())) { assertEquals(line, out.readNextLine()); @@ -1099,10 +1041,8 @@ public class CLIPrompterTest { buf.readLine()); in.type("2"); //$NON-NLS-1$ // fail, reprompt - assertEquals( - CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ - keys.size() - 1), - out.readNextLine()); + assertEquals(CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ + keys.size() - 1), out.readNextLine()); assertTrue(out.readNextLine().contains(keys.get(0).toString())); assertTrue(out.readNextLine().contains(keys.get(1).toString())); assertEquals(CLIPrompterMessages.getString("prompt.lineprompt"), //$NON-NLS-1$ @@ -1127,12 +1067,11 @@ public class CLIPrompterTest { @Test public final void testPromptMultiChoiceConsoleManagerMapOfUTString() { try (final PipedConsoleOutput out = new PipedConsoleOutput(); - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final List keys = new ArrayList<>(); final Map choices = new HashMap<>(); keys.add("A choice"); //$NON-NLS-1$ @@ -1146,18 +1085,18 @@ public class CLIPrompterTest { @Override public void run() { try { - assertTrue("Asserted provided value to be retrieved", - CLIPrompter.promptMultiChoice(out, in, keys, - choices, message).isEmpty()); + assertTrue("Asserted provided value to be retrieved", CLIPrompter + .promptMultiChoice(out, in, keys, choices, message) + .isEmpty()); final ArrayList l = new ArrayList<>(); l.add(choices.get(keys.get(0))); - assertEquals("Asserted provided value to be retrieved", - l, CLIPrompter.promptMultiChoice(out, in, keys, - choices, message)); + assertEquals("Asserted provided value to be retrieved", l, + CLIPrompter.promptMultiChoice(out, in, keys, choices, + message)); l.add(choices.get(keys.get(1))); - assertEquals("Asserted provided value to be retrieved", - l, CLIPrompter.promptMultiChoice(out, in, keys, - choices, message)); + assertEquals("Asserted provided value to be retrieved", l, + CLIPrompter.promptMultiChoice(out, in, keys, choices, + message)); } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); @@ -1172,8 +1111,7 @@ public class CLIPrompterTest { assertTrue(out.readNextLine().contains(keys.get(1).toString())); in.type("yoyo"); //$NON-NLS-1$ // fail, reprompt - final String msg = CLIPrompterMessages.getString( - "promptchoice.formaterr", //$NON-NLS-1$ + final String msg = CLIPrompterMessages.getString("promptchoice.formaterr", //$NON-NLS-1$ 0, keys.size() - 1); for (final String line : msg.split(System.lineSeparator())) { assertEquals(line, out.readNextLine()); @@ -1187,10 +1125,8 @@ public class CLIPrompterTest { assertTrue(out.readNextLine().contains(keys.get(1).toString())); in.type("2"); //$NON-NLS-1$ // fail, reprompt - assertEquals( - CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ - keys.size() - 1), - out.readNextLine()); + assertEquals(CLIPrompterMessages.getString("promptchoice.outofbounds", 0, //$NON-NLS-1$ + keys.size() - 1), out.readNextLine()); assertTrue(out.readNextLine().contains(keys.get(0).toString())); assertTrue(out.readNextLine().contains(keys.get(1).toString())); in.type("0"); //$NON-NLS-1$ @@ -1211,20 +1147,19 @@ public class CLIPrompterTest { @Test public final void testPromptNonEmpty() { try (PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream pis = new PipedInputStream(pout); - BufferedReader buf = new BufferedReader( - new InputStreamReader(pis, StandardCharsets.UTF_8)); - PipedConsoleInput in = new PipedConsoleInput( - new PrintStream(pout))) { + PipedInputStream pis = new PipedInputStream(pout); + BufferedReader buf = new BufferedReader( + new InputStreamReader(pis, StandardCharsets.UTF_8)); + PipedConsoleInput in = new PipedConsoleInput(new PrintStream(pout))) { final String res = "some content"; //$NON-NLS-1$ final Thread th = new Thread(new Runnable() { @Override public void run() { try { - assertEquals("Expected provided message to be returned", - res, CLIPrompter.promptNonEmpty(in, - "My message", "my reprompt")); //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals("Expected provided message to be returned", res, + CLIPrompter.promptNonEmpty(in, "My message", //$NON-NLS-1$ + "my reprompt")); //$NON-NLS-1$ } catch (final IOException e) { fail("Unexpected io excpetion"); //$NON-NLS-1$ e.printStackTrace(); diff --git a/gclc/src/test/java/net/bigeon/gclc/tools/AOutputForwardRunnableTest.java b/gclc/src/test/java/net/bigeon/gclc/tools/AOutputForwardRunnableTest.java index ead13de..031b29f 100644 --- a/gclc/src/test/java/net/bigeon/gclc/tools/AOutputForwardRunnableTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/tools/AOutputForwardRunnableTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.tools; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.tools; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -80,19 +80,20 @@ import org.junit.Test; import net.bigeon.gclc.utils.AOutputForwardRunnable; import net.bigeon.gclc.utils.PipedConsoleOutput; -/**

+/** + *

* TODO * * @author Emmanuel Bigeon */ public class AOutputForwardRunnableTest { - /**

+ /** + *

* TODO * * @author Emmanuel Bigeon */ - private final class AOutputForwardTestRunnable - extends AOutputForwardRunnable { - private int count = 2; + private final class AOutputForwardTestRunnable extends AOutputForwardRunnable { + private int count = 2; private String message; private AOutputForwardTestRunnable(final PipedConsoleOutput manager) { diff --git a/gclc/src/test/java/net/bigeon/gclc/tools/PrintUtilsTest.java b/gclc/src/test/java/net/bigeon/gclc/tools/PrintUtilsTest.java index 6509023..9d88cea 100644 --- a/gclc/src/test/java/net/bigeon/gclc/tools/PrintUtilsTest.java +++ b/gclc/src/test/java/net/bigeon/gclc/tools/PrintUtilsTest.java @@ -45,17 +45,17 @@ package net.bigeon.gclc.tools; * Copyright (C) 2014 - 2018 bigeon.fr * %% * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, + * abiding by the rules of distribution of free software. You can use, * modify and/ or redistribute the software under the terms of the CeCILL * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * + * "http://www.cecill.info". + * * As a counterpart to the access to the source code and rights to copy, * modify and redistribute granted by the license, users are provided only * with a limited warranty and the software's author, the holder of the * economic rights, and the successive licensors have only limited - * liability. - * + * liability. + * * In this respect, the user's attention is drawn to the risks associated * with loading, using, modifying and/or developing or reproducing the * software by the user in light of its specific status of free software, @@ -63,10 +63,10 @@ package net.bigeon.gclc.tools; * therefore means that it is reserved for developers and experienced * professionals having in-depth computer knowledge. Users are therefore * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * * The fact that you are presently reading this means that you have had * knowledge of the CeCILL license and that you accept its terms. * #L% @@ -77,9 +77,8 @@ import java.util.Arrays; import org.junit.Test; -import net.bigeon.gclc.tools.PrintUtils; - -/**

+/** + *

* TODO * * @author Emmanuel Bigeon */ @@ -93,37 +92,30 @@ public class PrintUtilsTest { String longText = text + " that may be abbreviated"; assertEquals(text, PrintUtils.print(text, text.length(), true)); assertEquals(text, PrintUtils.print(text, text.length(), false)); - assertEquals(text + " ", - PrintUtils.print(text, text.length() + 3, false)); - assertEquals(text + " ", - PrintUtils.print(text, text.length() + 3, true)); + assertEquals(text + " ", PrintUtils.print(text, text.length() + 3, false)); + assertEquals(text + " ", PrintUtils.print(text, text.length() + 3, true)); assertEquals(text, PrintUtils.print(longText, text.length(), false)); - assertEquals(text + "...", - PrintUtils.print(longText, text.length() + 3, true)); + assertEquals(text + "...", PrintUtils.print(longText, text.length() + 3, true)); } /** Test method for * {@link net.bigeon.gclc.tools.PrintUtils#wrap(java.lang.String, int)}. */ @Test public final void testWrap() { - String[] line = {"A text separated", "on several lines", "with cuts at", - "whitespace", "characters"}; - String text = line[0] + " " + line[1] + " " + line[2] + " " + line[3] + - " " + line[4]; - assertEquals(Arrays.asList(line), - PrintUtils.wrap(text, line[0].length() + 1)); - assertEquals(Arrays.asList(line), - PrintUtils.wrap(text, line[0].length())); + String[] line = { "A text separated", "on several lines", "with cuts at", + "whitespace", "characters" }; + String text = line[0] + " " + line[1] + " " + line[2] + " " + line[3] + " " + + line[4]; + assertEquals(Arrays.asList(line), PrintUtils.wrap(text, line[0].length() + 1)); + assertEquals(Arrays.asList(line), PrintUtils.wrap(text, line[0].length())); // test with split word - line = new String[] {"A text separated", "on several lines", "", - "with cuts at", "whitespacecharac", "ters"}; - text = line[0] + " " + line[1] + System.lineSeparator() + line[3] + - " " + line[4] + line[5]; - assertEquals(Arrays.asList(line), - PrintUtils.wrap(text, line[0].length())); - assertEquals(Arrays.asList(""), - PrintUtils.wrap("", line[0].length())); + line = new String[] { "A text separated", "on several lines", "", "with cuts at", + "whitespacecharac", "ters" }; + text = line[0] + " " + line[1] + System.lineSeparator() + line[3] + " " + line[4] + + line[5]; + assertEquals(Arrays.asList(line), PrintUtils.wrap(text, line[0].length())); + assertEquals(Arrays.asList(""), PrintUtils.wrap("", line[0].length())); } }