From: <kp...@us...> - 2013-02-21 13:28:00
|
Revision: 22808 http://jedit.svn.sourceforge.net/jedit/?rev=22808&view=rev Author: kpouer Date: 2013-02-21 13:27:48 +0000 (Thu, 21 Feb 2013) Log Message: ----------- changes for Lucene 4.1 Modified Paths: -------------- plugins/LucenePlugin/trunk/LucenePlugin.props plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/AbstractIndex.java plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/Index.java plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/IndexProjectAction.java plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/TemporaryIndex.java Modified: plugins/LucenePlugin/trunk/LucenePlugin.props =================================================================== --- plugins/LucenePlugin/trunk/LucenePlugin.props 2013-02-20 18:20:47 UTC (rev 22807) +++ plugins/LucenePlugin/trunk/LucenePlugin.props 2013-02-21 13:27:48 UTC (rev 22808) @@ -7,7 +7,7 @@ plugin.gatchan.jedit.lucene.LucenePlugin.depend.1=jedit 04.04.01.00 plugin.gatchan.jedit.lucene.LucenePlugin.depend.2=plugin marker.MarkerSetsPlugin 0.9 plugin.gatchan.jedit.lucene.LucenePlugin.depend.3=optional plugin projectviewer.ProjectPlugin 3.4.4 -plugin.gatchan.jedit.lucene.LucenePlugin.jars=lucene-core.jar lucene-highlighter.jar lucene-memory.jar +plugin.gatchan.jedit.lucene.LucenePlugin.jars=lucene-core.jar lucene-highlighter.jar lucene-memory.jar lucene-analyzers-common.jar lucene-queryparser.jar plugin.gatchan.jedit.lucene.LucenePlugin.browser-menu=\ lucene.add-to-index lucene.add-to-newindex plugin.gatchan.jedit.lucene.LucenePlugin.menu=\ @@ -47,7 +47,7 @@ lucene.options.IncludeGlobs=* lucene.options.IncludeGlobs.label=Include only files matching: lucene.options.ExcludeDirectories=CVS .svn .git -lucene.options.ExcludeGlobs=*.*~ *.bak *.bmp *.ico *.gif *.gif *.png *.jpg *.class *.exe *.obj *.jar *.zip *.7z *.rar *.tar *.gz *.tgz *.wav *.mp3 *.ogg +lucene.options.ExcludeGlobs=*.*~ *.bak *.bmp *.ico *.gif *.png *.jpg *.class *.exe *.o *.obj *.jar *.zip *.7z *.rar *.tar *.gz *.tgz *.wav *.mp3 *.ogg *.deb *.rpm lucene.options.ExcludeGlobs.label=... except files matching: lucene.options.SearchDockable.label=Search Results Dockable lucene.options.SearchStringLength.label=Length of search string field: Modified: plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/AbstractIndex.java =================================================================== --- plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/AbstractIndex.java 2013-02-20 18:20:47 UTC (rev 22807) +++ plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/AbstractIndex.java 2013-02-21 13:27:48 UTC (rev 22808) @@ -29,63 +29,45 @@ import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.store.FSDirectory; import org.apache.lucene.util.Version; -import org.gjt.sp.util.IOUtilities; import org.gjt.sp.util.Log; import org.gjt.sp.jedit.GUIUtilities; import org.gjt.sp.jedit.jEdit; -import gatchan.jedit.lucene.Index.ActivityListener; - import javax.swing.*; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.Iterator; -import java.util.concurrent.ConcurrentHashMap; //}}} /** * @author Matthieu Casanova */ -public class AbstractIndex +public abstract class AbstractIndex { protected IndexWriter writer; private DirectoryReader reader; protected File path; protected Analyzer analyzer; - protected List<ActivityListener> listeners = new ArrayList<ActivityListener> (); - private final Map<IndexReader, Integer> readerMap = new ConcurrentHashMap<IndexReader, Integer>(); + protected List<Index.ActivityListener> listeners = new ArrayList<Index.ActivityListener> (); //{{{ AbstractIndex constructor - public AbstractIndex(File path) + protected AbstractIndex(File path) { this.path = path; } //}}} + public void clear() + { + close(); + } //{{{ close() method public void close() { Log.log(Log.DEBUG, this, "close()"); closeWriter(); - Set<IndexReader> readerSet = readerMap.keySet(); - Iterator<IndexReader> it = readerSet.iterator(); - while (it.hasNext()) - { - IndexReader indexReader = it.next(); - try - { - indexReader.close(); - it.remove(); - } - catch (IOException e) - { - Log.log(Log.ERROR, this, "Unable to close reader", e); - } - } + if (reader != null) { try @@ -98,10 +80,6 @@ Log.log(Log.ERROR, this, "Unable to close reader", e); } } - if (!readerMap.isEmpty() || reader != null) - { - Log.log(Log.DEBUG, this, "The index was not closed"); - } } //}}} //{{{ openWriter() method @@ -148,7 +126,6 @@ try { reader = DirectoryReader.open(FSDirectory.open(path)); - readerMap.put(reader, 0); } catch (IOException e) { @@ -162,22 +139,7 @@ DirectoryReader reader = DirectoryReader.openIfChanged(this.reader); if (reader != null) { - IndexReader oldReader = this.reader; - readerMap.put(reader, 0); this.reader = reader; - int count = readerMap.get(oldReader); - if (count == 0) - { - try - { - readerMap.remove(oldReader); - oldReader.close(); - } - catch (IOException e) - { - Log.log(Log.ERROR, "Error while closing the previous reader", e); - } - } } } catch (IOException e) @@ -220,25 +182,6 @@ } } //}}} - //{{{ readPlus() method - private void readPlus(IndexReader reader) - { - int count = readerMap.get(reader); - readerMap.put(reader, count + 1); - } //}}} - - //{{{ readMinus() method - private void readMinus(IndexReader reader) - { - int count = readerMap.get(reader) - 1; - readerMap.put(reader, count); - if (count == 0 && reader != this.reader) - { - IOUtilities.closeQuietly(reader); - readerMap.remove(reader); - } - } //}}} - //{{{ setAnalyzer() method public void setAnalyzer(Analyzer analyzer) { @@ -256,13 +199,13 @@ } //}}} //{{{ addActivityListener() method - public void addActivityListener(ActivityListener al) + public void addActivityListener(Index.ActivityListener al) { listeners.add(al); } //}}} //{{{ removeActivityListener() method - public void removeActivityListener(ActivityListener al) + public void removeActivityListener(Index.ActivityListener al) { listeners.remove(al); } //}}} Modified: plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/Index.java =================================================================== --- plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/Index.java 2013-02-20 18:20:47 UTC (rev 22807) +++ plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/Index.java 2013-02-21 13:27:48 UTC (rev 22808) @@ -46,6 +46,8 @@ */ void addFile(String path); + void clear(); + interface FileProvider { VFSFile next(); Modified: plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/IndexProjectAction.java =================================================================== --- plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/IndexProjectAction.java 2013-02-20 18:20:47 UTC (rev 22807) +++ plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/IndexProjectAction.java 2013-02-21 13:27:48 UTC (rev 22808) @@ -2,7 +2,7 @@ * :tabSize=8:indentSize=8:noTabs=false: * :folding=explicit:collapseFolds=1: * - * Copyright (C) 2009, 2011 Matthieu Casanova + * Copyright (C) 2009, 2013 Matthieu Casanova * Copyright (C) 2009, 2011 Shlomy Reinstein * * This program is free software; you can redistribute it and/or @@ -83,6 +83,7 @@ @Override public void _run() { + index.clear(); LucenePlugin.instance.addToIndex(index.getName(), new ProjectFileList(project), true, this); Modified: plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/TemporaryIndex.java =================================================================== --- plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/TemporaryIndex.java 2013-02-20 18:20:47 UTC (rev 22807) +++ plugins/LucenePlugin/trunk/src/gatchan/jedit/lucene/TemporaryIndex.java 2013-02-21 13:27:48 UTC (rev 22808) @@ -56,7 +56,7 @@ protected IndexWriter writer; protected Analyzer analyzer; - private final Directory directory; + private Directory directory; private final String name; public TemporaryIndex(String name) @@ -76,6 +76,33 @@ } @Override + public void clear() + { + if (writer != null) + { + try + { + writer.close(); + directory.close(); + } + catch (IOException e) + { + Log.log(Log.ERROR, this, e); + } + } + directory = new RAMDirectory(); + try + { + IndexWriterConfig indexWriterConfig = new IndexWriterConfig(Version.LUCENE_41, analyzer); + writer = new IndexWriter(directory, indexWriterConfig); + } + catch (IOException e) + { + Log.log(Log.ERROR, this, e); + } + } + + @Override public void close() { try This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |