xref: /AOO41X/main/xmlhelp/source/com/sun/star/help/HelpIndexer.java (revision 7fb4469baf101f57be8a5178c651dd81bd1f6514)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 package com.sun.star.help;
25 
26 import com.sun.star.lib.uno.helper.WeakBase;
27 import com.sun.star.lang.XServiceInfo;
28 import com.sun.star.script.XInvocation;
29 import com.sun.star.beans.XIntrospectionAccess;
30 import com.sun.star.uno.AnyConverter;
31 import com.sun.star.uno.XComponentContext;
32 
33 import java.io.File;
34 import java.io.FileNotFoundException;
35 import java.io.IOException;
36 import java.util.Date;
37 import java.util.zip.ZipOutputStream;
38 
39 public class HelpIndexer extends WeakBase
40     implements XServiceInfo, XInvocation
41 {
42     static private final String __serviceName =
43         "com.sun.star.help.HelpIndexer";
44     static private final String aCreateIndexMethodName = "createIndex";
45 
46     static private com.sun.star.help.HelpIndexerTool helpindexer = new com.sun.star.help.HelpIndexerTool();
47 
HelpIndexer()48     public HelpIndexer()
49     {
50     }
51 
HelpIndexer(XComponentContext xCompContext)52     public HelpIndexer(XComponentContext xCompContext)
53     {
54     }
55 
mainImpl( String[] args, boolean bExtensionMode )56     public static void mainImpl( String[] args, boolean bExtensionMode )
57     {
58         helpindexer.mainImpl( args , bExtensionMode );
59     }
60 
createZipFile( File aDirToZip, String aTargetZipFileStr )61     public static void createZipFile( File aDirToZip, String aTargetZipFileStr )
62             throws FileNotFoundException, IOException
63     {
64         helpindexer.createZipFile( aDirToZip , aTargetZipFileStr );
65     }
66 
addToZipRecursively( ZipOutputStream zos, File aFile, String aBasePath )67     public static void addToZipRecursively( ZipOutputStream zos, File aFile, String aBasePath )
68             throws FileNotFoundException, IOException
69     {
70         helpindexer.addToZipRecursively( zos , aFile , aBasePath );
71     }
72 
deleteRecursively( File aFile )73     static public boolean deleteRecursively( File aFile )
74     {
75         return helpindexer.deleteRecursively( aFile );
76     }
77 
78     //===================================================
79     // XInvocation
getIntrospection()80     public XIntrospectionAccess getIntrospection()
81     {
82         return  null;
83     }
84 
invoke( String aFunctionName, java.lang.Object[] aParams, short[][] aOutParamIndex, java.lang.Object[][] aOutParam )85     public Object invoke( String aFunctionName, java.lang.Object[] aParams,
86         short[][] aOutParamIndex, java.lang.Object[][] aOutParam )
87             throws  com.sun.star.lang.IllegalArgumentException,
88                     com.sun.star.script.CannotConvertException,
89                     com.sun.star.reflection.InvocationTargetException
90     {
91         if(
92               !aFunctionName.equals( aCreateIndexMethodName  ) )
93             throw new com.sun.star.lang.IllegalArgumentException();
94 
95         aOutParamIndex[0] = new short[0];
96         aOutParam[0] = new Object[0];
97 
98         int nParamCount = aParams.length;
99         String aStrs[] = new String[nParamCount];
100         for( int i = 0 ; i < nParamCount ; i++ )
101         {
102             try
103             {
104                 aStrs[i] = AnyConverter.toString( aParams[i] );
105             }
106             catch( IllegalArgumentException e )
107             {
108                 aStrs[i] = "";
109             }
110         }
111 
112         boolean bExtensionMode = true;
113         mainImpl( aStrs, bExtensionMode );
114 
115         return null;
116     }
117 
setValue( String aPropertyName, java.lang.Object aValue )118     public void setValue( String aPropertyName, java.lang.Object aValue )
119         throws  com.sun.star.beans.UnknownPropertyException,
120                 com.sun.star.script.CannotConvertException,
121                 com.sun.star.reflection.InvocationTargetException
122     {
123         throw new com.sun.star.beans.UnknownPropertyException();
124     }
125 
getValue( String aPropertyName )126     public Object getValue( String aPropertyName )
127         throws com.sun.star.beans.UnknownPropertyException
128     {
129         throw new com.sun.star.beans.UnknownPropertyException();
130     }
131 
hasMethod( String aMethodName )132     public boolean hasMethod( String aMethodName )
133     {
134         boolean bRet = (aMethodName.equals( aCreateIndexMethodName ) );
135         return bRet;
136     }
hasProperty( String aName )137     public boolean hasProperty( String aName ) {
138         return false;
139     }
140 
141 
142 
143     /** This method returns an array of all supported service names.
144      * @return Array of supported service names.
145      */
getSupportedServiceNames()146     public String[] getSupportedServiceNames()
147     {
148         return getServiceNames();
149     }
150 
151     /** This method is a simple helper function to used in the
152      * static component initialisation functions as well as in
153      * getSupportedServiceNames.
154      */
getServiceNames()155     public static String[] getServiceNames()
156     {
157         String[] sSupportedServiceNames = { __serviceName };
158         return sSupportedServiceNames;
159     }
160 
161 
162     /** This method returns true, if the given service will be
163      * supported by the component.
164      * @param sServiceName Service name.
165      * @return True, if the given service name will be supported.
166      */
supportsService( String sServiceName )167     public boolean supportsService( String sServiceName )
168     {
169         return sServiceName.equals( __serviceName );
170     }
171 
172 
173     /** Return the class name of the component.
174      * @return Class name of the component.
175      */
getImplementationName()176     public String getImplementationName()
177     {
178         return  HelpIndexer.class.getName();
179     }
180 
181 }
182 
183