From: <hei...@us...> - 2008-03-03 21:06:41
|
Revision: 1172 http://geonetwork.svn.sourceforge.net/geonetwork/?rev=1172&view=rev Author: heikkidoeleman Date: 2008-03-03 13:04:57 -0800 (Mon, 03 Mar 2008) Log Message: ----------- Upgrade Lucene to version 2.3.0 Added Paths: ----------- trunk/src/org/fao/geonet/kernel/search/LuceneUtils.java Added: trunk/src/org/fao/geonet/kernel/search/LuceneUtils.java =================================================================== --- trunk/src/org/fao/geonet/kernel/search/LuceneUtils.java (rev 0) +++ trunk/src/org/fao/geonet/kernel/search/LuceneUtils.java 2008-03-03 21:04:57 UTC (rev 1172) @@ -0,0 +1,57 @@ +//============================================================================== +//=== Copyright (C) 2001-2008 Food and Agriculture Organization of the +//=== United Nations (FAO-UN), United Nations World Food Programme (WFP) +//=== and United Nations Environment Programme (UNEP) +//=== +//=== This program is free software; you can redistribute it and/or modify +//=== it under the terms of the GNU General Public License as published by +//=== the Free Software Foundation; either version 2 of the License, or (at +//=== your option) any later version. +//=== +//=== This program is distributed in the hope that it will be useful, but +//=== WITHOUT ANY WARRANTY; without even the implied warranty of +//=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +//=== General Public License for more details. +//=== +//=== You should have received a copy of the GNU General Public License +//=== along with this program; if not, write to the Free Software +//=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +//=== +//=== Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2, +//=== Rome - Italy. email: geo...@os... +//============================================================================== +package org.fao.geonet.kernel.search; + +import org.apache.lucene.search.BooleanClause; + +/** + * Utilities for the Lucene library. + */ +public class LuceneUtils { + + /** + * As of Lucene 1.9, the use of <code>BooleanQuery.add(Query, boolean, boolean)</code> was deprecated + * and replaced by <code>BooleanQuery.add(Query, BooleanClause.Occur)</code>. This utility method + * converts the old pair of booleans to the corresponding <code>BooleanClause.Occur</code> value. + * + * @TODO throw exception if both booleans are true + * + * @param required + * @param prohibited + * @return BooleanClause.Occur + */ + public static BooleanClause.Occur convertRequiredAndProhibitedToOccur(boolean required, boolean prohibited) { + BooleanClause.Occur occur = null; + if(required && !prohibited) { + occur = BooleanClause.Occur.MUST; + } + else if(!required && !prohibited) { + occur = BooleanClause.Occur.SHOULD; + } + else if(!required && prohibited) { + occur = BooleanClause.Occur.MUST_NOT; + } + return occur; + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |