Index: java/api/src/org/netbeans/api/java/queries/SourceLevelQuery.java =================================================================== RCS file: /shared/data/ccvs/repository/java/api/src/org/netbeans/api/java/queries/SourceLevelQuery.java,v retrieving revision 1.3.88.1 diff -u -r1.3.88.1 SourceLevelQuery.java --- java/api/src/org/netbeans/api/java/queries/SourceLevelQuery.java 29 Jun 2006 00:05:59 -0000 1.3.88.1 +++ java/api/src/org/netbeans/api/java/queries/SourceLevelQuery.java 4 Oct 2006 14:56:35 -0000 @@ -19,7 +19,9 @@ package org.netbeans.api.java.queries; import java.util.Iterator; +import java.util.regex.Pattern; import org.netbeans.spi.java.queries.SourceLevelQueryImplementation; +import org.openide.ErrorManager; import org.openide.filesystems.FileObject; import org.openide.util.Lookup; @@ -31,6 +33,8 @@ */ public class SourceLevelQuery { + private static final Pattern SOURCE_LEVEL = Pattern.compile("\\d+\\.\\d+"); + private static final Lookup.Result/**/ implementations = Lookup.getDefault().lookup(new Lookup.Template(SourceLevelQueryImplementation.class)); @@ -51,6 +55,10 @@ SourceLevelQueryImplementation sqi = (SourceLevelQueryImplementation)it.next(); String s = sqi.getSourceLevel(javaFile); if (s != null) { + if (!SOURCE_LEVEL.matcher(s).matches()) { + ErrorManager.getDefault().getInstance(SourceLevelQuery.class.getName()).log(ErrorManager.WARNING, "#83994: Ignoring bogus source level " + s + " for " + javaFile + " from " + sqi); + continue; + } return s; } }