BirthmarkEnvironment environment = generateEnvironment();\r
String[] fileX = targetX.getValues();\r
String[] fileY = targetY.getValues();\r
- stigmata.compareSpecifiedPair(birthmarks.getSelectedServiceTypes(), fileX,\r
- fileY, environment);\r
+ stigmata.compareSpecifiedPair(\r
+ birthmarks.getSelectedServiceTypes(), fileX, fileY, environment\r
+ );\r
}\r
\r
private void compareGuessedPair(){\r
String[] fileX = targetX.getValues();\r
String[] fileY = targetY.getValues();\r
\r
- stigmata.compareGuessedPair(birthmarks.getSelectedServiceTypes(), fileX,\r
- fileY, environment);\r
+ stigmata.compareGuessedPair(\r
+ birthmarks.getSelectedServiceTypes(), fileX, fileY, environment\r
+ );\r
}\r
\r
private BirthmarkEnvironment generateEnvironment(){\r
}\r
);\r
tabPane.setSelectedIndex(tabPane.getTabCount() - 1);\r
- } catch(Exception e){\r
+ } catch(Throwable e){\r
showExceptionMessage(e);\r
}\r
}\r
}\r
);\r
tabPane.setSelectedIndex(tabPane.getTabCount() - 1);\r
- } catch(Exception e){\r
+ } catch(Throwable e){\r
showExceptionMessage(e);\r
}\r
}\r
}\r
);\r
tabPane.setSelectedIndex(tabPane.getTabCount() - 1);\r
- }catch(Exception e){\r
+ }catch(Throwable e){\r
showExceptionMessage(e);\r
}\r
}\r
try{\r
BirthmarkSet[] holders = stigmata.extract(birthmarks, targets, environment);\r
showExtractionResult(holders, environment);\r
- }catch(Exception e){\r
+ }catch(Throwable e){\r
showExceptionMessage(e);\r
}\r
}\r
control.setExpertMode(status);\r
}\r
\r
- private void showExceptionMessage(Exception e){\r
+ private void showExceptionMessage(Throwable e){\r
if(e instanceof BirthmarkElementClassNotFoundException){\r
showClassNotFoundMessage((BirthmarkElementClassNotFoundException)e);\r
- return;\r
}\r
- JTextArea area = new JTextArea(20, 60);\r
- StringWriter writer = new StringWriter();\r
- PrintWriter out = new PrintWriter(writer);\r
- e.printStackTrace(out);\r
- if(e instanceof BirthmarkExtractionFailedException){\r
- out.println("Causes:");\r
- for(Throwable t: ((BirthmarkExtractionFailedException)e).getCauses()){\r
- t.printStackTrace(out);\r
+ else if(e instanceof OutOfMemoryError){\r
+ showOutOfMemoryError();\r
+ }\r
+ else{\r
+ JTextArea area = new JTextArea(20, 60);\r
+ StringWriter writer = new StringWriter();\r
+ PrintWriter out = new PrintWriter(writer);\r
+ e.printStackTrace(out);\r
+ if(e instanceof BirthmarkExtractionFailedException){\r
+ out.println("Causes:");\r
+ for(Throwable t: ((BirthmarkExtractionFailedException)e).getCauses()){\r
+ t.printStackTrace(out);\r
+ }\r
}\r
+ out.close();\r
+ area.setText(writer.toString());\r
+ JPanel panel = new JPanel(new BorderLayout());\r
+ panel.add(new JLabel("<html><body><p>" + Messages.getString("error.message.contactus") + "</p></body></html>"), BorderLayout.NORTH);\r
+ panel.add(new JScrollPane(area), BorderLayout.CENTER);\r
+\r
+ JOptionPane.showMessageDialog(\r
+ this, panel, Messages.getString("error.dialog.title"),\r
+ JOptionPane.WARNING_MESSAGE\r
+ );\r
}\r
- out.close();\r
- area.setText(writer.toString());\r
- JPanel panel = new JPanel(new BorderLayout());\r
- panel.add(new JLabel("<html><body><p>" + Messages.getString("error.message.contactus") + "</p></body></html>"), BorderLayout.NORTH);\r
- panel.add(new JScrollPane(area), BorderLayout.CENTER);\r
+ }\r
\r
+ private void showOutOfMemoryError(){\r
+ StringBuffer sb = new StringBuffer();\r
+ sb.append("<html><body><p>");\r
+ sb.append(Messages.getString("error.message.outofmemory"));\r
+ sb.append("</p></body></html>");\r
JOptionPane.showMessageDialog(\r
- this, panel, Messages.getString("error.dialog.title"),\r
+ this, new String(sb), Messages.getString("error.dialog.title"),\r
JOptionPane.WARNING_MESSAGE\r
);\r
}\r