1.1 --- a/PLSQL/Navigator/src/org/netbeans/modules/plsql/navigator/PlsqlSearchProvider.java Wed Jun 20 16:45:57 2012 +0530
1.2 +++ b/PLSQL/Navigator/src/org/netbeans/modules/plsql/navigator/PlsqlSearchProvider.java Wed Jun 20 16:59:53 2012 +0200
1.3 @@ -6,10 +6,7 @@
1.4
1.5 import java.io.File;
1.6 import java.io.FileFilter;
1.7 -import java.util.HashMap;
1.8 -import java.util.HashSet;
1.9 -import java.util.Map;
1.10 -import java.util.Set;
1.11 +import java.util.*;
1.12 import java.util.regex.Pattern;
1.13 import org.netbeans.api.db.explorer.DatabaseConnection;
1.14 import org.netbeans.api.project.Project;
1.15 @@ -17,13 +14,13 @@
1.16 import org.netbeans.modules.plsql.lexer.PlsqlBlockType;
1.17 import org.netbeans.modules.plsql.utilities.NotConnectedToDbException;
1.18 import org.netbeans.modules.plsql.utilities.PlsqlExecutorService;
1.19 +import org.netbeans.modules.plsql.utilities.PlsqlFileLocatorService;
1.20 import org.netbeans.modules.plsql.utilities.PlsqlFileUtil;
1.21 import org.netbeans.modules.plsqlsupport.db.DatabaseConnectionManager;
1.22 import org.netbeans.modules.plsqlsupport.db.DatabaseContentManager;
1.23 import org.netbeans.spi.quicksearch.SearchProvider;
1.24 import org.netbeans.spi.quicksearch.SearchRequest;
1.25 import org.netbeans.spi.quicksearch.SearchResponse;
1.26 -
1.27 import org.openide.cookies.OpenCookie;
1.28 import org.openide.filesystems.FileObject;
1.29 import org.openide.loaders.DataObject;
1.30 @@ -33,15 +30,16 @@
1.31 public class PlsqlSearchProvider implements SearchProvider {
1.32
1.33 final static String MODEL_DIRECTORY_PATH = "#COMPONENT#" + File.separator + "database" + File.separator + "#COMPONENT#";
1.34 - private static final PlsqlExecutorService executorService = Lookup.getDefault().lookup(PlsqlExecutorService.class);
1.35 + private final PlsqlExecutorService executorService = Lookup.getDefault().lookup(PlsqlExecutorService.class);
1.36 + private final PlsqlFileLocatorService locatorService = Lookup.getDefault().lookup(PlsqlFileLocatorService.class);
1.37
1.38 /**
1.39 - * Method is called by infrastructure when search operation was requested.
1.40 - * Implementors should evaluate given request and fill response object with
1.41 - * apropriate results
1.42 + * Method is called by infrastructure when search operation was requested. Implementors should evaluate given
1.43 + * request and fill response object with appropriate results
1.44 *
1.45 * @param request Search request object that contains information what to search for
1.46 - * @param response Search response object that stores search results. Note that it's important to react to return value of SearchResponse.addResult(...) method and stop computation if false value is returned.
1.47 + * @param response Search response object that stores search results. Note that it's important to react to return
1.48 + * value of SearchResponse.addResult(...) method and stop computation if false value is returned.
1.49 */
1.50 @Override
1.51 public void evaluate(SearchRequest request, SearchResponse response) {
1.52 @@ -54,10 +52,9 @@
1.53 query = query.replaceAll("\\*", ".*");
1.54 }
1.55
1.56 - final Set<String> fileExtentions = new HashSet<String>();
1.57 - fileExtentions.addAll(executorService.getExecutionOrder());
1.58 + final List<String> fileExtentions = new ArrayList<String>(executorService.getExecutionOrder());
1.59 fileExtentions.add(".body");
1.60 - fileExtentions.add("spec");
1.61 + fileExtentions.add(".spec");
1.62
1.63 for (Project project : projects) {
1.64 //For Local Files
1.65 @@ -66,7 +63,7 @@
1.66 for (String plsqlObject : plsqlObjects.keySet()) {
1.67 boolean match = useRegExp ? Pattern.matches(query, plsqlObject) : plsqlObject.contains(query);
1.68 if (match) {
1.69 - if (!response.addResult(new OpenLocalPLSQLFile(plsqlObjects.get(plsqlObject)), plsqlObject.toLowerCase() + "(" + project.getProjectDirectory().getName() + ")")) {
1.70 + if (!response.addResult(new OpenLocalPLSQLFile(plsqlObjects.get(plsqlObject)), plsqlObject.toLowerCase() + " (" + project.getProjectDirectory().getName() + ")")) {
1.71 return;
1.72 }
1.73 }
1.74 @@ -77,7 +74,7 @@
1.75 for (String DBFile : DBFiles) {
1.76 boolean match = useRegExp ? Pattern.matches(query, DBFile.toLowerCase()) : DBFile.toLowerCase().contains(query);
1.77 if (match) {
1.78 - if (!response.addResult(new OpenPLSQLFileFromDB(DBFile, project), DBFile.toLowerCase() + "(" + project.getProjectDirectory().getName() + ")")) {
1.79 + if (!response.addResult(new OpenPLSQLFileFromDB(DBFile, project), DBFile.toLowerCase() + " (" + project.getProjectDirectory().getName() + ")")) {
1.80 return;
1.81 }
1.82 }
1.83 @@ -162,7 +159,7 @@
1.84 DatabaseConnection databaseConnection = connectionProvider.getPooledDatabaseConnection(false);
1.85 DataObject dataObj;
1.86 try {
1.87 - dataObj = dataObj = PlsqlFileUtil.fetchAsTempFile(packageName, PlsqlBlockType.PACKAGE_BODY, databaseConnection, project, null);
1.88 + dataObj = PlsqlFileUtil.fetchAsTempFile(packageName, PlsqlBlockType.PACKAGE_BODY, databaseConnection, project, null);
1.89
1.90 if (dataObj != null) {
1.91 OpenCookie openCookie = dataObj.getCookie(OpenCookie.class);