* @param actionEvent {@link ActionEvent}
*/
private void checkDirtyAndLoad(final ActionEvent actionEvent)
throws HeadlessException {
final String selectedTemplate = templateList.getText();
final Template template = TemplateManager.getInstance().getTemplateByName(selectedTemplate);
if (template == null) {
return;
}
final boolean isTestPlan = template.isTestPlan();
// Check if the user wants to drop any changes
if (isTestPlan) {
ActionRouter.getInstance().doActionNow(new ActionEvent(actionEvent.getSource(), actionEvent.getID(), ActionNames.CHECK_DIRTY));
GuiPackage guiPackage = GuiPackage.getInstance();
if (guiPackage.isDirty()) {
// Check if the user wants to create from template
int response = JOptionPane.showConfirmDialog(GuiPackage.getInstance().getMainFrame(),
JMeterUtils.getResString("cancel_new_from_template"), // $NON-NLS-1$
JMeterUtils.getResString("template_load?"), // $NON-NLS-1$
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE);
if(response == JOptionPane.YES_OPTION) {
ActionRouter.getInstance().doActionNow(new ActionEvent(actionEvent.getSource(), actionEvent.getID(), ActionNames.SAVE));
}
if (response == JOptionPane.CLOSED_OPTION || response == JOptionPane.CANCEL_OPTION) {
return; // Don't clear the plan
}
}
}
ActionRouter.getInstance().doActionNow(new ActionEvent(actionEvent.getSource(), actionEvent.getID(), ActionNames.STOP_THREAD));
final File parent = template.getParent();
final File fileToCopy = parent != null
? new File(parent, template.getFileName())
: new File(JMeterUtils.getJMeterHome(), template.getFileName());
Load.loadProjectFile(actionEvent, fileToCopy, !isTestPlan, false);
this.setVisible(false);
}