loadProjectFile(e, selectedFile, merging);
}
}
static void loadProjectFile(ActionEvent e, File f, boolean merging) {
GuiPackage guiPackage = GuiPackage.getInstance();
InputStream reader = null;
try {
if (f != null) {
boolean isTestPlan = false;
if (merging) {
log.info("Merging file: " + f);
} else {
log.info("Loading file: " + f);
FileServer.getFileServer().setBasedir(f.getAbsolutePath());
}
reader = new FileInputStream(f);
HashTree tree = SaveService.loadTree(reader);
isTestPlan = insertLoadedTree(e.getID(), tree, merging);
// don't change name if merging
if (!merging && isTestPlan) {
guiPackage.setTestPlanFile(f.getAbsolutePath());
}
}
} catch (NoClassDefFoundError ex) // Allow for missing optional jars
{
log.warn("Missing jar file", ex);
String msg = ex.getMessage();
if (msg == null) {
msg = "Missing jar file - see log for details";
}
JMeterUtils.reportErrorToUser(msg);
} catch (ConversionException ex) {
log.warn("Could not convert file "+ex);
JMeterUtils.reportErrorToUser(SaveService.CEtoString(ex));
} catch (IOException ex) {
log.warn("Error reading file: "+ex);
String msg = ex.getMessage();
if (msg == null) {
msg = "Unexpected error - see log for details";
}
JMeterUtils.reportErrorToUser(msg);
} catch (Exception ex) {
log.warn("Unexpected error", ex);
String msg = ex.getMessage();
if (msg == null) {
msg = "Unexpected error - see log for details";
}
JMeterUtils.reportErrorToUser(msg);
} finally {
JOrphanUtils.closeQuietly(reader);
guiPackage.updateCurrentGui();
guiPackage.getMainFrame().repaint();
}
}