some codeformatting, license for the new classes
[mir.git] / source / mircoders / search / IndexUtil.java
1 /* Copyright (C) 2001, 2002  The Mir-coders group
2  *
3  * This file is part of Mir.
4  *
5  * Mir is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * Mir is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with Mir; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  *
19  * In addition, as a special exception, The Mir-coders gives permission to link
20  * the code of this program with the com.oreilly.servlet library, any library
21  * licensed under the Apache Software License, The Sun (tm) Java Advanced
22  * Imaging library (JAI), The Sun JIMI library (or with modified versions of
23  * the above that use the same license as the above), and distribute linked
24  * combinations including the two.  You must obey the GNU General Public
25  * License in all respects for all of the code used other than the above
26  * mentioned libraries.  If you modify this file, you may extend this exception
27  * to your version of the file, but you are not obligated to do so.  If you do
28  * not wish to do so, delete this exception statement from your version.
29  */
30
31 package mircoders.search;
32
33 import java.io.IOException;
34
35 import mircoders.entity.EntityContent;
36
37 import org.apache.lucene.index.IndexReader;
38 import org.apache.lucene.index.Term;
39 import org.apache.lucene.store.FSDirectory;
40
41
42 public class IndexUtil {
43   public static void unindexEntity (EntityContent entity,String index) throws IOException{
44     IndexReader indexReader = null;
45     try{
46       indexReader = IndexReader.open(index);
47       indexReader.delete(new Term("id",entity.getValue("id")));
48       indexReader.close();
49     }
50     catch(Exception e){
51       if (indexReader != null){
52         indexReader.close();
53       }
54     }
55     finally { 
56       if (indexReader != null){
57         FSDirectory theIndexDir=FSDirectory.getDirectory(index,false);
58         if (IndexReader.isLocked(theIndexDir)){
59           IndexReader.unlock(theIndexDir);
60         }
61       }
62     }
63   }
64   public static void unindexID (String id,String index) throws IOException{
65     IndexReader indexReader = null;
66     try{
67       indexReader = IndexReader.open(index);
68       indexReader.delete(new Term("id",id));
69       indexReader.close();
70     }
71     catch(Exception e){
72       if (indexReader != null){
73         indexReader.close();
74       }
75     }
76     finally { 
77       if (indexReader != null){
78         FSDirectory theIndexDir=FSDirectory.getDirectory(index,false);
79         if (IndexReader.isLocked(theIndexDir)){
80           IndexReader.unlock(theIndexDir);
81         }
82       }
83     }
84   }
85 }