summaryrefslogtreecommitdiff
path: root/qadevOOo/runner/convwatch/GraphicalTestArguments.java
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/runner/convwatch/GraphicalTestArguments.java')
-rw-r--r--qadevOOo/runner/convwatch/GraphicalTestArguments.java744
1 files changed, 744 insertions, 0 deletions
diff --git a/qadevOOo/runner/convwatch/GraphicalTestArguments.java b/qadevOOo/runner/convwatch/GraphicalTestArguments.java
new file mode 100644
index 000000000000..72d732d3d8de
--- /dev/null
+++ b/qadevOOo/runner/convwatch/GraphicalTestArguments.java
@@ -0,0 +1,744 @@
+/*************************************************************************
+ *
+ * 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 convwatch;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import lib.TestParameters;
+import java.io.File;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * This class object is more a Helper or Controller.
+ * It stores information like:
+ * - How to create a document (with a OpenOffice.org method, or with MS Word, or with OpenOffice.org as pdf)
+ * - some more infos for OpenOffice.org method
+ * - a service factory pointer
+ * - if hidden mode should use
+ * - target name
+ *
+ * - printer name
+ *
+ * - how to handle .xml files, which in Microsoft could be Excel or Word documents
+ *
+ * HOWTO USE:
+ * For OOo,
+ * create an GraphicalTestArguments with a set of TestParameters
+ * GraphicalTestArguments a = new GraphicalTestArguments(params);
+ *
+ * If you wish to use pdf export instead of normal printer output, set also the reference type to 'pdf'
+ * a.setReferenceType("pdf");
+ *
+ *
+ * For MS Office:
+ * create an GraphicalTestArguments and set the reference type to 'msoffice'
+ * GraphicalTestArguments a = new GraphicalTestArguments(params);
+ * a.setReferenceType("msoffice");
+ *
+ * within windows it's better to set also a printer name so it's simply possible to use for normal work the default printer
+ * and for such tests with ConvWatch a extra printer.
+ * a.setPrinterName("CrossOffice Printer");
+ *
+ */
+
+public class GraphicalTestArguments
+{
+ /**
+ 2DO:
+ Possible reference types are currently
+ // ooo
+ // pdf
+ // msoffice
+ */
+ String m_sReferenceType = "OOo";
+
+ String m_sTargetFrameName = "_blank";
+
+ String m_sPrinterName = null;
+
+ // Hidden = true hiddes a used OpenOffice.org, all code is executed in the background
+ // This parameter is not used for RefType: msoffice
+ boolean m_bHidden = true;
+
+ String m_sDefaultXMLFormatApplication = null;
+
+ boolean m_bIncludeSubdirectories;
+
+ TestParameters m_aCurrentParams;
+
+ int m_nMaxPages = 0; // default is 0 (print all pages)
+ String m_sOnlyPage = ""; // default is "", there is no page which we want to print only.
+
+ int m_nResolutionInDPI = 0;
+
+ boolean m_bStoreFile = true;
+ boolean m_bResuseOffice = false;
+
+ boolean m_bDebugMode = false;
+
+ String m_sLeaveOutNames = null;
+
+ String m_sDistinct = null;
+
+ boolean m_bCreateDefaultReference = false;
+
+ // CONSTRUCTOR
+ private GraphicalTestArguments(){}
+
+ public GraphicalTestArguments(TestParameters param)
+ {
+ m_aCurrentParams = param;
+ // collect interesting information from the ComplexTestCase
+ // ....
+
+ // REFERENCE_TYPE ----------
+ String sReferenceType = (String)param.get( PropertyName.DOC_COMPARATOR_REFERENCE_TYPE );
+ if (sReferenceType == null || sReferenceType.length() == 0)
+ {
+ }
+ else
+ {
+ // log.println("found REFERENCE_TYPE " + sReferenceType );
+ setReferenceType(sReferenceType);
+ }
+
+ // PRINTER_NAME ----------
+ String sPrinterName = (String)param.get( PropertyName.DOC_COMPARATOR_PRINTER_NAME );
+ if (sPrinterName == null || sPrinterName.length() == 0)
+ {
+ }
+ else
+ {
+ // log.println("found PRINTER_NAME " + sPrinterName );
+ setPrinterName(sPrinterName);
+ }
+ // DEFAULT_XML_FORMAT_APP ------
+ String sDefaultXMLFormatApp = (String)param.get( PropertyName.DOC_COMPARATOR_DEFAULT_XML_FORMAT_APP );
+ if (sDefaultXMLFormatApp == null || sDefaultXMLFormatApp.length() == 0)
+ {
+ }
+ else
+ {
+ setDefaultXMLFormatApp(sDefaultXMLFormatApp);
+ }
+
+ m_bIncludeSubdirectories = true;
+ String sRECURSIVE = (String)param.get( PropertyName.DOC_COMPARATOR_INCLUDE_SUBDIRS );
+// TODO: I need to get the boolean value with get("name") because, if it is not given getBool() returns
+// with a default of 'false' which is not very helpful if the default should be 'true'
+// maybe a getBoolean("name", true) could be a better choise.
+ if (sRECURSIVE == null)
+ {
+ sRECURSIVE = "true";
+ }
+ if (sRECURSIVE.toLowerCase().equals("no") ||
+ sRECURSIVE.toLowerCase().equals("false"))
+ {
+ m_bIncludeSubdirectories = false;
+ }
+
+ // ----------------------------------------
+ m_nMaxPages = param.getInt( PropertyName.DOC_COMPARATOR_PRINT_MAX_PAGE );
+ m_sOnlyPage = (String)param.get(PropertyName.DOC_COMPARATOR_PRINT_ONLY_PAGE);
+
+ m_nResolutionInDPI = param.getInt( PropertyName.DOC_COMPARATOR_GFX_OUTPUT_DPI_RESOLUTION );
+ if (m_nResolutionInDPI == 0)
+ {
+ // 212 DPI is 1754 x 2474 pixel for DIN A4
+ m_nResolutionInDPI = 212;
+ }
+
+ // ----------------------------------------
+ String sImportFilterName = (String)param.get(PropertyName.DOC_CONVERTER_IMPORT_FILTER_NAME);
+ if (sImportFilterName != null && sImportFilterName.length() > 0)
+ {
+ // System.out.println("found " + PropertyName.DOC_CONVERTER_IMPORT_FILTER_NAME + " " + sImportFilterName );
+ m_sImportFilterName = sImportFilterName;
+
+ if (sImportFilterName.toLowerCase().equals("help"))
+ {
+ showInternalFilterName(sImportFilterName, getMultiServiceFactory() );
+ GlobalLogWriter.get().println("Must quit.");
+ }
+ }
+ // ----------------------------------------
+ String sExportFilterName = (String)param.get(PropertyName.DOC_CONVERTER_EXPORT_FILTER_NAME);
+ if (sExportFilterName != null && sExportFilterName.length() > 0)
+ {
+ // System.out.println("found " + PropertyName.DOC_CONVERTER_EXPORT_FILTER_NAME + " " + sExportFilterName );
+ m_sExportFilterName = sExportFilterName;
+ if (sExportFilterName.toLowerCase().equals("help"))
+ {
+ showInternalFilterName(sExportFilterName, getMultiServiceFactory() );
+ GlobalLogWriter.get().println("Must quit.");
+ }
+ }
+
+ // ----------------------------------------
+ String sOfficeProgram = (String)param.get(PropertyName.DOC_CONVERTER_OFFICE_PROGRAM);
+ if (sOfficeProgram != null && sOfficeProgram.length() > 0)
+ {
+ m_sOfficeProgram = sOfficeProgram;
+ }
+ // ----------------------------------------
+ String sREUSE_OFFICE = (String)param.get( PropertyName.DOC_CONVERTER_REUSE_OFFICE);
+ if (sREUSE_OFFICE == null)
+ {
+ sREUSE_OFFICE = "false";
+ }
+ if (sREUSE_OFFICE.toLowerCase().equals("yes") ||
+ sREUSE_OFFICE.toLowerCase().equals("true"))
+ {
+ m_bResuseOffice = true;
+ }
+ else
+ {
+ m_bResuseOffice = false;
+ }
+
+
+ String sHTMLOutputPrefix = (String)param.get( PropertyName.DOC_COMPARATOR_HTML_OUTPUT_PREFIX);
+ if (sHTMLOutputPrefix == null)
+ {
+ m_sHTMLOutputPrefix = "";
+ }
+ else
+ {
+ m_sHTMLOutputPrefix = sHTMLOutputPrefix;
+ }
+
+ String sWithBorderMove = (String)param.get( PropertyName.DOC_COMPARATOR_GFXCMP_WITH_BORDERMOVE);
+ if (sWithBorderMove == null)
+ {
+ sWithBorderMove = "";
+ // m_tWithBorderMove = TriState.UNSET;
+ m_tWithBorderMove = TriState.FALSE;
+ }
+ if (sWithBorderMove.toLowerCase().equals("yes") ||
+ sWithBorderMove.toLowerCase().equals("true"))
+ {
+ m_tWithBorderMove = TriState.TRUE;
+ }
+ else if (sWithBorderMove.toLowerCase().equals("no") ||
+ sWithBorderMove.toLowerCase().equals("false"))
+ {
+ m_tWithBorderMove = TriState.FALSE;
+ }
+ else
+ {
+ m_tWithBorderMove = TriState.FALSE;
+ // m_tWithBorderMove = TriState.UNSET;
+ }
+
+ String sLeaveOutNames = (String)param.get(PropertyName.DOC_COMPARATOR_LEAVE_OUT_FILES);
+ if (sLeaveOutNames != null)
+ {
+ m_sLeaveOutNames = sLeaveOutNames;
+ }
+
+ String sDBInfoString = (String)param.get(PropertyName.DOC_COMPARATOR_DB_INFO_STRING);
+ if (sDBInfoString != null)
+ {
+ m_sDBInfoString = sDBInfoString;
+ }
+
+ // DISTINCT ----------
+ String sDistinct = (String)param.get( "DISTINCT" );
+ if (sDistinct == null || sDistinct.length() == 0)
+ {
+ sDistinct = "";
+ }
+ else
+ {
+ m_sDistinct = sDistinct;
+ }
+ // HIDDEN
+ String sOfficeViewable = (String)param.get(PropertyName.OFFICE_VIEWABLE);
+ if (sOfficeViewable != null)
+ {
+ if (sOfficeViewable.toLowerCase().equals("yes") ||
+ sOfficeViewable.toLowerCase().equals("true"))
+ {
+ setViewable();
+ }
+ else
+ {
+ setHidden();
+ }
+ }
+ // CREATE_DEFAULT
+ String sCreateDefault = (String)param.get(PropertyName.CREATE_DEFAULT);
+ if (sCreateDefault != null)
+ {
+ if (sCreateDefault.toLowerCase().equals("yes") ||
+ sCreateDefault.toLowerCase().equals("true"))
+ {
+ m_bCreateDefaultReference = true;
+ }
+ else
+ {
+ m_bCreateDefaultReference = false;
+ }
+ }
+
+ }
+
+ public boolean checkIfUsableDocumentType(String _sName)
+ {
+ // @todo
+ // check if the name is in the leave out list and then return 'false'
+ if (_sName.toLowerCase().endsWith(".jpg") ||
+ _sName.toLowerCase().endsWith(".png") ||
+ _sName.toLowerCase().endsWith(".gif") ||
+ _sName.toLowerCase().endsWith(".bmp") ||
+ _sName.toLowerCase().endsWith(".prn") ||
+ _sName.toLowerCase().endsWith(".ps"))
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ static void showInternalFilterName(String _sFilterName, XMultiServiceFactory _xMSF)
+ {
+ if (_sFilterName.length() == 0)
+ {
+ // System.out.println("No FilterName set.");
+ return;
+ }
+
+ if (_xMSF == null)
+ {
+ GlobalLogWriter.get().println("MultiServiceFactory not set.");
+ return;
+ }
+ // XFilterFactory aFilterFactory = null;
+ Object aObj = null;
+ try
+ {
+ aObj = _xMSF.createInstance("com.sun.star.document.FilterFactory");
+ }
+ catch(com.sun.star.uno.Exception e)
+ {
+ GlobalLogWriter.get().println("Can't get com.sun.star.document.FilterFactory.");
+ return;
+ }
+ if (aObj != null)
+ {
+ XNameAccess aNameAccess = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, aObj);
+ if (aNameAccess != null)
+ {
+
+ if (_sFilterName.toLowerCase().equals("help"))
+ {
+ GlobalLogWriter.get().println("Show all possible ElementNames from current version." );
+ String[] aElementNames = aNameAccess.getElementNames();
+ for (int i = 0; i<aElementNames.length; i++)
+ {
+ GlobalLogWriter.get().println(aElementNames[i]);
+ }
+ }
+ }
+ }
+ }
+
+ /*
+ public GraphicalTestArguments(TestParameters param, Log xxx)
+ {
+ // collect interesting information from the ComplexTestCase
+ // ....
+ }
+ */
+
+ // set methods
+ public void setReferenceType(String _sType)
+ {
+ // special casse, null is not allowed, set to default.
+ if (_sType == null)
+ {
+ m_sReferenceType = "OOo";
+ }
+ else
+ {
+ m_sReferenceType = _sType;
+ }
+ }
+ public void setTargetFrameName(String _sTargetFrameName) {m_sTargetFrameName = _sTargetFrameName;}
+ public void setPrinterName(String _sName) {m_sPrinterName = _sName;}
+ public void setHidden() { m_bHidden = true;}
+ public void setViewable() {m_bHidden = false;}
+ public void setDefaultXMLFormatApp(String _sNameOfApp) {m_sDefaultXMLFormatApplication = _sNameOfApp;}
+
+ // get methods
+ public XMultiServiceFactory getMultiServiceFactory()
+ {
+ XMultiServiceFactory xMSF = (XMultiServiceFactory)m_aCurrentParams.getMSF();
+
+ // check if MultiServiceFactory is given
+ if (getReferenceType().toLowerCase().equals("pdf") ||
+ getReferenceType().toLowerCase().equals("ooo"))
+ {
+ if (xMSF == null)
+ {
+ GlobalLogWriter.get().println("ERROR! MultiServiceFactory not given.");
+ }
+ }
+ return xMSF;
+ }
+
+ public String getReferenceType() {return m_sReferenceType;}
+ public String getTargetFrameName() {return m_sTargetFrameName;}
+ public String getPrinterName() {return m_sPrinterName;}
+ public boolean isHidden() {return m_bHidden;}
+ public String getDefaultXMLFormatApp() {return m_sDefaultXMLFormatApplication;}
+
+
+ /**
+ * @return true, if subdirectories should run through
+ */
+ public boolean includeSubDirectories() {return m_bIncludeSubdirectories;}
+
+ /**
+ * @return the number of pages to be print
+ */
+ public int getMaxPages() {return m_nMaxPages;}
+
+ /**
+ * @return as string, which pages should be print, e.g. '1-4;6' here, page 1 to 4 and page 6.
+ */
+ public String getOnlyPages()
+ {
+ if (m_sOnlyPage == null)
+ {
+ return "";
+ }
+ return m_sOnlyPage;
+ }
+
+ /**
+ * @return true, if there should not print all pages at all, use getMaxPages() and or getOnlyPages() to get which pages to print
+ */
+ public boolean printAllPages()
+ {
+ if ( (getMaxPages() > 0) ||
+ (getOnlyPages().length() != 0))
+ {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * @return integer value, which contain resolution in DPI.
+ */
+ public int getResolutionInDPI() {return m_nResolutionInDPI;}
+
+ public static void checkIfMSWindowsConformPath(String _sPath)
+ {
+ if (_sPath != null && _sPath.length() > 1)
+ {
+ if (_sPath.charAt(1) == ':')
+ {
+ if (_sPath.charAt(2) != '\\')
+ {
+ GlobalLogWriter.get().println("This is not a Microsoft Windows conform path: '" + _sPath + "' please fix.");
+ System.exit(1);
+ }
+ }
+ }
+ }
+
+
+ /**
+ * @return the INPUT_PATH out of the TestParameters
+ */
+ public String getInputPath()
+ {
+ String sInputPath;
+ sInputPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_INPUT_PATH);
+ checkIfMSWindowsConformPath(sInputPath);
+ return sInputPath;
+ }
+ /**
+ * @return the OUTPUT_PATH out of the TestParameters
+ */
+ public String getOutputPath()
+ {
+ String sOutputPath;
+ sOutputPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_OUTPUT_PATH);
+ checkIfMSWindowsConformPath(sOutputPath);
+ return sOutputPath;
+ }
+ /**
+ * @return the REFERENCE_PATH out of the TestParameters
+ */
+ public String getReferencePath()
+ {
+ String sReferencePath;
+ sReferencePath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_REFERENCE_PATH);
+ checkIfMSWindowsConformPath(sReferencePath);
+ return sReferencePath;
+ }
+ /**
+ * @return the DIFF_PATH out of the TestParameters
+ */
+ public String getDiffPath()
+ {
+ String sDiffPath;
+ sDiffPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_DIFF_PATH);
+ checkIfMSWindowsConformPath(sDiffPath);
+ return sDiffPath;
+ }
+
+ public boolean getOverwrite()
+ {
+ boolean bOverwrite = m_aCurrentParams.getBool( PropertyName.DOC_COMPARATOR_OVERWRITE_REFERENCE);
+ return bOverwrite;
+ }
+ public String getReferenceInputPath()
+ {
+ String sReferenceInputPath;
+ sReferenceInputPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_REFERENCE_INPUT_PATH);
+ return sReferenceInputPath;
+ }
+
+ /**
+ * Helper function to get the buildid of the current used OpenOffice.org
+ * out of the AppExecutionCommand the build ID
+ */
+ public String getBuildID()
+ {
+ String sAPP = (String)m_aCurrentParams.get(util.PropertyName.APP_EXECUTION_COMMAND);
+ // return getBuildID(sAPP);
+// TODO: here we need the getBuildID(string) method
+ String sBuildID = convwatch.BuildID.getBuildID(sAPP);
+ return sBuildID;
+ }
+
+ public boolean shouldOfficeStart()
+ {
+ String sNoOffice = (String)m_aCurrentParams.get( "NoOffice" );
+ if (sNoOffice != null)
+ {
+ if (sNoOffice.toLowerCase().startsWith("t") || sNoOffice.toLowerCase().startsWith("y"))
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ // Handle for Reference Build ID, is set in ConvWatch.createPostscriptStartCheck()
+ private String m_sRefBuildID;
+
+ public void setRefBuildID(String _sRef)
+ {
+ m_sRefBuildID = _sRef;
+ }
+ public String getRefBuildID()
+ {
+ return m_sRefBuildID;
+ }
+
+ public void disallowStore()
+ {
+ m_bStoreFile = false;
+ }
+ public void allowStore()
+ {
+ m_bStoreFile = true;
+ }
+ public boolean isStoreAllowed()
+ {
+ return m_bStoreFile;
+ }
+ public boolean createDefaultReference()
+ {
+ return m_bCreateDefaultReference;
+ }
+
+
+ // get/set for FilterName
+ // get the right Filtername (internal Name) from
+ // http://framework.openoffice.org/files/documents/25/897/filter_description.html
+
+ String m_sImportFilterName = "";
+ String m_sExportFilterName = "";
+ public void setImportFilterName(String _sImportFilterName)
+ {
+ m_sImportFilterName = _sImportFilterName;
+ }
+ public String getImportFilterName()
+ {
+ return m_sImportFilterName;
+ }
+ public void setExportFilterName(String _sExportFilterName)
+ {
+ m_sExportFilterName = _sExportFilterName;
+ }
+ public String getExportFilterName()
+ {
+ return m_sExportFilterName;
+ }
+
+ String m_sOfficeProgram = "";
+ public void setOfficeProgram(String _sName)
+ {
+ m_sOfficeProgram = _sName;
+ }
+ public String getOfficeProgram()
+ {
+ return m_sOfficeProgram;
+ }
+
+ public boolean restartOffice()
+ {
+ if (m_bResuseOffice == false)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ String m_sHTMLOutputPrefix = "";
+ public String getHTMLOutputPrefix()
+ {
+ return m_sHTMLOutputPrefix;
+ }
+
+ TriState m_tWithBorderMove = TriState.UNSET;
+ // public TriState isBorderMove()
+ // {
+ // return m_tWithBorderMove;
+ // }
+ public TriState getBorderMove()
+ {
+ return m_tWithBorderMove;
+ }
+ public void setBorderMove(TriState _tBorderMove)
+ {
+ m_tWithBorderMove = _tBorderMove;
+ }
+
+ String m_sDocumentType = "";
+ public void setDocumentType(String _sName)
+ {
+ m_sDocumentType = _sName;
+ }
+ public String getDocumentType()
+ {
+ return m_sDocumentType;
+ }
+
+ /*
+ helper class for performance analyser features
+ */
+ PerformanceContainer m_aPerformanceContainer = null;
+ public PerformanceContainer getPerformance()
+ {
+ if (m_aPerformanceContainer == null)
+ {
+ m_aPerformanceContainer = new PerformanceContainer();
+ }
+ return m_aPerformanceContainer;
+ }
+
+ private String m_aInputFile;
+ public void setInputFile(String _sInputFile)
+ {
+ m_aInputFile = _sInputFile;
+ }
+ public String getInputFile()
+ {
+ return m_aInputFile;
+ }
+
+ private String m_sDBInfoString;
+ public String getDBInfoString()
+ {
+ if (m_sDBInfoString != null)
+ {
+ if (m_sDBInfoString.length() == 0)
+ {
+ return null;
+ }
+ }
+
+ return m_sDBInfoString;
+ }
+
+ public boolean cancelRequest()
+ {
+ File aCancelFile = null;
+ String fs;
+ fs = System.getProperty("file.separator");
+ String sTempPath = (String)m_aCurrentParams.get( PropertyName.TEMPPATH );
+ if (sTempPath != null)
+ {
+ String sGDC_Dir = sTempPath;
+
+ if (m_sDistinct.length() > 0)
+ {
+ sGDC_Dir = sGDC_Dir + fs + m_sDistinct;
+ }
+
+ String sCancelFile = sGDC_Dir + fs + "cancel_compare.txt";
+ aCancelFile = new File(sCancelFile);
+
+ if (aCancelFile.exists())
+ {
+ GlobalLogWriter.get().println("ATTENTION: Found file: '" + sCancelFile + "'.");
+ GlobalLogWriter.get().println("User has canceled the program flow.");
+ return true;
+ }
+ }
+ return false;
+ }
+
+}
+
+
+/*
+public class MSGraphicalTestArguments extends GraphicalTestArguments
+{
+ MSGraphicalTestArguments()
+ {
+ setReferenceType("msoffice");
+ }
+}
+
+public class OOoGraphicalTestArguments extends GraphicalTestArguments
+{
+ OOoGraphicalTestArguments(XMultiServiceFactory _aFactory)
+ {
+ setMultiServiceFactory(_aFactory);
+ }
+}
+*/