Fixing silent-input over password
--silent-input was being ignored on password. This is a little fix I have also moved an abstract just for InputAbstract
This commit is contained in:
parent
a2a88625de
commit
14cb3a07a0
|
@ -16,86 +16,15 @@
|
|||
*/
|
||||
package org.apache.activemq.artemis.cli.commands;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
public abstract class ActionAbstract implements Action
|
||||
{
|
||||
|
||||
protected ActionContext context;
|
||||
|
||||
private Scanner scanner;
|
||||
|
||||
private boolean noInput = false;
|
||||
|
||||
protected void disableInputs()
|
||||
{
|
||||
noInput = true;
|
||||
|
||||
}
|
||||
|
||||
protected String input(String propertyName, String prompt, String silentDefault)
|
||||
{
|
||||
if (noInput)
|
||||
{
|
||||
return silentDefault;
|
||||
}
|
||||
String inputStr;
|
||||
boolean valid = false;
|
||||
System.out.println();
|
||||
do
|
||||
{
|
||||
context.out.println(propertyName + ": is mandatory with this configuration:");
|
||||
context.out.println(prompt);
|
||||
inputStr = scanner.nextLine();
|
||||
if (inputStr.trim().equals(""))
|
||||
{
|
||||
System.out.println("Invalid Entry!");
|
||||
}
|
||||
else
|
||||
{
|
||||
valid = true;
|
||||
}
|
||||
}
|
||||
while (!valid);
|
||||
|
||||
return inputStr.trim();
|
||||
}
|
||||
|
||||
protected String inputPassword(String propertyName, String prompt, String silentDefault)
|
||||
{
|
||||
if (noInput)
|
||||
{
|
||||
return silentDefault;
|
||||
}
|
||||
String inputStr;
|
||||
boolean valid = false;
|
||||
System.out.println();
|
||||
do
|
||||
{
|
||||
context.out.println(propertyName + ": is mandatory with this configuration:");
|
||||
context.out.println(prompt);
|
||||
inputStr = new String(System.console().readPassword());
|
||||
|
||||
if (inputStr.trim().equals(""))
|
||||
{
|
||||
System.out.println("Invalid Entry!");
|
||||
}
|
||||
else
|
||||
{
|
||||
valid = true;
|
||||
}
|
||||
}
|
||||
while (!valid);
|
||||
|
||||
return inputStr.trim();
|
||||
}
|
||||
|
||||
public Object execute(ActionContext context) throws Exception
|
||||
{
|
||||
this.context = context;
|
||||
|
||||
scanner = new Scanner(context.in);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ import static java.nio.file.attribute.PosixFilePermission.OWNER_WRITE;
|
|||
* CLI action that creates a broker instance directory.
|
||||
*/
|
||||
@Command(name = "create", description = "creates a new broker instance")
|
||||
public class Create extends ActionAbstract
|
||||
public class Create extends InputAbstract
|
||||
{
|
||||
private static final Integer DEFAULT_PORT = 61616;
|
||||
|
||||
|
@ -132,9 +132,6 @@ public class Create extends ActionAbstract
|
|||
@Option(name = "--role", description = "The name for the role created (Default: amq)")
|
||||
String role;
|
||||
|
||||
@Option(name = "--silent-input", description = "It will disable all the inputs, and it would make a best guess for any required input")
|
||||
boolean silentInput;
|
||||
|
||||
boolean IS_WINDOWS;
|
||||
|
||||
boolean IS_CYGWIN;
|
||||
|
@ -359,11 +356,6 @@ public class Create extends ActionAbstract
|
|||
{
|
||||
super.execute(context);
|
||||
|
||||
if (silentInput)
|
||||
{
|
||||
this.disableInputs();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
return run(context);
|
||||
|
|
|
@ -0,0 +1,111 @@
|
|||
/**
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.apache.activemq.artemis.cli.commands;
|
||||
|
||||
import java.util.Scanner;
|
||||
|
||||
import io.airlift.airline.Option;
|
||||
|
||||
public class InputAbstract extends ActionAbstract
|
||||
{
|
||||
|
||||
private Scanner scanner;
|
||||
|
||||
@Option(name = "--silent-input", description = "It will disable all the inputs, and it would make a best guess for any required input")
|
||||
private boolean silentInput = false;
|
||||
|
||||
public boolean isSilentInput()
|
||||
{
|
||||
return silentInput;
|
||||
}
|
||||
|
||||
public void setSilentInput(boolean silentInput)
|
||||
{
|
||||
this.silentInput = silentInput;
|
||||
}
|
||||
|
||||
protected String input(String propertyName, String prompt, String silentDefault)
|
||||
{
|
||||
if (silentInput)
|
||||
{
|
||||
return silentDefault;
|
||||
}
|
||||
|
||||
String inputStr;
|
||||
boolean valid = false;
|
||||
System.out.println();
|
||||
do
|
||||
{
|
||||
context.out.println(propertyName + ": is mandatory with this configuration:");
|
||||
context.out.println(prompt);
|
||||
inputStr = scanner.nextLine();
|
||||
if (inputStr.trim().equals(""))
|
||||
{
|
||||
System.out.println("Invalid Entry!");
|
||||
}
|
||||
else
|
||||
{
|
||||
valid = true;
|
||||
}
|
||||
}
|
||||
while (!valid);
|
||||
|
||||
return inputStr.trim();
|
||||
}
|
||||
|
||||
protected String inputPassword(String propertyName, String prompt, String silentDefault)
|
||||
{
|
||||
if (silentInput)
|
||||
{
|
||||
return silentDefault;
|
||||
}
|
||||
|
||||
String inputStr;
|
||||
boolean valid = false;
|
||||
System.out.println();
|
||||
do
|
||||
{
|
||||
context.out.println(propertyName + ": is mandatory with this configuration:");
|
||||
context.out.println(prompt);
|
||||
inputStr = new String(System.console().readPassword());
|
||||
|
||||
if (inputStr.trim().equals(""))
|
||||
{
|
||||
System.out.println("Invalid Entry!");
|
||||
}
|
||||
else
|
||||
{
|
||||
valid = true;
|
||||
}
|
||||
}
|
||||
while (!valid);
|
||||
|
||||
return inputStr.trim();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object execute(ActionContext context) throws Exception
|
||||
{
|
||||
super.execute(context);
|
||||
|
||||
this.scanner = new Scanner(context.in);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue