138 lines
5.3 KiB
Java
Executable file
138 lines
5.3 KiB
Java
Executable file
/*************************************************************************
|
|
*
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* $RCSfile: HelpSearch.java,v $
|
|
* $Revision: 1.2 $
|
|
*
|
|
* This file is part of OpenOffice.org.
|
|
*
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
* only, as published by the Free Software Foundation.
|
|
*
|
|
* OpenOffice.org 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 Lesser General Public License version 3 for more details
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
* <http://www.openoffice.org/license.html>
|
|
* for a copy of the LGPLv3 License.
|
|
*
|
|
************************************************************************/
|
|
|
|
package com.sun.star.help;
|
|
|
|
import com.sun.star.lib.uno.helper.Factory;
|
|
import com.sun.star.lang.XSingleComponentFactory;
|
|
import com.sun.star.registry.XRegistryKey;
|
|
|
|
/*
|
|
import com.sun.star.lib.uno.helper.Factory;
|
|
import com.sun.star.lang.XMultiComponentFactory;
|
|
import com.sun.star.lang.XSingleComponentFactory;
|
|
import com.sun.star.lib.uno.helper.WeakBase;
|
|
import com.sun.star.uno.UnoRuntime;
|
|
import com.sun.star.uno.XComponentContext;
|
|
import com.sun.star.registry.XRegistryKey;
|
|
import com.sun.star.lang.XInitialization;
|
|
import com.sun.star.lang.XTypeProvider;
|
|
import com.sun.star.lang.XServiceInfo;
|
|
import com.sun.star.uno.Type;
|
|
import com.sun.star.uno.Any;
|
|
import com.sun.star.uno.AnyConverter;
|
|
|
|
import org.apache.lucene.analysis.Analyzer;
|
|
import org.apache.lucene.analysis.standard.StandardAnalyzer;
|
|
import org.apache.lucene.document.Document;
|
|
import org.apache.lucene.index.FilterIndexReader;
|
|
import org.apache.lucene.index.IndexReader;
|
|
import org.apache.lucene.index.Term;
|
|
import org.apache.lucene.queryParser.QueryParser;
|
|
import org.apache.lucene.search.Hits;
|
|
import org.apache.lucene.search.IndexSearcher;
|
|
import org.apache.lucene.search.Query;
|
|
import org.apache.lucene.search.Searcher;
|
|
import org.apache.lucene.search.TermQuery;
|
|
import org.apache.lucene.search.WildcardQuery;
|
|
|
|
import com.sun.star.script.XInvocation;
|
|
import com.sun.star.beans.XIntrospectionAccess;
|
|
|
|
import java.io.FileOutputStream;
|
|
import java.io.PrintStream;
|
|
import java.io.File;
|
|
*/
|
|
|
|
/** This class capsulates the class, that implements the minimal component, a
|
|
* factory for creating the service (<CODE>__getComponentFactory</CODE>) and a
|
|
* method, that writes the information into the given registry key
|
|
* (<CODE>__writeRegistryServiceInfo</CODE>).
|
|
*/
|
|
public class HelpComponent
|
|
{
|
|
/**
|
|
* Gives a factory for creating the service.
|
|
* This method is called by the <code>JavaLoader</code>
|
|
* <p>
|
|
* @return returns a <code>XSingleComponentFactory</code> for creating
|
|
* the component
|
|
* @param sImplName the name of the implementation for which a
|
|
* service is desired
|
|
* @see com.sun.star.comp.loader.JavaLoader
|
|
*/
|
|
public static XSingleComponentFactory __getComponentFactory(String sImplName)
|
|
{
|
|
XSingleComponentFactory xFactory = null;
|
|
|
|
if ( sImplName.equals( HelpSearch._HelpSearch.class.getName() ) )
|
|
xFactory = Factory.createComponentFactory(HelpSearch._HelpSearch.class,
|
|
HelpSearch._HelpSearch.getServiceNames());
|
|
else if ( sImplName.equals( HelpIndexer.class.getName() ) )
|
|
xFactory = Factory.createComponentFactory(HelpIndexer.class,
|
|
HelpIndexer.getServiceNames());
|
|
return xFactory;
|
|
}
|
|
|
|
/**
|
|
* Writes the service information into the given registry key.
|
|
* This method is called by the <code>JavaLoader</code>
|
|
* <p>
|
|
* @return returns true if the operation succeeded
|
|
* @param regKey the registryKey
|
|
* @see com.sun.star.comp.loader.JavaLoader
|
|
*/
|
|
public static boolean __writeRegistryServiceInfo(XRegistryKey regKey)
|
|
{
|
|
boolean bSuccessHelpSearch = Factory.writeRegistryServiceInfo
|
|
(HelpSearch._HelpSearch.class.getName(),
|
|
HelpSearch._HelpSearch.getServiceNames(), regKey);
|
|
boolean bSuccessHelpIndexer = Factory.writeRegistryServiceInfo
|
|
(HelpIndexer.class.getName(),
|
|
HelpIndexer.getServiceNames(), regKey);
|
|
|
|
return bSuccessHelpSearch && bSuccessHelpIndexer;
|
|
}
|
|
/** This method is a member of the interface for initializing an object
|
|
* directly after its creation.
|
|
* @param object This array of arbitrary objects will be passed to the
|
|
* component after its creation.
|
|
* @throws Exception Every exception will not be handled, but will be
|
|
* passed to the caller.
|
|
*/
|
|
public void initialize( Object[] object )
|
|
throws com.sun.star.uno.Exception
|
|
{
|
|
/* The component describes what arguments its expected and in which
|
|
* order!At this point you can read the objects and can intialize
|
|
* your component using these objects.
|
|
*/
|
|
}
|
|
}
|