1.1 --- a/logger/uihandlerserver/src/java/org/netbeans/server/componentsmatch/Matcher.java Wed Sep 26 20:48:55 2007 +0000
1.2 +++ b/logger/uihandlerserver/src/java/org/netbeans/server/componentsmatch/Matcher.java Tue Nov 20 18:46:51 2007 +0000
1.3 @@ -50,6 +50,8 @@
1.4 import java.util.List;
1.5 import java.util.Map;
1.6 import java.util.StringTokenizer;
1.7 +import org.netbeans.modules.exceptions.entity.InnocentClass;
1.8 +import org.netbeans.modules.exceptions.utils.PersistenceUtils;
1.9
1.10 /**
1.11 * convert stacktrace to Component
1.12 @@ -58,6 +60,7 @@
1.13 static Matcher packageMerger;
1.14
1.15 static List<Package> allPackages;
1.16 + static List<InnocentClass> innocents;
1.17
1.18 static Matcher defaultMatcher;
1.19 static final String ORG_NETBEANS_MODULES = "org.netbeans.modules";
1.20 @@ -108,6 +111,7 @@
1.21 * @param stes exception stacktrace
1.22 */
1.23 public Component match(StackTraceElement[] stes){
1.24 + innocents = PersistenceUtils.getInstance().getAll(InnocentClass.class);
1.25 Component[] comp = Matcher.getDefault().matchAll(stes);
1.26 for (int i=0; i<comp.length; i++){
1.27 if (comp[i] == null){
1.28 @@ -122,6 +126,9 @@
1.29
1.30 private Component match(StackTraceElement ste) {
1.31 String className = ste.getClassName();
1.32 + if (isInnocent(className)){
1.33 + return null;
1.34 + }
1.35 int index = 0;
1.36 while ((index = className.indexOf('.',index)) != -1) {
1.37 if ( index + 1 < className.length()) {
1.38 @@ -206,6 +213,15 @@
1.39 }
1.40 }
1.41
1.42 + private boolean isInnocent(String className){
1.43 + for (InnocentClass innocent : innocents) {
1.44 + if (className.contains(innocent.getClassname())){
1.45 + return true;
1.46 + }
1.47 + }
1.48 + return false;
1.49 + }
1.50 +
1.51 private static boolean checkNetBeansOrgSubPackage(String pack) {
1.52 for (String prefix : NB_ORG_PREFIXES) {
1.53 if (pack.startsWith(prefix)) {