Run tool tasks from one entry point
- Create scanner which scans for existing tasks - Unify options management (mostly because multiple Scanner's are a bad idea)
This commit is contained in:
@@ -3,32 +3,32 @@ package permissions;
|
||||
import utils.ANewMap;
|
||||
import utils.FileUtils;
|
||||
import utils.TagReplacer;
|
||||
import utils.TaskOption;
|
||||
import utils.ToolTask;
|
||||
import utils.ToolsConstants;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.Scanner;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Class responsible for formatting a permissions node list and
|
||||
* Task responsible for formatting a permissions node list and
|
||||
* for writing it to a file if desired.
|
||||
*/
|
||||
public class PermissionsListWriter {
|
||||
public class PermissionsListWriter implements ToolTask {
|
||||
|
||||
private static final String PERMISSIONS_OUTPUT_FILE = ToolsConstants.DOCS_FOLDER + "permission_nodes.md";
|
||||
|
||||
public static void main(String[] args) {
|
||||
// Ask if result should be written to file
|
||||
Scanner scanner = new Scanner(System.in);
|
||||
System.out.println("Include description? [Enter 'n' for no]");
|
||||
boolean includeDescription = !matches("n", scanner);
|
||||
@Override
|
||||
public String getTaskName() {
|
||||
return "writePermissionsList";
|
||||
}
|
||||
|
||||
boolean writeToFile = false;
|
||||
if (includeDescription) {
|
||||
System.out.println("Write to file? [Enter 'y' for yes]");
|
||||
writeToFile = matches("y", scanner);
|
||||
}
|
||||
scanner.close();
|
||||
@Override
|
||||
public void execute(Map<String, String> options) {
|
||||
// Ask if result should be written to file
|
||||
boolean includeDescription = options.get("include.description").equals("y");
|
||||
boolean writeToFile = options.get("write.to.file").equals("y");
|
||||
|
||||
if (!includeDescription) {
|
||||
outputSimpleList();
|
||||
@@ -39,6 +39,12 @@ public class PermissionsListWriter {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<TaskOption> getOptions() {
|
||||
return Arrays.asList(
|
||||
new TaskOption("include.description", "Include description? [y/n]", "y", "y", "n"),
|
||||
new TaskOption("write.to.file", "Write to file? [y/n]", "n", "y", "n"));
|
||||
}
|
||||
|
||||
private static void generateAndWriteFile() {
|
||||
final String permissionsTagValue = generatePermissionsList();
|
||||
@@ -77,9 +83,4 @@ public class PermissionsListWriter {
|
||||
System.out.println("Total: " + nodes.size());
|
||||
}
|
||||
|
||||
private static boolean matches(String answer, Scanner sc) {
|
||||
String userInput = sc.nextLine();
|
||||
return answer.equalsIgnoreCase(userInput);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user