Author: [log in to unmask]
Date: Wed Apr 15 12:18:30 2015
New Revision: 2710
Log:
By default use console prompt to verify making a new tag.
Modified:
java/trunk/conditions/src/main/java/org/hps/conditions/cli/TagCommand.java
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/cli/TagCommand.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/cli/TagCommand.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/cli/TagCommand.java Wed Apr 15 12:18:30 2015
@@ -44,7 +44,7 @@
OPTIONS.getOption("r").setRequired(true);
OPTIONS.addOption(new Option("t", true, "The new conditions tag"));
OPTIONS.getOption("t").setRequired(true);
- OPTIONS.addOption(new Option("X", true, "Actually make the new tag in the database (dry run is default)"));
+ OPTIONS.addOption(new Option("f", false, "Don't prompt before making tag (careful!)"));
}
/**
@@ -77,9 +77,9 @@
throw new RuntimeException("Missing required -t argument with the tag name.");
}
- boolean makeTag = false;
- if (commandLine.hasOption("X")) {
- makeTag = true;
+ boolean dontPrompt = false;
+ if (commandLine.hasOption("f")) {
+ dontPrompt = true;
}
final ConditionsRecordCollection tagRecords = new ConditionsRecordCollection();
@@ -88,9 +88,6 @@
final DatabaseConditionsManager manager = DatabaseConditionsManager.getInstance();
manager.setXmlConfig("/org/hps/conditions/config/conditions_database_no_svt.xml");
manager.setLogLevel(Level.ALL);
-
- // DEBUG: Hard-coded to development connection for now.
- manager.setConnectionResource("/org/hps/conditions/config/jlab_dev_connection.prop");
// Scan through all the runs between the start and end run, inclusive.
for (final Integer run : runNumbers) {
@@ -143,19 +140,23 @@
System.out.println(record.toString());
}
- // TODO: Could have command line "Y/N" confirmation here to apply the tag.
+ // Prompt user to verify with console input.
+ boolean makeTag = true;
+ if (!dontPrompt) {
+ System.out.println("Create conditions tag " + newTag + " in database? (Y/N)");
+ final String line = System.console().readLine();
+ if (!line.equals("Y")) {
+ makeTag = false;
+ }
+ }
- // A tag will only be made if the -X was present in the command line arguments.
+ // Create the tag in the database if user verified or force option was present.
if (makeTag) {
try {
tagRecords.insert();
} catch (ConditionsObjectException | SQLException e) {
throw new RuntimeException(e);
}
- } else {
- System.out.println("tag was NOT applied (use -X to do this)");
}
-
- System.out.println("DONE!");
}
}
|