[prev in list] [next in list] [prev in thread] [next in thread]
List: jedit-cvs
Subject: [ jEdit-commits ] SF.net SVN: jedit:[17926]
From: shlomy () users ! sourceforge ! net
Date: 2010-05-30 6:12:01
Message-ID: E1OIbkf-0001s5-Jd () sfp-svn-1 ! v30 ! ch3 ! sourceforge ! com
[Download RAW message or body]
Revision: 17926
http://jedit.svn.sourceforge.net/jedit/?rev=17926&view=rev
Author: shlomy
Date: 2010-05-30 06:12:01 +0000 (Sun, 30 May 2010)
Log Message:
-----------
Removed the special code for a substring search. With Lucene (vs a relational DB), \
such queries should be fast, so there is no need to "prefetch" all matching tags.
Modified Paths:
--------------
plugins/CtagsInterface/trunk/src/ctagsinterface/main/QuickSearchTagDialog.java
Modified: plugins/CtagsInterface/trunk/src/ctagsinterface/main/QuickSearchTagDialog.java
===================================================================
--- plugins/CtagsInterface/trunk/src/ctagsinterface/main/QuickSearchTagDialog.java 2010-05-30 \
05:48:20 UTC (rev 17925)
+++ plugins/CtagsInterface/trunk/src/ctagsinterface/main/QuickSearchTagDialog.java 2010-05-30 \
06:12:01 UTC (rev 17926) @@ -9,7 +9,6 @@
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
-import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.DefaultListCellRenderer;
@@ -49,7 +48,6 @@
private JList tags;
private DefaultListModel model;
private View view;
- private Vector<QuickSearchTag> tagNames;
private String baseQuery;
private Timer filterTimer;
private String query;
@@ -145,7 +143,6 @@
private void prepareData()
{
TagIndex index = CtagsInterfacePlugin.getIndex();
- String s = "";
if (query == null)
{
if (ProjectsOptionPane.getSearchActiveProjectOnly())
@@ -156,27 +153,12 @@
{
Origin origin = index.getOrigin(OriginType.PROJECT,
project, false);
- s = index.getOriginScopedQuery(origin);
+ baseQuery = index.getOriginScopedQuery(origin);
}
}
}
else
- s = query;
- switch (mode) {
- case SUBSTRING:
- tagNames = new Vector<QuickSearchTag>();
- index.runQuery(s, TagIndex.MAX_RESULTS, new DocHandler()
- {
- public void handle(Document doc)
- {
- tagNames.add(new QuickSearchTag(doc));
- }
- });
- break;
- case PREFIX:
- baseQuery = s;
- break;
- }
+ baseQuery = query;
}
private void jumpToSelected() {
@@ -200,43 +182,28 @@
name.getText().toLowerCase();
if (showImmediately || (! input.isEmpty()))
{
- switch (mode)
+ TagIndex index = CtagsInterfacePlugin.getIndex();
+ String s = baseQuery;
+ if (! input.isEmpty())
{
- case SUBSTRING:
- for (int i = 0; i < tagNames.size(); i++)
+ if (s.length() > 0)
+ s = s + " AND ";
+ String field = caseSensitive.isSelected() ?
+ TagIndex._NAME_FLD : TagIndex.NAME_FLD;
+ s = s + field + ":" + (mode == Mode.SUBSTRING ? "*" : "") +
+ input + "*";
+ }
+ index.runQuery(s, TagIndex.MAX_RESULTS, new DocHandler()
+ {
+ public void handle(Document doc)
{
- QuickSearchTag t = tagNames.get(i);
- String name = t.name;
+ String name = doc.getField(TagIndex._NAME_FLD).stringValue();
if (! caseSensitive.isSelected())
name = name.toLowerCase();
- if (name.contains(input))
- model.addElement(t);
+ if (name.startsWith(input))
+ model.addElement(new QuickSearchTag(doc));
}
- break;
- case PREFIX:
- TagIndex index = CtagsInterfacePlugin.getIndex();
- String s = baseQuery;
- if (! input.isEmpty())
- {
- if (s.length() > 0)
- s = s + " AND ";
- String field = caseSensitive.isSelected() ?
- TagIndex._NAME_FLD : TagIndex.NAME_FLD;
- s = s + field + ":" + input + "*";
- }
- index.runQuery(s, TagIndex.MAX_RESULTS, new DocHandler()
- {
- public void handle(Document doc)
- {
- String name = doc.getField(TagIndex._NAME_FLD).stringValue();
- if (! caseSensitive.isSelected())
- name = name.toLowerCase();
- if (name.startsWith(input))
- model.addElement(new QuickSearchTag(doc));
- }
- });
- break;
- }
+ });
}
if (model.isEmpty())
{
This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
jEdit-CVS mailing list
jEdit-CVS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jedit-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic