package edu.umd.rhsmith.diads.meater.core.config.setup.ops.nav;
import org.apache.commons.configuration.ConfigurationException;
import edu.umd.rhsmith.diads.meater.core.app.MEaterConfigurationException;
import edu.umd.rhsmith.diads.meater.core.config.setup.MEaterSetupConsole;
import edu.umd.rhsmith.diads.meater.core.config.setup.ops.SetupConsoleOperation;
public class SaveAsOperation extends SetupConsoleOperation {
public static final String OP_SHORTNAME = "saveas";
public static final String OP_UINAME = "Save current configuration as new file";
public SaveAsOperation() {
super(OP_UINAME, OP_SHORTNAME);
}
@Override
public void go(MEaterSetupConsole setup) {
setup.getConsole().say(MSG_PROMPT_FILENAME);
String filename = setup.getConsole().prompt(false);
try {
setup.saveFileAs(filename);
} catch (ConfigurationException | MEaterConfigurationException e) {
setup.getConsole().error(MSG_ERR_CONFIG_FMT, e.getMessage());
e.printStackTrace();
}
}
/*
* --------------------------------
* Messages
* --------------------------------
*/
private static final String MSG_PROMPT_FILENAME = "Please enter the filename to save to";
private static final String MSG_ERR_CONFIG_FMT = "Unable to save configuration file: %s";
}