From 9507ed42da1ef17b0119de94535a6da8ef68b30b Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Mon, 23 Nov 2009 14:30:29 +0300 Subject: [PATCH] additional IllegalStateException check --- .../unscramble/UnscrambleListener.java | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/java/java-impl/src/com/intellij/unscramble/UnscrambleListener.java b/java/java-impl/src/com/intellij/unscramble/UnscrambleListener.java index cf93fdefc5ed..9b3b6b23a435 100644 --- a/java/java-impl/src/com/intellij/unscramble/UnscrambleListener.java +++ b/java/java-impl/src/com/intellij/unscramble/UnscrambleListener.java @@ -28,15 +28,13 @@ import java.util.regex.Pattern; * @author Konstantin Bulenkov */ public class UnscrambleListener extends ApplicationAdapter { - private static final int MAX_STACKTRACE_SIZE = 15*1024; //15Kb + private static final int MAX_STACKTRACE_SIZE = 15 * 1024; //15Kb private String stacktrace = null; @Override public void applicationActivated(IdeFrame ideFrame) { final String clipboard = getClipboardContents(); - if (clipboard != null - && clipboard.length() < MAX_STACKTRACE_SIZE - && !clipboard.equals(stacktrace)) { + if (clipboard != null && clipboard.length() < MAX_STACKTRACE_SIZE && !clipboard.equals(stacktrace)) { stacktrace = clipboard; if (isStacktrace(stacktrace)) { new UnscrambleDialog(ideFrame.getProject()).doOKAction(); @@ -51,20 +49,22 @@ public class UnscrambleListener extends ApplicationAdapter { public static String getClipboardContents() { String result = ""; - final Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); - final Transferable contents = clipboard.getContents(null); - final boolean hasTransferableText = (contents != null) && contents.isDataFlavorSupported(DataFlavor.stringFlavor); - if (hasTransferableText) { - try { + try { + final Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); + final Transferable contents = clipboard.getContents(null); + final boolean hasTransferableText = (contents != null) && contents.isDataFlavorSupported(DataFlavor.stringFlavor); + if (hasTransferableText) { result = (String)contents.getTransferData(DataFlavor.stringFlavor); } - catch (Exception ex){// - } + } + catch (Exception e) {// } return result; } - private static final Pattern STACKTRACE_LINE = Pattern.compile("[\t]*at [[a-zA-Z0-9]+\\.]+[a-zA-Z$0-9]+\\.[a-zA-Z0-9_]+\\([A-Za-z0-9_]+\\.java:[\\d]+\\)"); + private static final Pattern STACKTRACE_LINE = + Pattern.compile("[\t]*at [[a-zA-Z0-9]+\\.]+[a-zA-Z$0-9]+\\.[a-zA-Z0-9_]+\\([A-Za-z0-9_]+\\.java:[\\d]+\\)"); + public static boolean isStacktrace(String stacktrace) { int linesCount = 0; for (String line : stacktrace.split("\n")) { @@ -74,7 +74,8 @@ public class UnscrambleListener extends ApplicationAdapter { } if (STACKTRACE_LINE.matcher(line).matches()) { linesCount++; - } else { + } + else { linesCount = 0; } if (linesCount > 2) return true;