diff options
-rw-r--r-- | l10ntools/source/help/HelpFileDocument.java | 86 | ||||
-rw-r--r-- | l10ntools/source/help/HelpIndexerTool.java | 390 | ||||
-rwxr-xr-x | xmlhelp/source/com/sun/star/help/HelpComponent.java | 77 | ||||
-rwxr-xr-x | xmlhelp/source/com/sun/star/help/HelpIndexer.java | 194 | ||||
-rwxr-xr-x | xmlhelp/source/com/sun/star/help/HelpSearch.java | 332 | ||||
-rwxr-xr-x | xmlhelp/source/com/sun/star/help/LuceneHelpWrapper.component | 37 | ||||
-rwxr-xr-x | xmlhelp/source/com/sun/star/help/MANIFEST.MF | 1 | ||||
-rwxr-xr-x | xmlhelp/source/com/sun/star/help/helplinker.pmk | 31 | ||||
-rwxr-xr-x | xmlhelp/source/com/sun/star/help/makefile.mk | 90 |
9 files changed, 0 insertions, 1238 deletions
diff --git a/l10ntools/source/help/HelpFileDocument.java b/l10ntools/source/help/HelpFileDocument.java deleted file mode 100644 index 15e62d6c6c52..000000000000 --- a/l10ntools/source/help/HelpFileDocument.java +++ /dev/null @@ -1,86 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * 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 java.io.File; -import java.io.Reader; -import java.io.FileInputStream; -import java.io.InputStreamReader; -//import java.io.FileReader; -import java.io.StringReader; - -import org.apache.lucene.document.Document; -import org.apache.lucene.document.Field; - -/** Lucene Document for help files */ -public class HelpFileDocument -{ - /** Creates reader for UTF-8 files - */ - private static Reader getReaderForFile( File aFile ) - throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException { - Reader aReader; - if( aFile != null ) { - FileInputStream fis = new FileInputStream( aFile ); - aReader = new InputStreamReader( fis, "UTF-8" ); - } - else { - aReader = new StringReader( "" ); - } - return aReader; - } - - /** Makes a document for a File. - */ - public static Document Document( String aModule, File aCaptionFile, File aContentFile ) - throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException { - Document doc = new Document(); - - // Add the path of the file as a field named "path". Use a field that is - // indexed (i.e. searchable), but don't tokenize the field into words. - File aFile = aCaptionFile != null ? aCaptionFile : aContentFile; - if( aFile != null ) - { - String aPath = "#HLP#" + aModule + "/" + aFile.getName(); - doc.add(new Field("path", aPath, Field.Store.YES, Field.Index.UN_TOKENIZED)); - } - - // Add the caption of the file to a field named "caption". Specify a Reader, - // so that the text of the file is tokenized and indexed, but not stored. - doc.add( new Field( "caption", getReaderForFile( aCaptionFile ) ) ); - - // Add the contents of the file to a field named "content". Specify a Reader, - // so that the text of the file is tokenized and indexed, but not stored. - doc.add( new Field( "content", getReaderForFile( aContentFile ) ) ); - - // return the document - return doc; - } - - private HelpFileDocument() {} -} diff --git a/l10ntools/source/help/HelpIndexerTool.java b/l10ntools/source/help/HelpIndexerTool.java deleted file mode 100644 index 8e42d55d2768..000000000000 --- a/l10ntools/source/help/HelpIndexerTool.java +++ /dev/null @@ -1,390 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * 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 java.io.FileInputStream; -import java.io.FileOutputStream; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; -import java.util.zip.CRC32; -import org.apache.lucene.analysis.standard.StandardAnalyzer; -import org.apache.lucene.analysis.cjk.CJKAnalyzer; -import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.index.IndexWriter; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.Date; - - -/** - When this tool is used with long path names on Windows, that is paths which start - with \\?\, then the caller must make sure that the path is unique. This is achieved - by removing '.' and '..' from the path. Paths which are created by - osl_getSystemPathFromFileURL fulfill this requirement. This is necessary because - lucene is patched to not use File.getCanonicalPath. See long_path.patch in the lucene - module. - */ -public class HelpIndexerTool -{ - public HelpIndexerTool() - { - } - - - /** - * @param args the command line arguments - */ - public static void main( String[] args ) - { - boolean bExtensionMode = false; - mainImpl( args, bExtensionMode ); - } - - public static void mainImpl( String[] args, boolean bExtensionMode ) - { - String aDirToZipStr = ""; - String aSrcDirStr = ""; - String aLanguageStr = ""; - String aModule = ""; - String aTargetZipFileStr = ""; - String aCfsName = ""; - String aSegmentName = ""; - - // Scan arguments - //If this tool is invoked in the build process for extensions help, - //then -extension must be set. - boolean bExtension = false; - boolean bLang = false; - boolean bMod = false; - boolean bZipDir = false; - boolean bSrcDir = false; - boolean bOutput = false; - boolean bCfsName = false; - boolean bSegmentName = false; - - int nArgCount = args.length; - for( int i = 0 ; i < nArgCount ; i++ ) - { - if( "-extension".equals(args[i]) ) - { - bExtension = true; - } - else if( "-lang".equals(args[i]) ) - { - if( i + 1 < nArgCount ) - { - aLanguageStr = args[i + 1]; - bLang = true; - } - i++; - } - else if( "-mod".equals(args[i]) ) - { - if( i + 1 < nArgCount ) - { - aModule = args[i + 1]; - bMod = true; - } - i++; - } - else if( "-zipdir".equals(args[i]) ) - { - if( i + 1 < nArgCount ) - { - aDirToZipStr = args[i + 1]; - bZipDir = true; - } - i++; - } - else if( "-srcdir".equals(args[i]) ) - { - if( i + 1 < nArgCount ) - { - aSrcDirStr = args[i + 1]; - bSrcDir = true; - } - i++; - } - else if( "-o".equals(args[i]) ) - { - if( i + 1 < nArgCount ) - { - aTargetZipFileStr = args[i + 1]; - bOutput = true; - } - i++; - } - else if( "-checkcfsandsegname".equals(args[i]) ) - { - if( i + 1 < nArgCount ) - { - aCfsName = args[i + 1] + ".cfs"; - bCfsName = true; - } - i++; - if( i + 1 < nArgCount ) - { - aSegmentName = "segments" + args[i + 1]; - bSegmentName = true; - } - i++; - if (!(bCfsName && bSegmentName)) - { - System.out.println("Usage: HelpIndexer -checkcfsandsegname _0 _3 (2 arguments needed)"); - System.exit( -1 ); - } - } - } - - if( !bLang || !bMod || !bZipDir || (!bOutput && !bExtensionMode && !bExtension) ) - { - if( bExtensionMode ) - return; - - System.out.println("Usage: HelpIndexer -lang ISOLangCode -mod HelpModule -zipdir TempZipDir -o OutputZipFile"); - System.out.println("Usage: HelpIndexer -extension -lang ISOLangCode -mod HelpModule -zipdir PathToLangDir"); - System.exit( -1 ); - } - - String aIndexDirName = aModule + ".idxl"; - File aIndexDir = new File( aDirToZipStr + File.separator + aIndexDirName ); - if( !bSrcDir ) - aSrcDirStr = aDirToZipStr; - File aCaptionFilesDir = new File( aSrcDirStr + File.separator + "caption" ); - File aContentFilesDir = new File( aSrcDirStr + File.separator + "content" ); - - try - { - Analyzer analyzer = ( aLanguageStr.equals("ja") - || aLanguageStr.equals("ko") - || aLanguageStr.equals("zh-CN") - || aLanguageStr.equals("zh-TW") ) ? (Analyzer)new CJKAnalyzer() : (Analyzer)new StandardAnalyzer(); - IndexWriter writer = new IndexWriter( aIndexDir, analyzer, true ); - int nRet = indexDocs( writer, aModule, bExtensionMode, aCaptionFilesDir, aContentFilesDir ); - if( nRet != -1 ) - writer.optimize(); - writer.close(); - - boolean bCfsFileOk = true; - boolean bSegmentFileOk = true; - if( bCfsName && bSegmentName && !bExtensionMode && nRet != -1 ) - { - String aCompleteCfsFileName = aDirToZipStr + File.separator + aIndexDirName + File.separator + aCfsName; - String aCompleteSegmentFileName = aDirToZipStr + File.separator + aIndexDirName + File.separator + aSegmentName; - File aCfsFile = new File( aCompleteCfsFileName ); - File aSegmentFile = new File( aCompleteSegmentFileName ); - bCfsFileOk = aCfsFile.exists(); - bSegmentFileOk = aSegmentFile.exists(); - System.out.println( "Checking cfs file " + aCfsName+ ": " + (bCfsFileOk ? "Found" : "Not found") ); - System.out.println( "Checking segment file " + aSegmentName+ ": " + (bSegmentFileOk ? "Found" : "Not found") ); - } - - if( bExtensionMode || bExtension) - { - if( !bSrcDir ) - { - deleteRecursively( aCaptionFilesDir ); - deleteRecursively( aContentFilesDir ); - } - } - else - { - if( nRet == -1 ) - deleteRecursively( aIndexDir ); - - File aDirToZipFile = new File( aDirToZipStr ); - createZipFile( aDirToZipFile, aTargetZipFileStr ); - deleteRecursively( aDirToZipFile ); - } - - if( !bCfsFileOk ) - { - System.out.println( "cfs file check failed, terminating..." ); - System.exit( -1 ); - } - - if( !bSegmentFileOk ) - { - System.out.println( "segment file check failed, terminating..." ); - System.exit( -1 ); - } - } - catch (IOException e) - { - if( bExtensionMode ) - return; - - System.out.println(" caught a " + e.getClass() + - "\n with message: " + e.getMessage()); - System.exit( -1 ); - } - } - - private static int indexDocs(IndexWriter writer, String aModule, boolean bExtensionMode, - File aCaptionFilesDir, File aContentFilesDir) throws IOException - { - if( !aCaptionFilesDir.canRead() || !aCaptionFilesDir.isDirectory() ) - { - if( !bExtensionMode ) - System.out.println( "Not found: " + aCaptionFilesDir ); - return -1; - } - if( !aContentFilesDir.canRead() || !aContentFilesDir.isDirectory() ) - { - if( !bExtensionMode ) - System.out.println( "Not found: " + aContentFilesDir ); - return -1; - } - - String[] aCaptionFiles = aCaptionFilesDir.list(); - List aCaptionFilesList = Arrays.asList( aCaptionFiles ); - HashSet aCaptionFilesHashSet = new HashSet( aCaptionFilesList ); - - String[] aContentFiles = aContentFilesDir.list(); - List aContentFilesList = Arrays.asList( aContentFiles ); - HashSet aContentFilesHashSet = new HashSet( aContentFilesList ); - - // Loop over caption files and find corresponding content file - int nCaptionFilesLen = aCaptionFiles.length; - for( int i = 0 ; i < nCaptionFilesLen ; i++ ) - { - String aCaptionFileStr = aCaptionFiles[i]; - File aCaptionFile = new File( aCaptionFilesDir, aCaptionFileStr ); - File aContentFile = null; - if( aContentFilesHashSet.contains( aCaptionFileStr ) ) - aContentFile = new File( aContentFilesDir, aCaptionFileStr ); - writer.addDocument( HelpFileDocument.Document( aModule, aCaptionFile, aContentFile ) ); - } - - // Loop over content files to find remaining files not mapped to caption files - int nContentFilesLen = aContentFiles.length; - for( int i = 0 ; i < nContentFilesLen ; i++ ) - { - String aContentFileStr = aContentFiles[i]; - if( !aCaptionFilesHashSet.contains( aContentFileStr ) ) - { - // Not already handled in caption files loop - File aCaptionFile = null; - File aContentFile = new File( aContentFilesDir, aContentFileStr ); - writer.addDocument( HelpFileDocument.Document( aModule, aCaptionFile, aContentFile ) ); - } - } - return 0; - } - - public static void createZipFile( File aDirToZip, String aTargetZipFileStr ) - throws FileNotFoundException, IOException - { - FileOutputStream fos = new FileOutputStream( aTargetZipFileStr ); - ZipOutputStream zos = new ZipOutputStream( fos ); - - File[] aChildrenFiles = aDirToZip.listFiles(); - int nFileCount = aChildrenFiles.length; - for( int i = 0 ; i < nFileCount ; i++ ) - addToZipRecursively( zos, aChildrenFiles[i], null ); - - zos.close(); - } - - public static void addToZipRecursively( ZipOutputStream zos, File aFile, String aBasePath ) - throws FileNotFoundException, IOException - { - if( aFile.isDirectory() ) - { - String aDirName = aFile.getName(); - if( aDirName.equalsIgnoreCase( "caption" ) || aDirName.equalsIgnoreCase( "content" ) ) - return; - - File[] aChildrenFiles = aFile.listFiles(); - String aNewBasePath = ""; - if( aBasePath != null ) - aNewBasePath += aBasePath + File.separator; - aNewBasePath += aDirName; - - int nFileCount = aChildrenFiles.length; - for( int i = 0 ; i < nFileCount ; i++ ) - addToZipRecursively( zos, aChildrenFiles[i], aNewBasePath ); - - return; - } - - // No directory - // read contents of file we are going to put in the zip - int fileLength = (int) aFile.length(); - FileInputStream fis = new FileInputStream( aFile ); - byte[] wholeFile = new byte[fileLength]; - int bytesRead = fis.read( wholeFile, 0, fileLength ); - fis.close(); - - String aFileName = aFile.getName(); - String aEntryName = ""; - if( aBasePath != null ) - aEntryName += aBasePath + "/"; - aEntryName += aFileName; - ZipEntry aZipEntry = new ZipEntry( aEntryName ); - aZipEntry.setTime( aFile.lastModified() ); - aZipEntry.setSize( fileLength ); - - int nMethod = ( aFileName.toLowerCase().endsWith( ".jar" ) ) - ? ZipEntry.STORED : ZipEntry.DEFLATED; - aZipEntry.setMethod( nMethod ); - - CRC32 tempCRC = new CRC32(); - tempCRC.update( wholeFile, 0, wholeFile.length ); - aZipEntry.setCrc( tempCRC.getValue() ); - - // write the contents into the zip element - zos.putNextEntry( aZipEntry ); - zos.write( wholeFile, 0, fileLength ); - zos.closeEntry(); - } - - static public boolean deleteRecursively( File aFile ) - { - if( aFile.isDirectory() ) - { - File[] aChildrenFiles = aFile.listFiles(); - int nFileCount = aChildrenFiles.length; - for( int i = 0 ; i < nFileCount ; i++ ) - { - File aChildrenFile = aChildrenFiles[i]; - boolean bSuccess = deleteRecursively( aChildrenFile ); - if( !bSuccess ) - return false; - } - } - - return aFile.delete(); - } -} - diff --git a/xmlhelp/source/com/sun/star/help/HelpComponent.java b/xmlhelp/source/com/sun/star/help/HelpComponent.java deleted file mode 100755 index bb5b09206c11..000000000000 --- a/xmlhelp/source/com/sun/star/help/HelpComponent.java +++ /dev/null @@ -1,77 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * 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; - -/** This class capsulates the class, that implements the minimal component and a - * factory for creating the service (<CODE>__getComponentFactory</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; - } - - /** 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. - */ - } -} diff --git a/xmlhelp/source/com/sun/star/help/HelpIndexer.java b/xmlhelp/source/com/sun/star/help/HelpIndexer.java deleted file mode 100755 index abb866804b43..000000000000 --- a/xmlhelp/source/com/sun/star/help/HelpIndexer.java +++ /dev/null @@ -1,194 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * 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.WeakBase; -import com.sun.star.lang.XServiceInfo; -import com.sun.star.script.XInvocation; -import com.sun.star.beans.XIntrospectionAccess; -import com.sun.star.uno.AnyConverter; -import com.sun.star.uno.XComponentContext; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.Date; -import java.util.zip.ZipOutputStream; - -/** - When this tool is used with long path names on Windows, that is paths which start - with \\?\, then the caller must make sure that the path is unique. This is achieved - by removing '.' and '..' from the path. Paths which are created by - osl_getSystemPathFromFileURL fulfill this requirement. This is necessary because - lucene is patched to not use File.getCanonicalPath. See long_path.patch in the lucene - module. - */ -public class HelpIndexer extends WeakBase - implements XServiceInfo, XInvocation -{ - static private final String __serviceName = - "com.sun.star.help.HelpIndexer"; - static private final String aCreateIndexMethodName = "createIndex"; - - static private com.sun.star.help.HelpIndexerTool helpindexer = new com.sun.star.help.HelpIndexerTool(); - - public HelpIndexer() - { - } - - public HelpIndexer(XComponentContext xCompContext) - { - } - - public static void mainImpl( String[] args, boolean bExtensionMode ) - { - helpindexer.mainImpl( args , bExtensionMode ); - } - - public static void createZipFile( File aDirToZip, String aTargetZipFileStr ) - throws FileNotFoundException, IOException - { - helpindexer.createZipFile( aDirToZip , aTargetZipFileStr ); - } - - public static void addToZipRecursively( ZipOutputStream zos, File aFile, String aBasePath ) - throws FileNotFoundException, IOException - { - helpindexer.addToZipRecursively( zos , aFile , aBasePath ); - } - - static public boolean deleteRecursively( File aFile ) - { - return helpindexer.deleteRecursively( aFile ); - } - - //=================================================== - // XInvocation - public XIntrospectionAccess getIntrospection() - { - return null; - } - - public Object invoke( String aFunctionName, java.lang.Object[] aParams, - short[][] aOutParamIndex, java.lang.Object[][] aOutParam ) - throws com.sun.star.lang.IllegalArgumentException, - com.sun.star.script.CannotConvertException, - com.sun.star.reflection.InvocationTargetException - { - if( - !aFunctionName.equals( aCreateIndexMethodName ) ) - throw new com.sun.star.lang.IllegalArgumentException(); - - aOutParamIndex[0] = new short[0]; - aOutParam[0] = new Object[0]; - - int nParamCount = aParams.length; - String aStrs[] = new String[nParamCount]; - for( int i = 0 ; i < nParamCount ; i++ ) - { - try - { - aStrs[i] = AnyConverter.toString( aParams[i] ); - } - catch( IllegalArgumentException e ) - { - aStrs[i] = ""; - } - } - - boolean bExtensionMode = true; - mainImpl( aStrs, bExtensionMode ); - - return null; - } - - public void setValue( String aPropertyName, java.lang.Object aValue ) - throws com.sun.star.beans.UnknownPropertyException, - com.sun.star.script.CannotConvertException, - com.sun.star.reflection.InvocationTargetException - { - throw new com.sun.star.beans.UnknownPropertyException(); - } - - public Object getValue( String aPropertyName ) - throws com.sun.star.beans.UnknownPropertyException - { - throw new com.sun.star.beans.UnknownPropertyException(); - } - - public boolean hasMethod( String aMethodName ) - { - boolean bRet = (aMethodName.equals( aCreateIndexMethodName ) ); - return bRet; - } - public boolean hasProperty( String aName ) { - return false; - } - - - - /** This method returns an array of all supported service names. - * @return Array of supported service names. - */ - public String[] getSupportedServiceNames() - { - return getServiceNames(); - } - - /** This method is a simple helper function to used in the - * static component initialisation functions as well as in - * getSupportedServiceNames. - */ - public static String[] getServiceNames() - { - String[] sSupportedServiceNames = { __serviceName }; - return sSupportedServiceNames; - } - - - /** This method returns true, if the given service will be - * supported by the component. - * @param sServiceName Service name. - * @return True, if the given service name will be supported. - */ - public boolean supportsService( String sServiceName ) - { - return sServiceName.equals( __serviceName ); - } - - - /** Return the class name of the component. - * @return Class name of the component. - */ - public String getImplementationName() - { - return HelpIndexer.class.getName(); - } - -} - diff --git a/xmlhelp/source/com/sun/star/help/HelpSearch.java b/xmlhelp/source/com/sun/star/help/HelpSearch.java deleted file mode 100755 index 03aadea8e298..000000000000 --- a/xmlhelp/source/com/sun/star/help/HelpSearch.java +++ /dev/null @@ -1,332 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * 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.XMultiComponentFactory; -import com.sun.star.lang.XSingleComponentFactory; -import com.sun.star.lib.uno.helper.WeakBase; -import com.sun.star.uno.XComponentContext; -import com.sun.star.registry.XRegistryKey; -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.analysis.cjk.CJKAnalyzer; -import org.apache.lucene.document.Document; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.Term; -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; - -/** This class capsulates the class, that implements the minimal component and a - * factory for creating the service (<CODE>__getComponentFactory</CODE>). - */ -public class HelpSearch -{ - /** This class implements the component. At least the interfaces XServiceInfo, - * XTypeProvider, and XInitialization should be provided by the service. - */ - public static class _HelpSearch extends WeakBase - implements XServiceInfo, XInvocation - { - /** The service name, that must be used to get an instance of this service. - */ - static private final String __serviceName = - "com.sun.star.help.HelpSearch"; - static private final String aSearchMethodName = "search"; - - /** The initial component contextr, that gives access to - * the service manager, supported singletons, ... - * It's often later used - */ - private XComponentContext m_cmpCtx; - - /** The service manager, that gives access to all registered services. - * It's often later used - */ - private XMultiComponentFactory m_xMCF; - - /** The constructor of the inner class has a XMultiServiceFactory parameter. - * @param xmultiservicefactoryInitialization A special service factory - * could be introduced while initializing. - */ - public _HelpSearch(XComponentContext xCompContext) - { - try { - m_cmpCtx = xCompContext; - m_xMCF = m_cmpCtx.getServiceManager(); - } - catch( Exception e ) { - e.printStackTrace(); - } - } - - /** This method returns an array of all supported service names. - * @return Array of supported service names. - */ - public String[] getSupportedServiceNames() - { - return getServiceNames(); - } - - /** This method is a simple helper function to used in the - * static component initialisation functions as well as in - * getSupportedServiceNames. - */ - public static String[] getServiceNames() - { - String[] sSupportedServiceNames = { __serviceName }; - return sSupportedServiceNames; - } - - /** This method returns true, if the given service will be - * supported by the component. - * @param sServiceName Service name. - * @return True, if the given service name will be supported. - */ - public boolean supportsService( String sServiceName ) - { - return sServiceName.equals( __serviceName ); - } - - /** Return the class name of the component. - * @return Class name of the component. - */ - public String getImplementationName() - { - return _HelpSearch.class.getName(); - } - - //=================================================== - // XInvocation - public XIntrospectionAccess getIntrospection() - { - return null; - } - - public Object invoke( String aFunctionName, java.lang.Object[] aParams, - short[][] aOutParamIndex, java.lang.Object[][] aOutParam ) - throws com.sun.star.lang.IllegalArgumentException, - com.sun.star.script.CannotConvertException, - com.sun.star.reflection.InvocationTargetException - { - String[] aRet = null; - if( !aFunctionName.equals( aSearchMethodName ) ) - throw new com.sun.star.lang.IllegalArgumentException(); - - Object[] aScoreOutArray = new Object[1]; - aScoreOutArray[0] = null; - try - { - aRet = doQuery( aParams, aScoreOutArray ); - } - catch( Exception e ) - { - aRet = null; - } - - Object aScoreArray = aScoreOutArray[0]; - if( aScoreArray == null ) - { - aOutParamIndex[0] = new short[0]; - aOutParam[0] = new Object[0]; - } - else - { - short nInParamCount = (short)aParams.length; - aOutParamIndex[0] = new short[1]; - aOutParamIndex[0][0] = nInParamCount; - aOutParam[0] = new Object[1]; - aOutParam[0][0] = aScoreArray; - } - - Any aRetAny = new Any( new Type( String[].class ), aRet ); - return aRetAny; - } - - public void setValue( String aPropertyName, java.lang.Object aValue ) - throws com.sun.star.beans.UnknownPropertyException, - com.sun.star.script.CannotConvertException, - com.sun.star.reflection.InvocationTargetException { - throw new com.sun.star.beans.UnknownPropertyException(); - } - - public Object getValue( String aPropertyName ) - throws com.sun.star.beans.UnknownPropertyException { - throw new com.sun.star.beans.UnknownPropertyException(); - } - - public boolean hasMethod( String aMethodName ) { - boolean bRet = (aMethodName.equals( aSearchMethodName ) ); - return bRet; - } - public boolean hasProperty( String aName ) { - return false; - } - - // Command line interface for testing - private static String[] doQuery( Object[] args, Object[] aScoreOutArray ) throws Exception - { - String aLanguageStr = ""; - String aIndexStr = ""; - String aQueryStr = ""; - boolean bCaptionOnly = false; - - int nParamCount = args.length; - String aStrs[] = new String[nParamCount]; - for( int i = 0 ; i < nParamCount ; i++ ) - { - try - { - aStrs[i] = AnyConverter.toString( args[i] ); - } - catch( IllegalArgumentException e ) - { - aStrs[i] = ""; - } - } - - // TODO: Error handling - for( int i = 0 ; i < nParamCount ; i++ ) - { - if ("-lang".equals(aStrs[i]) ) - { - aLanguageStr = aStrs[i + 1]; - i++; - } - else if( "-index".equals(aStrs[i]) ) - { - aIndexStr = aStrs[i+1]; - i++; - } - else if( "-query".equals(aStrs[i]) ) - { - aQueryStr = aStrs[i+1]; - i++; - } - else if( "-caption".equals(aStrs[i]) ) - { - bCaptionOnly = true; - } - } - String[] aDocs = queryImpl( aLanguageStr, aIndexStr, aQueryStr, bCaptionOnly, aScoreOutArray ); - - return aDocs; - } - - private static String[] queryImpl( String aLanguageStr, String aIndexStr, String aQueryStr, - boolean bCaptionOnly, Object[] aScoreOutArray ) throws Exception - { - IndexReader reader = IndexReader.open( aIndexStr ); - Searcher searcher = new IndexSearcher( reader ); - Analyzer analyzer = ( aLanguageStr.equals("ja") - || aLanguageStr.equals("ko") - || aLanguageStr.equals("zh-CN") - || aLanguageStr.equals("zh-TW") ) ? (Analyzer)new CJKAnalyzer() : (Analyzer)new StandardAnalyzer(); - - String aField; - if( bCaptionOnly ) - aField = "caption"; - else - aField = "content"; - - Query aQuery; - if( aQueryStr.endsWith( "*" ) ) - aQuery = new WildcardQuery( new Term( aField, aQueryStr ) ); - else - aQuery = new TermQuery( new Term( aField, aQueryStr ) ); - - // Perform search - Hits aHits = searcher.search( aQuery ); - int nHitCount = aHits.length(); - - String aDocs[] = new String[nHitCount]; - float aScores[] = null; - aScores = new float[nHitCount]; - for( int iHit = 0 ; iHit < nHitCount ; iHit++ ) - { - Document aDoc = aHits.doc( iHit ); - String aPath = aDoc.get( "path" ); - aDocs[iHit] = ( aPath != null ) ? aPath : ""; - aScores[iHit] = aHits.score( iHit ); - } - aScoreOutArray[0] = aScores; - - reader.close(); - - return aDocs; - } - } - - /** - * 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.class.getName() ) ) - xFactory = Factory.createComponentFactory(_HelpSearch.class, - _HelpSearch.getServiceNames()); - - return xFactory; - } - - /** 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. - */ - } -} diff --git a/xmlhelp/source/com/sun/star/help/LuceneHelpWrapper.component b/xmlhelp/source/com/sun/star/help/LuceneHelpWrapper.component deleted file mode 100755 index 04b35bcb12ec..000000000000 --- a/xmlhelp/source/com/sun/star/help/LuceneHelpWrapper.component +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!--********************************************************************** -* -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* Copyright 2000, 2010 Oracle and/or its affiliates. -* -* OpenOffice.org - a multi-platform office productivity suite -* -* 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. -* -**********************************************************************--> - -<component loader="com.sun.star.loader.Java2" - xmlns="http://openoffice.org/2010/uno-components"> - <implementation name="com.sun.star.help.HelpIndexer"> - <service name="com.sun.star.help.HelpIndexer"/> - </implementation> - <implementation name="com.sun.star.help.HelpSearch$_HelpSearch"> - <service name="com.sun.star.help.HelpSearch"/> - </implementation> -</component> diff --git a/xmlhelp/source/com/sun/star/help/MANIFEST.MF b/xmlhelp/source/com/sun/star/help/MANIFEST.MF deleted file mode 100755 index a4c5d50fde5c..000000000000 --- a/xmlhelp/source/com/sun/star/help/MANIFEST.MF +++ /dev/null @@ -1 +0,0 @@ -RegistrationClassName: com.sun.star.help.HelpComponent diff --git a/xmlhelp/source/com/sun/star/help/helplinker.pmk b/xmlhelp/source/com/sun/star/help/helplinker.pmk deleted file mode 100755 index 6e99d322f434..000000000000 --- a/xmlhelp/source/com/sun/star/help/helplinker.pmk +++ /dev/null @@ -1,31 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# 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. -# -#************************************************************************* - -# define HELPLINKER_DLLIMPLEMENTATION (see @ inc/xmlhelp/helplinkerdllapi.h) -CDEFS += -DHELPLINKER_DLLIMPLEMENTATION - -VISIBILITY_HIDDEN=TRUE diff --git a/xmlhelp/source/com/sun/star/help/makefile.mk b/xmlhelp/source/com/sun/star/help/makefile.mk deleted file mode 100755 index a67f755a1cb2..000000000000 --- a/xmlhelp/source/com/sun/star/help/makefile.mk +++ /dev/null @@ -1,90 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# 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. -# -#************************************************************************* - -PRJ = ..$/..$/..$/..$/.. -PRJNAME = xmlhelp -TARGET = HelpLinker -PACKAGE = com$/sun$/star$/help - -.IF "$(SOLAR_JAVA)"!="" -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -JAVACLASSFILES = \ - $(CLASSDIR)$/$(PACKAGE)$/HelpSearch.class \ - $(CLASSDIR)$/$(PACKAGE)$/HelpComponent.class \ - $(CLASSDIR)$/$(PACKAGE)$/HelpIndexer.class - -TRANSEX3FILES = \ - $(SOLARBINDIR)$/help$/$(PACKAGE)$/HelpIndexerTool.class \ - $(SOLARBINDIR)$/help$/$(PACKAGE)$/HelpFileDocument.class - -ADDFILES = $(subst,$(SOLARBINDIR)$/help,$(CLASSDIR) $(TRANSEX3FILES)) - -JARFILES = ridl.jar jurt.jar unoil.jar juh.jar -.IF "$(SYSTEM_LUCENE)" == "YES" -EXTRAJARFILES = $(LUCENE_CORE_JAR) $(LUCENE_ANALYZERS_JAR) -JARCLASSPATH = $(EXTRAJARFILES) -.ELSE -JARFILES += lucene-core-2.3.jar lucene-analyzers-2.3.jar -JARCLASSPATH = lucene-core-2.3.jar lucene-analyzers-2.3.jar -.ENDIF - -JARTARGET = LuceneHelpWrapper.jar -JARCOMPRESS = TRUE -CUSTOMMANIFESTFILE = MANIFEST.MF - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk - -.IF "$(JARTARGETN)"!="" -$(JAVATARGET) : $(ADDFILES) -$(JARTARGETN) : $(ADDFILES) -.ENDIF - -$(ADDFILES) : $(SOLARBINDIR)$/help$/$(PACKAGE)$/$$(@:f) - $(MKDIRHIER) $(@:d) - $(COPY) $< $@ - -fix_system_lucene: - @echo "Fix Java Class-Path entry for Lucene libraries from system." - @$(SED) -r -e "s#^(Class-Path:).*#\1 file://$(LUCENE_CORE_JAR) file://$(LUCENE_ANALYZERS_JAR)#" \ - -i ../../../../../$(INPATH)/class/HelpLinker/META-INF/MANIFEST.MF - -ALLTAR : $(MISC)/LuceneHelpWrapper.component - -$(MISC)/LuceneHelpWrapper.component .ERRREMOVE : \ - $(SOLARENV)/bin/createcomponent.xslt LuceneHelpWrapper.component - $(XSLTPROC) --nonet --stringparam uri \ - '$(COMPONENTPREFIX_BASIS_JAVA)$(JARTARGET)' -o $@ \ - $(SOLARENV)/bin/createcomponent.xslt LuceneHelpWrapper.component -.ELSE -all: - @echo java disabled -.ENDIF |