diff --git a/plugins/org.jkiss.dbeaver.ui.app.standalone/src/org/jkiss/dbeaver/ui/app/standalone/DBeaverCommandLine.java b/plugins/org.jkiss.dbeaver.ui.app.standalone/src/org/jkiss/dbeaver/ui/app/standalone/DBeaverCommandLine.java index c8765e04f512aa5335783d5f987571abc7548fda..5c81508ad9a350dfd96e929cf4c1d002bb033b48 100644 --- a/plugins/org.jkiss.dbeaver.ui.app.standalone/src/org/jkiss/dbeaver/ui/app/standalone/DBeaverCommandLine.java +++ b/plugins/org.jkiss.dbeaver.ui.app.standalone/src/org/jkiss/dbeaver/ui/app/standalone/DBeaverCommandLine.java @@ -16,10 +16,7 @@ */ package org.jkiss.dbeaver.ui.app.standalone; -import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.DefaultParser; -import org.apache.commons.cli.HelpFormatter; -import org.apache.commons.cli.Options; +import org.apache.commons.cli.*; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IExtensionRegistry; import org.eclipse.core.runtime.Platform; @@ -270,26 +267,32 @@ public class DBeaverCommandLine return false; } boolean exit = false; - for (ParameterDescriptor param : customParameters.values()) { - if (commandLine.hasOption(param.name)) { - try { - if (param.hasArg) { - for (String optValue : commandLine.getOptionValues(param.name)) { - param.handler.handleParameter( - param.name, - optValue); - } - } else { + for (Option cliOption : commandLine.getOptions()) { + ParameterDescriptor param = customParameters.get(cliOption.getOpt()); + if (param == null) { + param = customParameters.get(cliOption.getLongOpt()); + } + if (param == null) { + log.error("Wrong command line parameter " + cliOption); + continue; + } + try { + if (param.hasArg) { + for (String optValue : commandLine.getOptionValues(param.name)) { param.handler.handleParameter( - param.name, - null); + param.name, + optValue); } - } catch (Exception e) { - log.error("Error evaluating parameter '" + param.name + "'", e); - } - if (param.exitAfterExecute) { - exit = true; + } else { + param.handler.handleParameter( + param.name, + null); } + } catch (Exception e) { + log.error("Error evaluating parameter '" + param.name + "'", e); + } + if (param.exitAfterExecute) { + exit = true; } }