1 22 23 package org.aspectj.debugger.gui; 24 25 import org.aspectj.debugger.base.*; 26 27 import java.awt.Frame ; 28 import java.io.*; 29 import javax.swing.JOptionPane ; 30 31 import com.sun.jdi.*; 32 import com.sun.jdi.event.*; 33 import com.sun.jdi.request.*; 34 35 public class AJUtil { 36 37 private final static Frame FRAME = null; 39 public static void info(Object o) { 40 Object msg = check(o); 41 JOptionPane.showMessageDialog 42 (FRAME, msg, "Info", JOptionPane.INFORMATION_MESSAGE); 43 } 44 45 public static void warn(Object o) { 46 Object msg = check(o); 47 JOptionPane.showMessageDialog 48 (FRAME, msg, "Warning", JOptionPane.WARNING_MESSAGE); 49 } 50 51 public static void error(Object o) { 52 Object msg = check(o); 53 JOptionPane.showMessageDialog 54 (FRAME, msg, "Error", JOptionPane.ERROR_MESSAGE); 55 } 56 57 public static void question(Object o) { 58 Object msg = check(o); 59 JOptionPane.showMessageDialog 60 (FRAME, msg, "Huh?", JOptionPane.QUESTION_MESSAGE); 61 } 62 63 public static void popup(Object o) { 64 Object msg = check(o); 65 JOptionPane.showMessageDialog 66 (FRAME, msg, "Error", JOptionPane.PLAIN_MESSAGE); 67 } 68 69 public static void ex(Throwable o) { 70 if (o == null) return; 71 o.printStackTrace(System.err); 72 JOptionPane.showMessageDialog 73 (FRAME, o.getMessage(), "Exception", JOptionPane.ERROR_MESSAGE); 74 } 75 76 85 public static String getStringFromRequest(BreakpointRequest request) { 86 String specString = request + ""; 87 String strip = "breakpoint request "; 88 if (specString.indexOf(strip) != -1) { 89 return specString.substring(strip.length() - 1); 90 } 91 return specString; 92 } 93 94 public static String stripParens(Method method) { 95 return stripParens(method + ""); 96 } 97 98 public static String stripParens(String method) { 99 int index = method.indexOf("("); 100 if (index < 0) { 101 return method; 102 } 103 String noParens = method.substring(0, index); 104 return noParens.trim(); 105 } 106 107 public static String getParams(Method method) { 108 return getParams(method + ""); 109 } 110 111 public static String getParams(String method) { 112 int lparen = method.indexOf("("); 113 int rparen = method.indexOf(")"); 114 if (lparen < 0 || rparen < 0) { 115 return method; 116 } 117 return method.substring(lparen+1, rparen).trim(); 118 } 119 120 public static String removePathFromSource(String source) { 121 int isep = source.lastIndexOf(File.separatorChar); 122 if (isep == -1) { 123 return source; 124 } 125 return source.substring(isep + 1); 126 } 127 128 public static String stripTypeFromMethod(String name) { 129 int iDot = locateFirstDotBeforeLParen(name); 130 if (iDot != -1) { 131 return name.substring(iDot + 1, name.length()); 132 } 133 return name; 134 } 135 136 public static String getParamsFromMethod(Method method) { 137 return getParamsFromMethod(method + ""); 138 } 139 140 public static String getParamsFromMethod(String name) { 141 int iLParen = name.indexOf("("); 142 int iRParen = name.indexOf(")"); 143 if (iLParen == -1 || iRParen == -1) { 144 return ""; 145 } 146 return name.substring(iLParen + 1, iRParen); 147 } 148 149 public static String getTypeFromMethod(String name) { 150 int iDot = locateFirstDotBeforeLParen(name); 151 if (iDot != -1) { 152 return name.substring(0, iDot); 153 } 154 return name; 155 } 156 157 public static String getNameFromMethod(String name) { 158 int iDot = locateFirstDotBeforeLParen(name); 159 int lParen = name.indexOf("("); 160 if (iDot != -1 && lParen != -1) { 161 return name.substring(iDot, lParen); 162 } 163 return name; 164 } 165 166 public static String safeIndex(String str, String pat) { 167 int index = str.indexOf(pat); 168 if (index != -1) { 169 return str.substring(index + pat.length() + 1).trim(); 170 } 171 return str; 172 } 173 174 private static int locateFirstDotBeforeLParen(String name) { 175 int iDot = -1; 176 for (int i = 0; i < name.length(); i++) { 177 char c = name.charAt(i); 178 if (c == '(') { 179 break; 180 } 181 if (c == '.') { 182 iDot = i; 183 } 184 } 185 return iDot; 186 } 187 188 private static Object check(Object o) { 189 if (o == null) { 190 return "<NULL MESSAGE>"; 191 } 192 return o; 193 } 194 } 195 | Popular Tags |