blob: f064c5522158a1e7b72e4e28ff6278a056a4c5fb [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 IBM Corporation and others.
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// which accompanies this distribution, and is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// Contributors:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.publishing.services.search;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.Vector;
/**
* This class reads in a configuration file of stop words
* and provides the stop words as a list. <br>
*/
class StopWordReader
{
private static Vector _stopwords = null;
/**
* Default constructor.
*/
private StopWordReader()
{
}
/**
* Retrieve the set of stopwords from the given file.
*/
static String[] getStopwords( String filepath,
String filename )
{
if( null == _stopwords )
{
_stopwords = new Vector();
try
{
// read in the file
String fullFilename = filepath +
File.separator +
filename;
FileInputStream inStream = new FileInputStream( fullFilename );
InputStreamReader streamReader = new InputStreamReader( inStream );
BufferedReader read = new BufferedReader(streamReader);
/* char[] charRead = new char[ inStream.available() ];
streamReader.read( charRead );
String content = new String( charRead );
*/
String word = read.readLine();
while (word != null)
{
_stopwords.add(word);
word = read.readLine();
}
// close stream
read.close();
streamReader.close();
inStream.close();
// parseContent
// parseContent( content, _stopwords );
}
catch( Exception e )
{
e.printStackTrace();
}
}
Object[] stopObjects = _stopwords.toArray();
String[] stopStrings = new String[ stopObjects.length ];
for( int i = 0; i < stopObjects.length; i++ )
{
stopStrings[ i ] = (String)stopObjects[ i ];
}
return( stopStrings );
}
/**
* Parses the content into stopwords.
*/
/*
private static void parseContent( String content,
Vector _stopwords )
{
StringTokenizer tokenizer = new StringTokenizer( content,
System.getProperty( "line.separator" ) );
while( tokenizer.hasMoreElements() )
{
_stopwords.addElement( tokenizer.nextElement() );
}
}
*/
}