jford 2004/10/13 15:24:02
Modified: jetspeed-api/src/java/org/apache/jetspeed/search
SearchEngine.java
components/search/src/java/org/apache/jetspeed/search/lucene
SearchEngineImpl.java
Added: jetspeed-api/src/java/org/apache/jetspeed/search
SearchResults.java
components/search/src/java/org/apache/jetspeed/search/lucene
SearchResultsImpl.java
Log:
Return SearchResults interface instead of iterator
Revision Changes Path
1.2 +1 -2
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/search/SearchEngine.java
Index: SearchEngine.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/search/SearchEngine.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SearchEngine.java 28 Sep 2004 20:41:28 -0000 1.1
+++ SearchEngine.java 13 Oct 2004 22:24:02 -0000 1.2
@@ -16,7 +16,6 @@
package org.apache.jetspeed.search;
import java.util.Collection;
-import java.util.Iterator;
/**
* @author <a href="mailto: [EMAIL PROTECTED]">Jeremy Ford</a>
@@ -37,5 +36,5 @@
boolean optimize();
- Iterator search(String query);
+ SearchResults search(String query);
}
1.1
jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/search/SearchResults.java
Index: SearchResults.java
===================================================================
/*
* Copyright 2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jetspeed.search;
import java.util.Iterator;
import java.util.List;
/**
* @author <a href="mailto: [EMAIL PROTECTED]">Jeremy Ford</a>
*
*/
public interface SearchResults
{
public int size();
public Iterator iterator();
public ParsedObject get(int index);
public List getResults();
public List getResults(int fromIndex, int toIndex);
}
1.3 +7 -4
jakarta-jetspeed-2/components/search/src/java/org/apache/jetspeed/search/lucene/SearchEngineImpl.java
Index: SearchEngineImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed-2/components/search/src/java/org/apache/jetspeed/search/lucene/SearchEngineImpl.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SearchEngineImpl.java 6 Oct 2004 16:38:04 -0000 1.2
+++ SearchEngineImpl.java 13 Oct 2004 22:24:02 -0000 1.3
@@ -32,6 +32,7 @@
import org.apache.jetspeed.search.ObjectHandler;
import org.apache.jetspeed.search.ParsedObject;
import org.apache.jetspeed.search.SearchEngine;
+import org.apache.jetspeed.search.SearchResults;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
@@ -360,7 +361,7 @@
/* (non-Javadoc)
* @see org.apache.jetspeed.search.SearchEngine#search(java.lang.String)
*/
- public Iterator search(String queryString)
+ public SearchResults search(String queryString)
{
Searcher searcher = null;
Hits hits = null;
@@ -405,7 +406,7 @@
}
int hitNum = hits.length();
- ArrayList results = new ArrayList(hitNum);
+ ArrayList resultList = new ArrayList(hitNum);
for(int i=0; i<hitNum; i++)
{
ParsedObject result = new BaseParsedObject();
@@ -464,7 +465,7 @@
result.setURL(new URL(url.stringValue()));
}
- results.add(i, result);
+ resultList.add(i, result);
}
catch(IOException e)
{
@@ -483,7 +484,9 @@
//logger.error("Closing Searcher", ioe);
}
}
- return results.iterator();
+
+ SearchResults results = new SearchResultsImpl(resultList);
+ return results;
}
private Analyzer newAnalyzer() {
1.1
jakarta-jetspeed-2/components/search/src/java/org/apache/jetspeed/search/lucene/SearchResultsImpl.java
Index: SearchResultsImpl.java
===================================================================
/*
* Copyright 2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jetspeed.search.lucene;
import java.util.Iterator;
import java.util.List;
import org.apache.jetspeed.search.ParsedObject;
import org.apache.jetspeed.search.SearchResults;
/**
* @author <a href="mailto: [EMAIL PROTECTED]">Jeremy Ford</a>
*
*/
public class SearchResultsImpl implements SearchResults
{
List results = null;
public SearchResultsImpl(List results)
{
this.results = results;
}
/* (non-Javadoc)
* @see org.apache.jetspeed.search.SearchResults#size()
*/
public int size()
{
return results.size();
}
/* (non-Javadoc)
* @see org.apache.jetspeed.search.SearchResults#iterator()
*/
public Iterator iterator()
{
return results.iterator();
}
/* (non-Javadoc)
* @see org.apache.jetspeed.search.SearchResults#get(int)
*/
public ParsedObject get(int index)
{
return (ParsedObject)results.get(index);
}
/* (non-Javadoc)
* @see org.apache.jetspeed.search.SearchResults#getResults()
*/
public List getResults()
{
return results;
}
/* (non-Javadoc)
* @see org.apache.jetspeed.search.SearchResults#getResults(int, int)
*/
public List getResults(int fromIndex, int toIndex)
{
return results.subList(fromIndex, toIndex);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]