public CapabilitiesServlet() {
		logger.info("Capabilities servlet started.");
		
		String filterFileName = System.getProperty(EmbeddedServer.StartupSetting.SEARCH_FILTER_FILE.getKey());
		if( filterFileName == null ) {
			filterKeywords = null;
		} else {
			FileInputStream fis = null;
			try {
				fis = new FileInputStream(filterFileName);
				BufferedReader in = new BufferedReader(new InputStreamReader(fis));
				List<String> scratch = new ArrayList<String>();
				
				while( true ) { 
					String line = in.readLine();
					if( line == null ) {
						break;
					}
					line = line.trim();
					
					String [] toks = line.split("\\s+");
					for( String s : toks ) {
						scratch.add(s);
						logger.fine("Filter keyword: " + s);
					}
				}
				filterKeywords = scratch.toArray(new String[0]);
				
			} catch( IOException e ) {
				logger.warning("Error reading filter keywords: " + e.toString());
				e.printStackTrace();
			} finally {
				if( fis != null ) {
					try {
						fis.close();
					} catch( IOException e ) {}
				}
			}
		}
	}