| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| package com.sun.star.filter.config.tools.split; |
| |
| //_______________________________________________ |
| |
| import java.lang.*; |
| import java.util.*; |
| import java.io.*; |
| import com.sun.star.filter.config.tools.utils.*; |
| |
| //_______________________________________________ |
| |
| /** |
| * Implements a simple command line tool, which can read a given xml |
| * configuration file of the filter configuration, analyze it |
| * and split it into different xml fragments. |
| * All parameters of this process can be given by a configuration file. |
| * |
| * |
| */ |
| public class FCFGSplit |
| { |
| //___________________________________________ |
| // private const |
| |
| /** specify the command line parameter to set the debug level for this app. */ |
| private static final java.lang.String CMD_DEBUG = "debug" ; |
| |
| /** specify the command line parameter to set a configuration file for this app. */ |
| private static final java.lang.String CMD_CONFIG = "config"; |
| |
| /** The following strings are used as property names of |
| * the configuration file we need here. |
| * |
| * @seealso readCfg() |
| */ |
| |
| private static final java.lang.String CFGKEY_XMLFILE = "xmlfile" ; |
| private static final java.lang.String CFGKEY_INFORMAT = "informat" ; |
| private static final java.lang.String CFGKEY_OUTFORMAT = "outformat" ; |
| private static final java.lang.String CFGKEY_INENCODING = "inencoding" ; |
| private static final java.lang.String CFGKEY_OUTENCODING = "outencoding" ; |
| private static final java.lang.String CFGKEY_OUTDIR = "outdir" ; |
| private static final java.lang.String CFGKEY_FRAGMENT_EXTENSION = "fragment_extension" ; |
| private static final java.lang.String CFGKEY_CREATE_COMBINE_FILTER_FLAG = "create_combine_filter_flag" ; |
| private static final java.lang.String CFGKEY_REMOVE_FILTER_FLAG_BROWSERPREFERRED = "remove_filter_flag_browserpreferred" ; |
| private static final java.lang.String CFGKEY_REMOVE_FILTER_FLAG_PREFERRED = "remove_filter_flag_preferred" ; |
| private static final java.lang.String CFGKEY_REMOVE_FILTER_FLAG_3RDPARTY = "remove_filter_flag_3rdparty" ; |
| private static final java.lang.String CFGKEY_REMOVE_FILTER_UINAMES = "remove_filter_uinames" ; |
| private static final java.lang.String CFGKEY_REMOVE_GRAPHIC_FILTERS = "remove_graphic_filters" ; |
| private static final java.lang.String CFGKEY_SET_DEFAULT_DETECTOR = "set_default_detector" ; |
| |
| private static final java.lang.String CFGKEY_SUBDIR_TYPES = "subdir_types" ; |
| private static final java.lang.String CFGKEY_SUBDIR_FILTERS = "subdir_filters" ; |
| private static final java.lang.String CFGKEY_SUBDIR_DETECTSERVICES = "subdir_detectservices" ; |
| private static final java.lang.String CFGKEY_SUBDIR_FRAMELOADERS = "subdir_frameloaders" ; |
| private static final java.lang.String CFGKEY_SUBDIR_CONTENTHANDLERS = "subdir_contenthandlers" ; |
| |
| private static final java.lang.String CFGKEY_SEPERATE_FILTERS_BY_MODULE = "seperate_filters_by_module" ; |
| |
| private static final java.lang.String CFGKEY_SUBDIR_MODULE_SWRITER = "subdir_module_swriter" ; |
| private static final java.lang.String CFGKEY_SUBDIR_MODULE_SWEB = "subdir_module_sweb" ; |
| private static final java.lang.String CFGKEY_SUBDIR_MODULE_SGLOBAL = "subdir_module_sglobal" ; |
| private static final java.lang.String CFGKEY_SUBDIR_MODULE_SCALC = "subdir_module_scalc" ; |
| private static final java.lang.String CFGKEY_SUBDIR_MODULE_SDRAW = "subdir_module_sdraw" ; |
| private static final java.lang.String CFGKEY_SUBDIR_MODULE_SIMPRESS = "subdir_module_simpress" ; |
| private static final java.lang.String CFGKEY_SUBDIR_MODULE_SMATH = "subdir_module_smath" ; |
| private static final java.lang.String CFGKEY_SUBDIR_MODULE_SCHART = "subdir_module_schart" ; |
| private static final java.lang.String CFGKEY_SUBDIR_MODULE_OTHERS = "subdir_module_others" ; |
| |
| /** The following strings are used as property default |
| * values if a configuration key does not exist. |
| * It must be a string value, because the class java.util.Properties |
| * accept it as the only type. But of course the value must be |
| * convertable to the right target type. |
| * |
| * @seealso readCfg() |
| */ |
| |
| private static final java.lang.String DEFAULT_XMLFILE = ".//TypeDetection.xcu" ; |
| private static final java.lang.String DEFAULT_INFORMAT = "6.0" ; |
| private static final java.lang.String DEFAULT_OUTFORMAT = "6.Y" ; |
| private static final java.lang.String DEFAULT_INENCODING = "UTF-8" ; |
| private static final java.lang.String DEFAULT_OUTENCODING = "UTF-8" ; |
| private static final java.lang.String DEFAULT_OUTDIR = ".//temp" ; |
| private static final java.lang.String DEFAULT_FRAGMENT_EXTENSION = ".xcu" ; |
| private static final java.lang.String DEFAULT_CREATE_COMBINE_FILTER_FLAG = "false" ; |
| private static final java.lang.String DEFAULT_REMOVE_FILTER_FLAG_BROWSERPREFERRED = "false" ; |
| private static final java.lang.String DEFAULT_REMOVE_FILTER_FLAG_PREFERRED = "false" ; |
| private static final java.lang.String DEFAULT_REMOVE_FILTER_FLAG_3RDPARTY = "false" ; |
| private static final java.lang.String DEFAULT_REMOVE_FILTER_UINAMES = "false" ; |
| private static final java.lang.String DEFAULT_REMOVE_GRAPHIC_FILTERS = "false" ; |
| private static final java.lang.String DEFAULT_SET_DEFAULT_DETECTOR = "false" ; |
| |
| private static final java.lang.String DEFAULT_SUBDIR_TYPES = "Types" ; |
| private static final java.lang.String DEFAULT_SUBDIR_FILTERS = "Filters" ; |
| private static final java.lang.String DEFAULT_SUBDIR_DETECTSERVICES = "DetectServices" ; |
| private static final java.lang.String DEFAULT_SUBDIR_FRAMELOADERS = "FrameLoaders" ; |
| private static final java.lang.String DEFAULT_SUBDIR_CONTENTHANDLERS = "ContentHandlers" ; |
| |
| private static final java.lang.String DEFAULT_SEPERATE_FILTERS_BY_MODULE = "false" ; |
| |
| private static final java.lang.String DEFAULT_SUBDIR_MODULE_SWRITER = "SWriter" ; |
| private static final java.lang.String DEFAULT_SUBDIR_MODULE_SWEB = "SWeb" ; |
| private static final java.lang.String DEFAULT_SUBDIR_MODULE_SGLOBAL = "SGlobal" ; |
| private static final java.lang.String DEFAULT_SUBDIR_MODULE_SCALC = "SCalc" ; |
| private static final java.lang.String DEFAULT_SUBDIR_MODULE_SDRAW = "SDraw" ; |
| private static final java.lang.String DEFAULT_SUBDIR_MODULE_SIMPRESS = "SImpress" ; |
| private static final java.lang.String DEFAULT_SUBDIR_MODULE_SMATH = "SMath" ; |
| private static final java.lang.String DEFAULT_SUBDIR_MODULE_SCHART = "SChart" ; |
| private static final java.lang.String DEFAULT_SUBDIR_MODULE_OTHERS = "Others" ; |
| |
| //___________________________________________ |
| // private member |
| |
| /** contains the name of the reading xcu file. */ |
| private static java.lang.String m_sXMLFile; |
| |
| /** specify the xml file format, which must be interpreted at reading time. */ |
| private static int m_nInFormat; |
| |
| /** specify the xml file format, which must be used |
| * to generate all xcu fragments. */ |
| private static int m_nOutFormat; |
| |
| /** specify the file encoding for reading. */ |
| private static java.lang.String m_sInEncoding; |
| |
| /** specify the file encoding for writing fragments. */ |
| private static java.lang.String m_sOutEncoding; |
| |
| /** specify the target directory, where all results of this |
| * process can be generated. |
| * Note: May it will be cleared! */ |
| private static java.lang.String m_sOutDir; |
| |
| /** can be used to generate some output on the console. */ |
| private static Logger m_aDebug; |
| |
| /** contains the file extension for all generated xml fragments. */ |
| private static java.lang.String m_sFragmentExtension; |
| |
| /** specify the sub directory to generate type fragments. |
| * Its meaned relativ to m_sOutDir. */ |
| private static java.lang.String m_sSubDirTypes; |
| |
| /** specify the sub directory to generate filter fragments. |
| * Its meaned relativ to m_sOutDir. */ |
| private static java.lang.String m_sSubDirFilters; |
| |
| /** specify the sub directory to generate detect service fragments. |
| * Its meaned relativ to m_sOutDir. */ |
| private static java.lang.String m_sSubDirDetectServices; |
| |
| /** specify the sub directory to generate frame loader fragments. |
| * Its meaned relativ to m_sOutDir. */ |
| private static java.lang.String m_sSubDirFrameLoaders; |
| |
| /** specify the sub directory to generate content handler fragments. |
| * Its meaned relativ to m_sOutDir. */ |
| private static java.lang.String m_sSubDirContentHandlers; |
| |
| /** enable/disable generating of filter groups - seperated by |
| * application modules. */ |
| private static boolean m_bSeperateFiltersByModule; |
| |
| /** specify the sub directory to generate filter groups |
| * for the module writer. Will be used only, |
| * if m_bSeperateFiltersByModule is set to TRUE.*/ |
| private static java.lang.String m_sSubDirModuleSWriter; |
| |
| /** specify the sub directory to generate filter groups |
| * for the module writer/web. Will be used only, |
| * if m_bSeperateFiltersByModule is set to TRUE.*/ |
| private static java.lang.String m_sSubDirModuleSWeb; |
| |
| /** specify the sub directory to generate filter groups |
| * for the module writer/global. Will be used only, |
| * if m_bSeperateFiltersByModule is set to TRUE.*/ |
| private static java.lang.String m_sSubDirModuleSGlobal; |
| |
| /** specify the sub directory to generate filter groups |
| * for the module calc. Will be used only, |
| * if m_bSeperateFiltersByModule is set to TRUE.*/ |
| private static java.lang.String m_sSubDirModuleSCalc; |
| |
| /** specify the sub directory to generate filter groups |
| * for the module draw. Will be used only, |
| * if m_bSeperateFiltersByModule is set to TRUE.*/ |
| private static java.lang.String m_sSubDirModuleSDraw; |
| |
| /** specify the sub directory to generate filter groups |
| * for the module impress. Will be used only, |
| * if m_bSeperateFiltersByModule is set to TRUE.*/ |
| private static java.lang.String m_sSubDirModuleSImpress; |
| |
| /** specify the sub directory to generate filter groups |
| * for the module math. Will be used only, |
| * if m_bSeperateFiltersByModule is set to TRUE.*/ |
| private static java.lang.String m_sSubDirModuleSMath; |
| |
| /** specify the sub directory to generate filter groups |
| * for the module chart. Will be used only, |
| * if m_bSeperateFiltersByModule is set to TRUE.*/ |
| private static java.lang.String m_sSubDirModuleSChart; |
| |
| /** specify the sub directory to generate filter groups |
| * for unknown modules - e.g. the graphic filters. |
| * Will be used only, if m_bSeperateFiltersByModule |
| * is set to TRUE.*/ |
| private static java.lang.String m_sSubDirModuleOthers; |
| |
| private static boolean m_bCreateCombineFilterFlag; |
| private static boolean m_bRemoveFilterFlagBrowserPreferred; |
| private static boolean m_bRemoveFilterFlagPreferred; |
| private static boolean m_bRemoveFilterFlag3rdparty; |
| private static boolean m_bRemoveFilterUINames; |
| private static boolean m_bRemoveGraphicFilters; |
| private static boolean m_bSetDefaultDetector; |
| |
| //___________________________________________ |
| // main |
| |
| /** main. |
| * |
| * Analyze the command line arguments, load the configuration file, |
| * fill a cache from the specified xml file and generate all |
| * needed xml fragments inside the specified output directory. |
| * |
| * @param lArgs |
| * contains the command line arguments. |
| */ |
| public static void main(java.lang.String[] lArgs) |
| { |
| long t_start = System.currentTimeMillis(); |
| |
| // must be :-) |
| FCFGSplit.printCopyright(); |
| // can be used as exit code |
| int nErr = 0; |
| |
| // -------------------------------------------------------------------- |
| // analyze command line parameter |
| ConfigHelper aCmdLine = null; |
| try |
| { |
| aCmdLine = new ConfigHelper("com/sun/star/filter/config/tools/split/FCFGSplit.cfg", lArgs); |
| } |
| catch(java.lang.Throwable exCmdLine) |
| { |
| exCmdLine.printStackTrace(); |
| FCFGSplit.printHelp(); |
| System.exit(--nErr); |
| } |
| |
| // -------------------------------------------------------------------- |
| // help requested? |
| if (aCmdLine.isHelp()) |
| { |
| FCFGSplit.printHelp(); |
| System.exit(--nErr); |
| } |
| |
| // -------------------------------------------------------------------- |
| // initialize an output channel for errors/warnings etc. |
| int nLevel = aCmdLine.getInt(CMD_DEBUG, Logger.LEVEL_DETAILEDINFOS); |
| m_aDebug = new Logger(nLevel); |
| try |
| { |
| FCFGSplit.readCfg(aCmdLine); |
| } |
| catch(java.lang.Exception exCfgLoad) |
| { |
| m_aDebug.setException(exCfgLoad); |
| System.exit(--nErr); |
| } |
| |
| // -------------------------------------------------------------------- |
| // check if the required resources exists |
| java.io.File aXMLFile = new java.io.File(m_sXMLFile); |
| if (!aXMLFile.exists() || !aXMLFile.isFile()) |
| { |
| m_aDebug.setError("The specified xml file \""+aXMLFile.getPath()+"\" does not exist or seems not to be a simple file."); |
| System.exit(--nErr); |
| } |
| |
| java.io.File aOutDir = new java.io.File(m_sOutDir); |
| if (!aOutDir.exists() || !aOutDir.isDirectory()) |
| { |
| m_aDebug.setError("The specified directory \""+aOutDir.getPath()+"\" does not exist or seems not to be a directory."); |
| System.exit(--nErr); |
| } |
| |
| if (m_nInFormat == Cache.FORMAT_UNSUPPORTED) |
| { |
| m_aDebug.setError("The specified xml format for input is not supported."); |
| System.exit(--nErr); |
| } |
| |
| if (m_nOutFormat == Cache.FORMAT_UNSUPPORTED) |
| { |
| m_aDebug.setError("The specified xml format for output is not supported."); |
| System.exit(--nErr); |
| } |
| |
| // -------------------------------------------------------------------- |
| // load the xml file |
| m_aDebug.setGlobalInfo("loading xml file \""+aXMLFile.getPath()+"\" ..."); |
| long t_load_start = System.currentTimeMillis(); |
| Cache aCache = new Cache(m_aDebug); |
| try |
| { |
| aCache.fromXML(aXMLFile, m_nInFormat); |
| } |
| catch(java.lang.Throwable exLoad) |
| { |
| m_aDebug.setException(exLoad); |
| System.exit(--nErr); |
| } |
| long t_load_end = System.currentTimeMillis(); |
| |
| // -------------------------------------------------------------------- |
| // validate the content, fix some problems and convert it to the output format |
| m_aDebug.setGlobalInfo("validate and transform to output format ..."); |
| long t_transform_start = System.currentTimeMillis(); |
| try |
| { |
| aCache.validate(m_nInFormat); |
| if ( |
| (m_nInFormat == Cache.FORMAT_60) && |
| (m_nOutFormat == Cache.FORMAT_6Y) |
| ) |
| { |
| aCache.transform60to6Y(m_bCreateCombineFilterFlag , |
| m_bRemoveFilterFlagBrowserPreferred, |
| m_bRemoveFilterFlagPreferred , |
| m_bRemoveFilterFlag3rdparty , |
| m_bRemoveFilterUINames , |
| m_bRemoveGraphicFilters , |
| m_bSetDefaultDetector ); |
| } |
| aCache.validate(m_nOutFormat); |
| } |
| catch(java.lang.Throwable exTransform) |
| { |
| m_aDebug.setException(exTransform); |
| System.exit(--nErr); |
| } |
| long t_transform_end = System.currentTimeMillis(); |
| |
| // -------------------------------------------------------------------- |
| // generate all xml fragments |
| m_aDebug.setGlobalInfo("generate xml fragments into directory \""+aOutDir.getPath()+"\" ..."); |
| long t_split_start = System.currentTimeMillis(); |
| try |
| { |
| SplitterData aDataSet = new SplitterData(); |
| aDataSet.m_aDebug = m_aDebug ; |
| aDataSet.m_aCache = aCache ; |
| aDataSet.m_nFormat = m_nOutFormat ; |
| aDataSet.m_sEncoding = m_sOutEncoding ; |
| aDataSet.m_bSeperateFiltersByModule = m_bSeperateFiltersByModule; |
| aDataSet.m_sFragmentExtension = m_sFragmentExtension ; |
| aDataSet.m_aOutDir = aOutDir ; |
| |
| aDataSet.m_aFragmentDirTypes = new java.io.File(aOutDir, m_sSubDirTypes ); |
| aDataSet.m_aFragmentDirFilters = new java.io.File(aOutDir, m_sSubDirFilters ); |
| aDataSet.m_aFragmentDirDetectServices = new java.io.File(aOutDir, m_sSubDirDetectServices ); |
| aDataSet.m_aFragmentDirFrameLoaders = new java.io.File(aOutDir, m_sSubDirFrameLoaders ); |
| aDataSet.m_aFragmentDirContentHandlers = new java.io.File(aOutDir, m_sSubDirContentHandlers); |
| |
| if (m_bSeperateFiltersByModule) |
| { |
| aDataSet.m_aFragmentDirModuleSWriter = new java.io.File(aDataSet.m_aFragmentDirFilters, m_sSubDirModuleSWriter ); |
| aDataSet.m_aFragmentDirModuleSWeb = new java.io.File(aDataSet.m_aFragmentDirFilters, m_sSubDirModuleSWeb ); |
| aDataSet.m_aFragmentDirModuleSGlobal = new java.io.File(aDataSet.m_aFragmentDirFilters, m_sSubDirModuleSGlobal ); |
| aDataSet.m_aFragmentDirModuleSCalc = new java.io.File(aDataSet.m_aFragmentDirFilters, m_sSubDirModuleSCalc ); |
| aDataSet.m_aFragmentDirModuleSDraw = new java.io.File(aDataSet.m_aFragmentDirFilters, m_sSubDirModuleSDraw ); |
| aDataSet.m_aFragmentDirModuleSImpress = new java.io.File(aDataSet.m_aFragmentDirFilters, m_sSubDirModuleSImpress); |
| aDataSet.m_aFragmentDirModuleSMath = new java.io.File(aDataSet.m_aFragmentDirFilters, m_sSubDirModuleSMath ); |
| aDataSet.m_aFragmentDirModuleSChart = new java.io.File(aDataSet.m_aFragmentDirFilters, m_sSubDirModuleSChart ); |
| aDataSet.m_aFragmentDirModuleOthers = new java.io.File(aDataSet.m_aFragmentDirFilters, m_sSubDirModuleOthers ); |
| } |
| else |
| { |
| aDataSet.m_aFragmentDirModuleSWriter = aDataSet.m_aFragmentDirFilters; |
| aDataSet.m_aFragmentDirModuleSWeb = aDataSet.m_aFragmentDirFilters; |
| aDataSet.m_aFragmentDirModuleSGlobal = aDataSet.m_aFragmentDirFilters; |
| aDataSet.m_aFragmentDirModuleSCalc = aDataSet.m_aFragmentDirFilters; |
| aDataSet.m_aFragmentDirModuleSDraw = aDataSet.m_aFragmentDirFilters; |
| aDataSet.m_aFragmentDirModuleSImpress = aDataSet.m_aFragmentDirFilters; |
| aDataSet.m_aFragmentDirModuleSMath = aDataSet.m_aFragmentDirFilters; |
| aDataSet.m_aFragmentDirModuleSChart = aDataSet.m_aFragmentDirFilters; |
| aDataSet.m_aFragmentDirModuleOthers = aDataSet.m_aFragmentDirFilters; |
| } |
| |
| Splitter aSplitter = new Splitter(aDataSet); |
| aSplitter.split(); |
| } |
| catch(java.lang.Throwable exSplit) |
| { |
| m_aDebug.setException(exSplit); |
| System.exit(--nErr); |
| } |
| long t_split_end = System.currentTimeMillis(); |
| |
| // -------------------------------------------------------------------- |
| // generate some special views |
| m_aDebug.setGlobalInfo("generate views and statistics ..."); |
| long t_statistics_start = System.currentTimeMillis(); |
| try |
| { |
| aCache.analyze(); |
| aCache.toHTML(aOutDir, m_nOutFormat, m_sOutEncoding); |
| m_aDebug.setDetailedInfo(aCache.getStatistics()); |
| } |
| catch(java.lang.Throwable exStatistics) |
| { |
| m_aDebug.setException(exStatistics); |
| System.exit(--nErr); |
| } |
| long t_statistics_end = System.currentTimeMillis(); |
| |
| // -------------------------------------------------------------------- |
| // analyze some time stamps |
| long t_end = System.currentTimeMillis(); |
| |
| java.lang.StringBuffer sTimes = new java.lang.StringBuffer(100); |
| sTimes.append("Needed times:\n" ); |
| sTimes.append("t [all]\t\t=\t" ); |
| sTimes.append(t_end-t_start ); |
| sTimes.append(" ms\n" ); |
| sTimes.append("t [load]\t=\t" ); |
| sTimes.append(t_load_end-t_load_start ); |
| sTimes.append(" ms\n" ); |
| sTimes.append("t [transform]\t=\t" ); |
| sTimes.append(t_transform_end-t_transform_start ); |
| sTimes.append(" ms\n" ); |
| sTimes.append("t [split]\t=\t" ); |
| sTimes.append(t_split_end-t_split_start ); |
| sTimes.append(" ms\n" ); |
| sTimes.append("t [statistics]\t=\t" ); |
| sTimes.append(t_statistics_end-t_statistics_start); |
| sTimes.append(" ms\n" ); |
| m_aDebug.setDetailedInfo(sTimes.toString()); |
| |
| // everyting seems to be ok. |
| // Return "OK" to calli. |
| m_aDebug.setGlobalInfo("Finish."); |
| System.exit(0); |
| } |
| |
| //___________________________________________ |
| |
| /** read the configuration file. |
| * |
| * @param aCfg |
| * contains the content of the |
| * loaded configuration file. |
| */ |
| private static void readCfg(java.util.Properties aCfg) |
| { |
| m_sXMLFile = aCfg.getProperty(CFGKEY_XMLFILE , DEFAULT_XMLFILE ); |
| |
| m_sInEncoding = aCfg.getProperty(CFGKEY_INENCODING , DEFAULT_INENCODING ); |
| m_sOutEncoding = aCfg.getProperty(CFGKEY_OUTENCODING , DEFAULT_OUTENCODING ); |
| m_sOutDir = aCfg.getProperty(CFGKEY_OUTDIR , DEFAULT_OUTDIR ); |
| m_sFragmentExtension = aCfg.getProperty(CFGKEY_FRAGMENT_EXTENSION , DEFAULT_FRAGMENT_EXTENSION ); |
| |
| m_sSubDirTypes = aCfg.getProperty(CFGKEY_SUBDIR_TYPES , DEFAULT_SUBDIR_TYPES ); |
| m_sSubDirFilters = aCfg.getProperty(CFGKEY_SUBDIR_FILTERS , DEFAULT_SUBDIR_FILTERS ); |
| m_sSubDirDetectServices = aCfg.getProperty(CFGKEY_SUBDIR_DETECTSERVICES , DEFAULT_SUBDIR_DETECTSERVICES ); |
| m_sSubDirFrameLoaders = aCfg.getProperty(CFGKEY_SUBDIR_FRAMELOADERS , DEFAULT_SUBDIR_FRAMELOADERS ); |
| m_sSubDirContentHandlers = aCfg.getProperty(CFGKEY_SUBDIR_CONTENTHANDLERS , DEFAULT_SUBDIR_CONTENTHANDLERS ); |
| |
| m_sSubDirModuleSWriter = aCfg.getProperty(CFGKEY_SUBDIR_MODULE_SWRITER , DEFAULT_SUBDIR_MODULE_SWRITER ); |
| m_sSubDirModuleSWeb = aCfg.getProperty(CFGKEY_SUBDIR_MODULE_SWEB , DEFAULT_SUBDIR_MODULE_SWEB ); |
| m_sSubDirModuleSGlobal = aCfg.getProperty(CFGKEY_SUBDIR_MODULE_SGLOBAL , DEFAULT_SUBDIR_MODULE_SGLOBAL ); |
| m_sSubDirModuleSCalc = aCfg.getProperty(CFGKEY_SUBDIR_MODULE_SCALC , DEFAULT_SUBDIR_MODULE_SCALC ); |
| m_sSubDirModuleSDraw = aCfg.getProperty(CFGKEY_SUBDIR_MODULE_SDRAW , DEFAULT_SUBDIR_MODULE_SDRAW ); |
| m_sSubDirModuleSImpress = aCfg.getProperty(CFGKEY_SUBDIR_MODULE_SIMPRESS , DEFAULT_SUBDIR_MODULE_SIMPRESS ); |
| m_sSubDirModuleSMath = aCfg.getProperty(CFGKEY_SUBDIR_MODULE_SMATH , DEFAULT_SUBDIR_MODULE_SMATH ); |
| m_sSubDirModuleSChart = aCfg.getProperty(CFGKEY_SUBDIR_MODULE_SCHART , DEFAULT_SUBDIR_MODULE_SCHART ); |
| m_sSubDirModuleOthers = aCfg.getProperty(CFGKEY_SUBDIR_MODULE_OTHERS , DEFAULT_SUBDIR_MODULE_OTHERS ); |
| |
| m_bSeperateFiltersByModule = new java.lang.Boolean(aCfg.getProperty(CFGKEY_SEPERATE_FILTERS_BY_MODULE , DEFAULT_SEPERATE_FILTERS_BY_MODULE )).booleanValue(); |
| m_bCreateCombineFilterFlag = new java.lang.Boolean(aCfg.getProperty(CFGKEY_CREATE_COMBINE_FILTER_FLAG , DEFAULT_CREATE_COMBINE_FILTER_FLAG )).booleanValue(); |
| m_bRemoveFilterFlagBrowserPreferred = new java.lang.Boolean(aCfg.getProperty(CFGKEY_REMOVE_FILTER_FLAG_BROWSERPREFERRED, DEFAULT_REMOVE_FILTER_FLAG_BROWSERPREFERRED)).booleanValue(); |
| m_bRemoveFilterFlagPreferred = new java.lang.Boolean(aCfg.getProperty(CFGKEY_REMOVE_FILTER_FLAG_PREFERRED , DEFAULT_REMOVE_FILTER_FLAG_PREFERRED )).booleanValue(); |
| m_bRemoveFilterFlag3rdparty = new java.lang.Boolean(aCfg.getProperty(CFGKEY_REMOVE_FILTER_FLAG_3RDPARTY , DEFAULT_REMOVE_FILTER_FLAG_3RDPARTY )).booleanValue(); |
| m_bRemoveFilterUINames = new java.lang.Boolean(aCfg.getProperty(CFGKEY_REMOVE_FILTER_UINAMES , DEFAULT_REMOVE_FILTER_UINAMES )).booleanValue(); |
| m_bRemoveGraphicFilters = new java.lang.Boolean(aCfg.getProperty(CFGKEY_REMOVE_GRAPHIC_FILTERS , DEFAULT_REMOVE_GRAPHIC_FILTERS )).booleanValue(); |
| m_bSetDefaultDetector = new java.lang.Boolean(aCfg.getProperty(CFGKEY_SET_DEFAULT_DETECTOR , DEFAULT_SET_DEFAULT_DETECTOR )).booleanValue(); |
| |
| java.lang.String sFormat = aCfg.getProperty(CFGKEY_INFORMAT, DEFAULT_INFORMAT); |
| m_nInFormat = Cache.mapFormatString2Format(sFormat); |
| |
| sFormat = aCfg.getProperty(CFGKEY_OUTFORMAT, DEFAULT_OUTFORMAT); |
| m_nOutFormat = Cache.mapFormatString2Format(sFormat); |
| } |
| |
| //___________________________________________ |
| |
| /** prints out a copyright message on stdout. |
| */ |
| private static void printCopyright() |
| { |
| java.lang.StringBuffer sOut = new java.lang.StringBuffer(256); |
| sOut.append("FCFGSplit\n"); |
| sOut.append("Copyright: 2000 by Sun Microsystems, Inc.\n"); |
| sOut.append("All Rights Reserved.\n"); |
| System.out.println(sOut.toString()); |
| } |
| |
| //___________________________________________ |
| |
| /** prints out a help message on stdout. |
| */ |
| private static void printHelp() |
| { |
| java.lang.StringBuffer sOut = new java.lang.StringBuffer(1000); |
| sOut.append("_______________________________________________________________________________\n\n" ); |
| sOut.append("usage: FCFGSplit "+CMD_CONFIG+"=<file name> "+CMD_DEBUG+"=<level>\n" ); |
| sOut.append("parameters:\n" ); |
| sOut.append("\t-help\n" ); |
| sOut.append("\t\tshow this little help.\n\n" ); |
| sOut.append("\t"+CMD_CONFIG+"=<file name>\n" ); |
| sOut.append("\t\tspecify the configuration file.\n\n" ); |
| sOut.append("\t"+CMD_DEBUG+"=<level>\n" ); |
| sOut.append("\t\tprints out some debug messages.\n" ); |
| sOut.append("\t\tlevel=[0..4]\n" ); |
| sOut.append("\t\t0 => no debug messages\n" ); |
| sOut.append("\t\t1 => print out errors only\n" ); |
| sOut.append("\t\t2 => print out errors & warnings\n" ); |
| sOut.append("\t\t3 => print out some global actions (e.g. load file ...)\n" ); |
| sOut.append("\t\t4 => print out more detailed actions (e.g. load item nr. xxx of file.)\n\n" ); |
| System.out.println(sOut.toString()); |
| } |
| } |