@Override
public boolean execute(IActionHandler actionHandler,
Map<String, Object> context) {
JFileChooser currentFileChooser = getFileChooser(context);
int returnVal = currentFileChooser.showOpenDialog(SwingUtil
.getVisibleWindow(getSourceComponent(context)));
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = currentFileChooser.getSelectedFile();
if (file != null) {
try {
fileOpenCallback.fileChosen(new FileInputStream(file), file
.getAbsolutePath(), actionHandler, context);
} catch (FileNotFoundException ex) {
fileOpenCallback.cancel(actionHandler, context);
}
} else {
fileOpenCallback.cancel(actionHandler, context);
}
} else {
fileOpenCallback.cancel(actionHandler, context);
}
return super.execute(actionHandler, context);
}