summaryrefslogtreecommitdiffstats
path: root/qadevOOo
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /qadevOOo
parentInitial commit. (diff)
downloadlibreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz
libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'qadevOOo')
-rw-r--r--qadevOOo/.classpath15
-rw-r--r--qadevOOo/.project29
-rw-r--r--qadevOOo/Jar_OOoRunner.mk1295
-rw-r--r--qadevOOo/Makefile14
-rw-r--r--qadevOOo/Module_qadevOOo.mk18
-rw-r--r--qadevOOo/README.md3
-rw-r--r--qadevOOo/objdsc/acceptor.uno/com.sun.star.comp.io.Acceptor.csv2
-rw-r--r--qadevOOo/objdsc/acceptor/com.sun.star.comp.io.Acceptor.csv2
-rw-r--r--qadevOOo/objdsc/ado/com.sun.star.comp.sdbc.ado.ODriver.csv5
-rw-r--r--qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleShape.csv23
-rw-r--r--qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleWindow.csv24
-rw-r--r--qadevOOo/objdsc/brdgfctr/com.sun.star.comp.remotebridges.BridgeFactory.csv6
-rw-r--r--qadevOOo/objdsc/bridgefac.uno/com.sun.star.comp.remotebridges.BridgeFactory.csv6
-rw-r--r--qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetFactory.csv1
-rw-r--r--qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetStubFactory.csv1
-rw-r--r--qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetFactory.csv1
-rw-r--r--qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory.csv2
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.AdministrationProvider.csv6
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProvider.csv6
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProviderWrapper.csv6
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OConfigurationRegistry.csv11
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerSetInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerTreeSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerValueSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementSetInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementTreeSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementValueSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementSetInfoAccess.csv61
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementTreeSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementValueSetUpdateAccess.csv72
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.CopyImporter.csv5
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LayerUpdateMerger.csv18
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalDataImporter.csv1
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalHierarchyBrowser.csv1
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSchemaSupplier.csv1
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleBackend.csv11
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleStratum.csv6
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MergeImporter.csv5
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MultiStratumBackend.csv10
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.SingleBackendAdapter.csv10
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerParser.csv4
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerWriter.csv16
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.SchemaParser.csv6
-rw-r--r--qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.bootstrap.BootstrapContext.csv2
-rw-r--r--qadevOOo/objdsc/cmdmail/com.sun.star.comp.system.SimpleCommandMail.csv6
-rw-r--r--qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.ConfigurationProvider.csv36
-rw-r--r--qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.DefaultProvider.csv24
-rw-r--r--qadevOOo/objdsc/connector.uno/com.sun.star.comp.io.Connector.csv1
-rw-r--r--qadevOOo/objdsc/connectr/com.sun.star.comp.io.Connector.csv1
-rw-r--r--qadevOOo/objdsc/corefl/com.sun.star.comp.stoc.CoreReflection.csv5
-rw-r--r--qadevOOo/objdsc/corereflection.uno/com.sun.star.comp.stoc.CoreReflection.csv5
-rw-r--r--qadevOOo/objdsc/cpld/com.sun.star.comp.stoc.DLLComponentLoader.csv5
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.OCommandDefinition.csv13
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseContext.csv13
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseSource.csv29
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ORowSet.csv154
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.OInteractionHandler.csv1
-rw-r--r--qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.SbaXGridControl.csv63
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dba.OSingleSelectQueryComposer.csv24
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ConnectionLineAccessibility.csv13
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.DBContentLoader.csv5
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.JoinViewAccessibility.csv13
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceAdministrationDialog.csv12
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceBrowser.csv40
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OQueryDesign.csv11
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OSQLMessageDialog.csv13
-rw-r--r--qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.TableWindowAccessibility.csv13
-rw-r--r--qadevOOo/objdsc/dbpool/com.sun.star.comp.sdbc.OConnectionPool.csv4
-rw-r--r--qadevOOo/objdsc/defreg/com.sun.star.comp.stoc.NestedRegistry.csv9
-rw-r--r--qadevOOo/objdsc/dnd/com.sun.star.comp.datatransfer.dnd.OleDragAndDrop.csv18
-rw-r--r--qadevOOo/objdsc/dtrans/com.sun.star.comp.datatransfer.generic.csv19
-rw-r--r--qadevOOo/objdsc/dtransX11/com.sun.star.comp.datatransfer.X11.csv25
-rw-r--r--qadevOOo/objdsc/dynamicloader/com.sun.star.loader.Dynamic.csv5
-rw-r--r--qadevOOo/objdsc/file/com.sun.star.comp.sdbc.dbase.ODriver.csv9
-rw-r--r--qadevOOo/objdsc/file/com.sun.star.comp.sdbc.evoab.OEvoabDriver.csv9
-rw-r--r--qadevOOo/objdsc/file/com.sun.star.comp.sdbc.flat.ODriver.csv9
-rw-r--r--qadevOOo/objdsc/file/com.sun.star.sdbc.driver.calc.ODriver.csv9
-rw-r--r--qadevOOo/objdsc/file/com.sun.star.sdbc.driver.file.Driver.csv9
-rw-r--r--qadevOOo/objdsc/fileacc/com.sun.star.comp.ucb.SimpleFileAccess.csv17
-rw-r--r--qadevOOo/objdsc/fop/com.sun.star.comp.ui.dialogs.FolderPicker.csv12
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarControl.csv36
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarModel.csv60
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonControl.csv49
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonModel.csv78
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxControl.csv47
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxModel.csv95
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxControl.csv67
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxModel.csv97
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyControl.csv78
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyModel.csv97
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODatabaseForm.csv225
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateControl.csv78
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateModel.csv98
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditControl.csv57
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditModel.csv235
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFileControlModel.csv67
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFixedTextModel.csv63
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedControl.csv62
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedFieldWrapper.csv101
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormsCollection.csv27
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGridControlModel.csv90
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxControl.csv36
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxModel.csv57
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OHiddenModel.csv23
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonControl.csv45
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonModel.csv63
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlControl.csv41
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlModel.csv75
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxControl.csv67
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxModel.csv95
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericControl.csv78
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericModel.csv97
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternControl.csv68
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternModel.csv84
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonControl.csv46
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonModel.csv95
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OScrollBarModel.csv69
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OSpinButtonModel.csv66
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeControl.csv76
-rw-r--r--qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeModel.csv96
-rw-r--r--qadevOOo/objdsc/fps/com.sun.star.comp.ui.dialogs.FilePicker.csv37
-rw-r--r--qadevOOo/objdsc/ftransl/com.sun.star.comp.datatransfer.DataFormatTranslator.csv7
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ControlMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Desktop.csv37
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorder.csv10
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorderSupplier.csv3
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontSizeMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FooterMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Frame.csv30
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.HeaderMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobExecutor.csv1
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobHandler.csv3
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv28
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MacrosMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MailToDispatcher.csv3
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MenuBarFactory.csv1
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleManager.csv6
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManager.csv20
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManagerSupplier.csv1
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ObjectMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.PopupMenuControllerFactory.csv6
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ServiceHandler.csv3
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.SoundHandler.csv4
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.StatusBarControllerFactory.csv6
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ToolBarsMenuController.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICategoryDescription.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICommandDescription.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIConfigurationManager.csv23
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIElementFactoryManager.csv5
-rw-r--r--qadevOOo/objdsc/fwk/com.sun.star.comp.framework.URLTransformer.csv4
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.ContentHandlerFactory.csv10
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FilterFactory.csv16
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FrameLoaderFactory.csv10
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.PathSettings.csv39
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.SubstituteVariables.csv3
-rw-r--r--qadevOOo/objdsc/fwl/com.sun.star.comp.framework.TypeDetection.csv15
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.BreakIterator.csv23
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.CalendarImpl.csv24
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.ChapterCollator.csv10
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.CharacterClassification.csv13
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.Collator.csv10
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.IndexEntrySupplier.csv12
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.LocaleData.csv15
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.NumberFormatCodeMapper.csv7
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.i18n.Transliteration.csv19
-rw-r--r--qadevOOo/objdsc/i18n/com.sun.star.util.TextSearch.csv3
-rw-r--r--qadevOOo/objdsc/implreg.uno/com.sun.star.comp.stoc.ImplementationRegistration.csv4
-rw-r--r--qadevOOo/objdsc/impreg/com.sun.star.comp.stoc.ImplementationRegistration.csv4
-rw-r--r--qadevOOo/objdsc/insp/com.sun.star.comp.stoc.Introspection.csv1
-rw-r--r--qadevOOo/objdsc/introspection.uno/com.sun.star.comp.stoc.Introspection.csv1
-rw-r--r--qadevOOo/objdsc/inv/com.sun.star.comp.stoc.Invocation.csv2
-rw-r--r--qadevOOo/objdsc/invadp/com.sun.star.comp.stoc.InvocationAdapterFactory.csv2
-rw-r--r--qadevOOo/objdsc/invocadapt.uno/com.sun.star.comp.stoc.InvocationAdapterFactory.csv2
-rw-r--r--qadevOOo/objdsc/invocation.uno/com.sun.star.comp.stoc.Invocation.csv2
-rw-r--r--qadevOOo/objdsc/javaloader.uno/com.sun.star.comp.stoc.JavaComponentLoader.csv5
-rw-r--r--qadevOOo/objdsc/javaloader/com.sun.star.comp.stoc.JavaComponentLoader.csv5
-rw-r--r--qadevOOo/objdsc/javavm.uno/com.sun.star.comp.stoc.JavaVirtualMachine.csv6
-rw-r--r--qadevOOo/objdsc/jdbc/com.sun.star.comp.sdbc.JDBCDriver.csv5
-rw-r--r--qadevOOo/objdsc/jen/com.sun.star.comp.stoc.JavaVirtualMachine.csv6
-rw-r--r--qadevOOo/objdsc/lng/com.sun.star.lingu2.DicList.csv18
-rw-r--r--qadevOOo/objdsc/lng/com.sun.star.lingu2.LinguProps.csv34
-rw-r--r--qadevOOo/objdsc/lng/com.sun.star.lingu2.LngSvcMgr.csv15
-rw-r--r--qadevOOo/objdsc/lnn/com.sun.star.lingu2.Hyphenator.csv15
-rw-r--r--qadevOOo/objdsc/lnn/com.sun.star.lingu2.SpellChecker.csv14
-rw-r--r--qadevOOo/objdsc/lnn/com.sun.star.lingu2.Thesaurus.csv11
-rw-r--r--qadevOOo/objdsc/mcnttype/com.sun.star.comp.datatransfer.MimeContentTypeFactory.csv6
-rw-r--r--qadevOOo/objdsc/mozab/com.sun.star.comp.sdbc.MozabDriver.csv5
-rw-r--r--qadevOOo/objdsc/namingservice.uno/com.sun.star.comp.stoc.NamingService.csv3
-rw-r--r--qadevOOo/objdsc/namingservice/com.sun.star.comp.stoc.NamingService.csv3
-rw-r--r--qadevOOo/objdsc/nestedreg.uno/com.sun.star.comp.stoc.NestedRegistry.csv9
-rw-r--r--qadevOOo/objdsc/odbc/com.sun.star.comp.sdbc.ODBCDriver.csv5
-rw-r--r--qadevOOo/objdsc/odbc/org.openoffice.comp.drivers.MySQL.Driver.csv9
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.ButtonNavigationHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.CellBindingPropertyHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.DefaultFormComponentInspectorModel.csv7
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EFormsPropertyHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EditPropertyHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EventHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.FormComponentPropertyHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.GenericPropertyHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.XSDValidationPropertyHandler.csv19
-rw-r--r--qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.FormController.csv27
-rw-r--r--qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspector.csv13
-rw-r--r--qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspectorModel.csv7
-rw-r--r--qadevOOo/objdsc/proxyfac.uno/com.sun.star.comp.stoc.ProxyFactory.csv1
-rw-r--r--qadevOOo/objdsc/proxyfac/com.sun.star.comp.stoc.ProxyFactory.csv1
-rw-r--r--qadevOOo/objdsc/rdbtdp/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv6
-rw-r--r--qadevOOo/objdsc/regtypeprov.uno/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv6
-rw-r--r--qadevOOo/objdsc/remotebridge.uno/com.sun.star.comp.remotebridges.Bridge.various.csv7
-rw-r--r--qadevOOo/objdsc/remotebridge/com.sun.star.comp.remotebridges.Bridge.various.csv7
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentExporter.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentImporter.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaExporter.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaImporter.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsExporter.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsImporter.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesExporter.csv6
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesImporter.csv14
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv216
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatFieldObj.csv50
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellCursorObj.csv191
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellObj.csv196
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangeObj.csv183
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangesObj.csv188
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellTextCursor.csv180
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemObj.csv7
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangeObj.csv12
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDocumentConfiguration.csv34
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextCursor.csv180
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextObj.csv21
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScModelObj.csv67
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv18
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv7
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleObj.csv18
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTabViewObj.csv46
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetObj.csv197
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_HeaderFooter.csv52
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewCell.csv52
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewNote.csv52
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCell.csv40
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvCell.csv36
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvGrid.csv45
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvRuler.csv36
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocument.csv28
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocumentPagePreview.csv21
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeader.csv21
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeaderArea.csv21
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewCell.csv32
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewHeaderCell.csv32
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewTable.csv47
-rw-r--r--qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleSpreadsheet.csv47
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccAxis.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataPoint.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataSeries.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDiagram.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccFloor.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccGrid.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegend.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegendEntry.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccTitle.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccWall.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccessibleDocumentView.csv22
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.AccArea.csv25
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartAxis.csv92
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartData.csv4
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDataArray.csv10
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDocument.csv37
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartView.csv10
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv96
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv108
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv78
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartArea.csv43
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartGrid.csv21
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv114
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLine.csv21
-rw-r--r--qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv80
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDocLinkTargets.csv5
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPage.csv37
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPagesAccess.csv6
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdGenericDrawPage.csv34
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayer.csv11
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayerManager.csv11
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPage.csv34
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPagesAccess.csv6
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdPageLinkTargets.csv5
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentation.csv9
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentationAccess.csv10
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXImpressDocument.csv60
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXPresentation.csv22
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv30
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleDrawDocumentView.csv22
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleOutlineView.csv13
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleSlideView.csv22
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_DrawView.csv58
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_HandoutView.csv58
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_NotesView.csv58
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_OutlineView.csv58
-rw-r--r--qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_PresentationView.csv58
-rw-r--r--qadevOOo/objdsc/servicemgr.uno/com.sun.star.comp.stoc.OServiceManager.csv28
-rw-r--r--qadevOOo/objdsc/sfx/com.sun.star.comp.office.FrameLoader.csv5
-rw-r--r--qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.AppDispatchProvider.csv3
-rw-r--r--qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.DocumentTemplates.csv9
-rw-r--r--qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.SfxMacroLoader.csv3
-rw-r--r--qadevOOo/objdsc/shlibloader.uno/com.sun.star.comp.stoc.DLLComponentLoader.csv5
-rw-r--r--qadevOOo/objdsc/simplereg.uno/com.sun.star.comp.stoc.SimpleRegistry.csv8
-rw-r--r--qadevOOo/objdsc/simreg/com.sun.star.comp.stoc.SimpleRegistry.csv8
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaExporter.csv6
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaImporter.csv14
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsExporter.csv6
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsImporter.csv14
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmEditAccessible.csv22
-rw-r--r--qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmGraphicAccessible.csv39
-rw-r--r--qadevOOo/objdsc/sm/math.SmModel.csv55
-rw-r--r--qadevOOo/objdsc/smgr/com.sun.star.comp.stoc.OServiceManager.csv28
-rw-r--r--qadevOOo/objdsc/smplmail/com.sun.star.comp.system.SimpleSystemMail.csv6
-rw-r--r--qadevOOo/objdsc/srtrs/com.sun.star.comp.ucb.SortedDynamicResultSetFactory.csv1
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataInputStream.csv20
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataOutputStream.csv14
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableInputStream.csv16
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableOutputStream.csv14
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectInputStream.csv26
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectOutputStream.csv19
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.Pipe.csv8
-rw-r--r--qadevOOo/objdsc/stm/com.sun.star.comp.stoc.Pump.csv8
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataInputStream.csv20
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataOutputStream.csv14
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableInputStream.csv16
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableOutputStream.csv14
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectInputStream.csv26
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectOutputStream.csv19
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.Pipe.csv8
-rw-r--r--qadevOOo/objdsc/streams.uno/com.sun.star.comp.stoc.Pump.csv8
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBox.csv12
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderBar.csv12
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderCell.csv12
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTable.csv12
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTableCell.csv12
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrl.csv28
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrlEntry.csv38
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBar.csv24
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPage.csv24
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPageList.csv31
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBox.csv28
-rw-r--r--qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBoxEntry.csv49
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.Draw.GraphicExporter.csv5
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxDrawPage.csv37
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv213
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv237
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv239
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCollection.csv6
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv228
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv32
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv234
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv38
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv239
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv239
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoNumberingRules.csv16
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoText.csv21
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContent.csv205
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContentEnum.csv2
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextCursor.csv180
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextField.csv16
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRange.csv147
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRangeEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.ui.SvxGraphCtrlAccessibleContext.csv29
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleControlShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleEditableTextPara.csv53
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleGraphicShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleImageBullet.csv13
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleOLEShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePageShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationGraphicShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationOLEShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationShape.csv25
-rw-r--r--qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleShape.csv25
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.DocumentSettings.csv56
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentPageView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentView.csv29
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleEndnoteView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFooterView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFootnoteView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleHeaderView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessiblePageView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleParagraphView.csv53
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableCellView.csv33
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableView.csv48
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextEmbeddedObject.csv25
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextFrameView.csv22
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextGraphicObject.csv25
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentExporter.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentImporter.csv14
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaExporter.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaImporter.csv14
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsExporter.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsImporter.csv14
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesExporter.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesImporter.csv14
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv9
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextEntry.csv12
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextGroup.csv13
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv21
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmark.csv10
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmarks.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCell.csv26
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCellRange.csv158
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXChapterNumbering.csv16
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndex.csv41
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexMark.csv12
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexes.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDrawPage.csv34
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXEndnoteProperties.csv11
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldMaster.csv10
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnote.csv19
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteProperties.csv11
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv21
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnotes.csv4
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFrames.csv9
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv21
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXLineNumberingProperties.csv10
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXMailMerge.csv36
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXModule.csv2
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXNumberingRules.csv16
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraph.csv205
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraphEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPrintSettings.csv13
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySet.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySetInfo.csv3
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMark.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMarks.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv27
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamilies.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamily.csv10
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableCellText.csv21
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableColumns.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableRows.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextColumns.csv12
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextCursor.csv190
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDefaults.csv137
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDocument.csv85
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObject.csv73
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObjects.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextField.csv16
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldMasters.csv5
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldTypes.csv6
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrame.csv78
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrameText.csv21
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObject.csv90
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObjects.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortion.csv155
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortionEnumeration.csv2
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRange.csv157
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRanges.csv4
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSearch.csv19
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSection.csv52
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTable.csv58
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableCursor.csv152
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableRow.csv15
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTables.csv7
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextView.csv11
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextViewCursor.csv200
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXViewSettings.csv36
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.style.CharacterStyle.csv115
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.style.ConditionalParagraphStyle.csv95
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.style.PageStyle.csv125
-rw-r--r--qadevOOo/objdsc/sw/com.sun.star.style.ParagraphStyle.csv95
-rw-r--r--qadevOOo/objdsc/sysdtrans/com.sun.star.comp.datatransfer.SystemClipboard.csv16
-rw-r--r--qadevOOo/objdsc/sysmgr1/com.sun.star.comp.configuration.backend.SystemIntegration.csv5
-rw-r--r--qadevOOo/objdsc/syssh/com.sun.star.comp.system.SystemShellExecute.csv6
-rw-r--r--qadevOOo/objdsc/tcv/com.sun.star.comp.stoc.TypeConverter.csv2
-rw-r--r--qadevOOo/objdsc/tdmgr/com.sun.star.comp.stoc.TypeDescriptionManager.csv12
-rw-r--r--qadevOOo/objdsc/text/com.sun.star.text.DefaultNumberingProvider.csv2
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.TabController.csv9
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.TabControllerModel.csv11
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.Toolkit.csv12
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButton.csv43
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButtonModel.csv55
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBox.csv45
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBoxModel.csv50
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBox.csv65
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBoxModel.csv51
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainer.csv47
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainerModel.csv37
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyField.csv76
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyFieldModel.csv56
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateField.csv76
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateFieldModel.csv55
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialog.csv56
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialogModel.csv55
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEdit.csv53
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEditModel.csv53
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControl.csv53
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControlModel.csv45
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedLineModel.csv40
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedText.csv43
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedTextModel.csv45
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedField.csv60
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedFieldModel.csv58
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBox.csv36
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBoxModel.csv39
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControl.csv39
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControlModel.csv40
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBox.csv63
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBoxModel.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericField.csv76
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericFieldModel.csv54
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternField.csv66
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternFieldModel.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlProgressBarModel.csv40
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButton.csv44
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButtonModel.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlScrollBarModel.csv47
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeField.csv74
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeFieldModel.csv53
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleButton.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleCheckBox.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleComboBox.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownComboBox.csv28
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownListBox.csv28
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleEdit.csv48
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleFixedText.csv41
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleList.csv32
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListBox.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListItem.csv38
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenu.csv56
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuBar.csv31
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuItem.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuSeparator.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessiblePopupMenu.csv31
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleRadioButton.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleScrollBar.csv32
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBar.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBarItem.csv41
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabControl.csv31
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabPage.csv41
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBox.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBoxItem.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleWindow.csv24
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControl.csv49
-rw-r--r--qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControlModel.csv44
-rw-r--r--qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeControl.csv28
-rw-r--r--qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeModel.csv37
-rw-r--r--qadevOOo/objdsc/toolkit/stardiv.toolkit.UnoScrollBarControl.csv51
-rw-r--r--qadevOOo/objdsc/toolkit/toolkit.MutableTreeDataModel.csv8
-rw-r--r--qadevOOo/objdsc/toolkit/toolkit.MutableTreeNode.csv18
-rw-r--r--qadevOOo/objdsc/typeconverter.uno/com.sun.star.comp.stoc.TypeConverter.csv2
-rw-r--r--qadevOOo/objdsc/typemgr.uno/com.sun.star.comp.stoc.TypeDescriptionManager.csv12
-rw-r--r--qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbContentProviderProxyFactory.csv1
-rw-r--r--qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbPropertiesManager.csv3
-rw-r--r--qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbStore.csv1
-rw-r--r--qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UniversalContentBroker.csv15
-rw-r--r--qadevOOo/objdsc/ucpchelp/com.sun.star.comp.unknown.CHelpContentProvider.csv2
-rw-r--r--qadevOOo/objdsc/ucpdav/com.sun.star.comp.ucb.WebDAVContentProvider.csv2
-rw-r--r--qadevOOo/objdsc/ucpfile/com.sun.star.comp.ucb.FileProvider.csv13
-rw-r--r--qadevOOo/objdsc/ucpftp/com.sun.star.comp.ucb.FTPContentProvider.csv2
-rw-r--r--qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyContentProvider.csv2
-rw-r--r--qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyDataSource.csv6
-rw-r--r--qadevOOo/objdsc/ucppkg/com.sun.star.comp.ucb.PackageContentProvider.csv2
-rw-r--r--qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ContentProvider.csv5
-rw-r--r--qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProviderAcceptor.csv3
-rw-r--r--qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProxyProvider.csv5
-rw-r--r--qadevOOo/objdsc/uui/com.sun.star.comp.uui.UUIInteractionHandler.csv2
-rw-r--r--qadevOOo/objdsc/uuresolver.uno/com.sun.star.comp.bridge.UnoUrlResolver.csv1
-rw-r--r--qadevOOo/objdsc/uuresolver/com.sun.star.comp.bridge.UnoUrlResolver.csv1
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsImporter.csv14
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesExporter.csv6
-rw-r--r--qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesImporter.csv14
-rw-r--r--qadevOOo/qa/registrymodifications.xcu11
-rw-r--r--qadevOOo/runner/base/TestBase.java30
-rw-r--r--qadevOOo/runner/base/java_complex.java150
-rw-r--r--qadevOOo/runner/base/java_fat.java472
-rw-r--r--qadevOOo/runner/base/java_fat_service.java237
-rw-r--r--qadevOOo/runner/complexlib/Assurance.java146
-rw-r--r--qadevOOo/runner/complexlib/ComplexTestCase.java296
-rw-r--r--qadevOOo/runner/complexlib/MethodThread.java118
-rw-r--r--qadevOOo/runner/complexlib/ShowTargets.java102
-rw-r--r--qadevOOo/runner/convwatch/DB.java174
-rw-r--r--qadevOOo/runner/convwatch/DBHelper.java190
-rw-r--r--qadevOOo/runner/convwatch/GlobalLogWriter.java38
-rw-r--r--qadevOOo/runner/graphical/FileHelper.java73
-rw-r--r--qadevOOo/runner/helper/APIDescGetter.java970
-rw-r--r--qadevOOo/runner/helper/AppProvider.java48
-rw-r--r--qadevOOo/runner/helper/CfgParser.java128
-rw-r--r--qadevOOo/runner/helper/ClParser.java137
-rw-r--r--qadevOOo/runner/helper/ComplexDescGetter.java183
-rw-r--r--qadevOOo/runner/helper/ConfigHelper.java303
-rw-r--r--qadevOOo/runner/helper/ConfigurationRead.java82
-rw-r--r--qadevOOo/runner/helper/ContextMenuInterceptor.java131
-rw-r--r--qadevOOo/runner/helper/FileTools.java127
-rw-r--r--qadevOOo/runner/helper/LoggingThread.java80
-rw-r--r--qadevOOo/runner/helper/OSHelper.java50
-rw-r--r--qadevOOo/runner/helper/OfficeProvider.java755
-rw-r--r--qadevOOo/runner/helper/OfficeWatcher.java93
-rw-r--r--qadevOOo/runner/helper/ProcessHandler.java330
-rw-r--r--qadevOOo/runner/helper/PropertyHandlerFactroy.java35
-rw-r--r--qadevOOo/runner/helper/PropertyHandlerImpl.java234
-rw-r--r--qadevOOo/runner/helper/StreamSimulator.java394
-rw-r--r--qadevOOo/runner/helper/StringHelper.java64
-rw-r--r--qadevOOo/runner/helper/URLHelper.java151
-rw-r--r--qadevOOo/runner/helper/UnoProvider.java141
-rw-r--r--qadevOOo/runner/lib/DynamicClassLoader.java86
-rw-r--r--qadevOOo/runner/lib/ExceptionStatus.java39
-rw-r--r--qadevOOo/runner/lib/MultiMethodTest.java468
-rw-r--r--qadevOOo/runner/lib/MultiPropertyTest.java533
-rw-r--r--qadevOOo/runner/lib/RunState.java43
-rw-r--r--qadevOOo/runner/lib/SimpleStatus.java97
-rw-r--r--qadevOOo/runner/lib/Status.java128
-rw-r--r--qadevOOo/runner/lib/StatusException.java65
-rw-r--r--qadevOOo/runner/lib/TestCase.java170
-rw-r--r--qadevOOo/runner/lib/TestEnvironment.java132
-rw-r--r--qadevOOo/runner/lib/TestParameters.java206
-rw-r--r--qadevOOo/runner/lib/TestResult.java88
-rw-r--r--qadevOOo/runner/manifest2
-rw-r--r--qadevOOo/runner/org/openoffice/Runner.java196
-rw-r--r--qadevOOo/runner/org/openoffice/RunnerService.java301
-rw-r--r--qadevOOo/runner/share/ComplexTest.java28
-rw-r--r--qadevOOo/runner/share/DescEntry.java88
-rw-r--r--qadevOOo/runner/share/DescGetter.java182
-rw-r--r--qadevOOo/runner/share/LogWriter.java52
-rw-r--r--qadevOOo/runner/share/Watcher.java33
-rw-r--r--qadevOOo/runner/stats/InternalLogWriter.java101
-rw-r--r--qadevOOo/runner/stats/OutProducerFactory.java121
-rw-r--r--qadevOOo/runner/stats/SimpleLogWriter.java94
-rw-r--r--qadevOOo/runner/stats/SimpleOutProducer.java61
-rw-r--r--qadevOOo/runner/stats/Summarizer.java104
-rw-r--r--qadevOOo/runner/util/AccessibilityTools.java383
-rw-r--r--qadevOOo/runner/util/BookmarkDsc.java73
-rw-r--r--qadevOOo/runner/util/CalcTools.java127
-rw-r--r--qadevOOo/runner/util/DBTools.java409
-rw-r--r--qadevOOo/runner/util/DefaultDsc.java75
-rw-r--r--qadevOOo/runner/util/DesktopTools.java516
-rw-r--r--qadevOOo/runner/util/DrawTools.java103
-rw-r--r--qadevOOo/runner/util/DynamicClassLoader.java97
-rw-r--r--qadevOOo/runner/util/FootnoteDsc.java72
-rw-r--r--qadevOOo/runner/util/FormTools.java287
-rw-r--r--qadevOOo/runner/util/FrameDsc.java109
-rw-r--r--qadevOOo/runner/util/InstCreator.java104
-rw-r--r--qadevOOo/runner/util/InstDescr.java38
-rw-r--r--qadevOOo/runner/util/ParagraphDsc.java73
-rw-r--r--qadevOOo/runner/util/PropertyName.java117
-rw-r--r--qadevOOo/runner/util/RegistryTools.java359
-rw-r--r--qadevOOo/runner/util/SOfficeFactory.java443
-rw-r--r--qadevOOo/runner/util/ShapeDsc.java97
-rw-r--r--qadevOOo/runner/util/SysUtils.java60
-rw-r--r--qadevOOo/runner/util/TableDsc.java84
-rw-r--r--qadevOOo/runner/util/TextSectionDsc.java72
-rw-r--r--qadevOOo/runner/util/UITools.java218
-rw-r--r--qadevOOo/runner/util/ValueChanger.java1102
-rw-r--r--qadevOOo/runner/util/ValueComparer.java231
-rw-r--r--qadevOOo/runner/util/WaitUnreachable.java119
-rw-r--r--qadevOOo/runner/util/WriterTools.java128
-rw-r--r--qadevOOo/runner/util/XInstCreator.java29
-rw-r--r--qadevOOo/runner/util/XLayerHandlerImpl.java110
-rw-r--r--qadevOOo/runner/util/XLayerImpl.java33
-rw-r--r--qadevOOo/runner/util/XMLTools.java669
-rw-r--r--qadevOOo/runner/util/XSchemaHandlerImpl.java128
-rw-r--r--qadevOOo/runner/util/db/DataSource.java146
-rw-r--r--qadevOOo/runner/util/db/DataSourceDescriptor.java60
-rw-r--r--qadevOOo/runner/util/db/DatabaseDocument.java71
-rw-r--r--qadevOOo/runner/util/dbg.java274
-rw-r--r--qadevOOo/runner/util/utils.java846
-rw-r--r--qadevOOo/testdocs/10test.csv19
-rw-r--r--qadevOOo/testdocs/BasicBridge.sxwbin0 -> 27011 bytes
-rw-r--r--qadevOOo/testdocs/BasicDB/DBTest.dbfbin0 -> 1575 bytes
-rw-r--r--qadevOOo/testdocs/Calc_Link.sxcbin0 -> 5410 bytes
-rw-r--r--qadevOOo/testdocs/ChXChartObject.sdsbin0 -> 52736 bytes
-rw-r--r--qadevOOo/testdocs/FiexdTextDialog.sxwbin0 -> 8259 bytes
-rw-r--r--qadevOOo/testdocs/FixedTextDialog.sxwbin0 -> 8259 bytes
-rw-r--r--qadevOOo/testdocs/Iterator.sxwbin0 -> 5627 bytes
-rw-r--r--qadevOOo/testdocs/JAJPIterator.sxwbin0 -> 5853 bytes
-rw-r--r--qadevOOo/testdocs/MailMerge.sxwbin0 -> 5391 bytes
-rw-r--r--qadevOOo/testdocs/ORowSet.dbfbin0 -> 39449 bytes
-rw-r--r--qadevOOo/testdocs/RunnerStart.sxwbin0 -> 8224 bytes
-rw-r--r--qadevOOo/testdocs/ScAnnotationShapeObj.sxcbin0 -> 6542 bytes
-rw-r--r--qadevOOo/testdocs/ScDDELinksObj.sdcbin0 -> 17408 bytes
-rw-r--r--qadevOOo/testdocs/ScSheetLinksObj.sdcbin0 -> 16896 bytes
-rw-r--r--qadevOOo/testdocs/SfxStandaloneDocInfoObject.sdwbin0 -> 8192 bytes
-rw-r--r--qadevOOo/testdocs/StrikeThrough.odtbin0 -> 14363 bytes
-rw-r--r--qadevOOo/testdocs/SvxShape.sdabin0 -> 39424 bytes
-rw-r--r--qadevOOo/testdocs/SvxShape.sxdbin0 -> 6344 bytes
-rw-r--r--qadevOOo/testdocs/SwOLE.sxwbin0 -> 8603 bytes
-rw-r--r--qadevOOo/testdocs/SwXTextEmbeddedObject.sdwbin0 -> 180736 bytes
-rw-r--r--qadevOOo/testdocs/SwXTextEmbeddedObject.sxwbin0 -> 24763 bytes
-rw-r--r--qadevOOo/testdocs/SwXTextSection.sdwbin0 -> 8704 bytes
-rw-r--r--qadevOOo/testdocs/TestDB/testDB.dbfbin0 -> 949 bytes
-rw-r--r--qadevOOo/testdocs/TestDB/testDB.dbtbin0 -> 512 bytes
-rw-r--r--qadevOOo/testdocs/TransparencyCalcChart.sxcbin0 -> 8755 bytes
-rw-r--r--qadevOOo/testdocs/TransparencyChart.sxsbin0 -> 10846 bytes
-rw-r--r--qadevOOo/testdocs/TwoShapes.sxibin0 -> 7283 bytes
-rw-r--r--qadevOOo/testdocs/Writer_link.sxwbin0 -> 5188 bytes
-rw-r--r--qadevOOo/testdocs/XDocumentInsertable.sxwbin0 -> 4914 bytes
-rw-r--r--qadevOOo/testdocs/XPageCursor.sdwbin0 -> 16896 bytes
-rw-r--r--qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess.txt1
-rw-r--r--qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess2.txt1
-rw-r--r--qadevOOo/testdocs/XSimpleFileAccessBASIC/File1.txt1
-rw-r--r--qadevOOo/testdocs/XSimpleFileAccessBASIC/File2.txt1
-rw-r--r--qadevOOo/testdocs/XTypeDetection.sxwbin0 -> 4995 bytes
-rw-r--r--qadevOOo/testdocs/ZHCNIterator.sxwbin0 -> 5883 bytes
-rw-r--r--qadevOOo/testdocs/ZHTWIterator.sxwbin0 -> 6247 bytes
-rw-r--r--qadevOOo/testdocs/_BasicBridge.sxwbin0 -> 25191 bytes
-rw-r--r--qadevOOo/testdocs/backend/org/openoffice/JavaSystemBackend.java240
-rw-r--r--qadevOOo/testdocs/backend/org/openoffice/makefile.mk55
-rw-r--r--qadevOOo/testdocs/backend/org/openoffice/manifest1
-rw-r--r--qadevOOo/testdocs/basDialog.odtbin0 -> 9950 bytes
-rw-r--r--qadevOOo/testdocs/calcshapes.sxcbin0 -> 13030 bytes
-rw-r--r--qadevOOo/testdocs/chinese.sxwbin0 -> 5757 bytes
-rw-r--r--qadevOOo/testdocs/crazy-blue.jpgbin0 -> 4451 bytes
-rw-r--r--qadevOOo/testdocs/delete.cfgbin0 -> 2799 bytes
-rw-r--r--qadevOOo/testdocs/emptyChart.sdsbin0 -> 44544 bytes
-rw-r--r--qadevOOo/testdocs/filter.sxwbin0 -> 14359 bytes
-rw-r--r--qadevOOo/testdocs/lo_no_kashida.odtbin0 -> 10953 bytes
-rw-r--r--qadevOOo/testdocs/lo_no_kashida_correct.pngbin0 -> 12868 bytes
-rw-r--r--qadevOOo/testdocs/lo_no_kashida_wrong.pngbin0 -> 13711 bytes
-rw-r--r--qadevOOo/testdocs/ok.wavbin0 -> 4454 bytes
-rw-r--r--qadevOOo/testdocs/poliball.gifbin0 -> 945 bytes
-rw-r--r--qadevOOo/testdocs/qadevlibs/JobExecutor.jarbin0 -> 3912 bytes
-rw-r--r--qadevOOo/testdocs/qadevlibs/MyPersistObjectImpl.jarbin0 -> 4346 bytes
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java345
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk55
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest1
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/test/Job.java104
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/test/makefile.mk55
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/test/manifest2
-rw-r--r--qadevOOo/testdocs/report.stwbin0 -> 11186 bytes
-rw-r--r--qadevOOo/testdocs/report2.stwbin0 -> 11000 bytes
-rw-r--r--qadevOOo/testdocs/sForm.sxwbin0 -> 5568 bytes
-rw-r--r--qadevOOo/testdocs/setexpression.sxwbin0 -> 6364 bytes
-rw-r--r--qadevOOo/testdocs/small_submit_test.sdwbin0 -> 18944 bytes
-rw-r--r--qadevOOo/testdocs/space-metal.jpgbin0 -> 4313 bytes
-rw-r--r--qadevOOo/testdocs/vertical-testcase.odtbin0 -> 19594 bytes
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessible.java48
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleAction.java159
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleComponent.java601
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleContext.java342
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleEditableText.java543
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleEventBroadcaster.java208
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleExtendedComponent.java114
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleImage.java65
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleSelection.java586
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleTable.java1000
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleText.java1208
-rw-r--r--qadevOOo/tests/java/ifc/accessibility/_XAccessibleValue.java344
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlButtonModel.java115
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlCheckBoxModel.java104
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlComboBoxModel.java134
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlContainerModel.java64
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlCurrencyFieldModel.java130
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlDateFieldModel.java170
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlDialogElement.java26
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlDialogModel.java81
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlEditModel.java126
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlFileControlModel.java113
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlFixedLineModel.java69
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlFixedTextModel.java106
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlFormattedFieldModel.java254
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlGroupBoxModel.java78
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlImageControlModel.java104
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlListBoxModel.java122
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlModel.java26
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlNumericFieldModel.java130
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlPatternFieldModel.java112
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlProgressBarModel.java84
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlRadioButtonModel.java103
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlScrollBarModel.java111
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlSpinButtonModel.java65
-rw-r--r--qadevOOo/tests/java/ifc/awt/_UnoControlTimeFieldModel.java134
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XButton.java103
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XCheckBox.java135
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XComboBox.java262
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XControl.java213
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XControlContainer.java133
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XCurrencyField.java307
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XDataTransferProviderAccess.java127
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XDateField.java332
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XDialog.java150
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XFixedText.java111
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XImageConsumer.java135
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XImageProducer.java143
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XItemListener.java109
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XLayoutConstrains.java68
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XListBox.java491
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java98
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XNumericField.java308
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XPatternField.java167
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XRadioButton.java136
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XScrollBar.java203
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XSpinField.java195
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XSpinValue.java195
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XSystemChildFactory.java31
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTabController.java156
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTabControllerModel.java157
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTextComponent.java255
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTextLayoutConstrains.java71
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTextListener.java119
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTimeField.java287
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XToolkit.java147
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XTopWindow.java190
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XUnoControlContainer.java173
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XView.java135
-rw-r--r--qadevOOo/tests/java/ifc/awt/_XWindow.java581
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_TreeControlModel.java28
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeDataModel.java90
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeNode.java285
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java640
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_XTreeDataModel.java171
-rw-r--r--qadevOOo/tests/java/ifc/awt/tree/_XTreeNode.java259
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XExactName.java84
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XFastPropertySet.java236
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XHierarchicalPropertySet.java143
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XIntrospection.java53
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XMultiHierarchicalPropertySet.java139
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java363
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XMultiPropertyStates.java227
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XProperty.java34
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertyAccess.java225
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertyContainer.java299
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertySet.java645
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertySetInfo.java115
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertyState.java266
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XPropertyWithState.java101
-rw-r--r--qadevOOo/tests/java/ifc/beans/_XTolerantMultiPropertySet.java330
-rw-r--r--qadevOOo/tests/java/ifc/bridge/_XBridge.java141
-rw-r--r--qadevOOo/tests/java/ifc/bridge/_XBridgeFactory.java222
-rw-r--r--qadevOOo/tests/java/ifc/bridge/_XUnoUrlResolver.java193
-rw-r--r--qadevOOo/tests/java/ifc/chart/_BarDiagram.java152
-rw-r--r--qadevOOo/tests/java/ifc/chart/_Chart3DBarProperties.java123
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartAxis.java200
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartAxisXSupplier.java132
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartAxisYSupplier.java158
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartAxisZSupplier.java196
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java120
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartDataRowProperties.java54
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartDocument.java35
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartLegend.java33
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartStatistics.java65
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartTableAddressSupplier.java59
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartTitle.java49
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartTwoAxisXSupplier.java100
-rw-r--r--qadevOOo/tests/java/ifc/chart/_ChartTwoAxisYSupplier.java100
-rw-r--r--qadevOOo/tests/java/ifc/chart/_Diagram.java59
-rw-r--r--qadevOOo/tests/java/ifc/chart/_Dim3DDiagram.java58
-rw-r--r--qadevOOo/tests/java/ifc/chart/_LineDiagram.java199
-rw-r--r--qadevOOo/tests/java/ifc/chart/_StackableDiagram.java81
-rw-r--r--qadevOOo/tests/java/ifc/chart/_StockDiagram.java79
-rw-r--r--qadevOOo/tests/java/ifc/chart/_X3DDisplay.java68
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XAxisXSupplier.java97
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XAxisYSupplier.java100
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XAxisZSupplier.java100
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XChartData.java176
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XChartDataArray.java240
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XChartDocument.java154
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XDiagram.java148
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XStatisticDisplay.java82
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XTwoAxisXSupplier.java54
-rw-r--r--qadevOOo/tests/java/ifc/chart/_XTwoAxisYSupplier.java63
-rw-r--r--qadevOOo/tests/java/ifc/configuration/_XTemplateContainer.java41
-rw-r--r--qadevOOo/tests/java/ifc/configuration/_XTemplateInstance.java41
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XBackend.java250
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XBackendEntities.java173
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XLayer.java81
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XLayerHandler.java242
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XLayerImporter.java157
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XMultiLayerStratum.java303
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XSchema.java253
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XSchemaSupplier.java109
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XSingleLayerStratum.java165
-rw-r--r--qadevOOo/tests/java/ifc/configuration/backend/_XUpdateHandler.java234
-rw-r--r--qadevOOo/tests/java/ifc/connection/_XAcceptor.java304
-rw-r--r--qadevOOo/tests/java/ifc/connection/_XConnector.java186
-rw-r--r--qadevOOo/tests/java/ifc/container/_XChild.java91
-rw-r--r--qadevOOo/tests/java/ifc/container/_XContainer.java342
-rw-r--r--qadevOOo/tests/java/ifc/container/_XContainerQuery.java154
-rw-r--r--qadevOOo/tests/java/ifc/container/_XContentEnumerationAccess.java86
-rw-r--r--qadevOOo/tests/java/ifc/container/_XElementAccess.java60
-rw-r--r--qadevOOo/tests/java/ifc/container/_XEnumeration.java115
-rw-r--r--qadevOOo/tests/java/ifc/container/_XEnumerationAccess.java47
-rw-r--r--qadevOOo/tests/java/ifc/container/_XHierarchicalName.java71
-rw-r--r--qadevOOo/tests/java/ifc/container/_XHierarchicalNameAccess.java83
-rw-r--r--qadevOOo/tests/java/ifc/container/_XIndexAccess.java144
-rw-r--r--qadevOOo/tests/java/ifc/container/_XIndexContainer.java201
-rw-r--r--qadevOOo/tests/java/ifc/container/_XIndexReplace.java200
-rw-r--r--qadevOOo/tests/java/ifc/container/_XNameAccess.java149
-rw-r--r--qadevOOo/tests/java/ifc/container/_XNameContainer.java245
-rw-r--r--qadevOOo/tests/java/ifc/container/_XNameReplace.java216
-rw-r--r--qadevOOo/tests/java/ifc/container/_XNamed.java156
-rw-r--r--qadevOOo/tests/java/ifc/container/_XSet.java141
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/_XDataFormatTranslator.java68
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/_XMimeContentTypeFactory.java88
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboard.java131
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardEx.java46
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardNotifier.java162
-rw-r--r--qadevOOo/tests/java/ifc/datatransfer/clipboard/_XFlushableClipboard.java47
-rw-r--r--qadevOOo/tests/java/ifc/document/_ExportFilter.java42
-rw-r--r--qadevOOo/tests/java/ifc/document/_ImportFilter.java43
-rw-r--r--qadevOOo/tests/java/ifc/document/_LinkTarget.java66
-rw-r--r--qadevOOo/tests/java/ifc/document/_OfficeDocument.java36
-rw-r--r--qadevOOo/tests/java/ifc/document/_Settings.java160
-rw-r--r--qadevOOo/tests/java/ifc/document/_XActionLockable.java100
-rw-r--r--qadevOOo/tests/java/ifc/document/_XDocumentInsertable.java190
-rw-r--r--qadevOOo/tests/java/ifc/document/_XEmbeddedObjectSupplier.java47
-rw-r--r--qadevOOo/tests/java/ifc/document/_XEventBroadcaster.java74
-rw-r--r--qadevOOo/tests/java/ifc/document/_XEventsSupplier.java51
-rw-r--r--qadevOOo/tests/java/ifc/document/_XExporter.java82
-rw-r--r--qadevOOo/tests/java/ifc/document/_XFilter.java177
-rw-r--r--qadevOOo/tests/java/ifc/document/_XImporter.java68
-rw-r--r--qadevOOo/tests/java/ifc/document/_XLinkTargetSupplier.java48
-rw-r--r--qadevOOo/tests/java/ifc/document/_XMimeTypeInfo.java80
-rw-r--r--qadevOOo/tests/java/ifc/document/_XTypeDetection.java115
-rw-r--r--qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java109
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_AreaShapeDescriptor.java109
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ConnectorProperties.java39
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ConnectorShape.java70
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ConnectorShapeDescriptor.java35
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_DimensioningShapeDescriptor.java39
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_DrawingDocument.java36
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_DrawingDocumentDrawView.java172
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_EllipseShape.java37
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_EllipseShapeDescriptor.java27
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_FillProperties.java213
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_GenericDrawPage.java87
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_GenericDrawingDocument.java25
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_GraphicObjectShape.java157
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_GraphicObjectShapeDescriptor.java65
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_Layer.java38
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_LineProperties.java77
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_LineShapeDescriptor.java137
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_MeasureProperties.java51
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_MeasureShape.java37
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_PolyPolygonBezierDescriptor.java38
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_PolyPolygonDescriptor.java38
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_RotationDescriptor.java94
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ShadowDescriptor.java35
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ShadowProperties.java39
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_Shape.java151
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_ShapeDescriptor.java134
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_Text.java61
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_TextProperties.java58
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_TextShape.java35
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_TextShapeDescriptor.java27
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XConnectorShape.java139
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XControlShape.java96
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawPageDuplicator.java81
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawPageSupplier.java35
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawPages.java85
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawPagesSupplier.java55
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XDrawView.java104
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XGluePointsSupplier.java55
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XLayerManager.java157
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XLayerSupplier.java60
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XMasterPageTarget.java99
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XMasterPagesSupplier.java54
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShape.java186
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapeBinder.java100
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapeCombiner.java101
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapeDescriptor.java87
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapeGroup.java61
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapeGrouper.java101
-rw-r--r--qadevOOo/tests/java/ifc/drawing/_XShapes.java100
-rw-r--r--qadevOOo/tests/java/ifc/form/_DataAwareControlModel.java163
-rw-r--r--qadevOOo/tests/java/ifc/form/_FormComponent.java34
-rw-r--r--qadevOOo/tests/java/ifc/form/_FormControlModel.java36
-rw-r--r--qadevOOo/tests/java/ifc/form/_XApproveActionBroadcaster.java102
-rw-r--r--qadevOOo/tests/java/ifc/form/_XBoundComponent.java49
-rw-r--r--qadevOOo/tests/java/ifc/form/_XBoundControl.java73
-rw-r--r--qadevOOo/tests/java/ifc/form/_XChangeBroadcaster.java179
-rw-r--r--qadevOOo/tests/java/ifc/form/_XConfirmDeleteBroadcaster.java64
-rw-r--r--qadevOOo/tests/java/ifc/form/_XDatabaseParameterBroadcaster.java93
-rw-r--r--qadevOOo/tests/java/ifc/form/_XFormController.java151
-rw-r--r--qadevOOo/tests/java/ifc/form/_XFormsSupplier.java35
-rw-r--r--qadevOOo/tests/java/ifc/form/_XGrid.java74
-rw-r--r--qadevOOo/tests/java/ifc/form/_XGridColumnFactory.java71
-rw-r--r--qadevOOo/tests/java/ifc/form/_XGridFieldDataSupplier.java59
-rw-r--r--qadevOOo/tests/java/ifc/form/_XImageProducerSupplier.java52
-rw-r--r--qadevOOo/tests/java/ifc/form/_XLoadListener.java85
-rw-r--r--qadevOOo/tests/java/ifc/form/_XLoadable.java225
-rw-r--r--qadevOOo/tests/java/ifc/form/_XReset.java170
-rw-r--r--qadevOOo/tests/java/ifc/form/_XSubmit.java171
-rw-r--r--qadevOOo/tests/java/ifc/form/_XUpdateBroadcaster.java232
-rw-r--r--qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseCheckBox.java27
-rw-r--r--qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseRadioButton.java27
-rw-r--r--qadevOOo/tests/java/ifc/form/binding/_XBindableValue.java106
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_CheckBox.java35
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_ComboBox.java34
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_CommandButton.java36
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_CurrencyField.java50
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DataForm.java83
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseComboBox.java37
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseForm.java88
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseFormattedField.java35
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseImageControl.java35
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseListBox.java37
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabasePatternField.java36
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DatabaseTextField.java36
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_DateField.java47
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_FileControl.java35
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_FormattedField.java26
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_GridControl.java96
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_HTMLForm.java38
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_HiddenControl.java35
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_ImageButton.java37
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_ListBox.java37
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_NavigationToolBar.java45
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_NumericField.java49
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_PatternField.java35
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_RadioButton.java37
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_RichTextControl.java25
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_ScrollBar.java25
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_SpinButton.java25
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_TextField.java35
-rw-r--r--qadevOOo/tests/java/ifc/form/component/_TimeField.java49
-rw-r--r--qadevOOo/tests/java/ifc/form/submission/_XSubmission.java178
-rw-r--r--qadevOOo/tests/java/ifc/form/submission/_XSubmissionSupplier.java72
-rw-r--r--qadevOOo/tests/java/ifc/form/validation/_XValidatable.java76
-rw-r--r--qadevOOo/tests/java/ifc/form/validation/_XValidatableFormComponent.java229
-rw-r--r--qadevOOo/tests/java/ifc/form/validation/_XValidityConstraintListener.java81
-rw-r--r--qadevOOo/tests/java/ifc/formula/_FormulaProperties.java90
-rw-r--r--qadevOOo/tests/java/ifc/frame/_Desktop.java45
-rw-r--r--qadevOOo/tests/java/ifc/frame/_Frame.java26
-rw-r--r--qadevOOo/tests/java/ifc/frame/_FrameLoader.java36
-rw-r--r--qadevOOo/tests/java/ifc/frame/_SynchronousFrameLoader.java36
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XComponentLoader.java139
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XController.java218
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDesktop.java120
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDispatch.java221
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDispatchProvider.java155
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDispatchProviderInterception.java134
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDispatchRecorder.java208
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDispatchRecorderSupplier.java224
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XDocumentTemplates.java267
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XFrame.java571
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XFrameActionListener.java35
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XFrameLoader.java192
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XFramesSupplier.java204
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XLayoutManager.java190
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XModel.java249
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XModuleManager.java153
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XNotifyingDispatch.java118
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XPopupMenuController.java218
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XStatusListener.java40
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XStorable.java218
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XSynchronousFrameLoader.java172
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XTasksSupplier.java62
-rw-r--r--qadevOOo/tests/java/ifc/frame/_XUIControllerRegistration.java55
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XBreakIterator.java679
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XCalendar.java523
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XCharacterClassification.java398
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XCollator.java422
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XExtendedCalendar.java125
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XExtendedIndexEntrySupplier.java311
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XExtendedTransliteration.java86
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XIndexEntrySupplier.java98
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XLocaleData.java467
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XNumberFormatCode.java154
-rw-r--r--qadevOOo/tests/java/ifc/i18n/_XTransliteration.java445
-rw-r--r--qadevOOo/tests/java/ifc/inspection/_XObjectInspector.java149
-rw-r--r--qadevOOo/tests/java/ifc/inspection/_XObjectInspectorModel.java151
-rw-r--r--qadevOOo/tests/java/ifc/io/_XActiveDataControl.java238
-rw-r--r--qadevOOo/tests/java/ifc/io/_XActiveDataSink.java104
-rw-r--r--qadevOOo/tests/java/ifc/io/_XActiveDataSource.java97
-rw-r--r--qadevOOo/tests/java/ifc/io/_XConnectable.java125
-rw-r--r--qadevOOo/tests/java/ifc/io/_XDataInputStream.java414
-rw-r--r--qadevOOo/tests/java/ifc/io/_XDataOutputStream.java245
-rw-r--r--qadevOOo/tests/java/ifc/io/_XInputStream.java238
-rw-r--r--qadevOOo/tests/java/ifc/io/_XMarkableStream.java188
-rw-r--r--qadevOOo/tests/java/ifc/io/_XObjectInputStream.java165
-rw-r--r--qadevOOo/tests/java/ifc/io/_XObjectOutputStream.java84
-rw-r--r--qadevOOo/tests/java/ifc/io/_XOutputStream.java170
-rw-r--r--qadevOOo/tests/java/ifc/io/_XPersistObject.java247
-rw-r--r--qadevOOo/tests/java/ifc/java/_XJavaThreadRegister_11.java62
-rw-r--r--qadevOOo/tests/java/ifc/java/_XJavaVM.java62
-rw-r--r--qadevOOo/tests/java/ifc/lang/_ServiceManager.java51
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XComponent.java168
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XEventListener.java53
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XInitialization.java102
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XLocalizable.java63
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XMain.java63
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XMultiComponentFactory.java122
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XMultiServiceFactory.java188
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XServiceDisplayName.java50
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XServiceInfo.java88
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XSingleServiceFactory.java160
-rw-r--r--qadevOOo/tests/java/ifc/lang/_XTypeProvider.java82
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_LinguProperties.java52
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XAvailableLocales.java48
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XDictionaryList.java286
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XHyphenator.java102
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceEventBroadcaster.java85
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceManager.java174
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XSearchableDictionaryList.java64
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XSpellChecker.java108
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XSupportedLocales.java80
-rw-r--r--qadevOOo/tests/java/ifc/linguistic2/_XThesaurus.java63
-rw-r--r--qadevOOo/tests/java/ifc/loader/_XImplementationLoader.java180
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_OutlineView.java27
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_Presentation.java83
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_PresentationView.java48
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_PreviewView.java30
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_SlidesView.java25
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_XCustomPresentationSupplier.java49
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_XPresentation.java74
-rw-r--r--qadevOOo/tests/java/ifc/presentation/_XPresentationSupplier.java49
-rw-r--r--qadevOOo/tests/java/ifc/reflection/_XIdlReflection.java97
-rw-r--r--qadevOOo/tests/java/ifc/reflection/_XProxyFactory.java88
-rw-r--r--qadevOOo/tests/java/ifc/reflection/_XTypeDescriptionEnumerationAccess.java86
-rw-r--r--qadevOOo/tests/java/ifc/registry/_XImplementationRegistration.java184
-rw-r--r--qadevOOo/tests/java/ifc/registry/_XSimpleRegistry.java405
-rw-r--r--qadevOOo/tests/java/ifc/script/_XEventAttacherManager.java492
-rw-r--r--qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory.java103
-rw-r--r--qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory2.java105
-rw-r--r--qadevOOo/tests/java/ifc/script/_XTypeConverter.java122
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_DataAccessDescriptor.java116
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_DataSource.java165
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_DatasourceAdministrationDialog.java36
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_ErrorMessageDialog.java60
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_QueryDefinition.java46
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_RowSet.java144
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_SingleSelectQueryComposer.java41
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XBookmarksSupplier.java51
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XCompletedConnection.java75
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XCompletedExecution.java77
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XFormDocumentsSupplier.java55
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XParametersSupplier.java52
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XQueryDefinitionsSupplier.java60
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XReportDocumentsSupplier.java55
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XResultSetAccess.java60
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XRowSetApproveBroadcaster.java207
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XSQLErrorBroadcaster.java29
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryAnalyzer.java290
-rw-r--r--qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryComposer.java521
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_ResultSet.java40
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_RowSet.java72
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XCloseable.java85
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XColumnLocate.java76
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XDataSource.java105
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XDriver.java205
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XDriverManager.java152
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XIsolatedConnection.java111
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XParameters.java564
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XResultSet.java497
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XResultSetMetaDataSupplier.java60
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XResultSetUpdate.java255
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XRow.java527
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XRowSet.java192
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XRowUpdate.java683
-rw-r--r--qadevOOo/tests/java/ifc/sdbc/_XWarningsSupplier.java130
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_ResultSet.java36
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XColumnsSupplier.java70
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XCreateCatalog.java41
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XDataDefinitionSupplier.java163
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XDeleteRows.java84
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XDropCatalog.java41
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XRowLocate.java225
-rw-r--r--qadevOOo/tests/java/ifc/sdbcx/_XTablesSupplier.java71
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocument.java41
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_TableAutoFormatField.java124
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCellRangeData.java76
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XCellRangesQuery.java300
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XEnhancedMouseClickBroadcaster.java138
-rw-r--r--qadevOOo/tests/java/ifc/sheet/_XRangeSelection.java353
-rw-r--r--qadevOOo/tests/java/ifc/style/_CharacterProperties.java537
-rw-r--r--qadevOOo/tests/java/ifc/style/_CharacterPropertiesAsian.java68
-rw-r--r--qadevOOo/tests/java/ifc/style/_CharacterPropertiesComplex.java61
-rw-r--r--qadevOOo/tests/java/ifc/style/_CharacterStyle.java41
-rw-r--r--qadevOOo/tests/java/ifc/style/_PageProperties.java117
-rw-r--r--qadevOOo/tests/java/ifc/style/_PageStyle.java28
-rw-r--r--qadevOOo/tests/java/ifc/style/_ParagraphProperties.java456
-rw-r--r--qadevOOo/tests/java/ifc/style/_ParagraphPropertiesAsian.java78
-rw-r--r--qadevOOo/tests/java/ifc/style/_ParagraphPropertiesComplex.java47
-rw-r--r--qadevOOo/tests/java/ifc/style/_ParagraphStyle.java27
-rw-r--r--qadevOOo/tests/java/ifc/style/_Style.java45
-rw-r--r--qadevOOo/tests/java/ifc/style/_XStyle.java109
-rw-r--r--qadevOOo/tests/java/ifc/style/_XStyleFamiliesSupplier.java46
-rw-r--r--qadevOOo/tests/java/ifc/system/_XSimpleMailClientSupplier.java68
-rw-r--r--qadevOOo/tests/java/ifc/system/_XSystemShellExecute.java109
-rw-r--r--qadevOOo/tests/java/ifc/table/_CellProperties.java102
-rw-r--r--qadevOOo/tests/java/ifc/table/_XAutoFormattable.java126
-rw-r--r--qadevOOo/tests/java/ifc/table/_XCellRange.java143
-rw-r--r--qadevOOo/tests/java/ifc/table/_XTableChart.java116
-rw-r--r--qadevOOo/tests/java/ifc/table/_XTableColumns.java391
-rw-r--r--qadevOOo/tests/java/ifc/table/_XTableRows.java130
-rw-r--r--qadevOOo/tests/java/ifc/task/_XInteractionHandler.java74
-rw-r--r--qadevOOo/tests/java/ifc/task/_XJob.java90
-rw-r--r--qadevOOo/tests/java/ifc/task/_XJobExecutor.java68
-rw-r--r--qadevOOo/tests/java/ifc/task/_XStatusIndicatorFactory.java67
-rw-r--r--qadevOOo/tests/java/ifc/text/_BaseFrame.java116
-rw-r--r--qadevOOo/tests/java/ifc/text/_BaseFrameProperties.java37
-rw-r--r--qadevOOo/tests/java/ifc/text/_BaseIndex.java201
-rw-r--r--qadevOOo/tests/java/ifc/text/_BaseIndexMark.java36
-rw-r--r--qadevOOo/tests/java/ifc/text/_CellProperties.java150
-rw-r--r--qadevOOo/tests/java/ifc/text/_CellRange.java94
-rw-r--r--qadevOOo/tests/java/ifc/text/_Defaults.java32
-rw-r--r--qadevOOo/tests/java/ifc/text/_DocumentIndex.java45
-rw-r--r--qadevOOo/tests/java/ifc/text/_DocumentIndexMark.java38
-rw-r--r--qadevOOo/tests/java/ifc/text/_DocumentSettings.java26
-rw-r--r--qadevOOo/tests/java/ifc/text/_Footnote.java47
-rw-r--r--qadevOOo/tests/java/ifc/text/_FootnoteSettings.java95
-rw-r--r--qadevOOo/tests/java/ifc/text/_GenericTextDocument.java39
-rw-r--r--qadevOOo/tests/java/ifc/text/_LineNumberingProperties.java54
-rw-r--r--qadevOOo/tests/java/ifc/text/_MailMerge.java167
-rw-r--r--qadevOOo/tests/java/ifc/text/_NumberingLevel.java163
-rw-r--r--qadevOOo/tests/java/ifc/text/_NumberingRules.java39
-rw-r--r--qadevOOo/tests/java/ifc/text/_PrintSettings.java47
-rw-r--r--qadevOOo/tests/java/ifc/text/_Text.java26
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextColumns.java64
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextContent.java37
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextDocument.java39
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextEmbeddedObject.java59
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextFieldMaster.java37
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextFrame.java61
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextGraphicObject.java162
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextPortion.java48
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextSection.java142
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextTable.java110
-rw-r--r--qadevOOo/tests/java/ifc/text/_TextTableRow.java43
-rw-r--r--qadevOOo/tests/java/ifc/text/_ViewSettings.java61
-rw-r--r--qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java132
-rw-r--r--qadevOOo/tests/java/ifc/text/_XAutoTextEntry.java69
-rw-r--r--qadevOOo/tests/java/ifc/text/_XAutoTextGroup.java299
-rw-r--r--qadevOOo/tests/java/ifc/text/_XBookmarksSupplier.java55
-rw-r--r--qadevOOo/tests/java/ifc/text/_XChapterNumberingSupplier.java54
-rw-r--r--qadevOOo/tests/java/ifc/text/_XDefaultNumberingProvider.java65
-rw-r--r--qadevOOo/tests/java/ifc/text/_XDocumentIndex.java115
-rw-r--r--qadevOOo/tests/java/ifc/text/_XDocumentIndexesSupplier.java54
-rw-r--r--qadevOOo/tests/java/ifc/text/_XEndnotesSupplier.java72
-rw-r--r--qadevOOo/tests/java/ifc/text/_XFootnote.java101
-rw-r--r--qadevOOo/tests/java/ifc/text/_XFootnotesSettingsSupplier.java54
-rw-r--r--qadevOOo/tests/java/ifc/text/_XFootnotesSupplier.java73
-rw-r--r--qadevOOo/tests/java/ifc/text/_XLineNumberingProperties.java52
-rw-r--r--qadevOOo/tests/java/ifc/text/_XMailMergeBroadcaster.java140
-rw-r--r--qadevOOo/tests/java/ifc/text/_XPageCursor.java162
-rw-r--r--qadevOOo/tests/java/ifc/text/_XPagePrintable.java152
-rw-r--r--qadevOOo/tests/java/ifc/text/_XParagraphCursor.java128
-rw-r--r--qadevOOo/tests/java/ifc/text/_XReferenceMarksSupplier.java57
-rw-r--r--qadevOOo/tests/java/ifc/text/_XRelativeTextContentInsert.java126
-rw-r--r--qadevOOo/tests/java/ifc/text/_XSentenceCursor.java118
-rw-r--r--qadevOOo/tests/java/ifc/text/_XSimpleText.java126
-rw-r--r--qadevOOo/tests/java/ifc/text/_XText.java157
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextColumns.java105
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextContent.java108
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextCursor.java235
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextDocument.java62
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextEmbeddedObjectsSupplier.java52
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextField.java57
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextFieldsSupplier.java178
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextFrame.java59
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextFramesSupplier.java55
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextGraphicObjectsSupplier.java58
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextRange.java170
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextRangeCompare.java174
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextRangeMover.java88
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextSection.java68
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextSectionsSupplier.java66
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextTable.java173
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextTableCursor.java283
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextTablesSupplier.java57
-rw-r--r--qadevOOo/tests/java/ifc/text/_XTextViewCursorSupplier.java53
-rw-r--r--qadevOOo/tests/java/ifc/text/_XWordCursor.java124
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetFactory.java106
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetStubFactory.java104
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetFactory.java114
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetStubFactory.java174
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCommandProcessor.java234
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XCommandProcessor2.java41
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XContentIdentifierFactory.java67
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XContentProvider.java130
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XContentProviderFactory.java51
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XContentProviderManager.java275
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XDataContainer.java126
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XFileIdentifierConverter.java90
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XParameterizedContentProvider.java84
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XPropertyMatcherFactory.java62
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XPropertySetRegistryFactory.java50
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderAcceptor.java89
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderActivator.java69
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess.java539
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess2.java70
-rw-r--r--qadevOOo/tests/java/ifc/ucb/_XSortedDynamicResultSetFactory.java150
-rw-r--r--qadevOOo/tests/java/ifc/ui/_XContextMenuInterception.java201
-rw-r--r--qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManager.java73
-rw-r--r--qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManagerSupplier.java55
-rw-r--r--qadevOOo/tests/java/ifc/ui/_XUIConfiguration.java94
-rw-r--r--qadevOOo/tests/java/ifc/ui/_XUIConfigurationListener.java44
-rw-r--r--qadevOOo/tests/java/ifc/ui/_XUIConfigurationManager.java354
-rw-r--r--qadevOOo/tests/java/ifc/ui/_XUIConfigurationPersistence.java75
-rw-r--r--qadevOOo/tests/java/ifc/ui/_XUIConfigurationStorage.java68
-rw-r--r--qadevOOo/tests/java/ifc/ui/_XUIElementFactory.java47
-rw-r--r--qadevOOo/tests/java/ifc/ui/_XUIElementFactoryRegistration.java72
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_FilePicker.java27
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XControlAccess.java133
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XControlInformation.java178
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XExecutableDialog.java176
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilePicker.java151
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerControlAccess.java194
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerNotifier.java270
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilePreview.java113
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilterGroupManager.java55
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFilterManager.java97
-rw-r--r--qadevOOo/tests/java/ifc/ui/dialogs/_XFolderPicker.java105
-rw-r--r--qadevOOo/tests/java/ifc/uno/_XComponentContext.java72
-rw-r--r--qadevOOo/tests/java/ifc/uno/_XNamingService.java147
-rw-r--r--qadevOOo/tests/java/ifc/util/_PathSettings.java79
-rw-r--r--qadevOOo/tests/java/ifc/util/_SearchDescriptor.java44
-rw-r--r--qadevOOo/tests/java/ifc/util/_XCancellable.java57
-rw-r--r--qadevOOo/tests/java/ifc/util/_XChangesBatch.java164
-rw-r--r--qadevOOo/tests/java/ifc/util/_XChangesNotifier.java213
-rw-r--r--qadevOOo/tests/java/ifc/util/_XCloneable.java102
-rw-r--r--qadevOOo/tests/java/ifc/util/_XFlushable.java101
-rw-r--r--qadevOOo/tests/java/ifc/util/_XImportable.java192
-rw-r--r--qadevOOo/tests/java/ifc/util/_XModeSelector.java95
-rw-r--r--qadevOOo/tests/java/ifc/util/_XModifiable.java48
-rw-r--r--qadevOOo/tests/java/ifc/util/_XModifyBroadcaster.java73
-rw-r--r--qadevOOo/tests/java/ifc/util/_XNumberFormatsSupplier.java89
-rw-r--r--qadevOOo/tests/java/ifc/util/_XNumberFormatter.java119
-rw-r--r--qadevOOo/tests/java/ifc/util/_XProtectable.java75
-rw-r--r--qadevOOo/tests/java/ifc/util/_XRefreshable.java110
-rw-r--r--qadevOOo/tests/java/ifc/util/_XReplaceDescriptor.java65
-rw-r--r--qadevOOo/tests/java/ifc/util/_XReplaceable.java140
-rw-r--r--qadevOOo/tests/java/ifc/util/_XSearchDescriptor.java77
-rw-r--r--qadevOOo/tests/java/ifc/util/_XSearchable.java178
-rw-r--r--qadevOOo/tests/java/ifc/util/_XSortable.java231
-rw-r--r--qadevOOo/tests/java/ifc/util/_XStringEscape.java55
-rw-r--r--qadevOOo/tests/java/ifc/util/_XStringSubstitution.java92
-rw-r--r--qadevOOo/tests/java/ifc/util/_XURLTransformer.java461
-rw-r--r--qadevOOo/tests/java/ifc/view/_XControlAccess.java115
-rw-r--r--qadevOOo/tests/java/ifc/view/_XFormLayerAccess.java150
-rw-r--r--qadevOOo/tests/java/ifc/view/_XMultiSelectionSupplier.java415
-rw-r--r--qadevOOo/tests/java/ifc/view/_XPrintJobBroadcaster.java146
-rw-r--r--qadevOOo/tests/java/ifc/view/_XPrintSettingsSupplier.java53
-rw-r--r--qadevOOo/tests/java/ifc/view/_XPrintable.java179
-rw-r--r--qadevOOo/tests/java/ifc/view/_XScreenCursor.java78
-rw-r--r--qadevOOo/tests/java/ifc/view/_XSelectionSupplier.java199
-rw-r--r--qadevOOo/tests/java/ifc/view/_XViewSettingsSupplier.java53
-rw-r--r--qadevOOo/tests/java/ifc/xml/_UserDefinedAttributesSupplier.java63
-rw-r--r--qadevOOo/tests/java/ifc/xml/sax/_XDocumentHandler.java392
-rw-r--r--qadevOOo/tests/java/mod/_acceptor/Acceptor.java115
-rw-r--r--qadevOOo/tests/java/mod/_acceptor/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_acceptor/uno/Acceptor.java104
-rw-r--r--qadevOOo/tests/java/mod/_ado/ODriver.java89
-rw-r--r--qadevOOo/tests/java/mod/_basctl/AccessibleShape.java135
-rw-r--r--qadevOOo/tests/java/mod/_brdgfctr/BridgeFactory.java101
-rw-r--r--qadevOOo/tests/java/mod/_brdgfctr/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_bridgefac/uno/BridgeFactory.java97
-rw-r--r--qadevOOo/tests/java/mod/_bridgefac/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_cached/CachedContentResultSetFactory.java148
-rw-r--r--qadevOOo/tests/java/mod/_cached/CachedContentResultSetStubFactory.java138
-rw-r--r--qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetFactory.java145
-rw-r--r--qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetStubFactory.java131
-rw-r--r--qadevOOo/tests/java/mod/_cmdmail/SimpleCommandMail.java52
-rw-r--r--qadevOOo/tests/java/mod/_cnt/ChaosContentProvider.java89
-rw-r--r--qadevOOo/tests/java/mod/_cnt/CntUnoDataContainer.java112
-rw-r--r--qadevOOo/tests/java/mod/_cnt/PropertyMatcherFactory.java65
-rw-r--r--qadevOOo/tests/java/mod/_configmgr/ConfigurationProvider.java44
-rw-r--r--qadevOOo/tests/java/mod/_configmgr/DefaultProvider.java40
-rw-r--r--qadevOOo/tests/java/mod/_configmgr/ProviderTestEnvironment.java42
-rw-r--r--qadevOOo/tests/java/mod/_connector/uno/Connector.java104
-rw-r--r--qadevOOo/tests/java/mod/_connector/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_connectr/Connector.java108
-rw-r--r--qadevOOo/tests/java/mod/_connectr/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_corefl/CoreReflection.java61
-rw-r--r--qadevOOo/tests/java/mod/_corefl/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_corereflection/uno/CoreReflection.java58
-rw-r--r--qadevOOo/tests/java/mod/_corereflection/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_cpld/DLLComponentLoader.java94
-rw-r--r--qadevOOo/tests/java/mod/_cpld/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ConnectionLineAccessibility.java261
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/DBContentLoader.java82
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/JoinViewAccessibility.java254
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/OCommandDefinition.java65
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ODatabaseContext.java106
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ODatabaseSource.java175
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ODatasourceAdministrationDialog.java75
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ODatasourceBrowser.java297
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/OInteractionHandler.java90
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/OQueryDesign.java224
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/ORowSet.java608
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/OSQLMessageDialog.java127
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/OSingleSelectQueryComposer.java245
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/SbaXGridControl.java426
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/TableWindowAccessibility.java267
-rw-r--r--qadevOOo/tests/java/mod/_dbaccess/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_dbpool/OConnectionPool.java101
-rw-r--r--qadevOOo/tests/java/mod/_defreg/NestedRegistry.java201
-rw-r--r--qadevOOo/tests/java/mod/_defreg/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_dtrans/generic.java60
-rw-r--r--qadevOOo/tests/java/mod/_dynamicloader/Dynamic.java78
-rw-r--r--qadevOOo/tests/java/mod/_file/calc/ODriver.java95
-rw-r--r--qadevOOo/tests/java/mod/_file/dbase/ODriver.java92
-rw-r--r--qadevOOo/tests/java/mod/_file/flat/ODriver.java90
-rw-r--r--qadevOOo/tests/java/mod/_fileacc/SimpleFileAccess.java69
-rw-r--r--qadevOOo/tests/java/mod/_fileacc/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_fop/FolderPicker.java80
-rw-r--r--qadevOOo/tests/java/mod/_forms/GenericModelTest.java526
-rw-r--r--qadevOOo/tests/java/mod/_forms/OButtonControl.java202
-rw-r--r--qadevOOo/tests/java/mod/_forms/OButtonModel.java106
-rw-r--r--qadevOOo/tests/java/mod/_forms/OCheckBoxControl.java214
-rw-r--r--qadevOOo/tests/java/mod/_forms/OCheckBoxModel.java121
-rw-r--r--qadevOOo/tests/java/mod/_forms/OComboBoxControl.java223
-rw-r--r--qadevOOo/tests/java/mod/_forms/OComboBoxModel.java135
-rw-r--r--qadevOOo/tests/java/mod/_forms/OCurrencyControl.java230
-rw-r--r--qadevOOo/tests/java/mod/_forms/OCurrencyModel.java131
-rw-r--r--qadevOOo/tests/java/mod/_forms/ODatabaseForm.java863
-rw-r--r--qadevOOo/tests/java/mod/_forms/ODateControl.java222
-rw-r--r--qadevOOo/tests/java/mod/_forms/ODateModel.java150
-rw-r--r--qadevOOo/tests/java/mod/_forms/OEditControl.java240
-rw-r--r--qadevOOo/tests/java/mod/_forms/OEditModel.java142
-rw-r--r--qadevOOo/tests/java/mod/_forms/OFileControlModel.java188
-rw-r--r--qadevOOo/tests/java/mod/_forms/OFixedTextModel.java99
-rw-r--r--qadevOOo/tests/java/mod/_forms/OFormattedControl.java219
-rw-r--r--qadevOOo/tests/java/mod/_forms/OFormattedFieldWrapper.java135
-rw-r--r--qadevOOo/tests/java/mod/_forms/OFormsCollection.java179
-rw-r--r--qadevOOo/tests/java/mod/_forms/OGridControlModel.java347
-rw-r--r--qadevOOo/tests/java/mod/_forms/OGroupBoxControl.java193
-rw-r--r--qadevOOo/tests/java/mod/_forms/OGroupBoxModel.java99
-rw-r--r--qadevOOo/tests/java/mod/_forms/OHiddenModel.java175
-rw-r--r--qadevOOo/tests/java/mod/_forms/OImageButtonControl.java198
-rw-r--r--qadevOOo/tests/java/mod/_forms/OImageButtonModel.java103
-rw-r--r--qadevOOo/tests/java/mod/_forms/OImageControlControl.java199
-rw-r--r--qadevOOo/tests/java/mod/_forms/OImageControlModel.java134
-rw-r--r--qadevOOo/tests/java/mod/_forms/OListBoxControl.java156
-rw-r--r--qadevOOo/tests/java/mod/_forms/OListBoxModel.java217
-rw-r--r--qadevOOo/tests/java/mod/_forms/ONavigationBarControl.java159
-rw-r--r--qadevOOo/tests/java/mod/_forms/ONavigationBarModel.java52
-rw-r--r--qadevOOo/tests/java/mod/_forms/ONumericControl.java224
-rw-r--r--qadevOOo/tests/java/mod/_forms/ONumericModel.java133
-rw-r--r--qadevOOo/tests/java/mod/_forms/OPatternControl.java222
-rw-r--r--qadevOOo/tests/java/mod/_forms/OPatternModel.java138
-rw-r--r--qadevOOo/tests/java/mod/_forms/ORadioButtonControl.java201
-rw-r--r--qadevOOo/tests/java/mod/_forms/ORadioButtonModel.java157
-rw-r--r--qadevOOo/tests/java/mod/_forms/OScrollBarModel.java93
-rw-r--r--qadevOOo/tests/java/mod/_forms/OSpinButtonModel.java95
-rw-r--r--qadevOOo/tests/java/mod/_forms/OTimeControl.java224
-rw-r--r--qadevOOo/tests/java/mod/_forms/OTimeModel.java213
-rw-r--r--qadevOOo/tests/java/mod/_forms/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_fps/FilePicker.java119
-rw-r--r--qadevOOo/tests/java/mod/_ftransl/DataFormatTranslator.java83
-rw-r--r--qadevOOo/tests/java/mod/_fwk/ControlMenuController.java47
-rw-r--r--qadevOOo/tests/java/mod/_fwk/Desktop.java112
-rw-r--r--qadevOOo/tests/java/mod/_fwk/DispatchRecorder.java156
-rw-r--r--qadevOOo/tests/java/mod/_fwk/DispatchRecorderSupplier.java55
-rw-r--r--qadevOOo/tests/java/mod/_fwk/FontMenuController.java44
-rw-r--r--qadevOOo/tests/java/mod/_fwk/FontSizeMenuController.java42
-rw-r--r--qadevOOo/tests/java/mod/_fwk/FooterMenuController.java42
-rw-r--r--qadevOOo/tests/java/mod/_fwk/FormatMenuController.java42
-rw-r--r--qadevOOo/tests/java/mod/_fwk/Frame.java104
-rw-r--r--qadevOOo/tests/java/mod/_fwk/HeaderMenuController.java42
-rw-r--r--qadevOOo/tests/java/mod/_fwk/JobExecutor.java273
-rw-r--r--qadevOOo/tests/java/mod/_fwk/JobHandler.java73
-rw-r--r--qadevOOo/tests/java/mod/_fwk/LayoutManager.java105
-rw-r--r--qadevOOo/tests/java/mod/_fwk/MacrosMenuController.java41
-rw-r--r--qadevOOo/tests/java/mod/_fwk/MailToDispatcher.java61
-rw-r--r--qadevOOo/tests/java/mod/_fwk/MenuBarFactory.java41
-rw-r--r--qadevOOo/tests/java/mod/_fwk/ModuleManager.java227
-rw-r--r--qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManager.java188
-rw-r--r--qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManagerSupplier.java42
-rw-r--r--qadevOOo/tests/java/mod/_fwk/PopupMenuControllerFactory.java99
-rw-r--r--qadevOOo/tests/java/mod/_fwk/ServiceHandler.java61
-rw-r--r--qadevOOo/tests/java/mod/_fwk/SoundHandler.java62
-rw-r--r--qadevOOo/tests/java/mod/_fwk/StatusBarControllerFactory.java47
-rw-r--r--qadevOOo/tests/java/mod/_fwk/ToolBarsMenuController.java42
-rw-r--r--qadevOOo/tests/java/mod/_fwk/UICategoryDescription.java42
-rw-r--r--qadevOOo/tests/java/mod/_fwk/UICommandDescription.java41
-rw-r--r--qadevOOo/tests/java/mod/_fwk/UIConfigurationManager.java196
-rw-r--r--qadevOOo/tests/java/mod/_fwk/UIElementFactoryManager.java84
-rw-r--r--qadevOOo/tests/java/mod/_fwk/URLTransformer.java53
-rw-r--r--qadevOOo/tests/java/mod/_fwl/ContentHandlerFactory.java93
-rw-r--r--qadevOOo/tests/java/mod/_fwl/FilterFactory.java160
-rw-r--r--qadevOOo/tests/java/mod/_fwl/FrameLoaderFactory.java87
-rw-r--r--qadevOOo/tests/java/mod/_fwl/PathSettings.java138
-rw-r--r--qadevOOo/tests/java/mod/_fwl/SubstituteVariables.java68
-rw-r--r--qadevOOo/tests/java/mod/_fwl/TypeDetection.java152
-rw-r--r--qadevOOo/tests/java/mod/_i18n/BreakIterator.java98
-rw-r--r--qadevOOo/tests/java/mod/_i18n/CalendarImpl.java61
-rw-r--r--qadevOOo/tests/java/mod/_i18n/ChapterCollator.java65
-rw-r--r--qadevOOo/tests/java/mod/_i18n/CharacterClassification.java68
-rw-r--r--qadevOOo/tests/java/mod/_i18n/Collator.java62
-rw-r--r--qadevOOo/tests/java/mod/_i18n/IndexEntrySupplier.java67
-rw-r--r--qadevOOo/tests/java/mod/_i18n/LocaleData.java67
-rw-r--r--qadevOOo/tests/java/mod/_i18n/NumberFormatCodeMapper.java71
-rw-r--r--qadevOOo/tests/java/mod/_i18n/Transliteration.java62
-rw-r--r--qadevOOo/tests/java/mod/_implreg/uno/ImplementationRegistration.java61
-rw-r--r--qadevOOo/tests/java/mod/_implreg/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_impreg/ImplementationRegistration.java66
-rw-r--r--qadevOOo/tests/java/mod/_impreg/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_insp/Introspection.java65
-rw-r--r--qadevOOo/tests/java/mod/_insp/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_introspection/uno/Introspection.java61
-rw-r--r--qadevOOo/tests/java/mod/_introspection/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_inv/Invocation.java92
-rw-r--r--qadevOOo/tests/java/mod/_inv/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_invadp/InvocationAdapterFactory.java61
-rw-r--r--qadevOOo/tests/java/mod/_invadp/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_invocadapt/uno/InvocationAdapterFactory.java60
-rw-r--r--qadevOOo/tests/java/mod/_invocadapt/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_invocation/uno/Invocation.java90
-rw-r--r--qadevOOo/tests/java/mod/_invocation/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_javaloader/JavaComponentLoader.java83
-rw-r--r--qadevOOo/tests/java/mod/_javaloader/uno/JavaComponentLoader.java80
-rw-r--r--qadevOOo/tests/java/mod/_javavm/uno/JavaVirtualMachine.java61
-rw-r--r--qadevOOo/tests/java/mod/_javavm/uno/package.html6
-rw-r--r--qadevOOo/tests/java/mod/_jdbc/JDBCDriver.java107
-rw-r--r--qadevOOo/tests/java/mod/_jen/JavaVirtualMachine.java63
-rw-r--r--qadevOOo/tests/java/mod/_jen/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_lng/DicList.java97
-rw-r--r--qadevOOo/tests/java/mod/_lng/LinguProps.java82
-rw-r--r--qadevOOo/tests/java/mod/_lng/LngSvcMgr.java76
-rw-r--r--qadevOOo/tests/java/mod/_lnn/Hyphenator.java94
-rw-r--r--qadevOOo/tests/java/mod/_lnn/SpellChecker.java92
-rw-r--r--qadevOOo/tests/java/mod/_lnn/Thesaurus.java82
-rw-r--r--qadevOOo/tests/java/mod/_mcnttype/MimeContentTypeFactory.java71
-rw-r--r--qadevOOo/tests/java/mod/_namingservice/NamingService.java88
-rw-r--r--qadevOOo/tests/java/mod/_namingservice/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_namingservice/uno/NamingService.java85
-rw-r--r--qadevOOo/tests/java/mod/_nestedreg/uno/NestedRegistry.java197
-rw-r--r--qadevOOo/tests/java/mod/_nestedreg/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_odbc/ODBCDriver.java85
-rw-r--r--qadevOOo/tests/java/mod/_pcr/ObjectInspector.java191
-rw-r--r--qadevOOo/tests/java/mod/_pcr/ObjectInspectorModel.java147
-rw-r--r--qadevOOo/tests/java/mod/_proxyfac/ProxyFactory.java63
-rw-r--r--qadevOOo/tests/java/mod/_proxyfac/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_proxyfac/uno/ProxyFactory.java61
-rw-r--r--qadevOOo/tests/java/mod/_rdbtdp/RegistryTypeDescriptionProvider.java115
-rw-r--r--qadevOOo/tests/java/mod/_rdbtdp/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_regtypeprov/uno/RegistryTypeDescriptionProvider.java110
-rw-r--r--qadevOOo/tests/java/mod/_remotebridge/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_remotebridge/uno/various.java266
-rw-r--r--qadevOOo/tests/java/mod/_remotebridge/various.java213
-rw-r--r--qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_HeaderFooter.java202
-rw-r--r--qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_PreviewCell.java161
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleCell.java175
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleCsvCell.java145
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleCsvGrid.java129
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleCsvRuler.java166
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleDocument.java143
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleDocumentPagePreview.java198
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java238
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeaderArea.java200
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewCell.java173
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewHeaderCell.java232
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewTable.java191
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAccessibleSpreadsheet.java149
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAnnotationShapeObj.java185
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAnnotationTextCursor.java124
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScAutoFormatFieldObj.java97
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellCursorObj.java294
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellObj.java183
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellRangeObj.java279
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellRangesObj.java224
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScCellTextCursor.java162
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDataPilotItemObj.java328
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDatabaseRangeObj.java200
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScDocumentConfiguration.java71
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextCursor.java174
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextObj.java219
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScModelObj.java209
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScShapeObj.java101
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScSheetLinkObj.java143
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScStyleObj.java193
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTabViewObj.java233
-rw-r--r--qadevOOo/tests/java/mod/_sc/ScTableSheetObj.java384
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLContentExporter.java190
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLContentImporter.java180
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLExporter.java199
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLImporter.java176
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLMetaExporter.java181
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLMetaImporter.java171
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLSettingsExporter.java182
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLSettingsImporter.java199
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLStylesExporter.java185
-rw-r--r--qadevOOo/tests/java/mod/_sc/XMLStylesImporter.java196
-rw-r--r--qadevOOo/tests/java/mod/_sc/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccArea.java101
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccAxis.java99
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccDataPoint.java100
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccDataSeries.java100
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccDiagram.java100
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccFloor.java106
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccGrid.java101
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccLegend.java99
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccLegendEntry.java99
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccTitle.java99
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccWall.java105
-rw-r--r--qadevOOo/tests/java/mod/_sch/AccessibleDocumentView.java112
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXChartAxis.java113
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXChartData.java88
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXChartDataArray.java91
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXChartDocument.java156
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXChartView.java127
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXDataPoint.java140
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXDataRow.java147
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChXDiagram.java367
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChartArea.java106
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChartGrid.java105
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChartLegend.java126
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChartLine.java112
-rw-r--r--qadevOOo/tests/java/mod/_sch/ChartTitle.java105
-rw-r--r--qadevOOo/tests/java/mod/_sd/AccessibleDrawDocumentView.java149
-rw-r--r--qadevOOo/tests/java/mod/_sd/AccessibleOutlineView.java152
-rw-r--r--qadevOOo/tests/java/mod/_sd/AccessibleSlideView.java160
-rw-r--r--qadevOOo/tests/java/mod/_sd/DrawController_DrawView.java248
-rw-r--r--qadevOOo/tests/java/mod/_sd/DrawController_HandoutView.java276
-rw-r--r--qadevOOo/tests/java/mod/_sd/DrawController_NotesView.java273
-rw-r--r--qadevOOo/tests/java/mod/_sd/DrawController_OutlineView.java273
-rw-r--r--qadevOOo/tests/java/mod/_sd/DrawController_PresentationView.java273
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdDocLinkTargets.java96
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdDrawPage.java186
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdDrawPagesAccess.java109
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdGenericDrawPage.java169
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdLayer.java111
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdLayerManager.java140
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdMasterPage.java165
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdMasterPagesAccess.java107
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdPageLinkTargets.java121
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdUnoDrawView.java249
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdUnoOutlineView.java209
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdUnoPresView.java249
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdUnoSlideView.java189
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdXCustomPresentation.java170
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdXCustomPresentationAccess.java169
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdXImpressDocument.java170
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdXPresentation.java131
-rw-r--r--qadevOOo/tests/java/mod/_sd/SdXShape.java165
-rw-r--r--qadevOOo/tests/java/mod/_sd/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_servicemgr/uno/OServiceManager.java158
-rw-r--r--qadevOOo/tests/java/mod/_servicemgr/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_sfx/AppDispatchProvider.java84
-rw-r--r--qadevOOo/tests/java/mod/_sfx/DocumentTemplates.java85
-rw-r--r--qadevOOo/tests/java/mod/_sfx/FrameLoader.java79
-rw-r--r--qadevOOo/tests/java/mod/_sfx/SfxMacroLoader.java85
-rw-r--r--qadevOOo/tests/java/mod/_shlibloader/uno/DLLComponentLoader.java101
-rw-r--r--qadevOOo/tests/java/mod/_shlibloader/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_simplereg/uno/SimpleRegistry.java166
-rw-r--r--qadevOOo/tests/java/mod/_simplereg/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_simreg/SimpleRegistry.java170
-rw-r--r--qadevOOo/tests/java/mod/_simreg/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_sm/SmEditAccessible.java129
-rw-r--r--qadevOOo/tests/java/mod/_sm/SmGraphicAccessible.java132
-rw-r--r--qadevOOo/tests/java/mod/_sm/SmModel.java80
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLExporter.java185
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLImporter.java153
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLMetaExporter.java181
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLMetaImporter.java187
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLSettingsExporter.java180
-rw-r--r--qadevOOo/tests/java/mod/_sm/XMLSettingsImporter.java162
-rw-r--r--qadevOOo/tests/java/mod/_smgr/OServiceManager.java157
-rw-r--r--qadevOOo/tests/java/mod/_smgr/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_smplmail/SimpleSystemMail.java107
-rw-r--r--qadevOOo/tests/java/mod/_srtrs/SortedDynamicResultSetFactory.java75
-rw-r--r--qadevOOo/tests/java/mod/_stm/DataInputStream.java152
-rw-r--r--qadevOOo/tests/java/mod/_stm/DataOutputStream.java164
-rw-r--r--qadevOOo/tests/java/mod/_stm/MarkableInputStream.java129
-rw-r--r--qadevOOo/tests/java/mod/_stm/MarkableOutputStream.java188
-rw-r--r--qadevOOo/tests/java/mod/_stm/ObjectInputStream.java250
-rw-r--r--qadevOOo/tests/java/mod/_stm/ObjectOutputStream.java272
-rw-r--r--qadevOOo/tests/java/mod/_stm/Pipe.java99
-rw-r--r--qadevOOo/tests/java/mod/_stm/Pump.java174
-rw-r--r--qadevOOo/tests/java/mod/_stm/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_streams/uno/DataInputStream.java151
-rw-r--r--qadevOOo/tests/java/mod/_streams/uno/DataOutputStream.java163
-rw-r--r--qadevOOo/tests/java/mod/_streams/uno/MarkableInputStream.java128
-rw-r--r--qadevOOo/tests/java/mod/_streams/uno/MarkableOutputStream.java187
-rw-r--r--qadevOOo/tests/java/mod/_streams/uno/ObjectInputStream.java256
-rw-r--r--qadevOOo/tests/java/mod/_streams/uno/ObjectOutputStream.java271
-rw-r--r--qadevOOo/tests/java/mod/_streams/uno/Pipe.java98
-rw-r--r--qadevOOo/tests/java/mod/_streams/uno/Pump.java172
-rw-r--r--qadevOOo/tests/java/mod/_streams/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBox.java172
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderBar.java222
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderCell.java207
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTable.java209
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTableCell.java174
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrl.java244
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrlEntry.java217
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleTabBar.java132
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPage.java156
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPageList.java172
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBox.java211
-rw-r--r--qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBoxEntry.java262
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessibleControlShape.java108
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessibleEditableTextPara.java134
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessibleGraphicShape.java109
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessibleOLEShape.java118
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessiblePageShape.java114
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessiblePresentationGraphicShape.java122
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessiblePresentationOLEShape.java131
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessiblePresentationShape.java122
-rw-r--r--qadevOOo/tests/java/mod/_svx/AccessibleShape.java110
-rw-r--r--qadevOOo/tests/java/mod/_svx/GraphicExporter.java209
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxDrawPage.java190
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxGraphCtrlAccessibleContext.java210
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxGraphicObject.java253
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShape.java212
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeCircle.java214
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeCollection.java133
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeConnector.java187
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeControl.java145
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeDimensioning.java155
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapeGroup.java163
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygon.java250
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygonBezier.java264
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoNumberingRules.java78
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoText.java156
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextContent.java130
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextContentEnum.java133
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextCursor.java131
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextField.java129
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextRange.java142
-rw-r--r--qadevOOo/tests/java/mod/_svx/SvxUnoTextRangeEnumeration.java143
-rw-r--r--qadevOOo/tests/java/mod/_svx/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_sw/CharacterStyle.java148
-rw-r--r--qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java142
-rw-r--r--qadevOOo/tests/java/mod/_sw/DocumentSettings.java78
-rw-r--r--qadevOOo/tests/java/mod/_sw/PageStyle.java141
-rw-r--r--qadevOOo/tests/java/mod/_sw/ParagraphStyle.java131
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java160
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java168
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java155
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java159
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java156
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java148
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java214
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java126
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java129
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java147
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java142
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java166
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java156
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java75
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java198
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java149
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXBodyText.java136
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXBookmark.java101
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXBookmarks.java101
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXCell.java118
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXCellRange.java137
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java108
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java118
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java124
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java108
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDrawPage.java149
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java109
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java156
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java99
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnote.java134
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java108
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java151
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnotes.java110
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFrames.java116
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java158
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java106
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXMailMerge.java355
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXModule.java65
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java162
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXParagraph.java225
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java141
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java91
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXPropertySet.java71
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java82
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java117
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java128
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXShape.java120
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXStyle.java181
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java97
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java169
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTableCellText.java146
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTableColumns.java112
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTableRows.java104
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextColumns.java168
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextCursor.java307
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java106
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextDocument.java215
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java153
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java121
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextField.java150
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java125
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java126
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFrame.java138
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java137
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java187
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java152
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextPortion.java154
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java137
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextRange.java85
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextRanges.java115
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextSearch.java116
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextSection.java159
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextSections.java122
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTable.java235
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java104
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java113
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTables.java118
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextView.java254
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java107
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXViewSettings.java97
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLContentExporter.java178
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLContentImporter.java157
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLExporter.java181
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLImporter.java153
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java178
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java161
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java187
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java187
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java180
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java169
-rw-r--r--qadevOOo/tests/java/mod/_sw/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_sysdtrans/SystemClipboard.java44
-rw-r--r--qadevOOo/tests/java/mod/_sysdtrans/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_syssh/SystemShellExecute.java44
-rw-r--r--qadevOOo/tests/java/mod/_tcv/TypeConverter.java59
-rw-r--r--qadevOOo/tests/java/mod/_tcv/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_tdmgr/TypeDescriptionManager.java76
-rw-r--r--qadevOOo/tests/java/mod/_tdmgr/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_text/DefaultNumberingProvider.java68
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleButton.java195
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleCheckBox.java207
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleComboBox.java194
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownComboBox.java123
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownListBox.java127
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleEdit.java194
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleFixedText.java189
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleList.java191
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleListBox.java205
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleListItem.java197
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleMenu.java158
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleMenuBar.java126
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleMenuItem.java165
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleMenuSeparator.java141
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessiblePopupMenu.java191
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleRadioButton.java266
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleScrollBar.java155
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBar.java160
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBarItem.java163
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleTabControl.java225
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java237
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleToolBox.java159
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleToolBoxItem.java176
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/AccessibleWindow.java173
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/MutableTreeDataModel.java98
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/MutableTreeNode.java153
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/TabController.java126
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/TabControllerModel.java83
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/Toolkit.java118
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlButton.java129
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlButtonModel.java71
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBox.java137
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBoxModel.java71
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlComboBox.java138
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlComboBoxModel.java77
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlContainer.java204
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlContainerModel.java47
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyField.java140
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyFieldModel.java78
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlDateField.java139
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlDateFieldModel.java77
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlDialog.java241
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlDialogModel.java173
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlEdit.java139
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlEditModel.java77
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFileControl.java140
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFileControlModel.java77
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFixedLineModel.java88
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFixedText.java130
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFixedTextModel.java77
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedField.java145
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedFieldModel.java78
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBox.java129
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBoxModel.java77
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlImageControl.java138
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlImageControlModel.java53
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlListBox.java139
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlListBoxModel.java77
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlNumericField.java150
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlNumericFieldModel.java77
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlPatternField.java140
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlPatternFieldModel.java53
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlProgressBarModel.java85
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButton.java130
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButtonModel.java53
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlScrollBarModel.java88
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlTimeField.java140
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoControlTimeFieldModel.java53
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoScrollBarControl.java156
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControl.java133
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControlModel.java60
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoTreeControl.java265
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/UnoTreeModel.java77
-rw-r--r--qadevOOo/tests/java/mod/_toolkit/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_typeconverter/uno/TypeConverter.java54
-rw-r--r--qadevOOo/tests/java/mod/_typeconverter/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_typemgr/uno/TypeDescriptionManager.java71
-rw-r--r--qadevOOo/tests/java/mod/_typemgr/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_ucb/UcbContentProviderProxyFactory.java63
-rw-r--r--qadevOOo/tests/java/mod/_ucb/UcbPropertiesManager.java54
-rw-r--r--qadevOOo/tests/java/mod/_ucb/UcbStore.java62
-rw-r--r--qadevOOo/tests/java/mod/_ucb/UniversalContentBroker.java73
-rw-r--r--qadevOOo/tests/java/mod/_ucpchelp/CHelpContentProvider.java67
-rw-r--r--qadevOOo/tests/java/mod/_ucpdav/WebDAVContentProvider.java68
-rw-r--r--qadevOOo/tests/java/mod/_ucpfile/FileProvider.java65
-rw-r--r--qadevOOo/tests/java/mod/_ucpftp/FTPContentProvider.java66
-rw-r--r--qadevOOo/tests/java/mod/_ucphier/HierarchyContentProvider.java65
-rw-r--r--qadevOOo/tests/java/mod/_ucphier/HierarchyDataSource.java60
-rw-r--r--qadevOOo/tests/java/mod/_ucppkg/PackageContentProvider.java68
-rw-r--r--qadevOOo/tests/java/mod/_ucprmt/ContentProvider.java96
-rw-r--r--qadevOOo/tests/java/mod/_ucprmt/ProviderAcceptor.java52
-rw-r--r--qadevOOo/tests/java/mod/_ucprmt/ProxyProvider.java57
-rw-r--r--qadevOOo/tests/java/mod/_uui/UUIInteractionHandler.java63
-rw-r--r--qadevOOo/tests/java/mod/_uuresolver/UnoUrlResolver.java65
-rw-r--r--qadevOOo/tests/java/mod/_uuresolver/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_uuresolver/uno/UnoUrlResolver.java54
-rw-r--r--qadevOOo/tests/java/mod/_uuresolver/uno/package.html23
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentExporter.java182
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentImporter.java188
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLExporter.java184
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLImporter.java186
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesExporter.java171
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesImporter.java161
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentExporter.java190
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentImporter.java192
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLExporter.java190
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLImporter.java192
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaExporter.java183
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaImporter.java162
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsExporter.java189
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsImporter.java178
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesExporter.java193
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesImporter.java176
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentExporter.java187
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentImporter.java201
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLExporter.java188
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLImporter.java160
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaExporter.java184
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaImporter.java161
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsExporter.java187
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsImporter.java183
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesExporter.java185
-rw-r--r--qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesImporter.java180
1972 files changed, 202207 insertions, 0 deletions
diff --git a/qadevOOo/.classpath b/qadevOOo/.classpath
new file mode 100644
index 000000000..81adde665
--- /dev/null
+++ b/qadevOOo/.classpath
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="qa"/>
+ <classpathentry kind="src" path="java"/>
+ <classpathentry kind="src" path="runner"/>
+ <classpathentry kind="src" path="testdocs/backend"/>
+ <classpathentry kind="src" path="testdocs/qadevlibs/source"/>
+ <classpathentry kind="src" path="tests/java"/>
+ <classpathentry kind="lib" path="testdocs/qadevlibs/JobExecutor.jar"/>
+ <classpathentry kind="lib" path="testdocs/qadevlibs/MyPersistObjectImpl.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="lib" path="../instdir/program/classes/libreoffice.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+ <classpathentry kind="output" path="../workdir/qadevooo-bin"/>
+</classpath>
diff --git a/qadevOOo/.project b/qadevOOo/.project
new file mode 100644
index 000000000..7f840776f
--- /dev/null
+++ b/qadevOOo/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>qaDevOOo</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+ <linkedResources>
+ <link>
+ <name>java</name>
+ <type>2</type>
+ <location>../unotest/source/java</location>
+ </link>
+ <link>
+ <name>unotools</name>
+ <type>2</type>
+ <locationURI>unotest/source/java</locationURI>
+ </link>
+ </linkedResources>
+</projectDescription>
diff --git a/qadevOOo/Jar_OOoRunner.mk b/qadevOOo/Jar_OOoRunner.mk
new file mode 100644
index 000000000..60e1df691
--- /dev/null
+++ b/qadevOOo/Jar_OOoRunner.mk
@@ -0,0 +1,1295 @@
+#
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+#
+
+#force debug information for OOoRunner
+gb_JavaClassSet_JAVACDEBUG:= -g
+
+$(eval $(call gb_Jar_Jar,OOoRunner))
+
+$(eval $(call gb_Jar_add_manifest_classpath,OOoRunner,\
+ libreoffice.jar \
+))
+
+$(eval $(call gb_Jar_set_manifest,OOoRunner,$(SRCDIR)/qadevOOo/runner/manifest))
+
+$(eval $(call gb_Jar_use_jars,OOoRunner,\
+ libreoffice \
+ java_uno \
+))
+
+$(eval $(call gb_Jar_set_packageroot,OOoRunner,\
+ base \
+ complexlib \
+ convwatch \
+ graphical \
+ helper \
+ ifc \
+ lib \
+ mod \
+ org \
+ share \
+ stats \
+ util \
+))
+
+$(eval $(call gb_Jar_add_sourcefiles,OOoRunner,\
+ qadevOOo/runner/base/java_complex \
+ qadevOOo/runner/base/java_fat \
+ qadevOOo/runner/base/java_fat_service \
+ qadevOOo/runner/base/TestBase \
+ qadevOOo/runner/complexlib/Assurance \
+ qadevOOo/runner/complexlib/ComplexTestCase \
+ qadevOOo/runner/complexlib/MethodThread \
+ qadevOOo/runner/complexlib/ShowTargets \
+ qadevOOo/runner/convwatch/DB \
+ qadevOOo/runner/convwatch/DBHelper \
+ qadevOOo/runner/convwatch/GlobalLogWriter \
+ qadevOOo/runner/graphical/FileHelper \
+ qadevOOo/runner/helper/APIDescGetter \
+ qadevOOo/runner/helper/AppProvider \
+ qadevOOo/runner/helper/CfgParser \
+ qadevOOo/runner/helper/ClParser \
+ qadevOOo/runner/helper/ComplexDescGetter \
+ qadevOOo/runner/helper/ConfigHelper \
+ qadevOOo/runner/helper/ConfigurationRead \
+ qadevOOo/runner/helper/ContextMenuInterceptor \
+ qadevOOo/runner/helper/FileTools \
+ qadevOOo/runner/helper/LoggingThread \
+ qadevOOo/runner/helper/OfficeProvider \
+ qadevOOo/runner/helper/OfficeWatcher \
+ qadevOOo/runner/helper/OSHelper \
+ qadevOOo/runner/helper/ProcessHandler \
+ qadevOOo/runner/helper/PropertyHandlerFactroy \
+ qadevOOo/runner/helper/PropertyHandlerImpl \
+ qadevOOo/runner/helper/StreamSimulator \
+ qadevOOo/runner/helper/StringHelper \
+ qadevOOo/runner/helper/UnoProvider \
+ qadevOOo/runner/helper/URLHelper \
+ qadevOOo/runner/lib/DynamicClassLoader \
+ qadevOOo/runner/lib/ExceptionStatus \
+ qadevOOo/runner/lib/MultiMethodTest \
+ qadevOOo/runner/lib/MultiPropertyTest \
+ qadevOOo/runner/lib/RunState \
+ qadevOOo/runner/lib/SimpleStatus \
+ qadevOOo/runner/lib/Status \
+ qadevOOo/runner/lib/StatusException \
+ qadevOOo/runner/lib/TestCase \
+ qadevOOo/runner/lib/TestEnvironment \
+ qadevOOo/runner/lib/TestParameters \
+ qadevOOo/runner/lib/TestResult \
+ qadevOOo/runner/org/openoffice/Runner \
+ qadevOOo/runner/org/openoffice/RunnerService \
+ qadevOOo/runner/share/ComplexTest \
+ qadevOOo/runner/share/DescEntry \
+ qadevOOo/runner/share/DescGetter \
+ qadevOOo/runner/share/LogWriter \
+ qadevOOo/runner/share/Watcher \
+ qadevOOo/runner/stats/InternalLogWriter \
+ qadevOOo/runner/stats/OutProducerFactory \
+ qadevOOo/runner/stats/SimpleLogWriter \
+ qadevOOo/runner/stats/SimpleOutProducer \
+ qadevOOo/runner/stats/Summarizer \
+ qadevOOo/runner/util/AccessibilityTools \
+ qadevOOo/runner/util/BookmarkDsc \
+ qadevOOo/runner/util/CalcTools \
+ qadevOOo/runner/util/db/DatabaseDocument \
+ qadevOOo/runner/util/db/DataSource \
+ qadevOOo/runner/util/db/DataSourceDescriptor \
+ qadevOOo/runner/util/dbg \
+ qadevOOo/runner/util/DBTools \
+ qadevOOo/runner/util/DefaultDsc \
+ qadevOOo/runner/util/DesktopTools \
+ qadevOOo/runner/util/DrawTools \
+ qadevOOo/runner/util/DynamicClassLoader \
+ qadevOOo/runner/util/FootnoteDsc \
+ qadevOOo/runner/util/FormTools \
+ qadevOOo/runner/util/FrameDsc \
+ qadevOOo/runner/util/InstCreator \
+ qadevOOo/runner/util/InstDescr \
+ qadevOOo/runner/util/ParagraphDsc \
+ qadevOOo/runner/util/PropertyName \
+ qadevOOo/runner/util/RegistryTools \
+ qadevOOo/runner/util/ShapeDsc \
+ qadevOOo/runner/util/SOfficeFactory \
+ qadevOOo/runner/util/SysUtils \
+ qadevOOo/runner/util/TableDsc \
+ qadevOOo/runner/util/TextSectionDsc \
+ qadevOOo/runner/util/UITools \
+ qadevOOo/runner/util/utils \
+ qadevOOo/runner/util/ValueChanger \
+ qadevOOo/runner/util/ValueComparer \
+ qadevOOo/runner/util/WaitUnreachable \
+ qadevOOo/runner/util/WriterTools \
+ qadevOOo/runner/util/XInstCreator \
+ qadevOOo/runner/util/XLayerHandlerImpl \
+ qadevOOo/runner/util/XLayerImpl \
+ qadevOOo/runner/util/XMLTools \
+ qadevOOo/runner/util/XSchemaHandlerImpl \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessible \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessibleAction \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessibleComponent \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessibleContext \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessibleEditableText \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessibleEventBroadcaster \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessibleExtendedComponent \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessibleImage \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessibleSelection \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessibleTable \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessibleText \
+ qadevOOo/tests/java/ifc/accessibility/_XAccessibleValue \
+ qadevOOo/tests/java/ifc/awt/tree/_TreeControlModel \
+ qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeDataModel \
+ qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeNode \
+ qadevOOo/tests/java/ifc/awt/tree/_XTreeControl \
+ qadevOOo/tests/java/ifc/awt/tree/_XTreeDataModel \
+ qadevOOo/tests/java/ifc/awt/tree/_XTreeNode \
+ qadevOOo/tests/java/ifc/awt/_UnoControlButtonModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlCheckBoxModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlComboBoxModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlContainerModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlCurrencyFieldModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlDateFieldModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlDialogElement \
+ qadevOOo/tests/java/ifc/awt/_UnoControlDialogModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlEditModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlFileControlModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlFixedLineModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlFixedTextModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlFormattedFieldModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlGroupBoxModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlImageControlModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlListBoxModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlNumericFieldModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlPatternFieldModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlProgressBarModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlRadioButtonModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlScrollBarModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlSpinButtonModel \
+ qadevOOo/tests/java/ifc/awt/_UnoControlTimeFieldModel \
+ qadevOOo/tests/java/ifc/awt/_XButton \
+ qadevOOo/tests/java/ifc/awt/_XCheckBox \
+ qadevOOo/tests/java/ifc/awt/_XComboBox \
+ qadevOOo/tests/java/ifc/awt/_XControl \
+ qadevOOo/tests/java/ifc/awt/_XControlContainer \
+ qadevOOo/tests/java/ifc/awt/_XCurrencyField \
+ qadevOOo/tests/java/ifc/awt/_XDataTransferProviderAccess \
+ qadevOOo/tests/java/ifc/awt/_XDateField \
+ qadevOOo/tests/java/ifc/awt/_XDialog \
+ qadevOOo/tests/java/ifc/awt/_XFixedText \
+ qadevOOo/tests/java/ifc/awt/_XImageConsumer \
+ qadevOOo/tests/java/ifc/awt/_XImageProducer \
+ qadevOOo/tests/java/ifc/awt/_XItemListener \
+ qadevOOo/tests/java/ifc/awt/_XLayoutConstrains \
+ qadevOOo/tests/java/ifc/awt/_XListBox \
+ qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory \
+ qadevOOo/tests/java/ifc/awt/_XNumericField \
+ qadevOOo/tests/java/ifc/awt/_XPatternField \
+ qadevOOo/tests/java/ifc/awt/_XRadioButton \
+ qadevOOo/tests/java/ifc/awt/_XScrollBar \
+ qadevOOo/tests/java/ifc/awt/_XSpinField \
+ qadevOOo/tests/java/ifc/awt/_XSpinValue \
+ qadevOOo/tests/java/ifc/awt/_XSystemChildFactory \
+ qadevOOo/tests/java/ifc/awt/_XTabController \
+ qadevOOo/tests/java/ifc/awt/_XTabControllerModel \
+ qadevOOo/tests/java/ifc/awt/_XTextComponent \
+ qadevOOo/tests/java/ifc/awt/_XTextLayoutConstrains \
+ qadevOOo/tests/java/ifc/awt/_XTextListener \
+ qadevOOo/tests/java/ifc/awt/_XTimeField \
+ qadevOOo/tests/java/ifc/awt/_XToolkit \
+ qadevOOo/tests/java/ifc/awt/_XTopWindow \
+ qadevOOo/tests/java/ifc/awt/_XUnoControlContainer \
+ qadevOOo/tests/java/ifc/awt/_XView \
+ qadevOOo/tests/java/ifc/awt/_XWindow \
+ qadevOOo/tests/java/ifc/beans/_XExactName \
+ qadevOOo/tests/java/ifc/beans/_XFastPropertySet \
+ qadevOOo/tests/java/ifc/beans/_XHierarchicalPropertySet \
+ qadevOOo/tests/java/ifc/beans/_XIntrospection \
+ qadevOOo/tests/java/ifc/beans/_XMultiHierarchicalPropertySet \
+ qadevOOo/tests/java/ifc/beans/_XMultiPropertySet \
+ qadevOOo/tests/java/ifc/beans/_XMultiPropertyStates \
+ qadevOOo/tests/java/ifc/beans/_XProperty \
+ qadevOOo/tests/java/ifc/beans/_XPropertyAccess \
+ qadevOOo/tests/java/ifc/beans/_XPropertyContainer \
+ qadevOOo/tests/java/ifc/beans/_XPropertySet \
+ qadevOOo/tests/java/ifc/beans/_XPropertySetInfo \
+ qadevOOo/tests/java/ifc/beans/_XPropertyState \
+ qadevOOo/tests/java/ifc/beans/_XPropertyWithState \
+ qadevOOo/tests/java/ifc/beans/_XTolerantMultiPropertySet \
+ qadevOOo/tests/java/ifc/bridge/_XBridge \
+ qadevOOo/tests/java/ifc/bridge/_XBridgeFactory \
+ qadevOOo/tests/java/ifc/bridge/_XUnoUrlResolver \
+ qadevOOo/tests/java/ifc/chart/_BarDiagram \
+ qadevOOo/tests/java/ifc/chart/_Chart3DBarProperties \
+ qadevOOo/tests/java/ifc/chart/_ChartAxis \
+ qadevOOo/tests/java/ifc/chart/_ChartAxisXSupplier \
+ qadevOOo/tests/java/ifc/chart/_ChartAxisYSupplier \
+ qadevOOo/tests/java/ifc/chart/_ChartAxisZSupplier \
+ qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties \
+ qadevOOo/tests/java/ifc/chart/_ChartDataRowProperties \
+ qadevOOo/tests/java/ifc/chart/_ChartDocument \
+ qadevOOo/tests/java/ifc/chart/_ChartLegend \
+ qadevOOo/tests/java/ifc/chart/_ChartStatistics \
+ qadevOOo/tests/java/ifc/chart/_ChartTableAddressSupplier \
+ qadevOOo/tests/java/ifc/chart/_ChartTitle \
+ qadevOOo/tests/java/ifc/chart/_ChartTwoAxisXSupplier \
+ qadevOOo/tests/java/ifc/chart/_ChartTwoAxisYSupplier \
+ qadevOOo/tests/java/ifc/chart/_Diagram \
+ qadevOOo/tests/java/ifc/chart/_Dim3DDiagram \
+ qadevOOo/tests/java/ifc/chart/_LineDiagram \
+ qadevOOo/tests/java/ifc/chart/_StackableDiagram \
+ qadevOOo/tests/java/ifc/chart/_StockDiagram \
+ qadevOOo/tests/java/ifc/chart/_X3DDisplay \
+ qadevOOo/tests/java/ifc/chart/_XAxisXSupplier \
+ qadevOOo/tests/java/ifc/chart/_XAxisYSupplier \
+ qadevOOo/tests/java/ifc/chart/_XAxisZSupplier \
+ qadevOOo/tests/java/ifc/chart/_XChartData \
+ qadevOOo/tests/java/ifc/chart/_XChartDataArray \
+ qadevOOo/tests/java/ifc/chart/_XChartDocument \
+ qadevOOo/tests/java/ifc/chart/_XDiagram \
+ qadevOOo/tests/java/ifc/chart/_XStatisticDisplay \
+ qadevOOo/tests/java/ifc/chart/_XTwoAxisXSupplier \
+ qadevOOo/tests/java/ifc/chart/_XTwoAxisYSupplier \
+ qadevOOo/tests/java/ifc/configuration/backend/_XBackend \
+ qadevOOo/tests/java/ifc/configuration/backend/_XBackendEntities \
+ qadevOOo/tests/java/ifc/configuration/backend/_XLayer \
+ qadevOOo/tests/java/ifc/configuration/backend/_XLayerHandler \
+ qadevOOo/tests/java/ifc/configuration/backend/_XLayerImporter \
+ qadevOOo/tests/java/ifc/configuration/backend/_XMultiLayerStratum \
+ qadevOOo/tests/java/ifc/configuration/backend/_XSchema \
+ qadevOOo/tests/java/ifc/configuration/backend/_XSchemaSupplier \
+ qadevOOo/tests/java/ifc/configuration/backend/_XSingleLayerStratum \
+ qadevOOo/tests/java/ifc/configuration/backend/_XUpdateHandler \
+ qadevOOo/tests/java/ifc/configuration/_XTemplateContainer \
+ qadevOOo/tests/java/ifc/configuration/_XTemplateInstance \
+ qadevOOo/tests/java/ifc/connection/_XAcceptor \
+ qadevOOo/tests/java/ifc/connection/_XConnector \
+ qadevOOo/tests/java/ifc/container/_XChild \
+ qadevOOo/tests/java/ifc/container/_XContainer \
+ qadevOOo/tests/java/ifc/container/_XContainerQuery \
+ qadevOOo/tests/java/ifc/container/_XContentEnumerationAccess \
+ qadevOOo/tests/java/ifc/container/_XElementAccess \
+ qadevOOo/tests/java/ifc/container/_XEnumeration \
+ qadevOOo/tests/java/ifc/container/_XEnumerationAccess \
+ qadevOOo/tests/java/ifc/container/_XHierarchicalName \
+ qadevOOo/tests/java/ifc/container/_XHierarchicalNameAccess \
+ qadevOOo/tests/java/ifc/container/_XIndexAccess \
+ qadevOOo/tests/java/ifc/container/_XIndexContainer \
+ qadevOOo/tests/java/ifc/container/_XIndexReplace \
+ qadevOOo/tests/java/ifc/container/_XNameAccess \
+ qadevOOo/tests/java/ifc/container/_XNameContainer \
+ qadevOOo/tests/java/ifc/container/_XNamed \
+ qadevOOo/tests/java/ifc/container/_XNameReplace \
+ qadevOOo/tests/java/ifc/container/_XSet \
+ qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboard \
+ qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardEx \
+ qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardNotifier \
+ qadevOOo/tests/java/ifc/datatransfer/clipboard/_XFlushableClipboard \
+ qadevOOo/tests/java/ifc/datatransfer/_XDataFormatTranslator \
+ qadevOOo/tests/java/ifc/datatransfer/_XMimeContentTypeFactory \
+ qadevOOo/tests/java/ifc/document/_ExportFilter \
+ qadevOOo/tests/java/ifc/document/_ImportFilter \
+ qadevOOo/tests/java/ifc/document/_LinkTarget \
+ qadevOOo/tests/java/ifc/document/_OfficeDocument \
+ qadevOOo/tests/java/ifc/document/_Settings \
+ qadevOOo/tests/java/ifc/document/_XActionLockable \
+ qadevOOo/tests/java/ifc/document/_XDocumentInsertable \
+ qadevOOo/tests/java/ifc/document/_XEmbeddedObjectSupplier \
+ qadevOOo/tests/java/ifc/document/_XEventBroadcaster \
+ qadevOOo/tests/java/ifc/document/_XEventsSupplier \
+ qadevOOo/tests/java/ifc/document/_XExporter \
+ qadevOOo/tests/java/ifc/document/_XFilter \
+ qadevOOo/tests/java/ifc/document/_XImporter \
+ qadevOOo/tests/java/ifc/document/_XLinkTargetSupplier \
+ qadevOOo/tests/java/ifc/document/_XMimeTypeInfo \
+ qadevOOo/tests/java/ifc/document/_XTypeDetection \
+ qadevOOo/tests/java/ifc/document/_XViewDataSupplier \
+ qadevOOo/tests/java/ifc/drawing/_AreaShapeDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_ConnectorProperties \
+ qadevOOo/tests/java/ifc/drawing/_ConnectorShape \
+ qadevOOo/tests/java/ifc/drawing/_ConnectorShapeDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_DimensioningShapeDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_DrawingDocument \
+ qadevOOo/tests/java/ifc/drawing/_DrawingDocumentDrawView \
+ qadevOOo/tests/java/ifc/drawing/_EllipseShape \
+ qadevOOo/tests/java/ifc/drawing/_EllipseShapeDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_FillProperties \
+ qadevOOo/tests/java/ifc/drawing/_GenericDrawingDocument \
+ qadevOOo/tests/java/ifc/drawing/_GenericDrawPage \
+ qadevOOo/tests/java/ifc/drawing/_GraphicObjectShape \
+ qadevOOo/tests/java/ifc/drawing/_GraphicObjectShapeDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_Layer \
+ qadevOOo/tests/java/ifc/drawing/_LineProperties \
+ qadevOOo/tests/java/ifc/drawing/_LineShapeDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_MeasureProperties \
+ qadevOOo/tests/java/ifc/drawing/_MeasureShape \
+ qadevOOo/tests/java/ifc/drawing/_PolyPolygonBezierDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_PolyPolygonDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_RotationDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_ShadowDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_ShadowProperties \
+ qadevOOo/tests/java/ifc/drawing/_Shape \
+ qadevOOo/tests/java/ifc/drawing/_ShapeDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_Text \
+ qadevOOo/tests/java/ifc/drawing/_TextProperties \
+ qadevOOo/tests/java/ifc/drawing/_TextShape \
+ qadevOOo/tests/java/ifc/drawing/_TextShapeDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_XConnectorShape \
+ qadevOOo/tests/java/ifc/drawing/_XControlShape \
+ qadevOOo/tests/java/ifc/drawing/_XDrawPageDuplicator \
+ qadevOOo/tests/java/ifc/drawing/_XDrawPages \
+ qadevOOo/tests/java/ifc/drawing/_XDrawPagesSupplier \
+ qadevOOo/tests/java/ifc/drawing/_XDrawPageSupplier \
+ qadevOOo/tests/java/ifc/drawing/_XDrawView \
+ qadevOOo/tests/java/ifc/drawing/_XGluePointsSupplier \
+ qadevOOo/tests/java/ifc/drawing/_XLayerManager \
+ qadevOOo/tests/java/ifc/drawing/_XLayerSupplier \
+ qadevOOo/tests/java/ifc/drawing/_XMasterPagesSupplier \
+ qadevOOo/tests/java/ifc/drawing/_XMasterPageTarget \
+ qadevOOo/tests/java/ifc/drawing/_XShape \
+ qadevOOo/tests/java/ifc/drawing/_XShapeBinder \
+ qadevOOo/tests/java/ifc/drawing/_XShapeCombiner \
+ qadevOOo/tests/java/ifc/drawing/_XShapeDescriptor \
+ qadevOOo/tests/java/ifc/drawing/_XShapeGroup \
+ qadevOOo/tests/java/ifc/drawing/_XShapeGrouper \
+ qadevOOo/tests/java/ifc/drawing/_XShapes \
+ qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseCheckBox \
+ qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseRadioButton \
+ qadevOOo/tests/java/ifc/form/binding/_XBindableValue \
+ qadevOOo/tests/java/ifc/form/component/_CheckBox \
+ qadevOOo/tests/java/ifc/form/component/_ComboBox \
+ qadevOOo/tests/java/ifc/form/component/_CommandButton \
+ qadevOOo/tests/java/ifc/form/component/_CurrencyField \
+ qadevOOo/tests/java/ifc/form/component/_DatabaseComboBox \
+ qadevOOo/tests/java/ifc/form/component/_DatabaseForm \
+ qadevOOo/tests/java/ifc/form/component/_DatabaseFormattedField \
+ qadevOOo/tests/java/ifc/form/component/_DatabaseImageControl \
+ qadevOOo/tests/java/ifc/form/component/_DatabaseListBox \
+ qadevOOo/tests/java/ifc/form/component/_DatabasePatternField \
+ qadevOOo/tests/java/ifc/form/component/_DatabaseTextField \
+ qadevOOo/tests/java/ifc/form/component/_DataForm \
+ qadevOOo/tests/java/ifc/form/component/_DateField \
+ qadevOOo/tests/java/ifc/form/component/_FileControl \
+ qadevOOo/tests/java/ifc/form/component/_FormattedField \
+ qadevOOo/tests/java/ifc/form/component/_GridControl \
+ qadevOOo/tests/java/ifc/form/component/_HiddenControl \
+ qadevOOo/tests/java/ifc/form/component/_HTMLForm \
+ qadevOOo/tests/java/ifc/form/component/_ImageButton \
+ qadevOOo/tests/java/ifc/form/component/_ListBox \
+ qadevOOo/tests/java/ifc/form/component/_NavigationToolBar \
+ qadevOOo/tests/java/ifc/form/component/_NumericField \
+ qadevOOo/tests/java/ifc/form/component/_PatternField \
+ qadevOOo/tests/java/ifc/form/component/_RadioButton \
+ qadevOOo/tests/java/ifc/form/component/_RichTextControl \
+ qadevOOo/tests/java/ifc/form/component/_ScrollBar \
+ qadevOOo/tests/java/ifc/form/component/_SpinButton \
+ qadevOOo/tests/java/ifc/form/component/_TextField \
+ qadevOOo/tests/java/ifc/form/component/_TimeField \
+ qadevOOo/tests/java/ifc/form/_DataAwareControlModel \
+ qadevOOo/tests/java/ifc/form/_FormComponent \
+ qadevOOo/tests/java/ifc/form/_FormControlModel \
+ qadevOOo/tests/java/ifc/form/submission/_XSubmission \
+ qadevOOo/tests/java/ifc/form/submission/_XSubmissionSupplier \
+ qadevOOo/tests/java/ifc/formula/_FormulaProperties \
+ qadevOOo/tests/java/ifc/form/validation/_XValidatable \
+ qadevOOo/tests/java/ifc/form/validation/_XValidatableFormComponent \
+ qadevOOo/tests/java/ifc/form/validation/_XValidityConstraintListener \
+ qadevOOo/tests/java/ifc/form/_XApproveActionBroadcaster \
+ qadevOOo/tests/java/ifc/form/_XBoundComponent \
+ qadevOOo/tests/java/ifc/form/_XBoundControl \
+ qadevOOo/tests/java/ifc/form/_XChangeBroadcaster \
+ qadevOOo/tests/java/ifc/form/_XConfirmDeleteBroadcaster \
+ qadevOOo/tests/java/ifc/form/_XDatabaseParameterBroadcaster \
+ qadevOOo/tests/java/ifc/form/_XFormController \
+ qadevOOo/tests/java/ifc/form/_XFormsSupplier \
+ qadevOOo/tests/java/ifc/form/_XGrid \
+ qadevOOo/tests/java/ifc/form/_XGridColumnFactory \
+ qadevOOo/tests/java/ifc/form/_XGridFieldDataSupplier \
+ qadevOOo/tests/java/ifc/form/_XImageProducerSupplier \
+ qadevOOo/tests/java/ifc/form/_XLoadable \
+ qadevOOo/tests/java/ifc/form/_XLoadListener \
+ qadevOOo/tests/java/ifc/form/_XReset \
+ qadevOOo/tests/java/ifc/form/_XSubmit \
+ qadevOOo/tests/java/ifc/form/_XUpdateBroadcaster \
+ qadevOOo/tests/java/ifc/frame/_Desktop \
+ qadevOOo/tests/java/ifc/frame/_Frame \
+ qadevOOo/tests/java/ifc/frame/_FrameLoader \
+ qadevOOo/tests/java/ifc/frame/_SynchronousFrameLoader \
+ qadevOOo/tests/java/ifc/frame/_XComponentLoader \
+ qadevOOo/tests/java/ifc/frame/_XController \
+ qadevOOo/tests/java/ifc/frame/_XDesktop \
+ qadevOOo/tests/java/ifc/frame/_XDispatch \
+ qadevOOo/tests/java/ifc/frame/_XDispatchProvider \
+ qadevOOo/tests/java/ifc/frame/_XDispatchProviderInterception \
+ qadevOOo/tests/java/ifc/frame/_XDispatchRecorder \
+ qadevOOo/tests/java/ifc/frame/_XDispatchRecorderSupplier \
+ qadevOOo/tests/java/ifc/frame/_XDocumentTemplates \
+ qadevOOo/tests/java/ifc/frame/_XFrame \
+ qadevOOo/tests/java/ifc/frame/_XFrameActionListener \
+ qadevOOo/tests/java/ifc/frame/_XFrameLoader \
+ qadevOOo/tests/java/ifc/frame/_XFramesSupplier \
+ qadevOOo/tests/java/ifc/frame/_XLayoutManager \
+ qadevOOo/tests/java/ifc/frame/_XModel \
+ qadevOOo/tests/java/ifc/frame/_XModuleManager \
+ qadevOOo/tests/java/ifc/frame/_XNotifyingDispatch \
+ qadevOOo/tests/java/ifc/frame/_XPopupMenuController \
+ qadevOOo/tests/java/ifc/frame/_XStatusListener \
+ qadevOOo/tests/java/ifc/frame/_XStorable \
+ qadevOOo/tests/java/ifc/frame/_XSynchronousFrameLoader \
+ qadevOOo/tests/java/ifc/frame/_XTasksSupplier \
+ qadevOOo/tests/java/ifc/frame/_XUIControllerRegistration \
+ qadevOOo/tests/java/ifc/i18n/_XBreakIterator \
+ qadevOOo/tests/java/ifc/i18n/_XCalendar \
+ qadevOOo/tests/java/ifc/i18n/_XCharacterClassification \
+ qadevOOo/tests/java/ifc/i18n/_XCollator \
+ qadevOOo/tests/java/ifc/i18n/_XExtendedCalendar \
+ qadevOOo/tests/java/ifc/i18n/_XExtendedIndexEntrySupplier \
+ qadevOOo/tests/java/ifc/i18n/_XExtendedTransliteration \
+ qadevOOo/tests/java/ifc/i18n/_XIndexEntrySupplier \
+ qadevOOo/tests/java/ifc/i18n/_XLocaleData \
+ qadevOOo/tests/java/ifc/i18n/_XNumberFormatCode \
+ qadevOOo/tests/java/ifc/i18n/_XTransliteration \
+ qadevOOo/tests/java/ifc/inspection/_XObjectInspector \
+ qadevOOo/tests/java/ifc/inspection/_XObjectInspectorModel \
+ qadevOOo/tests/java/ifc/io/_XActiveDataControl \
+ qadevOOo/tests/java/ifc/io/_XActiveDataSink \
+ qadevOOo/tests/java/ifc/io/_XActiveDataSource \
+ qadevOOo/tests/java/ifc/io/_XConnectable \
+ qadevOOo/tests/java/ifc/io/_XDataInputStream \
+ qadevOOo/tests/java/ifc/io/_XDataOutputStream \
+ qadevOOo/tests/java/ifc/io/_XInputStream \
+ qadevOOo/tests/java/ifc/io/_XMarkableStream \
+ qadevOOo/tests/java/ifc/io/_XObjectInputStream \
+ qadevOOo/tests/java/ifc/io/_XObjectOutputStream \
+ qadevOOo/tests/java/ifc/io/_XOutputStream \
+ qadevOOo/tests/java/ifc/io/_XPersistObject \
+ qadevOOo/tests/java/ifc/java/_XJavaThreadRegister_11 \
+ qadevOOo/tests/java/ifc/java/_XJavaVM \
+ qadevOOo/tests/java/ifc/lang/_ServiceManager \
+ qadevOOo/tests/java/ifc/lang/_XComponent \
+ qadevOOo/tests/java/ifc/lang/_XEventListener \
+ qadevOOo/tests/java/ifc/lang/_XInitialization \
+ qadevOOo/tests/java/ifc/lang/_XLocalizable \
+ qadevOOo/tests/java/ifc/lang/_XMain \
+ qadevOOo/tests/java/ifc/lang/_XMultiComponentFactory \
+ qadevOOo/tests/java/ifc/lang/_XMultiServiceFactory \
+ qadevOOo/tests/java/ifc/lang/_XServiceDisplayName \
+ qadevOOo/tests/java/ifc/lang/_XServiceInfo \
+ qadevOOo/tests/java/ifc/lang/_XSingleServiceFactory \
+ qadevOOo/tests/java/ifc/lang/_XTypeProvider \
+ qadevOOo/tests/java/ifc/linguistic2/_LinguProperties \
+ qadevOOo/tests/java/ifc/linguistic2/_XAvailableLocales \
+ qadevOOo/tests/java/ifc/linguistic2/_XDictionaryList \
+ qadevOOo/tests/java/ifc/linguistic2/_XHyphenator \
+ qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceEventBroadcaster \
+ qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceManager \
+ qadevOOo/tests/java/ifc/linguistic2/_XSearchableDictionaryList \
+ qadevOOo/tests/java/ifc/linguistic2/_XSpellChecker \
+ qadevOOo/tests/java/ifc/linguistic2/_XSupportedLocales \
+ qadevOOo/tests/java/ifc/linguistic2/_XThesaurus \
+ qadevOOo/tests/java/ifc/loader/_XImplementationLoader \
+ qadevOOo/tests/java/ifc/presentation/_OutlineView \
+ qadevOOo/tests/java/ifc/presentation/_Presentation \
+ qadevOOo/tests/java/ifc/presentation/_PresentationView \
+ qadevOOo/tests/java/ifc/presentation/_PreviewView \
+ qadevOOo/tests/java/ifc/presentation/_SlidesView \
+ qadevOOo/tests/java/ifc/presentation/_XCustomPresentationSupplier \
+ qadevOOo/tests/java/ifc/presentation/_XPresentation \
+ qadevOOo/tests/java/ifc/presentation/_XPresentationSupplier \
+ qadevOOo/tests/java/ifc/reflection/_XIdlReflection \
+ qadevOOo/tests/java/ifc/reflection/_XProxyFactory \
+ qadevOOo/tests/java/ifc/reflection/_XTypeDescriptionEnumerationAccess \
+ qadevOOo/tests/java/ifc/registry/_XImplementationRegistration \
+ qadevOOo/tests/java/ifc/registry/_XSimpleRegistry \
+ qadevOOo/tests/java/ifc/script/_XEventAttacherManager \
+ qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory \
+ qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory2 \
+ qadevOOo/tests/java/ifc/script/_XTypeConverter \
+ qadevOOo/tests/java/ifc/sdbc/_ResultSet \
+ qadevOOo/tests/java/ifc/sdbc/_RowSet \
+ qadevOOo/tests/java/ifc/sdbc/_XCloseable \
+ qadevOOo/tests/java/ifc/sdbc/_XColumnLocate \
+ qadevOOo/tests/java/ifc/sdbc/_XDataSource \
+ qadevOOo/tests/java/ifc/sdbc/_XDriver \
+ qadevOOo/tests/java/ifc/sdbc/_XDriverManager \
+ qadevOOo/tests/java/ifc/sdbc/_XIsolatedConnection \
+ qadevOOo/tests/java/ifc/sdbc/_XParameters \
+ qadevOOo/tests/java/ifc/sdbcx/_ResultSet \
+ qadevOOo/tests/java/ifc/sdbc/_XResultSet \
+ qadevOOo/tests/java/ifc/sdbc/_XResultSetMetaDataSupplier \
+ qadevOOo/tests/java/ifc/sdbc/_XResultSetUpdate \
+ qadevOOo/tests/java/ifc/sdbc/_XRow \
+ qadevOOo/tests/java/ifc/sdbc/_XRowSet \
+ qadevOOo/tests/java/ifc/sdbc/_XRowUpdate \
+ qadevOOo/tests/java/ifc/sdbc/_XWarningsSupplier \
+ qadevOOo/tests/java/ifc/sdbcx/_XColumnsSupplier \
+ qadevOOo/tests/java/ifc/sdbcx/_XCreateCatalog \
+ qadevOOo/tests/java/ifc/sdbcx/_XDataDefinitionSupplier \
+ qadevOOo/tests/java/ifc/sdbcx/_XDeleteRows \
+ qadevOOo/tests/java/ifc/sdbcx/_XDropCatalog \
+ qadevOOo/tests/java/ifc/sdbcx/_XRowLocate \
+ qadevOOo/tests/java/ifc/sdbcx/_XTablesSupplier \
+ qadevOOo/tests/java/ifc/sdb/_DataAccessDescriptor \
+ qadevOOo/tests/java/ifc/sdb/_DataSource \
+ qadevOOo/tests/java/ifc/sdb/_DatasourceAdministrationDialog \
+ qadevOOo/tests/java/ifc/sdb/_ErrorMessageDialog \
+ qadevOOo/tests/java/ifc/sdb/_QueryDefinition \
+ qadevOOo/tests/java/ifc/sdb/_RowSet \
+ qadevOOo/tests/java/ifc/sdb/_SingleSelectQueryComposer \
+ qadevOOo/tests/java/ifc/sdb/_XBookmarksSupplier \
+ qadevOOo/tests/java/ifc/sdb/_XCompletedConnection \
+ qadevOOo/tests/java/ifc/sdb/_XCompletedExecution \
+ qadevOOo/tests/java/ifc/sdb/_XFormDocumentsSupplier \
+ qadevOOo/tests/java/ifc/sdb/_XParametersSupplier \
+ qadevOOo/tests/java/ifc/sdb/_XQueryDefinitionsSupplier \
+ qadevOOo/tests/java/ifc/sdb/_XReportDocumentsSupplier \
+ qadevOOo/tests/java/ifc/sdb/_XResultSetAccess \
+ qadevOOo/tests/java/ifc/sdb/_XRowSetApproveBroadcaster \
+ qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryAnalyzer \
+ qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryComposer \
+ qadevOOo/tests/java/ifc/sdb/_XSQLErrorBroadcaster \
+ qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocument \
+ qadevOOo/tests/java/ifc/sheet/_TableAutoFormatField \
+ qadevOOo/tests/java/ifc/sheet/_XCellRangeData \
+ qadevOOo/tests/java/ifc/sheet/_XCellRangesQuery \
+ qadevOOo/tests/java/ifc/sheet/_XEnhancedMouseClickBroadcaster \
+ qadevOOo/tests/java/ifc/sheet/_XRangeSelection \
+ qadevOOo/tests/java/ifc/style/_CharacterProperties \
+ qadevOOo/tests/java/ifc/style/_CharacterPropertiesAsian \
+ qadevOOo/tests/java/ifc/style/_CharacterPropertiesComplex \
+ qadevOOo/tests/java/ifc/style/_CharacterStyle \
+ qadevOOo/tests/java/ifc/style/_PageProperties \
+ qadevOOo/tests/java/ifc/style/_PageStyle \
+ qadevOOo/tests/java/ifc/style/_ParagraphProperties \
+ qadevOOo/tests/java/ifc/style/_ParagraphPropertiesAsian \
+ qadevOOo/tests/java/ifc/style/_ParagraphPropertiesComplex \
+ qadevOOo/tests/java/ifc/style/_ParagraphStyle \
+ qadevOOo/tests/java/ifc/style/_Style \
+ qadevOOo/tests/java/ifc/style/_XStyle \
+ qadevOOo/tests/java/ifc/style/_XStyleFamiliesSupplier \
+ qadevOOo/tests/java/ifc/system/_XSimpleMailClientSupplier \
+ qadevOOo/tests/java/ifc/system/_XSystemShellExecute \
+ qadevOOo/tests/java/ifc/table/_CellProperties \
+ qadevOOo/tests/java/ifc/table/_XAutoFormattable \
+ qadevOOo/tests/java/ifc/table/_XCellRange \
+ qadevOOo/tests/java/ifc/table/_XTableChart \
+ qadevOOo/tests/java/ifc/table/_XTableColumns \
+ qadevOOo/tests/java/ifc/table/_XTableRows \
+ qadevOOo/tests/java/ifc/task/_XInteractionHandler \
+ qadevOOo/tests/java/ifc/task/_XJob \
+ qadevOOo/tests/java/ifc/task/_XJobExecutor \
+ qadevOOo/tests/java/ifc/task/_XStatusIndicatorFactory \
+ qadevOOo/tests/java/ifc/text/_BaseFrame \
+ qadevOOo/tests/java/ifc/text/_BaseFrameProperties \
+ qadevOOo/tests/java/ifc/text/_BaseIndex \
+ qadevOOo/tests/java/ifc/text/_BaseIndexMark \
+ qadevOOo/tests/java/ifc/text/_CellProperties \
+ qadevOOo/tests/java/ifc/text/_CellRange \
+ qadevOOo/tests/java/ifc/text/_Defaults \
+ qadevOOo/tests/java/ifc/text/_DocumentIndex \
+ qadevOOo/tests/java/ifc/text/_DocumentIndexMark \
+ qadevOOo/tests/java/ifc/text/_DocumentSettings \
+ qadevOOo/tests/java/ifc/text/_Footnote \
+ qadevOOo/tests/java/ifc/text/_FootnoteSettings \
+ qadevOOo/tests/java/ifc/text/_GenericTextDocument \
+ qadevOOo/tests/java/ifc/text/_LineNumberingProperties \
+ qadevOOo/tests/java/ifc/text/_MailMerge \
+ qadevOOo/tests/java/ifc/text/_NumberingLevel \
+ qadevOOo/tests/java/ifc/text/_NumberingRules \
+ qadevOOo/tests/java/ifc/text/_PrintSettings \
+ qadevOOo/tests/java/ifc/text/_Text \
+ qadevOOo/tests/java/ifc/text/_TextColumns \
+ qadevOOo/tests/java/ifc/text/_TextContent \
+ qadevOOo/tests/java/ifc/text/_TextDocument \
+ qadevOOo/tests/java/ifc/text/_TextEmbeddedObject \
+ qadevOOo/tests/java/ifc/text/_TextFieldMaster \
+ qadevOOo/tests/java/ifc/text/_TextFrame \
+ qadevOOo/tests/java/ifc/text/_TextGraphicObject \
+ qadevOOo/tests/java/ifc/text/_TextPortion \
+ qadevOOo/tests/java/ifc/text/_TextSection \
+ qadevOOo/tests/java/ifc/text/_TextTable \
+ qadevOOo/tests/java/ifc/text/_TextTableRow \
+ qadevOOo/tests/java/ifc/text/_ViewSettings \
+ qadevOOo/tests/java/ifc/text/_XAutoTextContainer \
+ qadevOOo/tests/java/ifc/text/_XAutoTextEntry \
+ qadevOOo/tests/java/ifc/text/_XAutoTextGroup \
+ qadevOOo/tests/java/ifc/text/_XBookmarksSupplier \
+ qadevOOo/tests/java/ifc/text/_XChapterNumberingSupplier \
+ qadevOOo/tests/java/ifc/text/_XDefaultNumberingProvider \
+ qadevOOo/tests/java/ifc/text/_XDocumentIndex \
+ qadevOOo/tests/java/ifc/text/_XDocumentIndexesSupplier \
+ qadevOOo/tests/java/ifc/text/_XEndnotesSupplier \
+ qadevOOo/tests/java/ifc/text/_XFootnote \
+ qadevOOo/tests/java/ifc/text/_XFootnotesSettingsSupplier \
+ qadevOOo/tests/java/ifc/text/_XFootnotesSupplier \
+ qadevOOo/tests/java/ifc/text/_XLineNumberingProperties \
+ qadevOOo/tests/java/ifc/text/_XMailMergeBroadcaster \
+ qadevOOo/tests/java/ifc/text/_XPageCursor \
+ qadevOOo/tests/java/ifc/text/_XPagePrintable \
+ qadevOOo/tests/java/ifc/text/_XParagraphCursor \
+ qadevOOo/tests/java/ifc/text/_XReferenceMarksSupplier \
+ qadevOOo/tests/java/ifc/text/_XRelativeTextContentInsert \
+ qadevOOo/tests/java/ifc/text/_XSentenceCursor \
+ qadevOOo/tests/java/ifc/text/_XSimpleText \
+ qadevOOo/tests/java/ifc/text/_XText \
+ qadevOOo/tests/java/ifc/text/_XTextColumns \
+ qadevOOo/tests/java/ifc/text/_XTextContent \
+ qadevOOo/tests/java/ifc/text/_XTextCursor \
+ qadevOOo/tests/java/ifc/text/_XTextDocument \
+ qadevOOo/tests/java/ifc/text/_XTextEmbeddedObjectsSupplier \
+ qadevOOo/tests/java/ifc/text/_XTextField \
+ qadevOOo/tests/java/ifc/text/_XTextFieldsSupplier \
+ qadevOOo/tests/java/ifc/text/_XTextFrame \
+ qadevOOo/tests/java/ifc/text/_XTextFramesSupplier \
+ qadevOOo/tests/java/ifc/text/_XTextGraphicObjectsSupplier \
+ qadevOOo/tests/java/ifc/text/_XTextRange \
+ qadevOOo/tests/java/ifc/text/_XTextRangeCompare \
+ qadevOOo/tests/java/ifc/text/_XTextRangeMover \
+ qadevOOo/tests/java/ifc/text/_XTextSection \
+ qadevOOo/tests/java/ifc/text/_XTextSectionsSupplier \
+ qadevOOo/tests/java/ifc/text/_XTextTable \
+ qadevOOo/tests/java/ifc/text/_XTextTableCursor \
+ qadevOOo/tests/java/ifc/text/_XTextTablesSupplier \
+ qadevOOo/tests/java/ifc/text/_XTextViewCursorSupplier \
+ qadevOOo/tests/java/ifc/text/_XWordCursor \
+ qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetFactory \
+ qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetStubFactory \
+ qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetFactory \
+ qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetStubFactory \
+ qadevOOo/tests/java/ifc/ucb/_XCommandProcessor \
+ qadevOOo/tests/java/ifc/ucb/_XCommandProcessor2 \
+ qadevOOo/tests/java/ifc/ucb/_XContentIdentifierFactory \
+ qadevOOo/tests/java/ifc/ucb/_XContentProvider \
+ qadevOOo/tests/java/ifc/ucb/_XContentProviderFactory \
+ qadevOOo/tests/java/ifc/ucb/_XContentProviderManager \
+ qadevOOo/tests/java/ifc/ucb/_XDataContainer \
+ qadevOOo/tests/java/ifc/ucb/_XFileIdentifierConverter \
+ qadevOOo/tests/java/ifc/ucb/_XParameterizedContentProvider \
+ qadevOOo/tests/java/ifc/ucb/_XPropertyMatcherFactory \
+ qadevOOo/tests/java/ifc/ucb/_XPropertySetRegistryFactory \
+ qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderAcceptor \
+ qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderActivator \
+ qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess \
+ qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess2 \
+ qadevOOo/tests/java/ifc/ucb/_XSortedDynamicResultSetFactory \
+ qadevOOo/tests/java/ifc/ui/dialogs/_FilePicker \
+ qadevOOo/tests/java/ifc/ui/dialogs/_XControlAccess \
+ qadevOOo/tests/java/ifc/ui/dialogs/_XControlInformation \
+ qadevOOo/tests/java/ifc/ui/dialogs/_XExecutableDialog \
+ qadevOOo/tests/java/ifc/ui/dialogs/_XFilePicker \
+ qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerControlAccess \
+ qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerNotifier \
+ qadevOOo/tests/java/ifc/ui/dialogs/_XFilePreview \
+ qadevOOo/tests/java/ifc/ui/dialogs/_XFilterGroupManager \
+ qadevOOo/tests/java/ifc/ui/dialogs/_XFilterManager \
+ qadevOOo/tests/java/ifc/ui/dialogs/_XFolderPicker \
+ qadevOOo/tests/java/ifc/ui/_XContextMenuInterception \
+ qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManager \
+ qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManagerSupplier \
+ qadevOOo/tests/java/ifc/ui/_XUIConfiguration \
+ qadevOOo/tests/java/ifc/ui/_XUIConfigurationListener \
+ qadevOOo/tests/java/ifc/ui/_XUIConfigurationManager \
+ qadevOOo/tests/java/ifc/ui/_XUIConfigurationPersistence \
+ qadevOOo/tests/java/ifc/ui/_XUIConfigurationStorage \
+ qadevOOo/tests/java/ifc/ui/_XUIElementFactory \
+ qadevOOo/tests/java/ifc/ui/_XUIElementFactoryRegistration \
+ qadevOOo/tests/java/ifc/uno/_XComponentContext \
+ qadevOOo/tests/java/ifc/uno/_XNamingService \
+ qadevOOo/tests/java/ifc/util/_PathSettings \
+ qadevOOo/tests/java/ifc/util/_SearchDescriptor \
+ qadevOOo/tests/java/ifc/util/_XCancellable \
+ qadevOOo/tests/java/ifc/util/_XChangesBatch \
+ qadevOOo/tests/java/ifc/util/_XChangesNotifier \
+ qadevOOo/tests/java/ifc/util/_XCloneable \
+ qadevOOo/tests/java/ifc/util/_XFlushable \
+ qadevOOo/tests/java/ifc/util/_XImportable \
+ qadevOOo/tests/java/ifc/util/_XModeSelector \
+ qadevOOo/tests/java/ifc/util/_XModifiable \
+ qadevOOo/tests/java/ifc/util/_XModifyBroadcaster \
+ qadevOOo/tests/java/ifc/util/_XNumberFormatsSupplier \
+ qadevOOo/tests/java/ifc/util/_XNumberFormatter \
+ qadevOOo/tests/java/ifc/util/_XProtectable \
+ qadevOOo/tests/java/ifc/util/_XRefreshable \
+ qadevOOo/tests/java/ifc/util/_XReplaceable \
+ qadevOOo/tests/java/ifc/util/_XReplaceDescriptor \
+ qadevOOo/tests/java/ifc/util/_XSearchable \
+ qadevOOo/tests/java/ifc/util/_XSearchDescriptor \
+ qadevOOo/tests/java/ifc/util/_XSortable \
+ qadevOOo/tests/java/ifc/util/_XStringEscape \
+ qadevOOo/tests/java/ifc/util/_XStringSubstitution \
+ qadevOOo/tests/java/ifc/util/_XURLTransformer \
+ qadevOOo/tests/java/ifc/view/_XControlAccess \
+ qadevOOo/tests/java/ifc/view/_XFormLayerAccess \
+ qadevOOo/tests/java/ifc/view/_XMultiSelectionSupplier \
+ qadevOOo/tests/java/ifc/view/_XPrintable \
+ qadevOOo/tests/java/ifc/view/_XPrintJobBroadcaster \
+ qadevOOo/tests/java/ifc/view/_XPrintSettingsSupplier \
+ qadevOOo/tests/java/ifc/view/_XScreenCursor \
+ qadevOOo/tests/java/ifc/view/_XSelectionSupplier \
+ qadevOOo/tests/java/ifc/view/_XViewSettingsSupplier \
+ qadevOOo/tests/java/ifc/xml/sax/_XDocumentHandler \
+ qadevOOo/tests/java/ifc/xml/_UserDefinedAttributesSupplier \
+ qadevOOo/tests/java/mod/_acceptor/Acceptor \
+ qadevOOo/tests/java/mod/_acceptor/uno/Acceptor \
+ qadevOOo/tests/java/mod/_ado/ODriver \
+ qadevOOo/tests/java/mod/_basctl/AccessibleShape \
+ qadevOOo/tests/java/mod/_brdgfctr/BridgeFactory \
+ qadevOOo/tests/java/mod/_bridgefac/uno/BridgeFactory \
+ qadevOOo/tests/java/mod/_cached/CachedContentResultSetFactory \
+ qadevOOo/tests/java/mod/_cached/CachedContentResultSetStubFactory \
+ qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetFactory \
+ qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetStubFactory \
+ qadevOOo/tests/java/mod/_cmdmail/SimpleCommandMail \
+ qadevOOo/tests/java/mod/_cnt/ChaosContentProvider \
+ qadevOOo/tests/java/mod/_cnt/CntUnoDataContainer \
+ qadevOOo/tests/java/mod/_cnt/PropertyMatcherFactory \
+ qadevOOo/tests/java/mod/_configmgr/ConfigurationProvider \
+ qadevOOo/tests/java/mod/_configmgr/DefaultProvider \
+ qadevOOo/tests/java/mod/_configmgr/ProviderTestEnvironment \
+ qadevOOo/tests/java/mod/_connector/uno/Connector \
+ qadevOOo/tests/java/mod/_connectr/Connector \
+ qadevOOo/tests/java/mod/_corefl/CoreReflection \
+ qadevOOo/tests/java/mod/_corereflection/uno/CoreReflection \
+ qadevOOo/tests/java/mod/_cpld/DLLComponentLoader \
+ qadevOOo/tests/java/mod/_dbaccess/ConnectionLineAccessibility \
+ qadevOOo/tests/java/mod/_dbaccess/DBContentLoader \
+ qadevOOo/tests/java/mod/_dbaccess/JoinViewAccessibility \
+ qadevOOo/tests/java/mod/_dbaccess/OCommandDefinition \
+ qadevOOo/tests/java/mod/_dbaccess/ODatabaseContext \
+ qadevOOo/tests/java/mod/_dbaccess/ODatabaseSource \
+ qadevOOo/tests/java/mod/_dbaccess/ODatasourceAdministrationDialog \
+ qadevOOo/tests/java/mod/_dbaccess/ODatasourceBrowser \
+ qadevOOo/tests/java/mod/_dbaccess/OInteractionHandler \
+ qadevOOo/tests/java/mod/_dbaccess/OQueryDesign \
+ qadevOOo/tests/java/mod/_dbaccess/ORowSet \
+ qadevOOo/tests/java/mod/_dbaccess/OSingleSelectQueryComposer \
+ qadevOOo/tests/java/mod/_dbaccess/OSQLMessageDialog \
+ qadevOOo/tests/java/mod/_dbaccess/SbaXGridControl \
+ qadevOOo/tests/java/mod/_dbaccess/TableWindowAccessibility \
+ qadevOOo/tests/java/mod/_dbpool/OConnectionPool \
+ qadevOOo/tests/java/mod/_defreg/NestedRegistry \
+ qadevOOo/tests/java/mod/_dtrans/generic \
+ qadevOOo/tests/java/mod/_dynamicloader/Dynamic \
+ qadevOOo/tests/java/mod/_fileacc/SimpleFileAccess \
+ qadevOOo/tests/java/mod/_file/calc/ODriver \
+ qadevOOo/tests/java/mod/_file/dbase/ODriver \
+ qadevOOo/tests/java/mod/_file/flat/ODriver \
+ qadevOOo/tests/java/mod/_fop/FolderPicker \
+ qadevOOo/tests/java/mod/_forms/GenericModelTest \
+ qadevOOo/tests/java/mod/_forms/OButtonControl \
+ qadevOOo/tests/java/mod/_forms/OButtonModel \
+ qadevOOo/tests/java/mod/_forms/OCheckBoxControl \
+ qadevOOo/tests/java/mod/_forms/OCheckBoxModel \
+ qadevOOo/tests/java/mod/_forms/OComboBoxControl \
+ qadevOOo/tests/java/mod/_forms/OComboBoxModel \
+ qadevOOo/tests/java/mod/_forms/OCurrencyControl \
+ qadevOOo/tests/java/mod/_forms/OCurrencyModel \
+ qadevOOo/tests/java/mod/_forms/ODatabaseForm \
+ qadevOOo/tests/java/mod/_forms/ODateControl \
+ qadevOOo/tests/java/mod/_forms/ODateModel \
+ qadevOOo/tests/java/mod/_forms/OEditControl \
+ qadevOOo/tests/java/mod/_forms/OEditModel \
+ qadevOOo/tests/java/mod/_forms/OFileControlModel \
+ qadevOOo/tests/java/mod/_forms/OFixedTextModel \
+ qadevOOo/tests/java/mod/_forms/OFormattedControl \
+ qadevOOo/tests/java/mod/_forms/OFormattedFieldWrapper \
+ qadevOOo/tests/java/mod/_forms/OFormsCollection \
+ qadevOOo/tests/java/mod/_forms/OGridControlModel \
+ qadevOOo/tests/java/mod/_forms/OGroupBoxControl \
+ qadevOOo/tests/java/mod/_forms/OGroupBoxModel \
+ qadevOOo/tests/java/mod/_forms/OHiddenModel \
+ qadevOOo/tests/java/mod/_forms/OImageButtonControl \
+ qadevOOo/tests/java/mod/_forms/OImageButtonModel \
+ qadevOOo/tests/java/mod/_forms/OImageControlControl \
+ qadevOOo/tests/java/mod/_forms/OImageControlModel \
+ qadevOOo/tests/java/mod/_forms/OListBoxControl \
+ qadevOOo/tests/java/mod/_forms/OListBoxModel \
+ qadevOOo/tests/java/mod/_forms/ONavigationBarControl \
+ qadevOOo/tests/java/mod/_forms/ONavigationBarModel \
+ qadevOOo/tests/java/mod/_forms/ONumericControl \
+ qadevOOo/tests/java/mod/_forms/ONumericModel \
+ qadevOOo/tests/java/mod/_forms/OPatternControl \
+ qadevOOo/tests/java/mod/_forms/OPatternModel \
+ qadevOOo/tests/java/mod/_forms/ORadioButtonControl \
+ qadevOOo/tests/java/mod/_forms/ORadioButtonModel \
+ qadevOOo/tests/java/mod/_forms/OScrollBarModel \
+ qadevOOo/tests/java/mod/_forms/OSpinButtonModel \
+ qadevOOo/tests/java/mod/_forms/OTimeControl \
+ qadevOOo/tests/java/mod/_forms/OTimeModel \
+ qadevOOo/tests/java/mod/_fps/FilePicker \
+ qadevOOo/tests/java/mod/_ftransl/DataFormatTranslator \
+ qadevOOo/tests/java/mod/_fwk/ControlMenuController \
+ qadevOOo/tests/java/mod/_fwk/Desktop \
+ qadevOOo/tests/java/mod/_fwk/DispatchRecorder \
+ qadevOOo/tests/java/mod/_fwk/DispatchRecorderSupplier \
+ qadevOOo/tests/java/mod/_fwk/FontMenuController \
+ qadevOOo/tests/java/mod/_fwk/FontSizeMenuController \
+ qadevOOo/tests/java/mod/_fwk/FooterMenuController \
+ qadevOOo/tests/java/mod/_fwk/FormatMenuController \
+ qadevOOo/tests/java/mod/_fwk/Frame \
+ qadevOOo/tests/java/mod/_fwk/HeaderMenuController \
+ qadevOOo/tests/java/mod/_fwk/JobExecutor \
+ qadevOOo/tests/java/mod/_fwk/JobHandler \
+ qadevOOo/tests/java/mod/_fwk/LayoutManager \
+ qadevOOo/tests/java/mod/_fwk/MacrosMenuController \
+ qadevOOo/tests/java/mod/_fwk/MailToDispatcher \
+ qadevOOo/tests/java/mod/_fwk/MenuBarFactory \
+ qadevOOo/tests/java/mod/_fwk/ModuleManager \
+ qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManager \
+ qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManagerSupplier \
+ qadevOOo/tests/java/mod/_fwk/PopupMenuControllerFactory \
+ qadevOOo/tests/java/mod/_fwk/ServiceHandler \
+ qadevOOo/tests/java/mod/_fwk/SoundHandler \
+ qadevOOo/tests/java/mod/_fwk/StatusBarControllerFactory \
+ qadevOOo/tests/java/mod/_fwk/ToolBarsMenuController \
+ qadevOOo/tests/java/mod/_fwk/UICategoryDescription \
+ qadevOOo/tests/java/mod/_fwk/UICommandDescription \
+ qadevOOo/tests/java/mod/_fwk/UIConfigurationManager \
+ qadevOOo/tests/java/mod/_fwk/UIElementFactoryManager \
+ qadevOOo/tests/java/mod/_fwk/URLTransformer \
+ qadevOOo/tests/java/mod/_fwl/ContentHandlerFactory \
+ qadevOOo/tests/java/mod/_fwl/FilterFactory \
+ qadevOOo/tests/java/mod/_fwl/FrameLoaderFactory \
+ qadevOOo/tests/java/mod/_fwl/PathSettings \
+ qadevOOo/tests/java/mod/_fwl/SubstituteVariables \
+ qadevOOo/tests/java/mod/_fwl/TypeDetection \
+ qadevOOo/tests/java/mod/_i18n/BreakIterator \
+ qadevOOo/tests/java/mod/_i18n/CalendarImpl \
+ qadevOOo/tests/java/mod/_i18n/ChapterCollator \
+ qadevOOo/tests/java/mod/_i18n/CharacterClassification \
+ qadevOOo/tests/java/mod/_i18n/Collator \
+ qadevOOo/tests/java/mod/_i18n/IndexEntrySupplier \
+ qadevOOo/tests/java/mod/_i18n/LocaleData \
+ qadevOOo/tests/java/mod/_i18n/NumberFormatCodeMapper \
+ qadevOOo/tests/java/mod/_i18n/Transliteration \
+ qadevOOo/tests/java/mod/_implreg/uno/ImplementationRegistration \
+ qadevOOo/tests/java/mod/_impreg/ImplementationRegistration \
+ qadevOOo/tests/java/mod/_insp/Introspection \
+ qadevOOo/tests/java/mod/_introspection/uno/Introspection \
+ qadevOOo/tests/java/mod/_invadp/InvocationAdapterFactory \
+ qadevOOo/tests/java/mod/_inv/Invocation \
+ qadevOOo/tests/java/mod/_invocadapt/uno/InvocationAdapterFactory \
+ qadevOOo/tests/java/mod/_invocation/uno/Invocation \
+ qadevOOo/tests/java/mod/_javaloader/JavaComponentLoader \
+ qadevOOo/tests/java/mod/_javaloader/uno/JavaComponentLoader \
+ qadevOOo/tests/java/mod/_javavm/uno/JavaVirtualMachine \
+ qadevOOo/tests/java/mod/_jdbc/JDBCDriver \
+ qadevOOo/tests/java/mod/_jen/JavaVirtualMachine \
+ qadevOOo/tests/java/mod/_lng/DicList \
+ qadevOOo/tests/java/mod/_lng/LinguProps \
+ qadevOOo/tests/java/mod/_lng/LngSvcMgr \
+ qadevOOo/tests/java/mod/_lnn/Hyphenator \
+ qadevOOo/tests/java/mod/_lnn/SpellChecker \
+ qadevOOo/tests/java/mod/_lnn/Thesaurus \
+ qadevOOo/tests/java/mod/_mcnttype/MimeContentTypeFactory \
+ qadevOOo/tests/java/mod/_namingservice/NamingService \
+ qadevOOo/tests/java/mod/_namingservice/uno/NamingService \
+ qadevOOo/tests/java/mod/_nestedreg/uno/NestedRegistry \
+ qadevOOo/tests/java/mod/_odbc/ODBCDriver \
+ qadevOOo/tests/java/mod/_pcr/ObjectInspector \
+ qadevOOo/tests/java/mod/_pcr/ObjectInspectorModel \
+ qadevOOo/tests/java/mod/_proxyfac/ProxyFactory \
+ qadevOOo/tests/java/mod/_proxyfac/uno/ProxyFactory \
+ qadevOOo/tests/java/mod/_rdbtdp/RegistryTypeDescriptionProvider \
+ qadevOOo/tests/java/mod/_regtypeprov/uno/RegistryTypeDescriptionProvider \
+ qadevOOo/tests/java/mod/_remotebridge/uno/various \
+ qadevOOo/tests/java/mod/_remotebridge/various \
+ qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_HeaderFooter \
+ qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_PreviewCell \
+ qadevOOo/tests/java/mod/_sch/AccArea \
+ qadevOOo/tests/java/mod/_sch/AccAxis \
+ qadevOOo/tests/java/mod/_sch/AccDataPoint \
+ qadevOOo/tests/java/mod/_sch/AccDataSeries \
+ qadevOOo/tests/java/mod/_sch/AccDiagram \
+ qadevOOo/tests/java/mod/_sch/AccessibleDocumentView \
+ qadevOOo/tests/java/mod/_sch/AccFloor \
+ qadevOOo/tests/java/mod/_sch/AccGrid \
+ qadevOOo/tests/java/mod/_sch/AccLegend \
+ qadevOOo/tests/java/mod/_sch/AccLegendEntry \
+ qadevOOo/tests/java/mod/_sch/AccTitle \
+ qadevOOo/tests/java/mod/_sch/AccWall \
+ qadevOOo/tests/java/mod/_sch/ChartArea \
+ qadevOOo/tests/java/mod/_sch/ChartGrid \
+ qadevOOo/tests/java/mod/_sch/ChartLegend \
+ qadevOOo/tests/java/mod/_sch/ChartLine \
+ qadevOOo/tests/java/mod/_sch/ChartTitle \
+ qadevOOo/tests/java/mod/_sch/ChXChartAxis \
+ qadevOOo/tests/java/mod/_sch/ChXChartData \
+ qadevOOo/tests/java/mod/_sch/ChXChartDataArray \
+ qadevOOo/tests/java/mod/_sch/ChXChartDocument \
+ qadevOOo/tests/java/mod/_sch/ChXChartView \
+ qadevOOo/tests/java/mod/_sch/ChXDataPoint \
+ qadevOOo/tests/java/mod/_sch/ChXDataRow \
+ qadevOOo/tests/java/mod/_sch/ChXDiagram \
+ qadevOOo/tests/java/mod/_sc/ScAccessibleCell \
+ qadevOOo/tests/java/mod/_sc/ScAccessibleCsvCell \
+ qadevOOo/tests/java/mod/_sc/ScAccessibleCsvGrid \
+ qadevOOo/tests/java/mod/_sc/ScAccessibleCsvRuler \
+ qadevOOo/tests/java/mod/_sc/ScAccessibleDocument \
+ qadevOOo/tests/java/mod/_sc/ScAccessibleDocumentPagePreview \
+ qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader \
+ qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeaderArea \
+ qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewCell \
+ qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewHeaderCell \
+ qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewTable \
+ qadevOOo/tests/java/mod/_sc/ScAccessibleSpreadsheet \
+ qadevOOo/tests/java/mod/_sc/ScAnnotationShapeObj \
+ qadevOOo/tests/java/mod/_sc/ScAnnotationTextCursor \
+ qadevOOo/tests/java/mod/_sc/ScAutoFormatFieldObj \
+ qadevOOo/tests/java/mod/_sc/ScCellCursorObj \
+ qadevOOo/tests/java/mod/_sc/ScCellObj \
+ qadevOOo/tests/java/mod/_sc/ScCellRangeObj \
+ qadevOOo/tests/java/mod/_sc/ScCellRangesObj \
+ qadevOOo/tests/java/mod/_sc/ScCellTextCursor \
+ qadevOOo/tests/java/mod/_sc/ScDatabaseRangeObj \
+ qadevOOo/tests/java/mod/_sc/ScDataPilotItemObj \
+ qadevOOo/tests/java/mod/_sc/ScDocumentConfiguration \
+ qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextCursor \
+ qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextObj \
+ qadevOOo/tests/java/mod/_sc/ScModelObj \
+ qadevOOo/tests/java/mod/_sc/ScShapeObj \
+ qadevOOo/tests/java/mod/_sc/ScSheetLinkObj \
+ qadevOOo/tests/java/mod/_sc/ScStyleObj \
+ qadevOOo/tests/java/mod/_sc/ScTableSheetObj \
+ qadevOOo/tests/java/mod/_sc/ScTabViewObj \
+ qadevOOo/tests/java/mod/_sc/XMLContentExporter \
+ qadevOOo/tests/java/mod/_sc/XMLContentImporter \
+ qadevOOo/tests/java/mod/_sc/XMLExporter \
+ qadevOOo/tests/java/mod/_sc/XMLImporter \
+ qadevOOo/tests/java/mod/_sc/XMLMetaExporter \
+ qadevOOo/tests/java/mod/_sc/XMLMetaImporter \
+ qadevOOo/tests/java/mod/_sc/XMLSettingsExporter \
+ qadevOOo/tests/java/mod/_sc/XMLSettingsImporter \
+ qadevOOo/tests/java/mod/_sc/XMLStylesExporter \
+ qadevOOo/tests/java/mod/_sc/XMLStylesImporter \
+ qadevOOo/tests/java/mod/_sd/AccessibleDrawDocumentView \
+ qadevOOo/tests/java/mod/_sd/AccessibleOutlineView \
+ qadevOOo/tests/java/mod/_sd/AccessibleSlideView \
+ qadevOOo/tests/java/mod/_sd/DrawController_DrawView \
+ qadevOOo/tests/java/mod/_sd/DrawController_HandoutView \
+ qadevOOo/tests/java/mod/_sd/DrawController_NotesView \
+ qadevOOo/tests/java/mod/_sd/DrawController_OutlineView \
+ qadevOOo/tests/java/mod/_sd/DrawController_PresentationView \
+ qadevOOo/tests/java/mod/_sd/SdDocLinkTargets \
+ qadevOOo/tests/java/mod/_sd/SdDrawPage \
+ qadevOOo/tests/java/mod/_sd/SdDrawPagesAccess \
+ qadevOOo/tests/java/mod/_sd/SdGenericDrawPage \
+ qadevOOo/tests/java/mod/_sd/SdLayer \
+ qadevOOo/tests/java/mod/_sd/SdLayerManager \
+ qadevOOo/tests/java/mod/_sd/SdMasterPage \
+ qadevOOo/tests/java/mod/_sd/SdMasterPagesAccess \
+ qadevOOo/tests/java/mod/_sd/SdPageLinkTargets \
+ qadevOOo/tests/java/mod/_sd/SdUnoDrawView \
+ qadevOOo/tests/java/mod/_sd/SdUnoOutlineView \
+ qadevOOo/tests/java/mod/_sd/SdUnoPresView \
+ qadevOOo/tests/java/mod/_sd/SdUnoSlideView \
+ qadevOOo/tests/java/mod/_sd/SdXCustomPresentation \
+ qadevOOo/tests/java/mod/_sd/SdXCustomPresentationAccess \
+ qadevOOo/tests/java/mod/_sd/SdXImpressDocument \
+ qadevOOo/tests/java/mod/_sd/SdXPresentation \
+ qadevOOo/tests/java/mod/_sd/SdXShape \
+ qadevOOo/tests/java/mod/_servicemgr/uno/OServiceManager \
+ qadevOOo/tests/java/mod/_sfx/AppDispatchProvider \
+ qadevOOo/tests/java/mod/_sfx/DocumentTemplates \
+ qadevOOo/tests/java/mod/_sfx/FrameLoader \
+ qadevOOo/tests/java/mod/_sfx/SfxMacroLoader \
+ qadevOOo/tests/java/mod/_shlibloader/uno/DLLComponentLoader \
+ qadevOOo/tests/java/mod/_simplereg/uno/SimpleRegistry \
+ qadevOOo/tests/java/mod/_simreg/SimpleRegistry \
+ qadevOOo/tests/java/mod/_smgr/OServiceManager \
+ qadevOOo/tests/java/mod/_smplmail/SimpleSystemMail \
+ qadevOOo/tests/java/mod/_sm/SmEditAccessible \
+ qadevOOo/tests/java/mod/_sm/SmGraphicAccessible \
+ qadevOOo/tests/java/mod/_sm/SmModel \
+ qadevOOo/tests/java/mod/_sm/XMLExporter \
+ qadevOOo/tests/java/mod/_sm/XMLImporter \
+ qadevOOo/tests/java/mod/_sm/XMLMetaExporter \
+ qadevOOo/tests/java/mod/_sm/XMLMetaImporter \
+ qadevOOo/tests/java/mod/_sm/XMLSettingsExporter \
+ qadevOOo/tests/java/mod/_sm/XMLSettingsImporter \
+ qadevOOo/tests/java/mod/_srtrs/SortedDynamicResultSetFactory \
+ qadevOOo/tests/java/mod/_stm/DataInputStream \
+ qadevOOo/tests/java/mod/_stm/DataOutputStream \
+ qadevOOo/tests/java/mod/_stm/MarkableInputStream \
+ qadevOOo/tests/java/mod/_stm/MarkableOutputStream \
+ qadevOOo/tests/java/mod/_stm/ObjectInputStream \
+ qadevOOo/tests/java/mod/_stm/ObjectOutputStream \
+ qadevOOo/tests/java/mod/_stm/Pipe \
+ qadevOOo/tests/java/mod/_stm/Pump \
+ qadevOOo/tests/java/mod/_streams/uno/DataInputStream \
+ qadevOOo/tests/java/mod/_streams/uno/DataOutputStream \
+ qadevOOo/tests/java/mod/_streams/uno/MarkableInputStream \
+ qadevOOo/tests/java/mod/_streams/uno/MarkableOutputStream \
+ qadevOOo/tests/java/mod/_streams/uno/ObjectInputStream \
+ qadevOOo/tests/java/mod/_streams/uno/ObjectOutputStream \
+ qadevOOo/tests/java/mod/_streams/uno/Pipe \
+ qadevOOo/tests/java/mod/_streams/uno/Pump \
+ qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBox \
+ qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderBar \
+ qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderCell \
+ qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTable \
+ qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTableCell \
+ qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrl \
+ qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrlEntry \
+ qadevOOo/tests/java/mod/_svtools/AccessibleTabBar \
+ qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPage \
+ qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPageList \
+ qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBox \
+ qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBoxEntry \
+ qadevOOo/tests/java/mod/_svx/AccessibleControlShape \
+ qadevOOo/tests/java/mod/_svx/AccessibleEditableTextPara \
+ qadevOOo/tests/java/mod/_svx/AccessibleGraphicShape \
+ qadevOOo/tests/java/mod/_svx/AccessibleOLEShape \
+ qadevOOo/tests/java/mod/_svx/AccessiblePageShape \
+ qadevOOo/tests/java/mod/_svx/AccessiblePresentationGraphicShape \
+ qadevOOo/tests/java/mod/_svx/AccessiblePresentationOLEShape \
+ qadevOOo/tests/java/mod/_svx/AccessiblePresentationShape \
+ qadevOOo/tests/java/mod/_svx/AccessibleShape \
+ qadevOOo/tests/java/mod/_svx/GraphicExporter \
+ qadevOOo/tests/java/mod/_svx/SvxDrawPage \
+ qadevOOo/tests/java/mod/_svx/SvxGraphCtrlAccessibleContext \
+ qadevOOo/tests/java/mod/_svx/SvxGraphicObject \
+ qadevOOo/tests/java/mod/_svx/SvxShape \
+ qadevOOo/tests/java/mod/_svx/SvxShapeCircle \
+ qadevOOo/tests/java/mod/_svx/SvxShapeCollection \
+ qadevOOo/tests/java/mod/_svx/SvxShapeConnector \
+ qadevOOo/tests/java/mod/_svx/SvxShapeControl \
+ qadevOOo/tests/java/mod/_svx/SvxShapeDimensioning \
+ qadevOOo/tests/java/mod/_svx/SvxShapeGroup \
+ qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygon \
+ qadevOOo/tests/java/mod/_svx/SvxUnoNumberingRules \
+ qadevOOo/tests/java/mod/_svx/SvxUnoText \
+ qadevOOo/tests/java/mod/_svx/SvxUnoTextContent \
+ qadevOOo/tests/java/mod/_svx/SvxUnoTextContentEnum \
+ qadevOOo/tests/java/mod/_svx/SvxUnoTextCursor \
+ qadevOOo/tests/java/mod/_svx/SvxUnoTextField \
+ qadevOOo/tests/java/mod/_svx/SvxUnoTextRange \
+ qadevOOo/tests/java/mod/_svx/SvxUnoTextRangeEnumeration \
+ qadevOOo/tests/java/mod/_sw/CharacterStyle \
+ qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle \
+ qadevOOo/tests/java/mod/_sw/DocumentSettings \
+ qadevOOo/tests/java/mod/_sw/PageStyle \
+ qadevOOo/tests/java/mod/_sw/ParagraphStyle \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView \
+ qadevOOo/tests/java/mod/_sw/SwAccessiblePageView \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleTableView \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView \
+ qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject \
+ qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer \
+ qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry \
+ qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup \
+ qadevOOo/tests/java/mod/_sw/SwXBodyText \
+ qadevOOo/tests/java/mod/_sw/SwXBookmark \
+ qadevOOo/tests/java/mod/_sw/SwXBookmarks \
+ qadevOOo/tests/java/mod/_sw/SwXCell \
+ qadevOOo/tests/java/mod/_sw/SwXCellRange \
+ qadevOOo/tests/java/mod/_sw/SwXChapterNumbering \
+ qadevOOo/tests/java/mod/_sw/SwXDocumentIndex \
+ qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes \
+ qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark \
+ qadevOOo/tests/java/mod/_sw/SwXDrawPage \
+ qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties \
+ qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration \
+ qadevOOo/tests/java/mod/_sw/SwXFieldMaster \
+ qadevOOo/tests/java/mod/_sw/SwXFootnote \
+ qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties \
+ qadevOOo/tests/java/mod/_sw/SwXFootnotes \
+ qadevOOo/tests/java/mod/_sw/SwXFootnoteText \
+ qadevOOo/tests/java/mod/_sw/SwXFrames \
+ qadevOOo/tests/java/mod/_sw/SwXHeadFootText \
+ qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties \
+ qadevOOo/tests/java/mod/_sw/SwXMailMerge \
+ qadevOOo/tests/java/mod/_sw/SwXModule \
+ qadevOOo/tests/java/mod/_sw/SwXNumberingRules \
+ qadevOOo/tests/java/mod/_sw/SwXParagraph \
+ qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration \
+ qadevOOo/tests/java/mod/_sw/SwXPrintSettings \
+ qadevOOo/tests/java/mod/_sw/SwXPropertySet \
+ qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo \
+ qadevOOo/tests/java/mod/_sw/SwXReferenceMark \
+ qadevOOo/tests/java/mod/_sw/SwXReferenceMarks \
+ qadevOOo/tests/java/mod/_sw/SwXShape \
+ qadevOOo/tests/java/mod/_sw/SwXStyle \
+ qadevOOo/tests/java/mod/_sw/SwXStyleFamilies \
+ qadevOOo/tests/java/mod/_sw/SwXStyleFamily \
+ qadevOOo/tests/java/mod/_sw/SwXTableCellText \
+ qadevOOo/tests/java/mod/_sw/SwXTableColumns \
+ qadevOOo/tests/java/mod/_sw/SwXTableRows \
+ qadevOOo/tests/java/mod/_sw/SwXTextColumns \
+ qadevOOo/tests/java/mod/_sw/SwXTextCursor \
+ qadevOOo/tests/java/mod/_sw/SwXTextDefaults \
+ qadevOOo/tests/java/mod/_sw/SwXTextDocument \
+ qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject \
+ qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects \
+ qadevOOo/tests/java/mod/_sw/SwXTextField \
+ qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters \
+ qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes \
+ qadevOOo/tests/java/mod/_sw/SwXTextFrame \
+ qadevOOo/tests/java/mod/_sw/SwXTextFrameText \
+ qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject \
+ qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects \
+ qadevOOo/tests/java/mod/_sw/SwXTextPortion \
+ qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration \
+ qadevOOo/tests/java/mod/_sw/SwXTextRange \
+ qadevOOo/tests/java/mod/_sw/SwXTextRanges \
+ qadevOOo/tests/java/mod/_sw/SwXTextSearch \
+ qadevOOo/tests/java/mod/_sw/SwXTextSection \
+ qadevOOo/tests/java/mod/_sw/SwXTextSections \
+ qadevOOo/tests/java/mod/_sw/SwXTextTable \
+ qadevOOo/tests/java/mod/_sw/SwXTextTableCursor \
+ qadevOOo/tests/java/mod/_sw/SwXTextTableRow \
+ qadevOOo/tests/java/mod/_sw/SwXTextTables \
+ qadevOOo/tests/java/mod/_sw/SwXTextView \
+ qadevOOo/tests/java/mod/_sw/SwXTextViewCursor \
+ qadevOOo/tests/java/mod/_sw/SwXViewSettings \
+ qadevOOo/tests/java/mod/_sw/XMLContentExporter \
+ qadevOOo/tests/java/mod/_sw/XMLContentImporter \
+ qadevOOo/tests/java/mod/_sw/XMLExporter \
+ qadevOOo/tests/java/mod/_sw/XMLImporter \
+ qadevOOo/tests/java/mod/_sw/XMLMetaExporter \
+ qadevOOo/tests/java/mod/_sw/XMLMetaImporter \
+ qadevOOo/tests/java/mod/_sw/XMLSettingsExporter \
+ qadevOOo/tests/java/mod/_sw/XMLSettingsImporter \
+ qadevOOo/tests/java/mod/_sw/XMLStylesExporter \
+ qadevOOo/tests/java/mod/_sw/XMLStylesImporter \
+ qadevOOo/tests/java/mod/_sysdtrans/SystemClipboard \
+ qadevOOo/tests/java/mod/_syssh/SystemShellExecute \
+ qadevOOo/tests/java/mod/_tcv/TypeConverter \
+ qadevOOo/tests/java/mod/_tdmgr/TypeDescriptionManager \
+ qadevOOo/tests/java/mod/_text/DefaultNumberingProvider \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleButton \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleCheckBox \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleComboBox \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownComboBox \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownListBox \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleEdit \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleFixedText \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleList \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleListBox \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleListItem \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleMenu \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleMenuBar \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleMenuItem \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleMenuSeparator \
+ qadevOOo/tests/java/mod/_toolkit/AccessiblePopupMenu \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleRadioButton \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleScrollBar \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBar \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBarItem \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleTabControl \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleToolBox \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleToolBoxItem \
+ qadevOOo/tests/java/mod/_toolkit/AccessibleWindow \
+ qadevOOo/tests/java/mod/_toolkit/MutableTreeDataModel \
+ qadevOOo/tests/java/mod/_toolkit/MutableTreeNode \
+ qadevOOo/tests/java/mod/_toolkit/TabController \
+ qadevOOo/tests/java/mod/_toolkit/TabControllerModel \
+ qadevOOo/tests/java/mod/_toolkit/Toolkit \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlButton \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlButtonModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBox \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBoxModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlComboBox \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlComboBoxModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlContainer \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlContainerModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyField \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyFieldModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlDateField \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlDateFieldModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlDialog \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlDialogModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlEdit \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlEditModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlFileControl \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlFileControlModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlFixedLineModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlFixedText \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlFixedTextModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedField \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedFieldModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBox \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBoxModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlImageControl \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlImageControlModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlListBox \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlListBoxModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlNumericField \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlNumericFieldModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlPatternField \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlPatternFieldModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlProgressBarModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButton \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButtonModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlScrollBarModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlTimeField \
+ qadevOOo/tests/java/mod/_toolkit/UnoControlTimeFieldModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoScrollBarControl \
+ qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControl \
+ qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControlModel \
+ qadevOOo/tests/java/mod/_toolkit/UnoTreeControl \
+ qadevOOo/tests/java/mod/_toolkit/UnoTreeModel \
+ qadevOOo/tests/java/mod/_typeconverter/uno/TypeConverter \
+ qadevOOo/tests/java/mod/_typemgr/uno/TypeDescriptionManager \
+ qadevOOo/tests/java/mod/_ucb/UcbContentProviderProxyFactory \
+ qadevOOo/tests/java/mod/_ucb/UcbPropertiesManager \
+ qadevOOo/tests/java/mod/_ucb/UcbStore \
+ qadevOOo/tests/java/mod/_ucb/UniversalContentBroker \
+ qadevOOo/tests/java/mod/_ucpchelp/CHelpContentProvider \
+ qadevOOo/tests/java/mod/_ucpdav/WebDAVContentProvider \
+ qadevOOo/tests/java/mod/_ucpfile/FileProvider \
+ qadevOOo/tests/java/mod/_ucpftp/FTPContentProvider \
+ qadevOOo/tests/java/mod/_ucphier/HierarchyContentProvider \
+ qadevOOo/tests/java/mod/_ucphier/HierarchyDataSource \
+ qadevOOo/tests/java/mod/_ucppkg/PackageContentProvider \
+ qadevOOo/tests/java/mod/_ucprmt/ContentProvider \
+ qadevOOo/tests/java/mod/_ucprmt/ProviderAcceptor \
+ qadevOOo/tests/java/mod/_ucprmt/ProxyProvider \
+ qadevOOo/tests/java/mod/_uui/UUIInteractionHandler \
+ qadevOOo/tests/java/mod/_uuresolver/uno/UnoUrlResolver \
+ qadevOOo/tests/java/mod/_uuresolver/UnoUrlResolver \
+ qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentExporter \
+ qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentImporter \
+ qadevOOo/tests/java/mod/_xmloff/Chart/XMLExporter \
+ qadevOOo/tests/java/mod/_xmloff/Chart/XMLImporter \
+ qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesExporter \
+ qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesImporter \
+ qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentExporter \
+ qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentImporter \
+ qadevOOo/tests/java/mod/_xmloff/Draw/XMLExporter \
+ qadevOOo/tests/java/mod/_xmloff/Draw/XMLImporter \
+ qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaExporter \
+ qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaImporter \
+ qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsExporter \
+ qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsImporter \
+ qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesExporter \
+ qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesImporter \
+ qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentExporter \
+ qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentImporter \
+ qadevOOo/tests/java/mod/_xmloff/Impress/XMLExporter \
+ qadevOOo/tests/java/mod/_xmloff/Impress/XMLImporter \
+ qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaExporter \
+ qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaImporter \
+ qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsExporter \
+ qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsImporter \
+ qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesExporter \
+ qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesImporter \
+))
+
+$(eval $(call gb_Jar_add_packagefile,OOoRunner,objdsc,$(SRCDIR)/qadevOOo/objdsc))
diff --git a/qadevOOo/Makefile b/qadevOOo/Makefile
new file mode 100644
index 000000000..0997e6284
--- /dev/null
+++ b/qadevOOo/Makefile
@@ -0,0 +1,14 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/qadevOOo/Module_qadevOOo.mk b/qadevOOo/Module_qadevOOo.mk
new file mode 100644
index 000000000..3a97b53fb
--- /dev/null
+++ b/qadevOOo/Module_qadevOOo.mk
@@ -0,0 +1,18 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Module_Module,qadevOOo))
+
+ifeq ($(ENABLE_JAVA),TRUE)
+$(eval $(call gb_Module_add_targets,qadevOOo,\
+ Jar_OOoRunner \
+))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/qadevOOo/README.md b/qadevOOo/README.md
new file mode 100644
index 000000000..91c143126
--- /dev/null
+++ b/qadevOOo/README.md
@@ -0,0 +1,3 @@
+# Test Suite
+
+You can import this as a project into Eclipse (select the `qadevOOo` folder).
diff --git a/qadevOOo/objdsc/acceptor.uno/com.sun.star.comp.io.Acceptor.csv b/qadevOOo/objdsc/acceptor.uno/com.sun.star.comp.io.Acceptor.csv
new file mode 100644
index 000000000..3671af42b
--- /dev/null
+++ b/qadevOOo/objdsc/acceptor.uno/com.sun.star.comp.io.Acceptor.csv
@@ -0,0 +1,2 @@
+"Acceptor";"com::sun::star::connection::XAcceptor";"accept()"
+"Acceptor";"com::sun::star::connection::XAcceptor";"stopAccepting()"
diff --git a/qadevOOo/objdsc/acceptor/com.sun.star.comp.io.Acceptor.csv b/qadevOOo/objdsc/acceptor/com.sun.star.comp.io.Acceptor.csv
new file mode 100644
index 000000000..3671af42b
--- /dev/null
+++ b/qadevOOo/objdsc/acceptor/com.sun.star.comp.io.Acceptor.csv
@@ -0,0 +1,2 @@
+"Acceptor";"com::sun::star::connection::XAcceptor";"accept()"
+"Acceptor";"com::sun::star::connection::XAcceptor";"stopAccepting()"
diff --git a/qadevOOo/objdsc/ado/com.sun.star.comp.sdbc.ado.ODriver.csv b/qadevOOo/objdsc/ado/com.sun.star.comp.sdbc.ado.ODriver.csv
new file mode 100644
index 000000000..8c11a68cc
--- /dev/null
+++ b/qadevOOo/objdsc/ado/com.sun.star.comp.sdbc.ado.ODriver.csv
@@ -0,0 +1,5 @@
+"ODriver";"com::sun::star::sdbc::XDriver";"connect()"
+"ODriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
diff --git a/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleShape.csv b/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleShape.csv
new file mode 100644
index 000000000..8a62a482c
--- /dev/null
+++ b/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleShape.csv
@@ -0,0 +1,23 @@
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleWindow.csv b/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleWindow.csv
new file mode 100644
index 000000000..c59a575c8
--- /dev/null
+++ b/qadevOOo/objdsc/basctl/com.sun.star.comp.basctl.AccessibleWindow.csv
@@ -0,0 +1,24 @@
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/brdgfctr/com.sun.star.comp.remotebridges.BridgeFactory.csv b/qadevOOo/objdsc/brdgfctr/com.sun.star.comp.remotebridges.BridgeFactory.csv
new file mode 100644
index 000000000..5a55e9284
--- /dev/null
+++ b/qadevOOo/objdsc/brdgfctr/com.sun.star.comp.remotebridges.BridgeFactory.csv
@@ -0,0 +1,6 @@
+"BridgeFactory";"com::sun::star::lang::XComponent";"dispose()"
+"BridgeFactory";"com::sun::star::lang::XComponent";"addEventListener()"
+"BridgeFactory";"com::sun::star::lang::XComponent";"removeEventListener()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"createBridge()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"getBridge()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"getExistingBridges()"
diff --git a/qadevOOo/objdsc/bridgefac.uno/com.sun.star.comp.remotebridges.BridgeFactory.csv b/qadevOOo/objdsc/bridgefac.uno/com.sun.star.comp.remotebridges.BridgeFactory.csv
new file mode 100644
index 000000000..5a55e9284
--- /dev/null
+++ b/qadevOOo/objdsc/bridgefac.uno/com.sun.star.comp.remotebridges.BridgeFactory.csv
@@ -0,0 +1,6 @@
+"BridgeFactory";"com::sun::star::lang::XComponent";"dispose()"
+"BridgeFactory";"com::sun::star::lang::XComponent";"addEventListener()"
+"BridgeFactory";"com::sun::star::lang::XComponent";"removeEventListener()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"createBridge()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"getBridge()"
+"BridgeFactory";"com::sun::star::bridge::XBridgeFactory";"getExistingBridges()"
diff --git a/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetFactory.csv b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetFactory.csv
new file mode 100644
index 000000000..55f3728bc
--- /dev/null
+++ b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetFactory.csv
@@ -0,0 +1 @@
+"CachedContentResultSetFactory";"com::sun::star::ucb::XCachedContentResultSetFactory";"createCachedContentResultSet()"
diff --git a/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetStubFactory.csv b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetStubFactory.csv
new file mode 100644
index 000000000..adc7191c4
--- /dev/null
+++ b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedContentResultSetStubFactory.csv
@@ -0,0 +1 @@
+"CachedContentResultSetStubFactory";"com::sun::star::ucb::XCachedContentResultSetStubFactory";"createCachedContentResultSetStub()"
diff --git a/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetFactory.csv b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetFactory.csv
new file mode 100644
index 000000000..88b1af672
--- /dev/null
+++ b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetFactory.csv
@@ -0,0 +1 @@
+"CachedDynamicResultSetFactory";"com::sun::star::ucb::XCachedDynamicResultSetFactory";"createCachedDynamicResultSet()"
diff --git a/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory.csv b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory.csv
new file mode 100644
index 000000000..229b35742
--- /dev/null
+++ b/qadevOOo/objdsc/cached/com.sun.star.comp.ucb.CachedDynamicResultSetStubFactory.csv
@@ -0,0 +1,2 @@
+"CachedDynamicResultSetStubFactory";"com::sun::star::ucb::XCachedDynamicResultSetStubFactory";"createCachedDynamicResultSetStub()"
+"CachedDynamicResultSetStubFactory";"com::sun::star::ucb::XCachedDynamicResultSetStubFactory";"connectToCache()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.AdministrationProvider.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.AdministrationProvider.csv
new file mode 100644
index 000000000..3c368ee9e
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.AdministrationProvider.csv
@@ -0,0 +1,6 @@
+"AdministrationProvider";"com::sun::star::lang::XComponent";"dispose()"
+"AdministrationProvider";"com::sun::star::lang::XComponent";"addEventListener()"
+"AdministrationProvider";"com::sun::star::lang::XComponent";"removeEventListener()"
+"AdministrationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"AdministrationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"AdministrationProvider";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProvider.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProvider.csv
new file mode 100644
index 000000000..a135f0bf8
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProvider.csv
@@ -0,0 +1,6 @@
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"dispose()"
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"addEventListener()"
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProviderWrapper.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProviderWrapper.csv
new file mode 100644
index 000000000..0f7ecac2c
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ConfigurationProviderWrapper.csv
@@ -0,0 +1,6 @@
+"ConfigurationProviderWrapper";"com::sun::star::lang::XComponent";"dispose()"
+"ConfigurationProviderWrapper";"com::sun::star::lang::XComponent";"addEventListener()"
+"ConfigurationProviderWrapper";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ConfigurationProviderWrapper";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"ConfigurationProviderWrapper";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"ConfigurationProviderWrapper";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OConfigurationRegistry.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OConfigurationRegistry.csv
new file mode 100644
index 000000000..e15ff6d6c
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OConfigurationRegistry.csv
@@ -0,0 +1,11 @@
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"getURL()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"open()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"isValid()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"close()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"destroy()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"getRootKey()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"isReadOnly()"
+"OConfigurationRegistry";"com::sun::star::registry::XSimpleRegistry";"mergeKey()"
+"OConfigurationRegistry";"com::sun::star::util::XFlushable";"flush()"
+"OConfigurationRegistry";"com::sun::star::util::XFlushable";"addFlushListener()"
+"OConfigurationRegistry";"com::sun::star::util::XFlushable";"removeFlushListener()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupInfoAccess.csv
new file mode 100644
index 000000000..00e280467
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupInfoAccess.csv
@@ -0,0 +1,61 @@
+"OInnerGroupInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OInnerGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OInnerGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OInnerGroupInfoAccess";"com::sun::star::lang::XComponent#optional";"dispose()"
+"OInnerGroupInfoAccess";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"OInnerGroupInfoAccess";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OInnerGroupInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OInnerGroupInfoAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"OInnerGroupInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OInnerGroupInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OInnerGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OInnerGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OInnerGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OInnerGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupUpdateAccess.csv
new file mode 100644
index 000000000..d69050f53
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerGroupUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XComponent#optional";"dispose()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OInnerGroupUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OInnerGroupUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OInnerGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OInnerGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OInnerGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OInnerGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerSetInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerSetInfoAccess.csv
new file mode 100644
index 000000000..20f06c89c
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerSetInfoAccess.csv
@@ -0,0 +1,61 @@
+"OInnerSetInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OInnerSetInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OInnerSetInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OInnerSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OInnerSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OInnerSetInfoAccess";"com::sun::star::lang::XComponent#optional";"dispose()"
+"OInnerSetInfoAccess";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"OInnerSetInfoAccess";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"OInnerSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OInnerSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OInnerSetInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OInnerSetInfoAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OInnerSetInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OInnerSetInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OInnerSetInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OInnerSetInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OInnerSetInfoAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OInnerSetInfoAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OInnerSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OInnerSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OInnerSetInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"OInnerSetInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OInnerSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OInnerSetInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OInnerSetInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OInnerSetInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OInnerSetInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerTreeSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerTreeSetUpdateAccess.csv
new file mode 100644
index 000000000..8e8920e50
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerTreeSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"dispose()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OInnerTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerValueSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerValueSetUpdateAccess.csv
new file mode 100644
index 000000000..1069e0125
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OInnerValueSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"dispose()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OInnerValueSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OInnerValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OInnerValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OInnerValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OInnerValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupInfoAccess.csv
new file mode 100644
index 000000000..ebed4629e
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupInfoAccess.csv
@@ -0,0 +1,61 @@
+"ORootElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"ORootElementGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"ORootElementGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"ORootElementGroupInfoAccess";"com::sun::star::lang::XComponent";"dispose()"
+"ORootElementGroupInfoAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"ORootElementGroupInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"ORootElementGroupInfoAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"ORootElementGroupInfoAccess";"com::sun::star::util::XChangesNotifier";"addChangesListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::util::XChangesNotifier";"removeChangesListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"ORootElementGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ORootElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"ORootElementGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupUpdateAccess.csv
new file mode 100644
index 000000000..43437a104
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementGroupUpdateAccess.csv
@@ -0,0 +1,72 @@
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch";"commitChanges()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch";"hasPendingChanges()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch";"getPendingChanges()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"ORootElementGroupUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XChangesNotifier";"addChangesListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XChangesNotifier";"removeChangesListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"ORootElementGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"ORootElementGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ORootElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"ORootElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementSetInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementSetInfoAccess.csv
new file mode 100644
index 000000000..abec31d66
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementSetInfoAccess.csv
@@ -0,0 +1,61 @@
+"ORootElementSetInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"ORootElementSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"ORootElementSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"ORootElementSetInfoAccess";"com::sun::star::lang::XComponent";"dispose()"
+"ORootElementSetInfoAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORootElementSetInfoAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"ORootElementSetInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"ORootElementSetInfoAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"ORootElementSetInfoAccess";"com::sun::star::util::XChangesNotifier";"addChangesListener()"
+"ORootElementSetInfoAccess";"com::sun::star::util::XChangesNotifier";"removeChangesListener()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"ORootElementSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"ORootElementSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ORootElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"ORootElementSetInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementTreeSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementTreeSetUpdateAccess.csv
new file mode 100644
index 000000000..96becff6e
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementTreeSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch";"commitChanges()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch";"hasPendingChanges()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch";"getPendingChanges()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier";"addChangesListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier";"removeChangesListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"ORootElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementValueSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementValueSetUpdateAccess.csv
new file mode 100644
index 000000000..522d5425b
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.ORootElementValueSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch";"commitChanges()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch";"hasPendingChanges()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch";"getPendingChanges()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance#optional";"getTemplateName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier";"addChangesListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier";"removeChangesListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"ORootElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupInfoAccess.csv
new file mode 100644
index 000000000..72c277a03
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupInfoAccess.csv
@@ -0,0 +1,61 @@
+"OSetElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OSetElementGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OSetElementGroupInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OSetElementGroupInfoAccess";"com::sun::star::lang::XComponent";"dispose()"
+"OSetElementGroupInfoAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OSetElementGroupInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OSetElementGroupInfoAccess";"com::sun::star::configuration::XTemplateInstance";"getTemplateName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"OSetElementGroupInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OSetElementGroupInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OSetElementGroupInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OSetElementGroupInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupUpdateAccess.csv
new file mode 100644
index 000000000..d35599923
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementGroupUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OSetElementGroupUpdateAccess";"com::sun::star::configuration::XTemplateInstance";"getTemplateName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"setHierarchicalPropertyValues()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet";"getHierarchicalPropertyValues()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertySetInfo()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"setHierarchicalPropertyValue()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet";"getHierarchicalPropertyValue()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XContainer";"addContainerListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OSetElementGroupUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OSetElementGroupUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OSetElementGroupUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OSetElementGroupUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementSetInfoAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementSetInfoAccess.csv
new file mode 100644
index 000000000..7b5201c65
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementSetInfoAccess.csv
@@ -0,0 +1,61 @@
+"OSetElementSetInfoAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OSetElementSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OSetElementSetInfoAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OSetElementSetInfoAccess";"com::sun::star::lang::XComponent";"dispose()"
+"OSetElementSetInfoAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSetElementSetInfoAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OSetElementSetInfoAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OSetElementSetInfoAccess";"com::sun::star::configuration::XTemplateInstance";"getTemplateName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OSetElementSetInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OSetElementSetInfoAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OSetElementSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OSetElementSetInfoAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XNamed";"getName()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XNamed";"setName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OSetElementSetInfoAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OSetElementSetInfoAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementTreeSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementTreeSetUpdateAccess.csv
new file mode 100644
index 000000000..4b4453908
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementTreeSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance";"getTemplateName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OSetElementTreeSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementValueSetUpdateAccess.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementValueSetUpdateAccess.csv
new file mode 100644
index 000000000..bd12e03ff
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.OSetElementValueSetUpdateAccess.csv
@@ -0,0 +1,72 @@
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getStateAsProperty()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"setToDefaultAsProperty()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyWithState#optional";"getDefaultAsProperty()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"commitChanges()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"hasPendingChanges()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XChangesBatch#optional";"getPendingChanges()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"setLocale()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XLocalizable#optional";"getLocale()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"dispose()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::configuration::XTemplateContainer#optional";"getElementTemplateName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstance()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XMultiServiceFactory#optional";"getAvailableServiceNames()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::configuration::XTemplateInstance";"getTemplateName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XExactName";"getExactName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"setHierarchicalPropertyValues()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiHierarchicalPropertySet#optional";"getHierarchicalPropertyValues()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertySetInfo()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"setHierarchicalPropertyValue()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XHierarchicalPropertySet#optional";"getHierarchicalPropertyValue()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"addChangesListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XChangesNotifier#optional";"removeChangesListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"escapeString()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::util::XStringEscape#optional";"unescapeString()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNamed";"getName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XNamed";"setName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstance()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::lang::XSingleServiceFactory#optional";"createInstanceWithArguments()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XProperty#optional";"getAsProperty()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getProperties()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"getPropertyByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertySetInfo#optional";"hasPropertyByName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"getParent()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XChild#optional";"setParent()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"getHierarchicalName()"
+"OSetElementValueSetUpdateAccess";"com::sun::star::container::XHierarchicalName";"composeHierarchicalName()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.CopyImporter.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.CopyImporter.csv
new file mode 100644
index 000000000..dc776d136
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.CopyImporter.csv
@@ -0,0 +1,5 @@
+"CopyImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"CopyImporter";"com::sun::star::configuration::backend::XLayerImporter";"getTargetBackend()"
+"CopyImporter";"com::sun::star::configuration::backend::XLayerImporter";"setTargetBackend()"
+"CopyImporter";"com::sun::star::configuration::backend::XLayerImporter";"importLayer()"
+"CopyImporter";"com::sun::star::configuration::backend::XLayerImporter";"importLayerForEntity()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LayerUpdateMerger.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LayerUpdateMerger.csv
new file mode 100644
index 000000000..48ce3db9d
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LayerUpdateMerger.csv
@@ -0,0 +1,18 @@
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"startUpdate()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"endUpdate()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"modifyNode()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"addOrReplaceNode()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"addOrReplaceNodeFromTemplate()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"endNode()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"removeNode()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"modifyProperty()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"setPropertyValue()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"setPropertyValueForLocale()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"resetPropertyValue()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"resetPropertyValueForLocale()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"endProperty()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"resetProperty()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"addOrReplaceProperty()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"addOrReplacePropertyWithValue()"
+"LayerUpdateMerger";"com::sun::star::configuration::backend::XUpdateHandler";"removeProperty()"
+"LayerUpdateMerger";"com::sun::star::lang::XInitialization";"initialize()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalDataImporter.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalDataImporter.csv
new file mode 100644
index 000000000..60a917c55
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalDataImporter.csv
@@ -0,0 +1 @@
+"LocalDataImporter";"com::sun::star::task::XJob";"execute()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalHierarchyBrowser.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalHierarchyBrowser.csv
new file mode 100644
index 000000000..1826b1742
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalHierarchyBrowser.csv
@@ -0,0 +1 @@
+"LocalHierarchyBrowser";"com::sun::star::task::XJob";"execute()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSchemaSupplier.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSchemaSupplier.csv
new file mode 100644
index 000000000..b11a8feb5
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSchemaSupplier.csv
@@ -0,0 +1 @@
+"LocalSchemaSupplier";"com::sun::star::configuration::backend::XSchemaSupplier";"getComponentSchema()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleBackend.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleBackend.csv
new file mode 100644
index 000000000..a9741f31d
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleBackend.csv
@@ -0,0 +1,11 @@
+"LocalSingleBackend";"com::sun::star::configuration::backend::XBackendEntities";"getOwnerEntity()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XBackendEntities";"getAdminEntity()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XBackendEntities";"supportsEntity()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XBackendEntities";"isEqualEntity()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XSchemaSupplier";"getComponentSchema()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"listLayerIds()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"getUpdateLayerId()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"getLayer()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"getLayers()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"getMultipleLayers()"
+"LocalSingleBackend";"com::sun::star::configuration::backend::XMultiLayerStratum";"getUpdatableLayer()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleStratum.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleStratum.csv
new file mode 100644
index 000000000..8addf91d1
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.LocalSingleStratum.csv
@@ -0,0 +1,6 @@
+"LocalSingleStratum";"com::sun::star::configuration::backend::XSingleLayerStratum";"getLayer()"
+"LocalSingleStratum";"com::sun::star::configuration::backend::XSingleLayerStratum";"getUpdatableLayer()"
+"LocalSingleStratum";"com::sun::star::configuration::backend::XBackendEntities#optional";"getOwnerEntity()"
+"LocalSingleStratum";"com::sun::star::configuration::backend::XBackendEntities#optional";"getAdminEntity()"
+"LocalSingleStratum";"com::sun::star::configuration::backend::XBackendEntities#optional";"supportsEntity()"
+"LocalSingleStratum";"com::sun::star::configuration::backend::XBackendEntities#optional";"isEqualEntity()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MergeImporter.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MergeImporter.csv
new file mode 100644
index 000000000..2f184f7d3
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MergeImporter.csv
@@ -0,0 +1,5 @@
+"MergeImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"MergeImporter";"com::sun::star::configuration::backend::XLayerImporter";"getTargetBackend()"
+"MergeImporter";"com::sun::star::configuration::backend::XLayerImporter";"setTargetBackend()"
+"MergeImporter";"com::sun::star::configuration::backend::XLayerImporter";"importLayer()"
+"MergeImporter";"com::sun::star::configuration::backend::XLayerImporter";"importLayerForEntity()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MultiStratumBackend.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MultiStratumBackend.csv
new file mode 100644
index 000000000..966ecb1fe
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.MultiStratumBackend.csv
@@ -0,0 +1,10 @@
+"MultiStratumBackend";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackendEntities#optional";"getOwnerEntity()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackendEntities#optional";"getAdminEntity()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackendEntities#optional";"supportsEntity()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackendEntities#optional";"isEqualEntity()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XSchemaSupplier";"getComponentSchema()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackend";"listOwnLayers()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackend";"getOwnUpdateHandler()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackend";"listLayers()"
+"MultiStratumBackend";"com::sun::star::configuration::backend::XBackend";"getUpdateHandler()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.SingleBackendAdapter.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.SingleBackendAdapter.csv
new file mode 100644
index 000000000..d070b09d7
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.SingleBackendAdapter.csv
@@ -0,0 +1,10 @@
+"SingleBackendAdapter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackendEntities#optional";"getOwnerEntity()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackendEntities#optional";"getAdminEntity()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackendEntities#optional";"supportsEntity()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackendEntities#optional";"isEqualEntity()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XSchemaSupplier";"getComponentSchema()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackend";"listOwnLayers()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackend";"getOwnUpdateHandler()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackend";"listLayers()"
+"SingleBackendAdapter";"com::sun::star::configuration::backend::XBackend";"getUpdateHandler()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerParser.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerParser.csv
new file mode 100644
index 000000000..ea2f4831b
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerParser.csv
@@ -0,0 +1,4 @@
+"LayerParser";"com::sun::star::configuration::backend::XLayer";"readData()"
+"LayerParser";"com::sun::star::lang::XInitialization";"initialize()"
+"LayerParser";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"LayerParser";"com::sun::star::io::XActiveDataSink";"getInputStream()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerWriter.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerWriter.csv
new file mode 100644
index 000000000..a94c65c42
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.LayerWriter.csv
@@ -0,0 +1,16 @@
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"startLayer()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"endLayer()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"overrideNode()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"addOrReplaceNode()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"addOrReplaceNodeFromTemplate()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"endNode()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"dropNode()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"overrideProperty()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"setPropertyValue()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"setPropertyValueForLocale()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"endProperty()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"addProperty()"
+"LayerWriter";"com::sun::star::configuration::backend::XLayerHandler";"addPropertyWithValue()"
+"LayerWriter";"com::sun::star::lang::XInitialization";"initialize()"
+"LayerWriter";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"LayerWriter";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.SchemaParser.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.SchemaParser.csv
new file mode 100644
index 000000000..17732ab8f
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.backend.xml.SchemaParser.csv
@@ -0,0 +1,6 @@
+"SchemaParser";"com::sun::star::configuration::backend::XSchema";"readSchema()"
+"SchemaParser";"com::sun::star::configuration::backend::XSchema";"readComponent()"
+"SchemaParser";"com::sun::star::configuration::backend::XSchema";"readTemplates()"
+"SchemaParser";"com::sun::star::lang::XInitialization";"initialize()"
+"SchemaParser";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"SchemaParser";"com::sun::star::io::XActiveDataSink";"getInputStream()"
diff --git a/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.bootstrap.BootstrapContext.csv b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.bootstrap.BootstrapContext.csv
new file mode 100644
index 000000000..86477a872
--- /dev/null
+++ b/qadevOOo/objdsc/cfgmgr2/com.sun.star.comp.configuration.bootstrap.BootstrapContext.csv
@@ -0,0 +1,2 @@
+"BootstrapContext";"com::sun::star::uno::XComponentContext";"getValueByName()"
+"BootstrapContext";"com::sun::star::uno::XComponentContext";"getServiceManager()"
diff --git a/qadevOOo/objdsc/cmdmail/com.sun.star.comp.system.SimpleCommandMail.csv b/qadevOOo/objdsc/cmdmail/com.sun.star.comp.system.SimpleCommandMail.csv
new file mode 100644
index 000000000..a6ff03f4d
--- /dev/null
+++ b/qadevOOo/objdsc/cmdmail/com.sun.star.comp.system.SimpleCommandMail.csv
@@ -0,0 +1,6 @@
+"SimpleCommandMail";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SimpleCommandMail";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SimpleCommandMail";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SimpleCommandMail";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"SimpleCommandMail";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"SimpleCommandMail";"com::sun::star::system::XSimpleMailClientSupplier";"querySimpleMailClient()"
diff --git a/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.ConfigurationProvider.csv b/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.ConfigurationProvider.csv
new file mode 100644
index 000000000..4f52c0e94
--- /dev/null
+++ b/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.ConfigurationProvider.csv
@@ -0,0 +1,36 @@
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This file incorporates work covered by the following license notice:
+#
+# 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 .
+#
+
+# In addition to the interfaces of css.configuration.ConfigurationProvider also
+# test the additional, optional (but implemented) interfaces of
+# css.configuration.DefaultProvider:
+
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"addEventListener()"
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"dispose()"
+"ConfigurationProvider";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ConfigurationProvider";"com::sun::star::lang::XLocalizable";"getLocale()"
+"ConfigurationProvider";"com::sun::star::lang::XLocalizable";"setLocale()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"ConfigurationProvider";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"ConfigurationProvider";"com::sun::star::util::XFlushable";"addFlushListener()"
+"ConfigurationProvider";"com::sun::star::util::XFlushable";"flush()"
+"ConfigurationProvider";"com::sun::star::util::XFlushable";"removeFlushListener()"
+"ConfigurationProvider";"com::sun::star::util::XRefreshable";"addRefreshListener()"
+"ConfigurationProvider";"com::sun::star::util::XRefreshable";"refresh()"
+"ConfigurationProvider";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
diff --git a/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.DefaultProvider.csv b/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.DefaultProvider.csv
new file mode 100644
index 000000000..7e832abe2
--- /dev/null
+++ b/qadevOOo/objdsc/configmgr/com.sun.star.comp.configuration.DefaultProvider.csv
@@ -0,0 +1,24 @@
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This file incorporates work covered by the following license notice:
+#
+# 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 .
+#
+
+# Only test non-modifying functionality of css.configuration.DefaultProvider:
+
+"DefaultProvider";"com::sun::star::lang::XLocalizable";"getLocale()"
+"DefaultProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"DefaultProvider";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"DefaultProvider";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
diff --git a/qadevOOo/objdsc/connector.uno/com.sun.star.comp.io.Connector.csv b/qadevOOo/objdsc/connector.uno/com.sun.star.comp.io.Connector.csv
new file mode 100644
index 000000000..6a9383929
--- /dev/null
+++ b/qadevOOo/objdsc/connector.uno/com.sun.star.comp.io.Connector.csv
@@ -0,0 +1 @@
+"Connector";"com::sun::star::connection::XConnector";"connect()"
diff --git a/qadevOOo/objdsc/connectr/com.sun.star.comp.io.Connector.csv b/qadevOOo/objdsc/connectr/com.sun.star.comp.io.Connector.csv
new file mode 100644
index 000000000..6a9383929
--- /dev/null
+++ b/qadevOOo/objdsc/connectr/com.sun.star.comp.io.Connector.csv
@@ -0,0 +1 @@
+"Connector";"com::sun::star::connection::XConnector";"connect()"
diff --git a/qadevOOo/objdsc/corefl/com.sun.star.comp.stoc.CoreReflection.csv b/qadevOOo/objdsc/corefl/com.sun.star.comp.stoc.CoreReflection.csv
new file mode 100644
index 000000000..68b64c9e5
--- /dev/null
+++ b/qadevOOo/objdsc/corefl/com.sun.star.comp.stoc.CoreReflection.csv
@@ -0,0 +1,5 @@
+"CoreReflection";"com::sun::star::reflection::XIdlReflection";"forName()"
+"CoreReflection";"com::sun::star::reflection::XIdlReflection";"getType()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"dispose()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
diff --git a/qadevOOo/objdsc/corereflection.uno/com.sun.star.comp.stoc.CoreReflection.csv b/qadevOOo/objdsc/corereflection.uno/com.sun.star.comp.stoc.CoreReflection.csv
new file mode 100644
index 000000000..68b64c9e5
--- /dev/null
+++ b/qadevOOo/objdsc/corereflection.uno/com.sun.star.comp.stoc.CoreReflection.csv
@@ -0,0 +1,5 @@
+"CoreReflection";"com::sun::star::reflection::XIdlReflection";"forName()"
+"CoreReflection";"com::sun::star::reflection::XIdlReflection";"getType()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"dispose()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"CoreReflection";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
diff --git a/qadevOOo/objdsc/cpld/com.sun.star.comp.stoc.DLLComponentLoader.csv b/qadevOOo/objdsc/cpld/com.sun.star.comp.stoc.DLLComponentLoader.csv
new file mode 100644
index 000000000..97115c0ff
--- /dev/null
+++ b/qadevOOo/objdsc/cpld/com.sun.star.comp.stoc.DLLComponentLoader.csv
@@ -0,0 +1,5 @@
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DLLComponentLoader";"com::sun::star::loader::XImplementationLoader";"activate()"
+"DLLComponentLoader";"com::sun::star::loader::XImplementationLoader";"writeRegistryInfo()"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.OCommandDefinition.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.OCommandDefinition.csv
new file mode 100644
index 000000000..9b37f3c04
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.OCommandDefinition.csv
@@ -0,0 +1,13 @@
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OCommandDefinition";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"Name"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"Command"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"EscapeProcessing"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"UpdateTableName"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"UpdateCatalogName"
+"OCommandDefinition";"com::sun::star::sdb::QueryDefinition";"UpdateSchemaName"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseContext.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseContext.csv
new file mode 100644
index 000000000..8e23f8303
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseContext.csv
@@ -0,0 +1,13 @@
+"ODatabaseContext";"com::sun::star::uno::XNamingService";"getRegisteredObject()"
+"ODatabaseContext";"com::sun::star::uno::XNamingService";"registerObject()"
+"ODatabaseContext";"com::sun::star::uno::XNamingService";"revokeObject()"
+"ODatabaseContext";"com::sun::star::container::XNameAccess";"getByName()"
+"ODatabaseContext";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ODatabaseContext";"com::sun::star::container::XNameAccess";"hasByName()"
+"ODatabaseContext";"com::sun::star::container::XElementAccess";"getElementType()"
+"ODatabaseContext";"com::sun::star::container::XElementAccess";"hasElements()"
+"ODatabaseContext";"com::sun::star::container::XContainer";"addContainerListener()"
+"ODatabaseContext";"com::sun::star::container::XContainer";"removeContainerListener()"
+"ODatabaseContext";"com::sun::star::lang::XSingleServiceFactory";"createInstance()"
+"ODatabaseContext";"com::sun::star::lang::XSingleServiceFactory";"createInstanceWithArguments()"
+"ODatabaseContext";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseSource.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseSource.csv
new file mode 100644
index 000000000..8dd53a35d
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ODatabaseSource.csv
@@ -0,0 +1,29 @@
+"ODatabaseSource";"com::sun::star::sdb::XCompletedConnection";"connectWithCompletion()"
+"ODatabaseSource";"com::sun::star::util::XFlushable";"flush()"
+"ODatabaseSource";"com::sun::star::util::XFlushable";"addFlushListener()"
+"ODatabaseSource";"com::sun::star::util::XFlushable";"removeFlushListener()"
+"ODatabaseSource";"com::sun::star::sdbc::XIsolatedConnection";"getIsolatedConnectionWithCompletion()"
+"ODatabaseSource";"com::sun::star::sdbc::XIsolatedConnection";"getIsolatedConnection()"
+"ODatabaseSource";"com::sun::star::sdb::XQueryDefinitionsSupplier";"getQueryDefinitions()"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"Name"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"URL"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"Info"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"User"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"Password"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"IsPasswordRequired"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"SuppressVersionColumns"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"IsReadOnly"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"NumberFormatsSupplier"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"TableFilter"
+"ODatabaseSource";"com::sun::star::sdb::DataSource";"TableTypeFilter"
+"ODatabaseSource";"com::sun::star::sdbc::XDataSource";"getConnection()"
+"ODatabaseSource";"com::sun::star::sdbc::XDataSource";"setLoginTimeout()"
+"ODatabaseSource";"com::sun::star::sdbc::XDataSource";"getLoginTimeout()"
+"ODatabaseSource";"com::sun::star::sdb::XBookmarksSupplier#optional";"getBookmarks()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ODatabaseSource";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ORowSet.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ORowSet.csv
new file mode 100644
index 000000000..b7b048e6c
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dba.ORowSet.csv
@@ -0,0 +1,154 @@
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"getBookmark()"
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"moveToBookmark()"
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"moveRelativeToBookmark()"
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"compareBookmarks()"
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"hasOrderedBookmarks()"
+"ORowSet";"com::sun::star::sdbcx::XRowLocate";"hashBookmark()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateNull()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateBoolean()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateByte()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateShort()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateInt()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateLong()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateFloat()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateDouble()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateString()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateBytes()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateDate()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateTime()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateTimestamp()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateBinaryStream()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateCharacterStream()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateObject()"
+"ORowSet";"com::sun::star::sdbc::XRowUpdate#optional";"updateNumericObject()"
+"ORowSet";"com::sun::star::sdbc::XCloseable#optional";"close()"
+"ORowSet";"com::sun::star::sdb::XRowSetApproveBroadcaster";"addRowSetApproveListener()"
+"ORowSet";"com::sun::star::sdb::XRowSetApproveBroadcaster";"removeRowSetApproveListener()"
+"ORowSet";"com::sun::star::lang::XComponent#optional";"dispose()"
+"ORowSet";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"ORowSet";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"ORowSet";"com::sun::star::sdbcx::ResultSet";"IsBookmarkable"
+"ORowSet";"com::sun::star::sdbcx::ResultSet";"CanUpdateInsertedRows#optional"
+"ORowSet";"com::sun::star::sdbc::XResultSetMetaDataSupplier";"getMetaData()"
+"ORowSet";"com::sun::star::sdb::XCompletedExecution";"executeWithCompletion()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"next()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"isBeforeFirst()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"isAfterLast()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"isFirst()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"isLast()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"beforeFirst()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"afterLast()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"first()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"last()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"getRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"absolute()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"relative()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"previous()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"refreshRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"rowUpdated()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"rowInserted()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"rowDeleted()"
+"ORowSet";"com::sun::star::sdbc::XResultSet";"getStatement()"
+"ORowSet";"com::sun::star::sdbc::XWarningsSupplier#optional";"getWarnings()"
+"ORowSet";"com::sun::star::sdbc::XWarningsSupplier#optional";"clearWarnings()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"insertRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"updateRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"deleteRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"cancelRowUpdates()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"moveToInsertRow()"
+"ORowSet";"com::sun::star::sdbc::XResultSetUpdate#optional";"moveToCurrentRow()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setNull()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setObjectNull()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setBoolean()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setByte()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setShort()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setInt()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setLong()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setFloat()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setDouble()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setString()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setBytes()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setDate()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setTime()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setTimestamp()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setBinaryStream()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setCharacterStream()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setObject()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setObjectWithInfo()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setRef()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setBlob()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setClob()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"setArray()"
+"ORowSet";"com::sun::star::sdbc::XParameters";"clearParameters()"
+"ORowSet";"com::sun::star::sdbc::ResultSet";"CursorName#optional"
+"ORowSet";"com::sun::star::sdbc::ResultSet";"ResultSetConcurrency"
+"ORowSet";"com::sun::star::sdbc::ResultSet";"ResultSetType"
+"ORowSet";"com::sun::star::sdbc::ResultSet";"FetchDirection"
+"ORowSet";"com::sun::star::sdbc::ResultSet";"FetchSize"
+"ORowSet";"com::sun::star::sdb::XResultSetAccess";"createResultSet()"
+"ORowSet";"com::sun::star::sdbc::RowSet";"DataSourceName"
+"ORowSet";"com::sun::star::sdbc::RowSet";"URL"
+"ORowSet";"com::sun::star::sdbc::RowSet";"Command"
+"ORowSet";"com::sun::star::sdbc::RowSet";"TransactionIsolation"
+"ORowSet";"com::sun::star::sdbc::RowSet";"TypeMap"
+"ORowSet";"com::sun::star::sdbc::RowSet";"EscapeProcessing"
+"ORowSet";"com::sun::star::sdbc::RowSet";"QueryTimeOut"
+"ORowSet";"com::sun::star::sdbc::RowSet";"MaxFieldSize"
+"ORowSet";"com::sun::star::sdbc::RowSet";"MaxRows"
+"ORowSet";"com::sun::star::sdbc::RowSet";"User"
+"ORowSet";"com::sun::star::sdbc::RowSet";"Password"
+"ORowSet";"com::sun::star::sdbc::RowSet";"ResultSetType"
+"ORowSet";"com::sun::star::sdbcx::XDeleteRows#optional";"deleteRows()"
+"ORowSet";"com::sun::star::sdb::RowSet";"ActiveConnection"
+"ORowSet";"com::sun::star::sdb::RowSet";"DataSourceName"
+"ORowSet";"com::sun::star::sdb::RowSet";"Command"
+"ORowSet";"com::sun::star::sdb::RowSet";"CommandType"
+"ORowSet";"com::sun::star::sdb::RowSet";"EscapeProcessing#optional"
+"ORowSet";"com::sun::star::sdb::RowSet";"ActiveCommand"
+"ORowSet";"com::sun::star::sdb::RowSet";"IgnoreResult"
+"ORowSet";"com::sun::star::sdb::RowSet";"Filter"
+"ORowSet";"com::sun::star::sdb::RowSet";"ApplyFilter"
+"ORowSet";"com::sun::star::sdb::RowSet";"Order"
+"ORowSet";"com::sun::star::sdb::RowSet";"Privileges"
+"ORowSet";"com::sun::star::sdb::RowSet";"IsModified"
+"ORowSet";"com::sun::star::sdb::RowSet";"IsNew"
+"ORowSet";"com::sun::star::sdb::RowSet";"RowCount"
+"ORowSet";"com::sun::star::sdb::RowSet";"IsRowCountFinal"
+"ORowSet";"com::sun::star::sdb::RowSet";"UpdateTableName#optional"
+"ORowSet";"com::sun::star::sdb::RowSet";"UpdateCatalogName#optional"
+"ORowSet";"com::sun::star::sdb::RowSet";"UpdateSchemaName#optional"
+"ORowSet";"com::sun::star::sdb::RowSet";"HavingClause#optional"
+"ORowSet";"com::sun::star::sdb::RowSet";"GroupBy#optional"
+"ORowSet";"com::sun::star::sdbc::XRow";"wasNull()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getString()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getBoolean()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getByte()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getShort()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getInt()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getLong()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getFloat()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getDouble()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getBytes()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getDate()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getTime()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getTimestamp()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getBinaryStream()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getCharacterStream()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getObject()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getRef()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getBlob()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getClob()"
+"ORowSet";"com::sun::star::sdbc::XRow";"getArray()"
+"ORowSet";"com::sun::star::sdbcx::XColumnsSupplier";"getColumns()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ORowSet";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ORowSet";"com::sun::star::util::XCancellable#optional";"cancel()"
+"ORowSet";"com::sun::star::sdbc::XRowSet";"execute()"
+"ORowSet";"com::sun::star::sdbc::XRowSet";"addRowSetListener()"
+"ORowSet";"com::sun::star::sdbc::XRowSet";"removeRowSetListener()"
+"ORowSet";"com::sun::star::sdbc::XColumnLocate";"findColumn()"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.OInteractionHandler.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.OInteractionHandler.csv
new file mode 100644
index 000000000..92da86de4
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.OInteractionHandler.csv
@@ -0,0 +1 @@
+"OInteractionHandler";"com::sun::star::task::XInteractionHandler";"handle()"
diff --git a/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.SbaXGridControl.csv b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.SbaXGridControl.csv
new file mode 100644
index 000000000..9e247fd4d
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/com.sun.star.comp.dbu.SbaXGridControl.csv
@@ -0,0 +1,63 @@
+"SbaXGridControl";"com::sun::star::awt::XView";"setGraphics()"
+"SbaXGridControl";"com::sun::star::awt::XView";"getGraphics()"
+"SbaXGridControl";"com::sun::star::awt::XView";"getSize()"
+"SbaXGridControl";"com::sun::star::awt::XView";"draw()"
+"SbaXGridControl";"com::sun::star::awt::XView";"setZoom()"
+"SbaXGridControl";"com::sun::star::container::XIndexAccess";"getCount()"
+"SbaXGridControl";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SbaXGridControl";"com::sun::star::frame::XDispatch";"dispatch()"
+"SbaXGridControl";"com::sun::star::frame::XDispatch";"addStatusListener()"
+"SbaXGridControl";"com::sun::star::frame::XDispatch";"removeStatusListener()"
+"SbaXGridControl";"com::sun::star::form::XGrid";"getCurrentColumnPosition()"
+"SbaXGridControl";"com::sun::star::form::XGrid";"setCurrentColumnPosition()"
+"SbaXGridControl";"com::sun::star::lang::XComponent";"dispose()"
+"SbaXGridControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"SbaXGridControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SbaXGridControl";"com::sun::star::util::XModeSelector#optional";"setMode()"
+"SbaXGridControl";"com::sun::star::util::XModeSelector#optional";"getMode()"
+"SbaXGridControl";"com::sun::star::util::XModeSelector#optional";"getSupportedModes()"
+"SbaXGridControl";"com::sun::star::util::XModeSelector#optional";"supportsMode()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"setContext()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"getContext()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"createPeer()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"getPeer()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"setModel()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"getModel()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"getView()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"SbaXGridControl";"com::sun::star::awt::XControl";"isTransparent()"
+"SbaXGridControl";"com::sun::star::container::XElementAccess";"getElementType()"
+"SbaXGridControl";"com::sun::star::container::XElementAccess";"hasElements()"
+"SbaXGridControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"setVisible()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"setEnable()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"setFocus()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"SbaXGridControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"SbaXGridControl";"com::sun::star::frame::XDispatchProviderInterception#optional";"registerDispatchProviderInterceptor()"
+"SbaXGridControl";"com::sun::star::frame::XDispatchProviderInterception#optional";"releaseDispatchProviderInterceptor()"
+"SbaXGridControl";"com::sun::star::view::XSelectionSupplier#optional";"select()"
+"SbaXGridControl";"com::sun::star::view::XSelectionSupplier#optional";"getSelection()"
+"SbaXGridControl";"com::sun::star::view::XSelectionSupplier#optional";"addSelectionChangeListener()"
+"SbaXGridControl";"com::sun::star::view::XSelectionSupplier#optional";"removeSelectionChangeListener()"
+"SbaXGridControl";"com::sun::star::form::XBoundComponent";"commit()"
+"SbaXGridControl";"com::sun::star::form::XUpdateBroadcaster";"addUpdateListener()"
+"SbaXGridControl";"com::sun::star::form::XUpdateBroadcaster";"removeUpdateListener()"
+"SbaXGridControl";"com::sun::star::form::XGridFieldDataSupplier#optional";"queryFieldDataType()"
+"SbaXGridControl";"com::sun::star::form::XGridFieldDataSupplier#optional";"queryFieldData()"
+"SbaXGridControl";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"SbaXGridControl";"com::sun::star::util::XModifyBroadcaster";"addModifyListener()"
+"SbaXGridControl";"com::sun::star::util::XModifyBroadcaster";"removeModifyListener()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dba.OSingleSelectQueryComposer.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dba.OSingleSelectQueryComposer.csv
new file mode 100644
index 000000000..62dd6622c
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dba.OSingleSelectQueryComposer.csv
@@ -0,0 +1,24 @@
+"OSingleSelectQueryComposer";"com::sun::star::sdbcx::XTablesSupplier";"getTables()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setFilter()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setStructuredFilter()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"appendFilterByColumn()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"appendGroupByColumn()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setGroup()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setHavingClause()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setStructuredHavingClause()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"appendHavingClauseByColumn()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"appendOrderByColumn()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryComposer";"setOrder()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XParametersSupplier#optional";"getParameters()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::SingleSelectQueryComposer";"Original"
+"OSingleSelectQueryComposer";"com::sun::star::sdbcx::XColumnsSupplier";"getColumns()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getQuery()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"setQuery()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getFilter()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getStructuredFilter()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getGroup()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getGroupColumns()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getHavingClause()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getStructuredHavingClause()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getOrder()"
+"OSingleSelectQueryComposer";"com::sun::star::sdb::XSingleSelectQueryAnalyzer";"getOrderColumns()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ConnectionLineAccessibility.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ConnectionLineAccessibility.csv
new file mode 100644
index 000000000..3b753aad8
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ConnectionLineAccessibility.csv
@@ -0,0 +1,13 @@
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ConnectionLineAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.DBContentLoader.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.DBContentLoader.csv
new file mode 100644
index 000000000..78d484dab
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.DBContentLoader.csv
@@ -0,0 +1,5 @@
+"DBContentLoader";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"DBContentLoader";"com::sun::star::container::XNamed#optional";"getName()"
+"DBContentLoader";"com::sun::star::container::XNamed#optional";"setName()"
+"DBContentLoader";"com::sun::star::frame::XFrameLoader";"load()"
+"DBContentLoader";"com::sun::star::frame::XFrameLoader";"cancel()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.JoinViewAccessibility.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.JoinViewAccessibility.csv
new file mode 100644
index 000000000..6768ae747
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.JoinViewAccessibility.csv
@@ -0,0 +1,13 @@
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"JoinViewAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceAdministrationDialog.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceAdministrationDialog.csv
new file mode 100644
index 000000000..f1ac70301
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceAdministrationDialog.csv
@@ -0,0 +1,12 @@
+"ODatasourceAdministrationDialog";"com::sun::star::sdb::DatasourceAdministrationDialog";"Title"
+"ODatasourceAdministrationDialog";"com::sun::star::sdb::DatasourceAdministrationDialog";"ParentWindow"
+"ODatasourceAdministrationDialog";"com::sun::star::lang::XInitialization";"initialize()"
+"ODatasourceAdministrationDialog";"com::sun::star::ui::dialogs::XExecutableDialog";"setTitle()"
+"ODatasourceAdministrationDialog";"com::sun::star::ui::dialogs::XExecutableDialog";"execute()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ODatasourceAdministrationDialog";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceBrowser.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceBrowser.csv
new file mode 100644
index 000000000..929ed8855
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.ODatasourceBrowser.csv
@@ -0,0 +1,40 @@
+"ODatasourceBrowser";"com::sun::star::sdb::XSQLErrorBroadcaster#optional";"addSQLErrorListener()"
+"ODatasourceBrowser";"com::sun::star::sdb::XSQLErrorBroadcaster#optional";"removeSQLErrorListener()"
+"ODatasourceBrowser";"com::sun::star::form::XDatabaseParameterBroadcaster#optional";"addParameterListener()"
+"ODatasourceBrowser";"com::sun::star::form::XDatabaseParameterBroadcaster#optional";"removeParameterListener()"
+"ODatasourceBrowser";"com::sun::star::sdb::XRowSetApproveBroadcaster#optional";"addRowSetApproveListener()"
+"ODatasourceBrowser";"com::sun::star::sdb::XRowSetApproveBroadcaster#optional";"removeRowSetApproveListener()"
+"ODatasourceBrowser";"com::sun::star::lang::XComponent";"dispose()"
+"ODatasourceBrowser";"com::sun::star::lang::XComponent";"addEventListener()"
+"ODatasourceBrowser";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ODatasourceBrowser";"com::sun::star::lang::XInitialization";"initialize()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"setModel()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"getModel()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"setContainer()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"getContainer()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"getControls()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"autoTabOrder()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"activateTabOrder()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"activateFirst()"
+"ODatasourceBrowser";"com::sun::star::awt::XTabController#optional";"activateLast()"
+"ODatasourceBrowser";"com::sun::star::container::XElementAccess#optional";"getElementType()"
+"ODatasourceBrowser";"com::sun::star::container::XElementAccess#optional";"hasElements()"
+"ODatasourceBrowser";"com::sun::star::form::XFormController#optional";"getCurrentControl()"
+"ODatasourceBrowser";"com::sun::star::form::XFormController#optional";"addActivateListener()"
+"ODatasourceBrowser";"com::sun::star::form::XFormController#optional";"removeActivateListener()"
+"ODatasourceBrowser";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"ODatasourceBrowser";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"ODatasourceBrowser";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"attachFrame()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"attachModel()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"suspend()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"getViewData()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"restoreViewData()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"getModel()"
+"ODatasourceBrowser";"com::sun::star::frame::XController";"getFrame()"
+"ODatasourceBrowser";"com::sun::star::util::XModifyBroadcaster#optional";"addModifyListener()"
+"ODatasourceBrowser";"com::sun::star::util::XModifyBroadcaster#optional";"removeModifyListener()"
+"ODatasourceBrowser";"com::sun::star::form::XConfirmDeleteBroadcaster#optional";"addConfirmDeleteListener()"
+"ODatasourceBrowser";"com::sun::star::form::XConfirmDeleteBroadcaster#optional";"removeConfirmDeleteListener()"
+"ODatasourceBrowser";"com::sun::star::container::XChild#optional";"getParent()"
+"ODatasourceBrowser";"com::sun::star::container::XChild#optional";"setParent()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OQueryDesign.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OQueryDesign.csv
new file mode 100644
index 000000000..3a8827c71
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OQueryDesign.csv
@@ -0,0 +1,11 @@
+"OQueryDesign";"com::sun::star::lang::XComponent";"dispose()"
+"OQueryDesign";"com::sun::star::lang::XComponent";"addEventListener()"
+"OQueryDesign";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OQueryDesign";"com::sun::star::lang::XInitialization";"initialize()"
+"OQueryDesign";"com::sun::star::frame::XController";"attachFrame()"
+"OQueryDesign";"com::sun::star::frame::XController";"attachModel()"
+"OQueryDesign";"com::sun::star::frame::XController";"suspend()"
+"OQueryDesign";"com::sun::star::frame::XController";"getViewData()"
+"OQueryDesign";"com::sun::star::frame::XController";"restoreViewData()"
+"OQueryDesign";"com::sun::star::frame::XController";"getModel()"
+"OQueryDesign";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OSQLMessageDialog.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OSQLMessageDialog.csv
new file mode 100644
index 000000000..0cb845854
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.OSQLMessageDialog.csv
@@ -0,0 +1,13 @@
+"OSQLMessageDialog";"com::sun::star::sdb::ErrorMessageDialog";"Title"
+"OSQLMessageDialog";"com::sun::star::sdb::ErrorMessageDialog";"ParentWindow"
+"OSQLMessageDialog";"com::sun::star::sdb::ErrorMessageDialog";"SQLException"
+"OSQLMessageDialog";"com::sun::star::lang::XInitialization";"initialize()"
+"OSQLMessageDialog";"com::sun::star::ui::dialogs::XExecutableDialog";"setTitle()"
+"OSQLMessageDialog";"com::sun::star::ui::dialogs::XExecutableDialog";"execute()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OSQLMessageDialog";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.TableWindowAccessibility.csv b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.TableWindowAccessibility.csv
new file mode 100644
index 000000000..9cf267ba3
--- /dev/null
+++ b/qadevOOo/objdsc/dbaccess/org.openoffice.comp.dbu.TableWindowAccessibility.csv
@@ -0,0 +1,13 @@
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"TableWindowAccessibility";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/dbpool/com.sun.star.comp.sdbc.OConnectionPool.csv b/qadevOOo/objdsc/dbpool/com.sun.star.comp.sdbc.OConnectionPool.csv
new file mode 100644
index 000000000..73398ad20
--- /dev/null
+++ b/qadevOOo/objdsc/dbpool/com.sun.star.comp.sdbc.OConnectionPool.csv
@@ -0,0 +1,4 @@
+"OConnectionPool";"com::sun::star::sdbc::XDriverManager";"getConnection()"
+"OConnectionPool";"com::sun::star::sdbc::XDriverManager";"getConnectionWithInfo()"
+"OConnectionPool";"com::sun::star::sdbc::XDriverManager";"setLoginTimeout()"
+"OConnectionPool";"com::sun::star::sdbc::XDriverManager";"getLoginTimeout()"
diff --git a/qadevOOo/objdsc/defreg/com.sun.star.comp.stoc.NestedRegistry.csv b/qadevOOo/objdsc/defreg/com.sun.star.comp.stoc.NestedRegistry.csv
new file mode 100644
index 000000000..cf4cd3cef
--- /dev/null
+++ b/qadevOOo/objdsc/defreg/com.sun.star.comp.stoc.NestedRegistry.csv
@@ -0,0 +1,9 @@
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"getURL()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"open()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"isValid()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"close()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"destroy()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"getRootKey()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"isReadOnly()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"mergeKey()"
+"NestedRegistry";"com::sun::star::lang::XInitialization";"initialize()"
diff --git a/qadevOOo/objdsc/dnd/com.sun.star.comp.datatransfer.dnd.OleDragAndDrop.csv b/qadevOOo/objdsc/dnd/com.sun.star.comp.datatransfer.dnd.OleDragAndDrop.csv
new file mode 100644
index 000000000..c7dd8ea7b
--- /dev/null
+++ b/qadevOOo/objdsc/dnd/com.sun.star.comp.datatransfer.dnd.OleDragAndDrop.csv
@@ -0,0 +1,18 @@
+"OleDragAndDrop";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"OleDragAndDrop";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"OleDragAndDrop";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"OleDragAndDrop";"com::sun::star::lang::XComponent";"dispose()"
+"OleDragAndDrop";"com::sun::star::lang::XComponent";"addEventListener()"
+"OleDragAndDrop";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OleDragAndDrop";"com::sun::star::lang::XInitialization";"initialize()"
+"OleDragAndDrop";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"OleDragAndDrop";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"addDropTargetListener()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"removeDropTargetListener()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"isActive()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"setActive()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"getDefaultActions()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDropTarget";"setDefaultActions()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDragSource";"isDragImageSupported()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDragSource";"getDefaultCursor()"
+"OleDragAndDrop";"com::sun::star::datatransfer::dnd::XDragSource";"startDrag()"
diff --git a/qadevOOo/objdsc/dtrans/com.sun.star.comp.datatransfer.generic.csv b/qadevOOo/objdsc/dtrans/com.sun.star.comp.datatransfer.generic.csv
new file mode 100644
index 000000000..1a9fe58f7
--- /dev/null
+++ b/qadevOOo/objdsc/dtrans/com.sun.star.comp.datatransfer.generic.csv
@@ -0,0 +1,19 @@
+"generic";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"generic";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"generic";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"generic";"com::sun::star::lang::XComponent";"dispose()"
+"generic";"com::sun::star::lang::XComponent";"addEventListener()"
+"generic";"com::sun::star::lang::XComponent";"removeEventListener()"
+"generic";"com::sun::star::lang::XInitialization";"initialize()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardEx";"getRenderingCapabilities()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardManager";"getClipboard()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardManager";"addClipboard()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardManager";"removeClipboard()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardManager";"listClipboardNames()"
+"generic";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"generic";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboard";"getContents()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboard";"setContents()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboard";"getName()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"addClipboardListener()"
+"generic";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"removeClipboardListener()"
diff --git a/qadevOOo/objdsc/dtransX11/com.sun.star.comp.datatransfer.X11.csv b/qadevOOo/objdsc/dtransX11/com.sun.star.comp.datatransfer.X11.csv
new file mode 100644
index 000000000..efec92bff
--- /dev/null
+++ b/qadevOOo/objdsc/dtransX11/com.sun.star.comp.datatransfer.X11.csv
@@ -0,0 +1,25 @@
+"X11";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"X11";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"X11";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"X11";"com::sun::star::lang::XComponent";"dispose()"
+"X11";"com::sun::star::lang::XComponent";"addEventListener()"
+"X11";"com::sun::star::lang::XComponent";"removeEventListener()"
+"X11";"com::sun::star::datatransfer::clipboard::XFlushableClipboard#optional";"flushClipboard()"
+"X11";"com::sun::star::lang::XInitialization";"initialize()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboardEx";"getRenderingCapabilities()"
+"X11";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"X11";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboard";"getContents()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboard";"setContents()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboard";"getName()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"addDropTargetListener()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"removeDropTargetListener()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"isActive()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"setActive()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"getDefaultActions()"
+"X11";"com::sun::star::datatransfer::dnd::XDropTarget";"setDefaultActions()"
+"X11";"com::sun::star::datatransfer::dnd::XDragSource";"isDragImageSupported()"
+"X11";"com::sun::star::datatransfer::dnd::XDragSource";"getDefaultCursor()"
+"X11";"com::sun::star::datatransfer::dnd::XDragSource";"startDrag()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"addClipboardListener()"
+"X11";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"removeClipboardListener()"
diff --git a/qadevOOo/objdsc/dynamicloader/com.sun.star.loader.Dynamic.csv b/qadevOOo/objdsc/dynamicloader/com.sun.star.loader.Dynamic.csv
new file mode 100644
index 000000000..1841e3617
--- /dev/null
+++ b/qadevOOo/objdsc/dynamicloader/com.sun.star.loader.Dynamic.csv
@@ -0,0 +1,5 @@
+"Dynamic";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"Dynamic";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"Dynamic";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"Dynamic";"com::sun::star::loader::XImplementationLoader";"activate()"
+"Dynamic";"com::sun::star::loader::XImplementationLoader";"writeRegistryInfo()"
diff --git a/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.dbase.ODriver.csv b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.dbase.ODriver.csv
new file mode 100644
index 000000000..68dccb750
--- /dev/null
+++ b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.dbase.ODriver.csv
@@ -0,0 +1,9 @@
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"ODriver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"ODriver";"com::sun::star::sdbc::XDriver";"connect()"
+"ODriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"ODriver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.evoab.OEvoabDriver.csv b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.evoab.OEvoabDriver.csv
new file mode 100644
index 000000000..c83489ba5
--- /dev/null
+++ b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.evoab.OEvoabDriver.csv
@@ -0,0 +1,9 @@
+"OEvoabDriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"OEvoabDriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"OEvoabDriver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"OEvoabDriver";"com::sun::star::sdbc::XDriver";"connect()"
+"OEvoabDriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"OEvoabDriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"OEvoabDriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"OEvoabDriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"OEvoabDriver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.flat.ODriver.csv b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.flat.ODriver.csv
new file mode 100644
index 000000000..68dccb750
--- /dev/null
+++ b/qadevOOo/objdsc/file/com.sun.star.comp.sdbc.flat.ODriver.csv
@@ -0,0 +1,9 @@
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"ODriver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"ODriver";"com::sun::star::sdbc::XDriver";"connect()"
+"ODriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"ODriver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.calc.ODriver.csv b/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.calc.ODriver.csv
new file mode 100644
index 000000000..68dccb750
--- /dev/null
+++ b/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.calc.ODriver.csv
@@ -0,0 +1,9 @@
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"ODriver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"ODriver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"ODriver";"com::sun::star::sdbc::XDriver";"connect()"
+"ODriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"ODriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"ODriver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.file.Driver.csv b/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.file.Driver.csv
new file mode 100644
index 000000000..4dd7824f9
--- /dev/null
+++ b/qadevOOo/objdsc/file/com.sun.star.sdbc.driver.file.Driver.csv
@@ -0,0 +1,9 @@
+"Driver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"Driver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"Driver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"Driver";"com::sun::star::sdbc::XDriver";"connect()"
+"Driver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"Driver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"Driver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"Driver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"Driver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/fileacc/com.sun.star.comp.ucb.SimpleFileAccess.csv b/qadevOOo/objdsc/fileacc/com.sun.star.comp.ucb.SimpleFileAccess.csv
new file mode 100644
index 000000000..b36486235
--- /dev/null
+++ b/qadevOOo/objdsc/fileacc/com.sun.star.comp.ucb.SimpleFileAccess.csv
@@ -0,0 +1,17 @@
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"copy()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"move()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"kill()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"isFolder()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"isReadOnly()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"setReadOnly()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"createFolder()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"getSize()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"getContentType()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"getDateTimeModified()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"getFolderContents()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"exists()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"openFileRead()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"openFileWrite()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"openFileReadWrite()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess";"setInteractionHandler()"
+"SimpleFileAccess";"com::sun::star::ucb::XSimpleFileAccess2";"writeFile()"
diff --git a/qadevOOo/objdsc/fop/com.sun.star.comp.ui.dialogs.FolderPicker.csv b/qadevOOo/objdsc/fop/com.sun.star.comp.ui.dialogs.FolderPicker.csv
new file mode 100644
index 000000000..5a2c2fb2c
--- /dev/null
+++ b/qadevOOo/objdsc/fop/com.sun.star.comp.ui.dialogs.FolderPicker.csv
@@ -0,0 +1,12 @@
+"FolderPicker";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"FolderPicker";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"FolderPicker";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"FolderPicker";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"FolderPicker";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"FolderPicker";"com::sun::star::ui::dialogs::XFolderPicker";"setDisplayDirectory()"
+"FolderPicker";"com::sun::star::ui::dialogs::XFolderPicker";"getDisplayDirectory()"
+"FolderPicker";"com::sun::star::ui::dialogs::XFolderPicker";"getDirectory()"
+"FolderPicker";"com::sun::star::ui::dialogs::XFolderPicker";"setDescription()"
+"FolderPicker";"com::sun::star::ui::dialogs::XExecutableDialog";"setTitle()"
+"FolderPicker";"com::sun::star::ui::dialogs::XExecutableDialog";"execute()"
+"FolderPicker";"com::sun::star::util::XCancellable";"cancel()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarControl.csv
new file mode 100644
index 000000000..7448df8d8
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarControl.csv
@@ -0,0 +1,36 @@
+"ONavigationBarControl";"com::sun::star::awt::XView";"setGraphics()"
+"ONavigationBarControl";"com::sun::star::awt::XView";"getGraphics()"
+"ONavigationBarControl";"com::sun::star::awt::XView";"getSize()"
+"ONavigationBarControl";"com::sun::star::awt::XView";"draw()"
+"ONavigationBarControl";"com::sun::star::awt::XView";"setZoom()"
+"ONavigationBarControl";"com::sun::star::lang::XComponent";"dispose()"
+"ONavigationBarControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"ONavigationBarControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"setContext()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"getContext()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"createPeer()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"getPeer()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"setModel()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"getModel()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"getView()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"ONavigationBarControl";"com::sun::star::awt::XControl";"isTransparent()"
+"ONavigationBarControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"setVisible()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"setEnable()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"setFocus()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"ONavigationBarControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarModel.csv
new file mode 100644
index 000000000..0ebb6c86b
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.form.ONavigationBarModel.csv
@@ -0,0 +1,60 @@
+"ONavigationBarModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"ONavigationBarModel";"com::sun::star::util::XCloneable";"createClone()"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"ONavigationBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"ONavigationBarModel";"com::sun::star::lang::XComponent";"dispose()"
+"ONavigationBarModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"ONavigationBarModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ONavigationBarModel";"com::sun::star::form::FormComponent";"Name"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ONavigationBarModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"ONavigationBarModel";"com::sun::star::io::XPersistObject";"write()"
+"ONavigationBarModel";"com::sun::star::io::XPersistObject";"read()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"ONavigationBarModel";"com::sun::star::container::XNamed";"getName()"
+"ONavigationBarModel";"com::sun::star::container::XNamed";"setName()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ONavigationBarModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"ONavigationBarModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"Border"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"Enabled"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"FontDescriptor"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"TextColor"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"TextLineColor"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"FontRelief"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"FontEmphasisMark"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"IconSize"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"ShowPosition"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"ShowNavigation"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"ShowRecordActions"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"ShowFilterSort"
+"ONavigationBarModel";"com::sun::star::form::component::NavigationToolBar";"RepeatDelay"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ONavigationBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ONavigationBarModel";"com::sun::star::form::FormControlModel";"ClassId"
+"ONavigationBarModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"ONavigationBarModel";"com::sun::star::form::FormControlModel";"Tag"
+"ONavigationBarModel";"com::sun::star::container::XChild";"getParent()"
+"ONavigationBarModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonControl.csv
new file mode 100644
index 000000000..c17a3322d
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonControl.csv
@@ -0,0 +1,49 @@
+"OButtonControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OButtonControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OButtonControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OButtonControl";"com::sun::star::awt::XView";"setGraphics()"
+"OButtonControl";"com::sun::star::awt::XView";"getGraphics()"
+"OButtonControl";"com::sun::star::awt::XView";"getSize()"
+"OButtonControl";"com::sun::star::awt::XView";"draw()"
+"OButtonControl";"com::sun::star::awt::XView";"setZoom()"
+"OButtonControl";"com::sun::star::lang::XComponent";"dispose()"
+"OButtonControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OButtonControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OButtonControl";"com::sun::star::form::submission::XSubmission";"submit()"
+"OButtonControl";"com::sun::star::form::submission::XSubmission";"submitWithInteraction()"
+"OButtonControl";"com::sun::star::form::submission::XSubmission";"addSubmissionVetoListener()"
+"OButtonControl";"com::sun::star::form::submission::XSubmission";"removeSubmissionVetoListener()"
+"OButtonControl";"com::sun::star::awt::XControl";"setContext()"
+"OButtonControl";"com::sun::star::awt::XControl";"getContext()"
+"OButtonControl";"com::sun::star::awt::XControl";"createPeer()"
+"OButtonControl";"com::sun::star::awt::XControl";"getPeer()"
+"OButtonControl";"com::sun::star::awt::XControl";"setModel()"
+"OButtonControl";"com::sun::star::awt::XControl";"getModel()"
+"OButtonControl";"com::sun::star::awt::XControl";"getView()"
+"OButtonControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OButtonControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OButtonControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OButtonControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OButtonControl";"com::sun::star::form::XApproveActionBroadcaster";"addApproveActionListener()"
+"OButtonControl";"com::sun::star::form::XApproveActionBroadcaster";"removeApproveActionListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OButtonControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OButtonControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OButtonControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OButtonControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OButtonControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OButtonControl";"com::sun::star::awt::XButton";"addActionListener()"
+"OButtonControl";"com::sun::star::awt::XButton";"removeActionListener()"
+"OButtonControl";"com::sun::star::awt::XButton";"setLabel()"
+"OButtonControl";"com::sun::star::awt::XButton";"setActionCommand()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonModel.csv
new file mode 100644
index 000000000..d5c4d48a5
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OButtonModel.csv
@@ -0,0 +1,78 @@
+"OButtonModel";"com::sun::star::form::submission::XSubmissionSupplier";"Submission()"
+"OButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"OButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OButtonModel";"com::sun::star::form::FormComponent";"Name"
+"OButtonModel";"com::sun::star::form::component::CommandButton";"ButtonType"
+"OButtonModel";"com::sun::star::form::component::CommandButton";"TargetFrame"
+"OButtonModel";"com::sun::star::form::component::CommandButton";"TargetURL"
+"OButtonModel";"com::sun::star::form::XImageProducerSupplier";"getImageProducer()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Align#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"BackgroundColor"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"DefaultButton"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Enabled"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FocusOnClick#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontDescriptor"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontEmphasisMark"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontRelief"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"HelpText"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"HelpURL"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImageAlign"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImagePosition#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImageURL"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Graphic#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Label"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"MultiLine#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Printable"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"PushButtonType"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Repeat#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"RepeatDelay#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"State"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Tabstop"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"TextColor"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"TextLineColor"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Toggle#optional"
+"OButtonModel";"com::sun::star::awt::UnoControlButtonModel";"VerticalAlign#optional"
+"OButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"OButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"OButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OButtonModel";"com::sun::star::container::XNamed";"getName()"
+"OButtonModel";"com::sun::star::container::XNamed";"setName()"
+"OButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OButtonModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OButtonModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OButtonModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OButtonModel";"com::sun::star::form::FormControlModel";"Tag"
+"OButtonModel";"com::sun::star::container::XChild";"getParent()"
+"OButtonModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxControl.csv
new file mode 100644
index 000000000..38f42aabc
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxControl.csv
@@ -0,0 +1,47 @@
+"OCheckBoxControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OCheckBoxControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OCheckBoxControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OCheckBoxControl";"com::sun::star::awt::XView";"setGraphics()"
+"OCheckBoxControl";"com::sun::star::awt::XView";"getGraphics()"
+"OCheckBoxControl";"com::sun::star::awt::XView";"getSize()"
+"OCheckBoxControl";"com::sun::star::awt::XView";"draw()"
+"OCheckBoxControl";"com::sun::star::awt::XView";"setZoom()"
+"OCheckBoxControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OCheckBoxControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"addItemListener()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"removeItemListener()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"getState()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"setState()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"setLabel()"
+"OCheckBoxControl";"com::sun::star::awt::XCheckBox";"enableTriState()"
+"OCheckBoxControl";"com::sun::star::lang::XComponent";"dispose()"
+"OCheckBoxControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OCheckBoxControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"setContext()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"getContext()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"createPeer()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"getPeer()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"setModel()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"getModel()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"getView()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OCheckBoxControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OCheckBoxControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OCheckBoxControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxModel.csv
new file mode 100644
index 000000000..2e6f70a17
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCheckBoxModel.csv
@@ -0,0 +1,95 @@
+"OCheckBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OCheckBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"OCheckBoxModel";"com::sun::star::form::binding::BindableDatabaseCheckBox";"SecondaryRefValue"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OCheckBoxModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OCheckBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"OCheckBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OCheckBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OCheckBoxModel";"com::sun::star::form::FormComponent";"Name"
+"OCheckBoxModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OCheckBoxModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OCheckBoxModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OCheckBoxModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OCheckBoxModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OCheckBoxModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OCheckBoxModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OCheckBoxModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OCheckBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OCheckBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"OCheckBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OCheckBoxModel";"com::sun::star::form::component::CheckBox";"DefaultState"
+"OCheckBoxModel";"com::sun::star::form::component::CheckBox";"RefValue"
+"OCheckBoxModel";"com::sun::star::container::XNamed";"getName()"
+"OCheckBoxModel";"com::sun::star::container::XNamed";"setName()"
+"OCheckBoxModel";"com::sun::star::form::XReset";"reset()"
+"OCheckBoxModel";"com::sun::star::form::XReset";"addResetListener()"
+"OCheckBoxModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OCheckBoxModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OCheckBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OCheckBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OCheckBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OCheckBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OCheckBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OCheckBoxModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OCheckBoxModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OCheckBoxModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OCheckBoxModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OCheckBoxModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OCheckBoxModel";"com::sun::star::form::FormControlModel";"Tag"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Align#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"BackgroundColor#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Enabled"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontDescriptor"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontEmphasisMark"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontRelief"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"HelpText"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"HelpURL"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"ImagePosition#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"ImageURL#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Graphic#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Label"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"MultiLine#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Printable"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"State"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Tabstop"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TextColor"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TextLineColor"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TriState"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"VerticalAlign#optional"
+"OCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"VisualEffect#optional"
+"OCheckBoxModel";"com::sun::star::container::XChild";"getParent()"
+"OCheckBoxModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxControl.csv
new file mode 100644
index 000000000..ac92e640d
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxControl.csv
@@ -0,0 +1,67 @@
+"OComboBoxControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OComboBoxControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OComboBoxControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OComboBoxControl";"com::sun::star::awt::XView";"setGraphics()"
+"OComboBoxControl";"com::sun::star::awt::XView";"getGraphics()"
+"OComboBoxControl";"com::sun::star::awt::XView";"getSize()"
+"OComboBoxControl";"com::sun::star::awt::XView";"draw()"
+"OComboBoxControl";"com::sun::star::awt::XView";"setZoom()"
+"OComboBoxControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OComboBoxControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OComboBoxControl";"com::sun::star::lang::XComponent";"dispose()"
+"OComboBoxControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OComboBoxControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"setContext()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"getContext()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"createPeer()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"getPeer()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"setModel()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"getModel()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"getView()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OComboBoxControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OComboBoxControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OComboBoxControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OComboBoxControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OComboBoxControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OComboBoxControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"addItemListener()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"removeItemListener()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"addActionListener()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"removeActionListener()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"addItem()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"addItems()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"removeItems()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"getItemCount()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"getItem()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"getItems()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"getDropDownLineCount()"
+"OComboBoxControl";"com::sun::star::awt::XComboBox";"setDropDownLineCount()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxModel.csv
new file mode 100644
index 000000000..0e60dbc7d
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OComboBoxModel.csv
@@ -0,0 +1,97 @@
+"OComboBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OComboBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OComboBoxModel";"com::sun::star::form::component::DatabaseComboBox";"ConvertEmptyToNull"
+"OComboBoxModel";"com::sun::star::form::component::DatabaseComboBox";"ListSource"
+"OComboBoxModel";"com::sun::star::form::component::DatabaseComboBox";"ListSourceType"
+"OComboBoxModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OComboBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"OComboBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OComboBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OComboBoxModel";"com::sun::star::form::FormComponent";"Name"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Align#optional"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Autocomplete"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"BackgroundColor"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Border"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"BorderColor#optional"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Dropdown"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Enabled"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontDescriptor"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontEmphasisMark"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontRelief"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HelpText"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HelpURL"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HideInactiveSelection#optional"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"LineCount"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"MaxTextLen"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Printable"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"ReadOnly"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"StringItemList"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Tabstop"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Text"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"TextColor"
+"OComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"TextLineColor"
+"OComboBoxModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OComboBoxModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OComboBoxModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OComboBoxModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OComboBoxModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OComboBoxModel";"com::sun::star::form::component::ComboBox";"DefaultText"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OComboBoxModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OComboBoxModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OComboBoxModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OComboBoxModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OComboBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OComboBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"OComboBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OComboBoxModel";"com::sun::star::container::XNamed";"getName()"
+"OComboBoxModel";"com::sun::star::container::XNamed";"setName()"
+"OComboBoxModel";"com::sun::star::form::XReset";"reset()"
+"OComboBoxModel";"com::sun::star::form::XReset";"addResetListener()"
+"OComboBoxModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OComboBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OComboBoxModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OComboBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OComboBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OComboBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OComboBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OComboBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OComboBoxModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OComboBoxModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OComboBoxModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OComboBoxModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OComboBoxModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OComboBoxModel";"com::sun::star::form::FormControlModel";"Tag"
+"OComboBoxModel";"com::sun::star::container::XChild";"getParent()"
+"OComboBoxModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyControl.csv
new file mode 100644
index 000000000..49ef87c2f
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyControl.csv
@@ -0,0 +1,78 @@
+"OCurrencyControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OCurrencyControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OCurrencyControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OCurrencyControl";"com::sun::star::awt::XView";"setGraphics()"
+"OCurrencyControl";"com::sun::star::awt::XView";"getGraphics()"
+"OCurrencyControl";"com::sun::star::awt::XView";"getSize()"
+"OCurrencyControl";"com::sun::star::awt::XView";"draw()"
+"OCurrencyControl";"com::sun::star::awt::XView";"setZoom()"
+"OCurrencyControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OCurrencyControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OCurrencyControl";"com::sun::star::lang::XComponent";"dispose()"
+"OCurrencyControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OCurrencyControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"OCurrencyControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setValue()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getValue()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setMin()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getMin()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setMax()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getMax()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setFirst()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getFirst()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setLast()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getLast()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setSpinSize()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getSpinSize()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setDecimalDigits()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"getDecimalDigits()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"setStrictFormat()"
+"OCurrencyControl";"com::sun::star::awt::XCurrencyField";"isStrictFormat()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"setContext()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"getContext()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"createPeer()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"getPeer()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"setModel()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"getModel()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"getView()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OCurrencyControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OCurrencyControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OCurrencyControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OCurrencyControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OCurrencyControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OCurrencyControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyModel.csv
new file mode 100644
index 000000000..fd6344d29
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OCurrencyModel.csv
@@ -0,0 +1,97 @@
+"OCurrencyModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OCurrencyModel";"com::sun::star::util::XCloneable";"createClone()"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OCurrencyModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"BackgroundColor"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Border"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"BorderColor#optional"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"CurrencySymbol"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"DecimalAccuracy"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Enabled"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontDescriptor"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontEmphasisMark"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontRelief"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HelpText"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HelpURL"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HideInactiveSelection#optional"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"PrependCurrencySymbol"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Printable"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ReadOnly"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Repeat#optional"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"RepeatDelay#optional"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ShowThousandsSeparator"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Spin"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"StrictFormat"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Tabstop"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"TextColor"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"TextLineColor"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Value"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueMax"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueMin"
+"OCurrencyModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueStep"
+"OCurrencyModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OCurrencyModel";"com::sun::star::lang::XComponent";"dispose()"
+"OCurrencyModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OCurrencyModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OCurrencyModel";"com::sun::star::form::FormComponent";"Name"
+"OCurrencyModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OCurrencyModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OCurrencyModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OCurrencyModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OCurrencyModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OCurrencyModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OCurrencyModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OCurrencyModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OCurrencyModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OCurrencyModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OCurrencyModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OCurrencyModel";"com::sun::star::io::XPersistObject";"write()"
+"OCurrencyModel";"com::sun::star::io::XPersistObject";"read()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OCurrencyModel";"com::sun::star::container::XNamed";"getName()"
+"OCurrencyModel";"com::sun::star::container::XNamed";"setName()"
+"OCurrencyModel";"com::sun::star::form::XReset";"reset()"
+"OCurrencyModel";"com::sun::star::form::XReset";"addResetListener()"
+"OCurrencyModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OCurrencyModel";"com::sun::star::form::component::CurrencyField";"DefaultValue"
+"OCurrencyModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OCurrencyModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OCurrencyModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OCurrencyModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OCurrencyModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OCurrencyModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OCurrencyModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OCurrencyModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OCurrencyModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OCurrencyModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OCurrencyModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OCurrencyModel";"com::sun::star::form::FormControlModel";"Tag"
+"OCurrencyModel";"com::sun::star::container::XChild";"getParent()"
+"OCurrencyModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODatabaseForm.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODatabaseForm.csv
new file mode 100644
index 000000000..839d06c45
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODatabaseForm.csv
@@ -0,0 +1,225 @@
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"getGroupControl()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"setGroupControl()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"setControlModels()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"getControlModels()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"setGroup()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"getGroupCount()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"getGroup()"
+"ODatabaseForm";"com::sun::star::awt::XTabControllerModel";"getGroupByName()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"getBookmark()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"moveToBookmark()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"moveRelativeToBookmark()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"compareBookmarks()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"hasOrderedBookmarks()"
+"ODatabaseForm";"com::sun::star::sdbcx::XRowLocate";"hashBookmark()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateNull()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateBoolean()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateByte()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateShort()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateInt()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateLong()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateFloat()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateDouble()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateString()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateBytes()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateDate()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateTime()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateTimestamp()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateBinaryStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateCharacterStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateObject()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowUpdate#optional";"updateNumericObject()"
+"ODatabaseForm";"com::sun::star::container::XNameAccess";"getByName()"
+"ODatabaseForm";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ODatabaseForm";"com::sun::star::container::XNameAccess";"hasByName()"
+"ODatabaseForm";"com::sun::star::sdbc::XCloseable#optional";"close()"
+"ODatabaseForm";"com::sun::star::form::XDatabaseParameterBroadcaster";"addParameterListener()"
+"ODatabaseForm";"com::sun::star::form::XDatabaseParameterBroadcaster";"removeParameterListener()"
+"ODatabaseForm";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ODatabaseForm";"com::sun::star::sdb::XRowSetApproveBroadcaster";"addRowSetApproveListener()"
+"ODatabaseForm";"com::sun::star::sdb::XRowSetApproveBroadcaster";"removeRowSetApproveListener()"
+"ODatabaseForm";"com::sun::star::container::XNameContainer";"insertByName()"
+"ODatabaseForm";"com::sun::star::container::XNameContainer";"removeByName()"
+"ODatabaseForm";"com::sun::star::container::XIndexAccess";"getCount()"
+"ODatabaseForm";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ODatabaseForm";"com::sun::star::lang::XComponent#optional";"dispose()"
+"ODatabaseForm";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"ODatabaseForm";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"ODatabaseForm";"com::sun::star::form::FormComponent";"Name"
+"ODatabaseForm";"com::sun::star::sdbcx::ResultSet";"IsBookmarkable"
+"ODatabaseForm";"com::sun::star::sdbcx::ResultSet";"CanUpdateInsertedRows#optional"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetMetaDataSupplier";"getMetaData()"
+"ODatabaseForm";"com::sun::star::sdb::XCompletedExecution";"executeWithCompletion()"
+"ODatabaseForm";"com::sun::star::container::XIndexContainer";"insertByIndex()"
+"ODatabaseForm";"com::sun::star::container::XIndexContainer";"removeByIndex()"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"MasterFields"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"DetailFields"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"Cycle"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"NavigationBarMode"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"AllowInserts"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"AllowUpdates"
+"ODatabaseForm";"com::sun::star::form::component::DataForm";"AllowDeletes"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"next()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"isBeforeFirst()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"isAfterLast()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"isFirst()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"isLast()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"beforeFirst()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"afterLast()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"first()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"last()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"getRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"absolute()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"relative()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"previous()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"refreshRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"rowUpdated()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"rowInserted()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"rowDeleted()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSet";"getStatement()"
+"ODatabaseForm";"com::sun::star::sdbc::XWarningsSupplier#optional";"getWarnings()"
+"ODatabaseForm";"com::sun::star::sdbc::XWarningsSupplier#optional";"clearWarnings()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"insertRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"updateRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"deleteRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"cancelRowUpdates()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"moveToInsertRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XResultSetUpdate#optional";"moveToCurrentRow()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setNull()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setObjectNull()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setBoolean()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setByte()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setShort()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setInt()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setLong()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setFloat()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setDouble()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setString()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setBytes()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setDate()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setTime()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setTimestamp()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setBinaryStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setCharacterStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setObject()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setObjectWithInfo()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setRef()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setBlob()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setClob()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"setArray()"
+"ODatabaseForm";"com::sun::star::sdbc::XParameters";"clearParameters()"
+"ODatabaseForm";"com::sun::star::container::XElementAccess";"getElementType()"
+"ODatabaseForm";"com::sun::star::container::XElementAccess";"hasElements()"
+"ODatabaseForm";"com::sun::star::sdbc::ResultSet";"CursorName#optional"
+"ODatabaseForm";"com::sun::star::sdbc::ResultSet";"ResultSetConcurrency"
+"ODatabaseForm";"com::sun::star::sdbc::ResultSet";"ResultSetType"
+"ODatabaseForm";"com::sun::star::sdbc::ResultSet";"FetchDirection"
+"ODatabaseForm";"com::sun::star::sdbc::ResultSet";"FetchSize"
+"ODatabaseForm";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"ODatabaseForm";"com::sun::star::sdb::XResultSetAccess";"createResultSet()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"load()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"unload()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"reload()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"isLoaded()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"addLoadListener()"
+"ODatabaseForm";"com::sun::star::form::XLoadable";"removeLoadListener()"
+"ODatabaseForm";"com::sun::star::io::XPersistObject";"getServiceName()"
+"ODatabaseForm";"com::sun::star::io::XPersistObject";"write()"
+"ODatabaseForm";"com::sun::star::io::XPersistObject";"read()"
+"ODatabaseForm";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"ODatabaseForm";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"DataSourceName"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"URL"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"Command"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"TransactionIsolation"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"TypeMap"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"EscapeProcessing"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"QueryTimeOut"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"MaxFieldSize"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"MaxRows"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"User"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"Password"
+"ODatabaseForm";"com::sun::star::sdbc::RowSet";"ResultSetType"
+"ODatabaseForm";"com::sun::star::sdbcx::XDeleteRows#optional";"deleteRows()"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"ActiveConnection"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"DataSourceName"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"Command"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"CommandType"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"ActiveCommand"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"IgnoreResult"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"Filter"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"ApplyFilter"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"HavingClause#optional"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"GroupBy#optional"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"Order"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"Privileges"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"IsModified"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"IsNew"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"RowCount"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"IsRowCountFinal"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"UpdateTableName#optional"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"UpdateCatalogName#optional"
+"ODatabaseForm";"com::sun::star::sdb::RowSet";"UpdateSchemaName#optional"
+"ODatabaseForm";"com::sun::star::container::XContainer";"addContainerListener()"
+"ODatabaseForm";"com::sun::star::container::XContainer";"removeContainerListener()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"wasNull()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getString()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getBoolean()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getByte()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getShort()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getInt()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getLong()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getFloat()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getDouble()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getBytes()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getDate()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getTime()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getTimestamp()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getBinaryStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getCharacterStream()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getObject()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getRef()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getBlob()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getClob()"
+"ODatabaseForm";"com::sun::star::sdbc::XRow";"getArray()"
+"ODatabaseForm";"com::sun::star::container::XNamed";"getName()"
+"ODatabaseForm";"com::sun::star::container::XNamed";"setName()"
+"ODatabaseForm";"com::sun::star::form::XReset";"reset()"
+"ODatabaseForm";"com::sun::star::form::XReset";"addResetListener()"
+"ODatabaseForm";"com::sun::star::form::XReset";"removeResetListener()"
+"ODatabaseForm";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"ODatabaseForm";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"ODatabaseForm";"com::sun::star::sdbcx::XColumnsSupplier";"getColumns()"
+"ODatabaseForm";"com::sun::star::form::component::HTMLForm";"TargetFrame"
+"ODatabaseForm";"com::sun::star::form::component::HTMLForm";"TargetURL"
+"ODatabaseForm";"com::sun::star::form::component::HTMLForm";"SubmitMethod"
+"ODatabaseForm";"com::sun::star::form::component::HTMLForm";"SubmitEncoding"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ODatabaseForm";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"registerScriptEvent()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"registerScriptEvents()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvent()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvents()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"insertEntry()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"removeEntry()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"getScriptEvents()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"attach()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"detach()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"addScriptListener()"
+"ODatabaseForm";"com::sun::star::script::XEventAttacherManager";"removeScriptListener()"
+"ODatabaseForm";"com::sun::star::util::XCancellable#optional";"cancel()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowSet";"execute()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowSet";"addRowSetListener()"
+"ODatabaseForm";"com::sun::star::sdbc::XRowSet";"removeRowSetListener()"
+"ODatabaseForm";"com::sun::star::sdbc::XColumnLocate";"findColumn()"
+"ODatabaseForm";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"ODatabaseForm";"com::sun::star::form::XSubmit";"submit()"
+"ODatabaseForm";"com::sun::star::form::XSubmit";"addSubmitListener()"
+"ODatabaseForm";"com::sun::star::form::XSubmit";"removeSubmitListener()"
+"ODatabaseForm";"com::sun::star::container::XChild";"getParent()"
+"ODatabaseForm";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateControl.csv
new file mode 100644
index 000000000..b8fffe248
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateControl.csv
@@ -0,0 +1,78 @@
+"ODateControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"ODateControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"ODateControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"ODateControl";"com::sun::star::awt::XView";"setGraphics()"
+"ODateControl";"com::sun::star::awt::XView";"getGraphics()"
+"ODateControl";"com::sun::star::awt::XView";"getSize()"
+"ODateControl";"com::sun::star::awt::XView";"draw()"
+"ODateControl";"com::sun::star::awt::XView";"setZoom()"
+"ODateControl";"com::sun::star::form::XBoundControl";"getLock()"
+"ODateControl";"com::sun::star::form::XBoundControl";"setLock()"
+"ODateControl";"com::sun::star::lang::XComponent";"dispose()"
+"ODateControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"ODateControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ODateControl";"com::sun::star::awt::XDateField";"setDate()"
+"ODateControl";"com::sun::star::awt::XDateField";"getDate()"
+"ODateControl";"com::sun::star::awt::XDateField";"setMin()"
+"ODateControl";"com::sun::star::awt::XDateField";"getMin()"
+"ODateControl";"com::sun::star::awt::XDateField";"setMax()"
+"ODateControl";"com::sun::star::awt::XDateField";"getMax()"
+"ODateControl";"com::sun::star::awt::XDateField";"setFirst()"
+"ODateControl";"com::sun::star::awt::XDateField";"getFirst()"
+"ODateControl";"com::sun::star::awt::XDateField";"setLast()"
+"ODateControl";"com::sun::star::awt::XDateField";"getLast()"
+"ODateControl";"com::sun::star::awt::XDateField";"setLongFormat()"
+"ODateControl";"com::sun::star::awt::XDateField";"isLongFormat()"
+"ODateControl";"com::sun::star::awt::XDateField";"setEmpty()"
+"ODateControl";"com::sun::star::awt::XDateField";"isEmpty()"
+"ODateControl";"com::sun::star::awt::XDateField";"setStrictFormat()"
+"ODateControl";"com::sun::star::awt::XDateField";"isStrictFormat()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"ODateControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"ODateControl";"com::sun::star::awt::XControl";"setContext()"
+"ODateControl";"com::sun::star::awt::XControl";"getContext()"
+"ODateControl";"com::sun::star::awt::XControl";"createPeer()"
+"ODateControl";"com::sun::star::awt::XControl";"getPeer()"
+"ODateControl";"com::sun::star::awt::XControl";"setModel()"
+"ODateControl";"com::sun::star::awt::XControl";"getModel()"
+"ODateControl";"com::sun::star::awt::XControl";"getView()"
+"ODateControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"ODateControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"ODateControl";"com::sun::star::awt::XControl";"isTransparent()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"setText()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"getText()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"ODateControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"ODateControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"ODateControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"ODateControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"ODateControl";"com::sun::star::awt::XWindow";"setVisible()"
+"ODateControl";"com::sun::star::awt::XWindow";"setEnable()"
+"ODateControl";"com::sun::star::awt::XWindow";"setFocus()"
+"ODateControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"ODateControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"ODateControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"ODateControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateModel.csv
new file mode 100644
index 000000000..1debf6116
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ODateModel.csv
@@ -0,0 +1,98 @@
+"ODateModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"ODateModel";"com::sun::star::util::XCloneable";"createClone()"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"ODateModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"BackgroundColor"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Border"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"BorderColor#optional"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Date"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateFormat"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateMax"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateMin"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateShowCentury"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Dropdown"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Enabled"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontDescriptor"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontEmphasisMark"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontRelief"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"HelpText"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"HelpURL"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"HideInactiveSelection#optional"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Printable"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"ReadOnly"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Repeat#optional"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"RepeatDelay#optional"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Spin"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"StrictFormat"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Tabstop"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"Text#optional"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"TextColor"
+"ODateModel";"com::sun::star::awt::UnoControlDateFieldModel";"TextLineColor"
+"ODateModel";"com::sun::star::lang::XEventListener";"disposing()"
+"ODateModel";"com::sun::star::lang::XComponent";"dispose()"
+"ODateModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"ODateModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ODateModel";"com::sun::star::form::FormComponent";"Name"
+"ODateModel";"com::sun::star::form::XLoadListener";"loaded()"
+"ODateModel";"com::sun::star::form::XLoadListener";"unloading()"
+"ODateModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"ODateModel";"com::sun::star::form::XLoadListener";"reloading()"
+"ODateModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ODateModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ODateModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"ODateModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"ODateModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"ODateModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"ODateModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"ODateModel";"com::sun::star::io::XPersistObject";"write()"
+"ODateModel";"com::sun::star::io::XPersistObject";"read()"
+"ODateModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"ODateModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"ODateModel";"com::sun::star::container::XNamed";"getName()"
+"ODateModel";"com::sun::star::container::XNamed";"setName()"
+"ODateModel";"com::sun::star::form::XReset";"reset()"
+"ODateModel";"com::sun::star::form::XReset";"addResetListener()"
+"ODateModel";"com::sun::star::form::XReset";"removeResetListener()"
+"ODateModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"ODateModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ODateModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ODateModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"ODateModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"ODateModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"ODateModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"ODateModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"ODateModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"ODateModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"ODateModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"ODateModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"ODateModel";"com::sun::star::form::component::DateField";"DefaultDate"
+"ODateModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ODateModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ODateModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ODateModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ODateModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"ODateModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"ODateModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"ODateModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"ODateModel";"com::sun::star::form::FormControlModel";"ClassId"
+"ODateModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"ODateModel";"com::sun::star::form::FormControlModel";"Tag"
+"ODateModel";"com::sun::star::container::XChild";"getParent()"
+"ODateModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditControl.csv
new file mode 100644
index 000000000..963308d51
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditControl.csv
@@ -0,0 +1,57 @@
+"OEditControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OEditControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OEditControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OEditControl";"com::sun::star::awt::XView";"setGraphics()"
+"OEditControl";"com::sun::star::awt::XView";"getGraphics()"
+"OEditControl";"com::sun::star::awt::XView";"getSize()"
+"OEditControl";"com::sun::star::awt::XView";"draw()"
+"OEditControl";"com::sun::star::awt::XView";"setZoom()"
+"OEditControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OEditControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OEditControl";"com::sun::star::lang::XComponent";"dispose()"
+"OEditControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OEditControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OEditControl";"com::sun::star::form::XChangeBroadcaster";"addChangeListener()"
+"OEditControl";"com::sun::star::form::XChangeBroadcaster";"removeChangeListener()"
+"OEditControl";"com::sun::star::awt::XControl";"setContext()"
+"OEditControl";"com::sun::star::awt::XControl";"getContext()"
+"OEditControl";"com::sun::star::awt::XControl";"createPeer()"
+"OEditControl";"com::sun::star::awt::XControl";"getPeer()"
+"OEditControl";"com::sun::star::awt::XControl";"setModel()"
+"OEditControl";"com::sun::star::awt::XControl";"getModel()"
+"OEditControl";"com::sun::star::awt::XControl";"getView()"
+"OEditControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OEditControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OEditControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OEditControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OEditControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OEditControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OEditControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OEditControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OEditControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OEditControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OEditControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OEditControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OEditControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OEditControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditModel.csv
new file mode 100644
index 000000000..bb40d2140
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OEditModel.csv
@@ -0,0 +1,235 @@
+"OEditModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OEditModel";"com::sun::star::util::XCloneable";"createClone()"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"OEditModel";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"OEditModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OEditModel";"com::sun::star::lang::XComponent";"dispose()"
+"OEditModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OEditModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaAdjust"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaLineSpacing#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBackColor#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBackTransparent#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicURL#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicFilter#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicLocation#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaLastLineAdjust"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaExpandSingleWord#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaLeftMargin"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaRightMargin"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaTopMargin"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaBottomMargin"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberCount#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberStartValue#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"PageDescName#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"PageNumberOffset#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaRegisterModeActive#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaTabStops#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaStyleName#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"DropCapFormat#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"DropCapWholeWord#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaKeepTogether#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaSplit#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"NumberingLevel#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"NumberingRules#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"NumberingStartValue#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaIsNumberingRestart#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"NumberingStyleName#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaOrphans#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaWidows#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaShadowFormat#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"LeftBorder#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"RightBorder#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"TopBorder#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"BottomBorder#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"BorderDistance#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"LeftBorderDistance#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"RightBorderDistance#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"TopBorderDistance#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"BottomBorderDistance#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"BreakType#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"DropCapCharStyleName#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaFirstLineIndent#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaIsAutoFirstLineIndent#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaIsHyphenation"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxHyphens#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxLeadingChars#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxTrailingChars#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaVertAlignment#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaUserDefinedAttributes#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"NumberingIsNumber#optional"
+"OEditModel";"com::sun::star::style::ParagraphProperties#optional";"ParaIsConnectBorder#optional"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"OEditModel";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"OEditModel";"com::sun::star::form::FormComponent";"Name"
+"OEditModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OEditModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OEditModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OEditModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OEditModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OEditModel";"com::sun::star::form::component::TextField";"DefaultText"
+"OEditModel";"com::sun::star::form::component::DatabaseTextField";"ConvertEmptyToNull"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OEditModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OEditModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OEditModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OEditModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OEditModel";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"OEditModel";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"OEditModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OEditModel";"com::sun::star::text::XTextRange#optional";"getText()"
+"OEditModel";"com::sun::star::text::XTextRange#optional";"getStart()"
+"OEditModel";"com::sun::star::text::XTextRange#optional";"getEnd()"
+"OEditModel";"com::sun::star::text::XTextRange#optional";"getString()"
+"OEditModel";"com::sun::star::text::XTextRange#optional";"setString()"
+"OEditModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OEditModel";"com::sun::star::io::XPersistObject";"write()"
+"OEditModel";"com::sun::star::io::XPersistObject";"read()"
+"OEditModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OEditModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OEditModel";"com::sun::star::container::XNamed";"getName()"
+"OEditModel";"com::sun::star::container::XNamed";"setName()"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontName"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontStyleName"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontFamily"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontCharSet"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontPitch"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharColor"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharEscapement#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharHeight"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharUnderline"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharWeight"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharPosture"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharAutoKerning#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharBackColor#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharBackTransparent#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharCaseMap#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharCrossedOut#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFlash#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharStrikeout#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharWordMode#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharKerning#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharLocale"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharKeepTogether#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharNoLineBreak#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharShadowed#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharFontType#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharStyleName#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharContoured#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharCombineIsOn#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharCombinePrefix#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharCombineSuffix#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharEmphasis#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharRelief#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"RubyText#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"RubyAdjust#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"RubyCharStyleName#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"RubyIsAbove#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharRotation#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharRotationIsFitToLine#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharScaleWidth#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"HyperLinkURL#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"HyperLinkTarget#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"HyperLinkName#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"VisitedCharStyleName#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"UnvisitedCharStyleName#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharEscapementHeight#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharNoHyphenation#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineColor"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineHasColor"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharStyleNames#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"CharHidden#optional"
+"OEditModel";"com::sun::star::style::CharacterProperties#optional";"TextUserDefinedAttributes#optional"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Align"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"BackgroundColor"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Border"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"BorderColor#optional"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"EchoChar#optional"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Enabled"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"FontDescriptor"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"FontEmphasisMark"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"FontRelief"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"HardLineBreaks"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"HelpText"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"HelpURL"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"HideInactiveSelection#optional"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"HScroll"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"LineEndFormat#optional"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"MaxTextLen"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"MultiLine"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Printable"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"ReadOnly"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Tabstop"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"Text"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"TextColor"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"TextLineColor"
+"OEditModel";"com::sun::star::awt::UnoControlEditModel";"VScroll"
+"OEditModel";"com::sun::star::form::XReset";"reset()"
+"OEditModel";"com::sun::star::form::XReset";"addResetListener()"
+"OEditModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OEditModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OEditModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OEditModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OEditModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OEditModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OEditModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OEditModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OEditModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OEditModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OEditModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OEditModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OEditModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OEditModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OEditModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OEditModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OEditModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OEditModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OEditModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OEditModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OEditModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OEditModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OEditModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OEditModel";"com::sun::star::form::FormControlModel";"Tag"
+"OEditModel";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"OEditModel";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"OEditModel";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"OEditModel";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"OEditModel";"com::sun::star::container::XChild";"getParent()"
+"OEditModel";"com::sun::star::container::XChild";"setParent()"
+"OEditModel";"com::sun::star::form::component::RichTextControl#optional";"HardLineBreaks"
+"OEditModel";"com::sun::star::form::component::RichTextControl#optional";"RichText"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFileControlModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFileControlModel.csv
new file mode 100644
index 000000000..02bf64259
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFileControlModel.csv
@@ -0,0 +1,67 @@
+"OFileControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OFileControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OFileControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"OFileControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OFileControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OFileControlModel";"com::sun::star::form::FormComponent";"Name"
+"OFileControlModel";"com::sun::star::form::component::FileControl";"DefaultText"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OFileControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OFileControlModel";"com::sun::star::io::XPersistObject";"write()"
+"OFileControlModel";"com::sun::star::io::XPersistObject";"read()"
+"OFileControlModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OFileControlModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OFileControlModel";"com::sun::star::container::XNamed";"getName()"
+"OFileControlModel";"com::sun::star::container::XNamed";"setName()"
+"OFileControlModel";"com::sun::star::form::XReset";"reset()"
+"OFileControlModel";"com::sun::star::form::XReset";"addResetListener()"
+"OFileControlModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OFileControlModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OFileControlModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OFileControlModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OFileControlModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OFileControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OFileControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OFileControlModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OFileControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"BackgroundColor"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Border"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"BorderColor#optional"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Enabled"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontDescriptor"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontEmphasisMark"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontRelief"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HelpText"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HelpURL"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HideInactiveSelection#optional"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Printable"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"ReadOnly#optional"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Tabstop"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Text"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"TextColor"
+"OFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"TextLineColor"
+"OFileControlModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OFileControlModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OFileControlModel";"com::sun::star::form::FormControlModel";"Tag"
+"OFileControlModel";"com::sun::star::container::XChild";"getParent()"
+"OFileControlModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFixedTextModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFixedTextModel.csv
new file mode 100644
index 000000000..952e3fc04
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFixedTextModel.csv
@@ -0,0 +1,63 @@
+"OFixedTextModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OFixedTextModel";"com::sun::star::util::XCloneable";"createClone()"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OFixedTextModel";"com::sun::star::lang::XComponent";"dispose()"
+"OFixedTextModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OFixedTextModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OFixedTextModel";"com::sun::star::form::FormComponent";"Name"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OFixedTextModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OFixedTextModel";"com::sun::star::io::XPersistObject";"write()"
+"OFixedTextModel";"com::sun::star::io::XPersistObject";"read()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OFixedTextModel";"com::sun::star::container::XNamed";"getName()"
+"OFixedTextModel";"com::sun::star::container::XNamed";"setName()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OFixedTextModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Align"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"BackgroundColor"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Border"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"BorderColor#optional"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Enabled"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontDescriptor"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontEmphasisMark"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontRelief"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"HelpText"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"HelpURL"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Label"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"MultiLine"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Printable"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"TextColor"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"TextLineColor"
+"OFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"VerticalAlign#optional"
+"OFixedTextModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OFixedTextModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OFixedTextModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OFixedTextModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OFixedTextModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OFixedTextModel";"com::sun::star::form::FormControlModel";"Tag"
+"OFixedTextModel";"com::sun::star::container::XChild";"getParent()"
+"OFixedTextModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedControl.csv
new file mode 100644
index 000000000..6e10fe0e3
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedControl.csv
@@ -0,0 +1,62 @@
+"OFormattedControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OFormattedControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OFormattedControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OFormattedControl";"com::sun::star::awt::XView";"setGraphics()"
+"OFormattedControl";"com::sun::star::awt::XView";"getGraphics()"
+"OFormattedControl";"com::sun::star::awt::XView";"getSize()"
+"OFormattedControl";"com::sun::star::awt::XView";"draw()"
+"OFormattedControl";"com::sun::star::awt::XView";"setZoom()"
+"OFormattedControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OFormattedControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OFormattedControl";"com::sun::star::lang::XComponent";"dispose()"
+"OFormattedControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OFormattedControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"OFormattedControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"OFormattedControl";"com::sun::star::awt::XControl";"setContext()"
+"OFormattedControl";"com::sun::star::awt::XControl";"getContext()"
+"OFormattedControl";"com::sun::star::awt::XControl";"createPeer()"
+"OFormattedControl";"com::sun::star::awt::XControl";"getPeer()"
+"OFormattedControl";"com::sun::star::awt::XControl";"setModel()"
+"OFormattedControl";"com::sun::star::awt::XControl";"getModel()"
+"OFormattedControl";"com::sun::star::awt::XControl";"getView()"
+"OFormattedControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OFormattedControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OFormattedControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OFormattedControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OFormattedControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OFormattedControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OFormattedControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OFormattedControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedFieldWrapper.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedFieldWrapper.csv
new file mode 100644
index 000000000..90fd17ecf
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormattedFieldWrapper.csv
@@ -0,0 +1,101 @@
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OFormattedFieldWrapper";"com::sun::star::util::XCloneable";"createClone()"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Align"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"BackgroundColor"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Border"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"BorderColor#optional"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveDefault"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveMax"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveMin"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveValue"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Enabled"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontDescriptor"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontEmphasisMark"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontRelief"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"FormatKey"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"FormatsSupplier"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"HelpText"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"HelpURL"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"HideInactiveSelection#optional"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"MaxTextLen"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Printable"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"ReadOnly"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Repeat#optional"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"RepeatDelay#optional"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Spin"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"StrictFormat#optional"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Tabstop"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"Text"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"TextColor"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"TextLineColor"
+"OFormattedFieldWrapper";"com::sun::star::awt::UnoControlFormattedFieldModel";"TreatAsNumber"
+"OFormattedFieldWrapper";"com::sun::star::lang::XEventListener";"disposing()"
+"OFormattedFieldWrapper";"com::sun::star::lang::XComponent";"dispose()"
+"OFormattedFieldWrapper";"com::sun::star::lang::XComponent";"addEventListener()"
+"OFormattedFieldWrapper";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::FormComponent";"Name"
+"OFormattedFieldWrapper";"com::sun::star::form::XLoadListener";"loaded()"
+"OFormattedFieldWrapper";"com::sun::star::form::XLoadListener";"unloading()"
+"OFormattedFieldWrapper";"com::sun::star::form::XLoadListener";"unloaded()"
+"OFormattedFieldWrapper";"com::sun::star::form::XLoadListener";"reloading()"
+"OFormattedFieldWrapper";"com::sun::star::form::XLoadListener";"reloaded()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OFormattedFieldWrapper";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OFormattedFieldWrapper";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OFormattedFieldWrapper";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OFormattedFieldWrapper";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OFormattedFieldWrapper";"com::sun::star::io::XPersistObject";"write()"
+"OFormattedFieldWrapper";"com::sun::star::io::XPersistObject";"read()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OFormattedFieldWrapper";"com::sun::star::form::component::DatabaseFormattedField";"ConvertEmptyToNull"
+"OFormattedFieldWrapper";"com::sun::star::container::XNamed";"getName()"
+"OFormattedFieldWrapper";"com::sun::star::container::XNamed";"setName()"
+"OFormattedFieldWrapper";"com::sun::star::form::XReset";"reset()"
+"OFormattedFieldWrapper";"com::sun::star::form::XReset";"addResetListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::XReset";"removeResetListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OFormattedFieldWrapper";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OFormattedFieldWrapper";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OFormattedFieldWrapper";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OFormattedFieldWrapper";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OFormattedFieldWrapper";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OFormattedFieldWrapper";"com::sun::star::form::FormControlModel";"ClassId"
+"OFormattedFieldWrapper";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OFormattedFieldWrapper";"com::sun::star::form::FormControlModel";"Tag"
+"OFormattedFieldWrapper";"com::sun::star::container::XChild";"getParent()"
+"OFormattedFieldWrapper";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormsCollection.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormsCollection.csv
new file mode 100644
index 000000000..a0d88b6e8
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OFormsCollection.csv
@@ -0,0 +1,27 @@
+"OFormsCollection";"com::sun::star::container::XNameAccess";"getByName()"
+"OFormsCollection";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OFormsCollection";"com::sun::star::container::XNameAccess";"hasByName()"
+"OFormsCollection";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OFormsCollection";"com::sun::star::container::XNameContainer";"insertByName()"
+"OFormsCollection";"com::sun::star::container::XNameContainer";"removeByName()"
+"OFormsCollection";"com::sun::star::container::XIndexAccess";"getCount()"
+"OFormsCollection";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"OFormsCollection";"com::sun::star::container::XIndexContainer";"insertByIndex()"
+"OFormsCollection";"com::sun::star::container::XIndexContainer";"removeByIndex()"
+"OFormsCollection";"com::sun::star::container::XElementAccess";"getElementType()"
+"OFormsCollection";"com::sun::star::container::XElementAccess";"hasElements()"
+"OFormsCollection";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"OFormsCollection";"com::sun::star::container::XContainer";"addContainerListener()"
+"OFormsCollection";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"registerScriptEvent()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"registerScriptEvents()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvent()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvents()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"insertEntry()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"removeEntry()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"getScriptEvents()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"attach()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"detach()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"addScriptListener()"
+"OFormsCollection";"com::sun::star::script::XEventAttacherManager";"removeScriptListener()"
+"OFormsCollection";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGridControlModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGridControlModel.csv
new file mode 100644
index 000000000..d9c1002b3
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGridControlModel.csv
@@ -0,0 +1,90 @@
+"OGridControlModel";"com::sun::star::container::XNameAccess";"getByName()"
+"OGridControlModel";"com::sun::star::container::XNameAccess";"getElementNames()"
+"OGridControlModel";"com::sun::star::container::XNameAccess";"hasByName()"
+"OGridControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OGridControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OGridControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OGridControlModel";"com::sun::star::container::XNameReplace";"replaceByName()"
+"OGridControlModel";"com::sun::star::container::XNameContainer";"insertByName()"
+"OGridControlModel";"com::sun::star::container::XNameContainer";"removeByName()"
+"OGridControlModel";"com::sun::star::container::XIndexAccess";"getCount()"
+"OGridControlModel";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"OGridControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"OGridControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OGridControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OGridControlModel";"com::sun::star::form::FormComponent";"Name"
+"OGridControlModel";"com::sun::star::form::XGridColumnFactory";"createColumn()"
+"OGridControlModel";"com::sun::star::form::XGridColumnFactory";"getColumnTypes()"
+"OGridControlModel";"com::sun::star::container::XIndexContainer";"insertByIndex()"
+"OGridControlModel";"com::sun::star::container::XIndexContainer";"removeByIndex()"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"Border"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"BorderColor#optional"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"Enabled"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"FontDescriptor"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"RowHeight"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"Tabstop"
+"OGridControlModel";"com::sun::star::form::component::GridControl";"TextColor"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OGridControlModel";"com::sun::star::container::XElementAccess";"getElementType()"
+"OGridControlModel";"com::sun::star::container::XElementAccess";"hasElements()"
+"OGridControlModel";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"OGridControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OGridControlModel";"com::sun::star::io::XPersistObject";"write()"
+"OGridControlModel";"com::sun::star::io::XPersistObject";"read()"
+"OGridControlModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OGridControlModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OGridControlModel";"com::sun::star::container::XContainer";"addContainerListener()"
+"OGridControlModel";"com::sun::star::container::XContainer";"removeContainerListener()"
+"OGridControlModel";"com::sun::star::container::XNamed";"getName()"
+"OGridControlModel";"com::sun::star::container::XNamed";"setName()"
+"OGridControlModel";"com::sun::star::form::XReset";"reset()"
+"OGridControlModel";"com::sun::star::form::XReset";"addResetListener()"
+"OGridControlModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OGridControlModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OGridControlModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OGridControlModel";"com::sun::star::view::XSelectionSupplier";"select()"
+"OGridControlModel";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"OGridControlModel";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"OGridControlModel";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OGridControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"registerScriptEvent()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"registerScriptEvents()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvent()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"revokeScriptEvents()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"insertEntry()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"removeEntry()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"getScriptEvents()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"attach()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"detach()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"addScriptListener()"
+"OGridControlModel";"com::sun::star::script::XEventAttacherManager";"removeScriptListener()"
+"OGridControlModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OGridControlModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OGridControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OGridControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OGridControlModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OGridControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OGridControlModel";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"OGridControlModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OGridControlModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OGridControlModel";"com::sun::star::form::FormControlModel";"Tag"
+"OGridControlModel";"com::sun::star::container::XChild";"getParent()"
+"OGridControlModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxControl.csv
new file mode 100644
index 000000000..f9b60fbd5
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxControl.csv
@@ -0,0 +1,36 @@
+"OGroupBoxControl";"com::sun::star::awt::XView";"setGraphics()"
+"OGroupBoxControl";"com::sun::star::awt::XView";"getGraphics()"
+"OGroupBoxControl";"com::sun::star::awt::XView";"getSize()"
+"OGroupBoxControl";"com::sun::star::awt::XView";"draw()"
+"OGroupBoxControl";"com::sun::star::awt::XView";"setZoom()"
+"OGroupBoxControl";"com::sun::star::lang::XComponent";"dispose()"
+"OGroupBoxControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OGroupBoxControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"setContext()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"getContext()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"createPeer()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"getPeer()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"setModel()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"getModel()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"getView()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OGroupBoxControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OGroupBoxControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OGroupBoxControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxModel.csv
new file mode 100644
index 000000000..43dbebe99
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OGroupBoxModel.csv
@@ -0,0 +1,57 @@
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Enabled"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontDescriptor"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontEmphasisMark"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontRelief"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"HelpText"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"HelpURL"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Label"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Printable"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"TextColor"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"TextLineColor"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OGroupBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OGroupBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"OGroupBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OGroupBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OGroupBoxModel";"com::sun::star::form::FormComponent";"Name"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OGroupBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OGroupBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"OGroupBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OGroupBoxModel";"com::sun::star::container::XNamed";"getName()"
+"OGroupBoxModel";"com::sun::star::container::XNamed";"setName()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OGroupBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OGroupBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OGroupBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OGroupBoxModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OGroupBoxModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OGroupBoxModel";"com::sun::star::form::FormControlModel";"Tag"
+"OGroupBoxModel";"com::sun::star::container::XChild";"getParent()"
+"OGroupBoxModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OHiddenModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OHiddenModel.csv
new file mode 100644
index 000000000..280b6b81d
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OHiddenModel.csv
@@ -0,0 +1,23 @@
+"OHiddenModel";"com::sun::star::lang::XComponent";"dispose()"
+"OHiddenModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OHiddenModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OHiddenModel";"com::sun::star::form::FormComponent";"Name"
+"OHiddenModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OHiddenModel";"com::sun::star::io::XPersistObject";"write()"
+"OHiddenModel";"com::sun::star::io::XPersistObject";"read()"
+"OHiddenModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OHiddenModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OHiddenModel";"com::sun::star::container::XNamed";"getName()"
+"OHiddenModel";"com::sun::star::container::XNamed";"setName()"
+"OHiddenModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OHiddenModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OHiddenModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OHiddenModel";"com::sun::star::form::component::HiddenControl";"HiddenValue"
+"OHiddenModel";"com::sun::star::container::XChild";"getParent()"
+"OHiddenModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonControl.csv
new file mode 100644
index 000000000..7a93d3845
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonControl.csv
@@ -0,0 +1,45 @@
+"OImageButtonControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OImageButtonControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OImageButtonControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OImageButtonControl";"com::sun::star::awt::XView";"setGraphics()"
+"OImageButtonControl";"com::sun::star::awt::XView";"getGraphics()"
+"OImageButtonControl";"com::sun::star::awt::XView";"getSize()"
+"OImageButtonControl";"com::sun::star::awt::XView";"draw()"
+"OImageButtonControl";"com::sun::star::awt::XView";"setZoom()"
+"OImageButtonControl";"com::sun::star::lang::XComponent";"dispose()"
+"OImageButtonControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OImageButtonControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OImageButtonControl";"com::sun::star::form::submission::XSubmission";"submit()"
+"OImageButtonControl";"com::sun::star::form::submission::XSubmission";"submitWithInteraction()"
+"OImageButtonControl";"com::sun::star::form::submission::XSubmission";"addSubmissionVetoListener()"
+"OImageButtonControl";"com::sun::star::form::submission::XSubmission";"removeSubmissionVetoListener()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"setContext()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"getContext()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"createPeer()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"getPeer()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"setModel()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"getModel()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"getView()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OImageButtonControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OImageButtonControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OImageButtonControl";"com::sun::star::form::XApproveActionBroadcaster";"addApproveActionListener()"
+"OImageButtonControl";"com::sun::star::form::XApproveActionBroadcaster";"removeApproveActionListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OImageButtonControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonModel.csv
new file mode 100644
index 000000000..59c573192
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageButtonModel.csv
@@ -0,0 +1,63 @@
+"OImageButtonModel";"com::sun::star::form::submission::XSubmissionSupplier";"Submission()"
+"OImageButtonModel";"com::sun::star::form::component::ImageButton";"ButtonType"
+"OImageButtonModel";"com::sun::star::form::component::ImageButton";"TargetFrame"
+"OImageButtonModel";"com::sun::star::form::component::ImageButton";"TargetURL"
+"OImageButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OImageButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OImageButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"BackgroundColor"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"Border"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"BorderColor#optional"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"Enabled"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpText"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpURL"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"ImageURL"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"Graphic#optional"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"Printable"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"ScaleImage"
+"OImageButtonModel";"com::sun::star::awt::UnoControlImageControlModel";"Tabstop#optional"
+"OImageButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"OImageButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OImageButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OImageButtonModel";"com::sun::star::form::FormComponent";"Name"
+"OImageButtonModel";"com::sun::star::form::XImageProducerSupplier";"getImageProducer()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OImageButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OImageButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"OImageButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OImageButtonModel";"com::sun::star::container::XNamed";"getName()"
+"OImageButtonModel";"com::sun::star::container::XNamed";"setName()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OImageButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OImageButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OImageButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OImageButtonModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OImageButtonModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OImageButtonModel";"com::sun::star::form::FormControlModel";"Tag"
+"OImageButtonModel";"com::sun::star::container::XChild";"getParent()"
+"OImageButtonModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlControl.csv
new file mode 100644
index 000000000..88f444103
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlControl.csv
@@ -0,0 +1,41 @@
+"OImageControlControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OImageControlControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OImageControlControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OImageControlControl";"com::sun::star::awt::XView";"setGraphics()"
+"OImageControlControl";"com::sun::star::awt::XView";"getGraphics()"
+"OImageControlControl";"com::sun::star::awt::XView";"getSize()"
+"OImageControlControl";"com::sun::star::awt::XView";"draw()"
+"OImageControlControl";"com::sun::star::awt::XView";"setZoom()"
+"OImageControlControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OImageControlControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OImageControlControl";"com::sun::star::lang::XComponent";"dispose()"
+"OImageControlControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OImageControlControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OImageControlControl";"com::sun::star::awt::XControl";"setContext()"
+"OImageControlControl";"com::sun::star::awt::XControl";"getContext()"
+"OImageControlControl";"com::sun::star::awt::XControl";"createPeer()"
+"OImageControlControl";"com::sun::star::awt::XControl";"getPeer()"
+"OImageControlControl";"com::sun::star::awt::XControl";"setModel()"
+"OImageControlControl";"com::sun::star::awt::XControl";"getModel()"
+"OImageControlControl";"com::sun::star::awt::XControl";"getView()"
+"OImageControlControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OImageControlControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OImageControlControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OImageControlControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OImageControlControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlModel.csv
new file mode 100644
index 000000000..e2237603a
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OImageControlModel.csv
@@ -0,0 +1,75 @@
+"OImageControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OImageControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"BackgroundColor"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Border"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"BorderColor#optional"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Enabled"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpText"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpURL"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"ImageURL"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Graphic#optional"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Printable"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"ScaleImage"
+"OImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Tabstop#optional"
+"OImageControlModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OImageControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"OImageControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OImageControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OImageControlModel";"com::sun::star::form::FormComponent";"Name"
+"OImageControlModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OImageControlModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OImageControlModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OImageControlModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OImageControlModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OImageControlModel";"com::sun::star::form::XImageProducerSupplier";"getImageProducer()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OImageControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OImageControlModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OImageControlModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OImageControlModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OImageControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OImageControlModel";"com::sun::star::io::XPersistObject";"write()"
+"OImageControlModel";"com::sun::star::io::XPersistObject";"read()"
+"OImageControlModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OImageControlModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OImageControlModel";"com::sun::star::container::XNamed";"getName()"
+"OImageControlModel";"com::sun::star::container::XNamed";"setName()"
+"OImageControlModel";"com::sun::star::form::XReset";"reset()"
+"OImageControlModel";"com::sun::star::form::XReset";"addResetListener()"
+"OImageControlModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OImageControlModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OImageControlModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OImageControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OImageControlModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OImageControlModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OImageControlModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OImageControlModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OImageControlModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OImageControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OImageControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OImageControlModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OImageControlModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OImageControlModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OImageControlModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OImageControlModel";"com::sun::star::form::FormControlModel";"Tag"
+"OImageControlModel";"com::sun::star::form::component::DatabaseImageControl";"ReadOnly"
+"OImageControlModel";"com::sun::star::container::XChild";"getParent()"
+"OImageControlModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxControl.csv
new file mode 100644
index 000000000..89c0f60a5
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxControl.csv
@@ -0,0 +1,67 @@
+"OListBoxControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OListBoxControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OListBoxControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OListBoxControl";"com::sun::star::awt::XView";"setGraphics()"
+"OListBoxControl";"com::sun::star::awt::XView";"getGraphics()"
+"OListBoxControl";"com::sun::star::awt::XView";"getSize()"
+"OListBoxControl";"com::sun::star::awt::XView";"draw()"
+"OListBoxControl";"com::sun::star::awt::XView";"setZoom()"
+"OListBoxControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OListBoxControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OListBoxControl";"com::sun::star::lang::XComponent";"dispose()"
+"OListBoxControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OListBoxControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OListBoxControl";"com::sun::star::form::XChangeBroadcaster";"addChangeListener()"
+"OListBoxControl";"com::sun::star::form::XChangeBroadcaster";"removeChangeListener()"
+"OListBoxControl";"com::sun::star::awt::XControl";"setContext()"
+"OListBoxControl";"com::sun::star::awt::XControl";"getContext()"
+"OListBoxControl";"com::sun::star::awt::XControl";"createPeer()"
+"OListBoxControl";"com::sun::star::awt::XControl";"getPeer()"
+"OListBoxControl";"com::sun::star::awt::XControl";"setModel()"
+"OListBoxControl";"com::sun::star::awt::XControl";"getModel()"
+"OListBoxControl";"com::sun::star::awt::XControl";"getView()"
+"OListBoxControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OListBoxControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OListBoxControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OListBoxControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OListBoxControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OListBoxControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OListBoxControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"addItemListener()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"removeItemListener()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"addActionListener()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"removeActionListener()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"addItem()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"addItems()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"removeItems()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getItemCount()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getItem()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getItems()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getSelectedItemPos()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getSelectedItemsPos()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getSelectedItem()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getSelectedItems()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"selectItemPos()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"selectItemsPos()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"selectItem()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"isMutipleMode()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"setMultipleMode()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"getDropDownLineCount()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"setDropDownLineCount()"
+"OListBoxControl";"com::sun::star::awt::XListBox";"makeVisible()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxModel.csv
new file mode 100644
index 000000000..41662124d
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OListBoxModel.csv
@@ -0,0 +1,95 @@
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Align#optional"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"BackgroundColor"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Border"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"BorderColor#optional"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Dropdown"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Enabled"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontDescriptor"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontEmphasisMark"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontRelief"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"HelpText"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"HelpURL"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"LineCount"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"MultiSelection"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Printable"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"ReadOnly"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"SelectedItems"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"StringItemList"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Tabstop"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"TextColor"
+"OListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"TextLineColor"
+"OListBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OListBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OListBoxModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OListBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"OListBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OListBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OListBoxModel";"com::sun::star::form::component::DatabaseListBox";"BoundColumn"
+"OListBoxModel";"com::sun::star::form::component::DatabaseListBox";"ListSourceType"
+"OListBoxModel";"com::sun::star::form::FormComponent";"Name"
+"OListBoxModel";"com::sun::star::form::component::ListBox";"DefaultSelection"
+"OListBoxModel";"com::sun::star::form::component::ListBox";"ListSource"
+"OListBoxModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OListBoxModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OListBoxModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OListBoxModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OListBoxModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OListBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OListBoxModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OListBoxModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OListBoxModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OListBoxModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OListBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OListBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"OListBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"OListBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OListBoxModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OListBoxModel";"com::sun::star::container::XNamed";"getName()"
+"OListBoxModel";"com::sun::star::container::XNamed";"setName()"
+"OListBoxModel";"com::sun::star::form::XReset";"reset()"
+"OListBoxModel";"com::sun::star::form::XReset";"addResetListener()"
+"OListBoxModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OListBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OListBoxModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OListBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OListBoxModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OListBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OListBoxModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OListBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OListBoxModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OListBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OListBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OListBoxModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OListBoxModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OListBoxModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OListBoxModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OListBoxModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OListBoxModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OListBoxModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OListBoxModel";"com::sun::star::form::FormControlModel";"Tag"
+"OListBoxModel";"com::sun::star::container::XChild";"getParent()"
+"OListBoxModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericControl.csv
new file mode 100644
index 000000000..035fae464
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericControl.csv
@@ -0,0 +1,78 @@
+"ONumericControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"ONumericControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"ONumericControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"ONumericControl";"com::sun::star::awt::XView";"setGraphics()"
+"ONumericControl";"com::sun::star::awt::XView";"getGraphics()"
+"ONumericControl";"com::sun::star::awt::XView";"getSize()"
+"ONumericControl";"com::sun::star::awt::XView";"draw()"
+"ONumericControl";"com::sun::star::awt::XView";"setZoom()"
+"ONumericControl";"com::sun::star::form::XBoundControl";"getLock()"
+"ONumericControl";"com::sun::star::form::XBoundControl";"setLock()"
+"ONumericControl";"com::sun::star::lang::XComponent";"dispose()"
+"ONumericControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"ONumericControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"ONumericControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"ONumericControl";"com::sun::star::awt::XControl";"setContext()"
+"ONumericControl";"com::sun::star::awt::XControl";"getContext()"
+"ONumericControl";"com::sun::star::awt::XControl";"createPeer()"
+"ONumericControl";"com::sun::star::awt::XControl";"getPeer()"
+"ONumericControl";"com::sun::star::awt::XControl";"setModel()"
+"ONumericControl";"com::sun::star::awt::XControl";"getModel()"
+"ONumericControl";"com::sun::star::awt::XControl";"getView()"
+"ONumericControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"ONumericControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"ONumericControl";"com::sun::star::awt::XControl";"isTransparent()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"setText()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"getText()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"ONumericControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"ONumericControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"ONumericControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"ONumericControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"ONumericControl";"com::sun::star::awt::XWindow";"setVisible()"
+"ONumericControl";"com::sun::star::awt::XWindow";"setEnable()"
+"ONumericControl";"com::sun::star::awt::XWindow";"setFocus()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"ONumericControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"ONumericControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"ONumericControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setValue()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getValue()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setMin()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getMin()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setMax()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getMax()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setFirst()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getFirst()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setLast()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getLast()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setSpinSize()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getSpinSize()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setDecimalDigits()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"getDecimalDigits()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"setStrictFormat()"
+"ONumericControl";"com::sun::star::awt::XNumericField";"isStrictFormat()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericModel.csv
new file mode 100644
index 000000000..7777a9445
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ONumericModel.csv
@@ -0,0 +1,97 @@
+"ONumericModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"ONumericModel";"com::sun::star::util::XCloneable";"createClone()"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"ONumericModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"ONumericModel";"com::sun::star::lang::XEventListener";"disposing()"
+"ONumericModel";"com::sun::star::lang::XComponent";"dispose()"
+"ONumericModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"ONumericModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ONumericModel";"com::sun::star::form::FormComponent";"Name"
+"ONumericModel";"com::sun::star::form::XLoadListener";"loaded()"
+"ONumericModel";"com::sun::star::form::XLoadListener";"unloading()"
+"ONumericModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"ONumericModel";"com::sun::star::form::XLoadListener";"reloading()"
+"ONumericModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"ONumericModel";"com::sun::star::form::component::NumericField";"DefaultValue"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ONumericModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ONumericModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"ONumericModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"ONumericModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"ONumericModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"ONumericModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"ONumericModel";"com::sun::star::io::XPersistObject";"write()"
+"ONumericModel";"com::sun::star::io::XPersistObject";"read()"
+"ONumericModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"ONumericModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"ONumericModel";"com::sun::star::container::XNamed";"getName()"
+"ONumericModel";"com::sun::star::container::XNamed";"setName()"
+"ONumericModel";"com::sun::star::form::XReset";"reset()"
+"ONumericModel";"com::sun::star::form::XReset";"addResetListener()"
+"ONumericModel";"com::sun::star::form::XReset";"removeResetListener()"
+"ONumericModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"ONumericModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ONumericModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ONumericModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"BackgroundColor"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Border"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"BorderColor#optional"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"DecimalAccuracy"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Enabled"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontDescriptor"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontEmphasisMark"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontRelief"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HelpText"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HelpURL"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HideInactiveSelection#optional"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Printable"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ReadOnly"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Repeat#optional"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"RepeatDelay#optional"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ShowThousandsSeparator"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Spin"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"StrictFormat"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Tabstop"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"TextColor"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"TextLineColor"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Value"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueMax"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueMin"
+"ONumericModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueStep"
+"ONumericModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"ONumericModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"ONumericModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"ONumericModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"ONumericModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"ONumericModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"ONumericModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"ONumericModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"ONumericModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ONumericModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ONumericModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ONumericModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ONumericModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"ONumericModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"ONumericModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"ONumericModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"ONumericModel";"com::sun::star::form::FormControlModel";"ClassId"
+"ONumericModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"ONumericModel";"com::sun::star::form::FormControlModel";"Tag"
+"ONumericModel";"com::sun::star::container::XChild";"getParent()"
+"ONumericModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternControl.csv
new file mode 100644
index 000000000..e72864c3a
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternControl.csv
@@ -0,0 +1,68 @@
+"OPatternControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OPatternControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OPatternControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OPatternControl";"com::sun::star::awt::XView";"setGraphics()"
+"OPatternControl";"com::sun::star::awt::XView";"getGraphics()"
+"OPatternControl";"com::sun::star::awt::XView";"getSize()"
+"OPatternControl";"com::sun::star::awt::XView";"draw()"
+"OPatternControl";"com::sun::star::awt::XView";"setZoom()"
+"OPatternControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OPatternControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OPatternControl";"com::sun::star::lang::XComponent";"dispose()"
+"OPatternControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OPatternControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"OPatternControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"OPatternControl";"com::sun::star::awt::XControl";"setContext()"
+"OPatternControl";"com::sun::star::awt::XControl";"getContext()"
+"OPatternControl";"com::sun::star::awt::XControl";"createPeer()"
+"OPatternControl";"com::sun::star::awt::XControl";"getPeer()"
+"OPatternControl";"com::sun::star::awt::XControl";"setModel()"
+"OPatternControl";"com::sun::star::awt::XControl";"getModel()"
+"OPatternControl";"com::sun::star::awt::XControl";"getView()"
+"OPatternControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OPatternControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OPatternControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OPatternControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OPatternControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OPatternControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OPatternControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OPatternControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OPatternControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OPatternControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OPatternControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OPatternControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OPatternControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"setMasks()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"getMasks()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"setString()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"getString()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"setStrictFormat()"
+"OPatternControl";"com::sun::star::awt::XPatternField";"isStrictFormat()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternModel.csv
new file mode 100644
index 000000000..cac6e7a01
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OPatternModel.csv
@@ -0,0 +1,84 @@
+"OPatternModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OPatternModel";"com::sun::star::util::XCloneable";"createClone()"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OPatternModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OPatternModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OPatternModel";"com::sun::star::lang::XComponent";"dispose()"
+"OPatternModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OPatternModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OPatternModel";"com::sun::star::form::component::PatternField";"DefaultText"
+"OPatternModel";"com::sun::star::form::FormComponent";"Name"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"BackgroundColor"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Border"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"BorderColor#optional"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"EditMask"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Enabled"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontDescriptor"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontEmphasisMark"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontRelief"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HelpText"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HelpURL"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HideInactiveSelection#optional"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"LiteralMask"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"MaxTextLen"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Printable"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"ReadOnly"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"StrictFormat"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Tabstop"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Text"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"TextColor"
+"OPatternModel";"com::sun::star::awt::UnoControlPatternFieldModel";"TextLineColor"
+"OPatternModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OPatternModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OPatternModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OPatternModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OPatternModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OPatternModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OPatternModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OPatternModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OPatternModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OPatternModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OPatternModel";"com::sun::star::io::XPersistObject";"write()"
+"OPatternModel";"com::sun::star::io::XPersistObject";"read()"
+"OPatternModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OPatternModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OPatternModel";"com::sun::star::container::XNamed";"getName()"
+"OPatternModel";"com::sun::star::container::XNamed";"setName()"
+"OPatternModel";"com::sun::star::form::XReset";"reset()"
+"OPatternModel";"com::sun::star::form::XReset";"addResetListener()"
+"OPatternModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OPatternModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OPatternModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OPatternModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OPatternModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OPatternModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OPatternModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OPatternModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OPatternModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OPatternModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OPatternModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OPatternModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OPatternModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OPatternModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OPatternModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OPatternModel";"com::sun::star::form::FormControlModel";"Tag"
+"OPatternModel";"com::sun::star::form::component::DatabasePatternField";"ConvertEmptyToNull"
+"OPatternModel";"com::sun::star::container::XChild";"getParent()"
+"OPatternModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonControl.csv
new file mode 100644
index 000000000..6532662d2
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonControl.csv
@@ -0,0 +1,46 @@
+"ORadioButtonControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"ORadioButtonControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"ORadioButtonControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"ORadioButtonControl";"com::sun::star::awt::XRadioButton";"addItemListener()"
+"ORadioButtonControl";"com::sun::star::awt::XRadioButton";"removeItemListener()"
+"ORadioButtonControl";"com::sun::star::awt::XRadioButton";"getState()"
+"ORadioButtonControl";"com::sun::star::awt::XRadioButton";"setState()"
+"ORadioButtonControl";"com::sun::star::awt::XRadioButton";"setLabel()"
+"ORadioButtonControl";"com::sun::star::awt::XView";"setGraphics()"
+"ORadioButtonControl";"com::sun::star::awt::XView";"getGraphics()"
+"ORadioButtonControl";"com::sun::star::awt::XView";"getSize()"
+"ORadioButtonControl";"com::sun::star::awt::XView";"draw()"
+"ORadioButtonControl";"com::sun::star::awt::XView";"setZoom()"
+"ORadioButtonControl";"com::sun::star::form::XBoundControl";"getLock()"
+"ORadioButtonControl";"com::sun::star::form::XBoundControl";"setLock()"
+"ORadioButtonControl";"com::sun::star::lang::XComponent";"dispose()"
+"ORadioButtonControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORadioButtonControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"setContext()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"getContext()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"createPeer()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"getPeer()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"setModel()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"getModel()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"getView()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"ORadioButtonControl";"com::sun::star::awt::XControl";"isTransparent()"
+"ORadioButtonControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"setVisible()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"setEnable()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"setFocus()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"ORadioButtonControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonModel.csv
new file mode 100644
index 000000000..0cb37fed5
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.ORadioButtonModel.csv
@@ -0,0 +1,95 @@
+"ORadioButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"ORadioButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"ORadioButtonModel";"com::sun::star::form::binding::BindableDatabaseRadioButton";"SecondaryRefValue"
+"ORadioButtonModel";"com::sun::star::lang::XEventListener";"disposing()"
+"ORadioButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"ORadioButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"ORadioButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ORadioButtonModel";"com::sun::star::form::FormComponent";"Name"
+"ORadioButtonModel";"com::sun::star::form::XLoadListener";"loaded()"
+"ORadioButtonModel";"com::sun::star::form::XLoadListener";"unloading()"
+"ORadioButtonModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"ORadioButtonModel";"com::sun::star::form::XLoadListener";"reloading()"
+"ORadioButtonModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Align#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"BackgroundColor#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Enabled"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontDescriptor"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontEmphasisMark"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontRelief"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"HelpText"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"HelpURL"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"ImagePosition#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"ImageURL#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Graphic#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Label"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"MultiLine#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Printable"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"State"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Tabstop"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"TextColor"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"TextLineColor"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"VerticalAlign#optional"
+"ORadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"VisualEffect#optional"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"ORadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"ORadioButtonModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"ORadioButtonModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"ORadioButtonModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"ORadioButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"ORadioButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"ORadioButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"ORadioButtonModel";"com::sun::star::container::XNamed";"getName()"
+"ORadioButtonModel";"com::sun::star::container::XNamed";"setName()"
+"ORadioButtonModel";"com::sun::star::form::XReset";"reset()"
+"ORadioButtonModel";"com::sun::star::form::XReset";"addResetListener()"
+"ORadioButtonModel";"com::sun::star::form::XReset";"removeResetListener()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"ORadioButtonModel";"com::sun::star::form::component::RadioButton";"DefaultState"
+"ORadioButtonModel";"com::sun::star::form::component::RadioButton";"RefValue"
+"ORadioButtonModel";"com::sun::star::form::component::RadioButton";"UncheckedRefValue#optional"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ORadioButtonModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"ORadioButtonModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"ORadioButtonModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"ORadioButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"ORadioButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"ORadioButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"ORadioButtonModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"ORadioButtonModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"ORadioButtonModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"ORadioButtonModel";"com::sun::star::form::FormControlModel";"ClassId"
+"ORadioButtonModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"ORadioButtonModel";"com::sun::star::form::FormControlModel";"Tag"
+"ORadioButtonModel";"com::sun::star::container::XChild";"getParent()"
+"ORadioButtonModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OScrollBarModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OScrollBarModel.csv
new file mode 100644
index 000000000..136e2a874
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OScrollBarModel.csv
@@ -0,0 +1,69 @@
+"OScrollBarModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OScrollBarModel";"com::sun::star::util::XCloneable";"createClone()"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OScrollBarModel";"com::sun::star::form::component::ScrollBar";"DefaultScrollValue"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BackgroundColor#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BlockIncrement"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Border"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BorderColor#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Enabled"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"HelpText"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"HelpURL"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"LineIncrement"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"LiveScroll#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Orientation"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Printable"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"RepeatDelay#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValue"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValueMin#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValueMax"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"SymbolColor#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Tabstop#optional"
+"OScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"VisibleSize"
+"OScrollBarModel";"com::sun::star::lang::XComponent";"dispose()"
+"OScrollBarModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OScrollBarModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OScrollBarModel";"com::sun::star::form::FormComponent";"Name"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OScrollBarModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OScrollBarModel";"com::sun::star::io::XPersistObject";"write()"
+"OScrollBarModel";"com::sun::star::io::XPersistObject";"read()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OScrollBarModel";"com::sun::star::container::XNamed";"getName()"
+"OScrollBarModel";"com::sun::star::container::XNamed";"setName()"
+"OScrollBarModel";"com::sun::star::form::XReset";"reset()"
+"OScrollBarModel";"com::sun::star::form::XReset";"addResetListener()"
+"OScrollBarModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OScrollBarModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OScrollBarModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OScrollBarModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OScrollBarModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OScrollBarModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OScrollBarModel";"com::sun::star::form::FormControlModel";"Tag"
+"OScrollBarModel";"com::sun::star::container::XChild";"getParent()"
+"OScrollBarModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OSpinButtonModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OSpinButtonModel.csv
new file mode 100644
index 000000000..aae89658f
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OSpinButtonModel.csv
@@ -0,0 +1,66 @@
+"OSpinButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OSpinButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Border"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"BorderColor#optional"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Enabled"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"HelpText"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"HelpURL"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinIncrement"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Orientation"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Printable"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValue"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValueMin"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValueMax"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"BackgroundColor"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SymbolColor"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Repeat"
+"OSpinButtonModel";"com::sun::star::awt::UnoControlSpinButtonModel";"RepeatDelay"
+"OSpinButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"OSpinButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OSpinButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OSpinButtonModel";"com::sun::star::form::component::SpinButton";"DefaultSpinValue"
+"OSpinButtonModel";"com::sun::star::form::FormComponent";"Name"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OSpinButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OSpinButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"OSpinButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OSpinButtonModel";"com::sun::star::container::XNamed";"getName()"
+"OSpinButtonModel";"com::sun::star::container::XNamed";"setName()"
+"OSpinButtonModel";"com::sun::star::form::XReset";"reset()"
+"OSpinButtonModel";"com::sun::star::form::XReset";"addResetListener()"
+"OSpinButtonModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OSpinButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OSpinButtonModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OSpinButtonModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OSpinButtonModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OSpinButtonModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OSpinButtonModel";"com::sun::star::form::FormControlModel";"Tag"
+"OSpinButtonModel";"com::sun::star::container::XChild";"getParent()"
+"OSpinButtonModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeControl.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeControl.csv
new file mode 100644
index 000000000..7c314fd4f
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeControl.csv
@@ -0,0 +1,76 @@
+"OTimeControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"OTimeControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"OTimeControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"OTimeControl";"com::sun::star::awt::XView";"setGraphics()"
+"OTimeControl";"com::sun::star::awt::XView";"getGraphics()"
+"OTimeControl";"com::sun::star::awt::XView";"getSize()"
+"OTimeControl";"com::sun::star::awt::XView";"draw()"
+"OTimeControl";"com::sun::star::awt::XView";"setZoom()"
+"OTimeControl";"com::sun::star::form::XBoundControl";"getLock()"
+"OTimeControl";"com::sun::star::form::XBoundControl";"setLock()"
+"OTimeControl";"com::sun::star::lang::XComponent";"dispose()"
+"OTimeControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"OTimeControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setTime()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"getTime()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setMin()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"getMin()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setMax()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"getMax()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setFirst()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"getFirst()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setLast()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"getLast()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setEmpty()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"isEmpty()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"setStrictFormat()"
+"OTimeControl";"com::sun::star::awt::XTimeField";"isStrictFormat()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"up()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"down()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"first()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"last()"
+"OTimeControl";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"OTimeControl";"com::sun::star::awt::XControl";"setContext()"
+"OTimeControl";"com::sun::star::awt::XControl";"getContext()"
+"OTimeControl";"com::sun::star::awt::XControl";"createPeer()"
+"OTimeControl";"com::sun::star::awt::XControl";"getPeer()"
+"OTimeControl";"com::sun::star::awt::XControl";"setModel()"
+"OTimeControl";"com::sun::star::awt::XControl";"getModel()"
+"OTimeControl";"com::sun::star::awt::XControl";"getView()"
+"OTimeControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"OTimeControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"OTimeControl";"com::sun::star::awt::XControl";"isTransparent()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"setText()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"getText()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"OTimeControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"OTimeControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"OTimeControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"OTimeControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"OTimeControl";"com::sun::star::awt::XWindow";"setVisible()"
+"OTimeControl";"com::sun::star::awt::XWindow";"setEnable()"
+"OTimeControl";"com::sun::star::awt::XWindow";"setFocus()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"OTimeControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"OTimeControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"OTimeControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeModel.csv b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeModel.csv
new file mode 100644
index 000000000..99e562087
--- /dev/null
+++ b/qadevOOo/objdsc/forms/com.sun.star.comp.forms.OTimeModel.csv
@@ -0,0 +1,96 @@
+"OTimeModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"OTimeModel";"com::sun::star::util::XCloneable";"createClone()"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"OTimeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"OTimeModel";"com::sun::star::lang::XEventListener";"disposing()"
+"OTimeModel";"com::sun::star::lang::XComponent";"dispose()"
+"OTimeModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"OTimeModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OTimeModel";"com::sun::star::form::FormComponent";"Name"
+"OTimeModel";"com::sun::star::form::XLoadListener";"loaded()"
+"OTimeModel";"com::sun::star::form::XLoadListener";"unloading()"
+"OTimeModel";"com::sun::star::form::XLoadListener";"unloaded()"
+"OTimeModel";"com::sun::star::form::XLoadListener";"reloading()"
+"OTimeModel";"com::sun::star::form::XLoadListener";"reloaded()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"OTimeModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"OTimeModel";"com::sun::star::form::DataAwareControlModel";"DataField"
+"OTimeModel";"com::sun::star::form::DataAwareControlModel";"BoundField"
+"OTimeModel";"com::sun::star::form::DataAwareControlModel";"LabelControl"
+"OTimeModel";"com::sun::star::form::validation::XValidityConstraintListener";"validityConstraintChanged()"
+"OTimeModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"OTimeModel";"com::sun::star::io::XPersistObject";"write()"
+"OTimeModel";"com::sun::star::io::XPersistObject";"read()"
+"OTimeModel";"com::sun::star::beans::XPropertyAccess#optional";"getPropertyValues()"
+"OTimeModel";"com::sun::star::beans::XPropertyAccess#optional";"setPropertyValues()"
+"OTimeModel";"com::sun::star::container::XNamed";"getName()"
+"OTimeModel";"com::sun::star::container::XNamed";"setName()"
+"OTimeModel";"com::sun::star::form::XReset";"reset()"
+"OTimeModel";"com::sun::star::form::XReset";"addResetListener()"
+"OTimeModel";"com::sun::star::form::XReset";"removeResetListener()"
+"OTimeModel";"com::sun::star::beans::XPropertyContainer#optional";"addProperty()"
+"OTimeModel";"com::sun::star::beans::XPropertyContainer#optional";"removeProperty()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"OTimeModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"OTimeModel";"com::sun::star::form::XBoundComponent#optional";"commit()"
+"OTimeModel";"com::sun::star::form::XUpdateBroadcaster#optional";"addUpdateListener()"
+"OTimeModel";"com::sun::star::form::XUpdateBroadcaster#optional";"removeUpdateListener()"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"BackgroundColor"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Border"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"BorderColor#optional"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Enabled"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontDescriptor"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontEmphasisMark"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontRelief"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HelpText"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HelpURL"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HideInactiveSelection#optional"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Printable"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"ReadOnly"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Repeat#optional"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"RepeatDelay#optional"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Spin"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"StrictFormat"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Tabstop"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Text#optional"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TextColor"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TextLineColor"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Time"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeFormat"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeMax"
+"OTimeModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeMin"
+"OTimeModel";"com::sun::star::form::validation::XValidatableFormComponent";"isValid()"
+"OTimeModel";"com::sun::star::form::validation::XValidatableFormComponent";"getCurrentValue()"
+"OTimeModel";"com::sun::star::form::validation::XValidatableFormComponent";"addFormComponentValidityListener()"
+"OTimeModel";"com::sun::star::form::validation::XValidatableFormComponent";"removeFormComponentValidityListener()"
+"OTimeModel";"com::sun::star::beans::XFastPropertySet#optional";"setFastPropertyValue()"
+"OTimeModel";"com::sun::star::beans::XFastPropertySet#optional";"getFastPropertyValue()"
+"OTimeModel";"com::sun::star::form::component::TimeField";"DefaultTime"
+"OTimeModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyState()"
+"OTimeModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyStates()"
+"OTimeModel";"com::sun::star::beans::XPropertyState#optional";"setPropertyToDefault()"
+"OTimeModel";"com::sun::star::beans::XPropertyState#optional";"getPropertyDefault()"
+"OTimeModel";"com::sun::star::form::validation::XValidatable";"setValidator()"
+"OTimeModel";"com::sun::star::form::validation::XValidatable";"getValidator()"
+"OTimeModel";"com::sun::star::form::binding::XBindableValue";"setValueBinding()"
+"OTimeModel";"com::sun::star::form::binding::XBindableValue";"getValueBinding()"
+"OTimeModel";"com::sun::star::form::FormControlModel";"ClassId"
+"OTimeModel";"com::sun::star::form::FormControlModel";"TabIndex#optional"
+"OTimeModel";"com::sun::star::form::FormControlModel";"Tag"
+"OTimeModel";"com::sun::star::container::XChild";"getParent()"
+"OTimeModel";"com::sun::star::container::XChild";"setParent()"
diff --git a/qadevOOo/objdsc/fps/com.sun.star.comp.ui.dialogs.FilePicker.csv b/qadevOOo/objdsc/fps/com.sun.star.comp.ui.dialogs.FilePicker.csv
new file mode 100644
index 000000000..dae1067f9
--- /dev/null
+++ b/qadevOOo/objdsc/fps/com.sun.star.comp.ui.dialogs.FilePicker.csv
@@ -0,0 +1,37 @@
+"FilePicker";"com::sun::star::ui::dialogs::XFilePicker";"setMultiSelectionMode()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePicker";"setDefaultName()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePicker";"setDisplayDirectory()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePicker";"getDisplayDirectory()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePicker";"getFiles()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePicker2";"getSelectedFiles()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerControlAccess#optional";"setValue()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerControlAccess#optional";"getValue()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerControlAccess#optional";"setLabel()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerControlAccess#optional";"getLabel()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerControlAccess#optional";"enableControl()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilterManager";"appendFilter()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilterManager";"setCurrentFilter()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilterManager";"getCurrentFilter()"
+"FilePicker";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"FilePicker";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"FilePicker";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"getSupportedImageFormats()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"getTargetColorDepth()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"getAvailableWidth()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"getAvailableHeight()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"setImage()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"setShowState()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePreview#optional";"getShowState()"
+"FilePicker";"com::sun::star::lang::XComponent";"dispose()"
+"FilePicker";"com::sun::star::lang::XComponent";"addEventListener()"
+"FilePicker";"com::sun::star::lang::XComponent";"removeEventListener()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilterGroupManager#optional";"appendFilterGroup()"
+"FilePicker";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerNotifier";"addFilePickerListener()"
+"FilePicker";"com::sun::star::ui::dialogs::XFilePickerNotifier";"removeFilePickerListener()"
+"FilePicker";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"FilePicker";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"FilePicker";"com::sun::star::util::XCancellable#optional";"cancel()"
+"FilePicker";"com::sun::star::ui::dialogs::FilePicker";"HelpURL#optional"
+"FilePicker";"com::sun::star::ui::dialogs::XExecutableDialog";"setTitle()"
+"FilePicker";"com::sun::star::ui::dialogs::XExecutableDialog";"execute()"
diff --git a/qadevOOo/objdsc/ftransl/com.sun.star.comp.datatransfer.DataFormatTranslator.csv b/qadevOOo/objdsc/ftransl/com.sun.star.comp.datatransfer.DataFormatTranslator.csv
new file mode 100644
index 000000000..b24f6e398
--- /dev/null
+++ b/qadevOOo/objdsc/ftransl/com.sun.star.comp.datatransfer.DataFormatTranslator.csv
@@ -0,0 +1,7 @@
+"DataFormatTranslator";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DataFormatTranslator";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DataFormatTranslator";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DataFormatTranslator";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"DataFormatTranslator";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"DataFormatTranslator";"com::sun::star::datatransfer::XDataFormatTranslator";"getSystemDataTypeFromDataFlavor()"
+"DataFormatTranslator";"com::sun::star::datatransfer::XDataFormatTranslator";"getDataFlavorFromSystemDataType()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ControlMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ControlMenuController.csv
new file mode 100644
index 000000000..3f1d133d4
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ControlMenuController.csv
@@ -0,0 +1,5 @@
+"ControlMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"ControlMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"ControlMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"ControlMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"ControlMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Desktop.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Desktop.csv
new file mode 100644
index 000000000..12690b1e8
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Desktop.csv
@@ -0,0 +1,37 @@
+"Desktop";"com::sun::star::task::XStatusIndicatorFactory#optional";"createStatusIndicator()"
+"Desktop";"com::sun::star::lang::XComponent";"dispose()"
+"Desktop";"com::sun::star::lang::XComponent";"addEventListener()"
+"Desktop";"com::sun::star::lang::XComponent";"removeEventListener()"
+"Desktop";"com::sun::star::frame::Frame";"Title"
+"Desktop";"com::sun::star::frame::Frame";"RecorderSupplier#optional"
+"Desktop";"com::sun::star::frame::XDispatchProviderInterception";"registerDispatchProviderInterceptor()"
+"Desktop";"com::sun::star::frame::XDispatchProviderInterception";"releaseDispatchProviderInterceptor()"
+"Desktop";"com::sun::star::frame::XFrame";"initialize()"
+"Desktop";"com::sun::star::frame::XFrame";"getContainerWindow()"
+"Desktop";"com::sun::star::frame::XFrame";"setCreator()"
+"Desktop";"com::sun::star::frame::XFrame";"getCreator()"
+"Desktop";"com::sun::star::frame::XFrame";"getName()"
+"Desktop";"com::sun::star::frame::XFrame";"setName()"
+"Desktop";"com::sun::star::frame::XFrame";"findFrame()"
+"Desktop";"com::sun::star::frame::XFrame";"isTop()"
+"Desktop";"com::sun::star::frame::XFrame";"activate()"
+"Desktop";"com::sun::star::frame::XFrame";"deactivate()"
+"Desktop";"com::sun::star::frame::XFrame";"isActive()"
+"Desktop";"com::sun::star::frame::XFrame";"setComponent()"
+"Desktop";"com::sun::star::frame::XFrame";"getComponentWindow()"
+"Desktop";"com::sun::star::frame::XFrame";"getController()"
+"Desktop";"com::sun::star::frame::XFrame";"contextChanged()"
+"Desktop";"com::sun::star::frame::XFrame";"addFrameActionListener()"
+"Desktop";"com::sun::star::frame::XFrame";"removeFrameActionListener()"
+"Desktop";"com::sun::star::frame::XComponentLoader";"loadComponentFromURL()"
+"Desktop";"com::sun::star::frame::XFramesSupplier";"getFrames()"
+"Desktop";"com::sun::star::frame::XFramesSupplier";"getActiveFrame()"
+"Desktop";"com::sun::star::frame::XFramesSupplier";"setActiveFrame()"
+"Desktop";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"Desktop";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"Desktop";"com::sun::star::frame::XDesktop";"terminate()"
+"Desktop";"com::sun::star::frame::XDesktop";"addTerminateListener()"
+"Desktop";"com::sun::star::frame::XDesktop";"removeTerminateListener()"
+"Desktop";"com::sun::star::frame::XDesktop";"getComponents()"
+"Desktop";"com::sun::star::frame::XDesktop";"getCurrentComponent()"
+"Desktop";"com::sun::star::frame::XDesktop";"getCurrentFrame()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorder.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorder.csv
new file mode 100644
index 000000000..2788976ae
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorder.csv
@@ -0,0 +1,10 @@
+"DispatchRecorder";"com::sun::star::container::XIndexAccess";"getCount()"
+"DispatchRecorder";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"DispatchRecorder";"com::sun::star::container::XElementAccess";"getElementType()"
+"DispatchRecorder";"com::sun::star::container::XElementAccess";"hasElements()"
+"DispatchRecorder";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"DispatchRecorder";"com::sun::star::frame::XDispatchRecorder";"startRecording()"
+"DispatchRecorder";"com::sun::star::frame::XDispatchRecorder";"endRecording()"
+"DispatchRecorder";"com::sun::star::frame::XDispatchRecorder";"recordDispatch()"
+"DispatchRecorder";"com::sun::star::frame::XDispatchRecorder";"recordDispatchAsComment()"
+"DispatchRecorder";"com::sun::star::frame::XDispatchRecorder";"getRecordedMacro()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorderSupplier.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorderSupplier.csv
new file mode 100644
index 000000000..6bc38e0fc
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.DispatchRecorderSupplier.csv
@@ -0,0 +1,3 @@
+"DispatchRecorderSupplier";"com::sun::star::frame::XDispatchRecorderSupplier";"setDispatchRecorder()"
+"DispatchRecorderSupplier";"com::sun::star::frame::XDispatchRecorderSupplier";"getDispatchRecorder()"
+"DispatchRecorderSupplier";"com::sun::star::frame::XDispatchRecorderSupplier";"dispatchAndRecord()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontMenuController.csv
new file mode 100644
index 000000000..9f9fdbbf4
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontMenuController.csv
@@ -0,0 +1,5 @@
+"FontMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"FontMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"FontMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"FontMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"FontMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontSizeMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontSizeMenuController.csv
new file mode 100644
index 000000000..51ba8b87c
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FontSizeMenuController.csv
@@ -0,0 +1,5 @@
+"FontSizeMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"FontSizeMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"FontSizeMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"FontSizeMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"FontSizeMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FooterMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FooterMenuController.csv
new file mode 100644
index 000000000..1cb5dc5f7
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.FooterMenuController.csv
@@ -0,0 +1,5 @@
+"FooterMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"FooterMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"FooterMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"FooterMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"FooterMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Frame.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Frame.csv
new file mode 100644
index 000000000..8311fb7d0
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.Frame.csv
@@ -0,0 +1,30 @@
+"Frame";"com::sun::star::task::XStatusIndicatorFactory#optional";"createStatusIndicator()"
+"Frame";"com::sun::star::lang::XComponent";"dispose()"
+"Frame";"com::sun::star::lang::XComponent";"addEventListener()"
+"Frame";"com::sun::star::lang::XComponent";"removeEventListener()"
+"Frame";"com::sun::star::frame::Frame";"Title"
+"Frame";"com::sun::star::frame::Frame";"RecorderSupplier#optional"
+"Frame";"com::sun::star::frame::XDispatchProviderInterception";"registerDispatchProviderInterceptor()"
+"Frame";"com::sun::star::frame::XDispatchProviderInterception";"releaseDispatchProviderInterceptor()"
+"Frame";"com::sun::star::frame::XFrame";"initialize()"
+"Frame";"com::sun::star::frame::XFrame";"getContainerWindow()"
+"Frame";"com::sun::star::frame::XFrame";"setCreator()"
+"Frame";"com::sun::star::frame::XFrame";"getCreator()"
+"Frame";"com::sun::star::frame::XFrame";"getName()"
+"Frame";"com::sun::star::frame::XFrame";"setName()"
+"Frame";"com::sun::star::frame::XFrame";"findFrame()"
+"Frame";"com::sun::star::frame::XFrame";"isTop()"
+"Frame";"com::sun::star::frame::XFrame";"activate()"
+"Frame";"com::sun::star::frame::XFrame";"deactivate()"
+"Frame";"com::sun::star::frame::XFrame";"isActive()"
+"Frame";"com::sun::star::frame::XFrame";"setComponent()"
+"Frame";"com::sun::star::frame::XFrame";"getComponentWindow()"
+"Frame";"com::sun::star::frame::XFrame";"getController()"
+"Frame";"com::sun::star::frame::XFrame";"contextChanged()"
+"Frame";"com::sun::star::frame::XFrame";"addFrameActionListener()"
+"Frame";"com::sun::star::frame::XFrame";"removeFrameActionListener()"
+"Frame";"com::sun::star::frame::XFramesSupplier";"getFrames()"
+"Frame";"com::sun::star::frame::XFramesSupplier";"getActiveFrame()"
+"Frame";"com::sun::star::frame::XFramesSupplier";"setActiveFrame()"
+"Frame";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"Frame";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.HeaderMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.HeaderMenuController.csv
new file mode 100644
index 000000000..2266f6e05
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.HeaderMenuController.csv
@@ -0,0 +1,5 @@
+"HeaderMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"HeaderMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"HeaderMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"HeaderMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"HeaderMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobExecutor.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobExecutor.csv
new file mode 100644
index 000000000..c50e467c9
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobExecutor.csv
@@ -0,0 +1 @@
+"JobExecutor";"com::sun::star::task::XJobExecutor";"trigger()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobHandler.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobHandler.csv
new file mode 100644
index 000000000..0101a5381
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.JobHandler.csv
@@ -0,0 +1,3 @@
+"JobHandler";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"JobHandler";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"JobHandler";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv
new file mode 100644
index 000000000..f45c6bcc3
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.LayoutManager.csv
@@ -0,0 +1,28 @@
+"LayoutManager";"com::sun::star::lang::XEventListener";"disposing()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"attachFrame()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"reset()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"getCurrentDockingArea()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"setDockingAreaAcceptor()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"createElement()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"destroyElement()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"getElement()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"getElements()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"showElement()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"hideElement()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"dockWindow()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"floatWindow()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"setElementSize()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"setElementPos()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"setElementPosSize()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"isElementVisible()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"isElementFloating()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"isElementDocked()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"getElementSize()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"getElementPos()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"lock()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"unlock()"
+"LayoutManager";"com::sun::star::frame::XLayoutManager";"doLayout()"
+"LayoutManager";"com::sun::star::ui::XUIConfigurationListener";"elementInserted()"
+"LayoutManager";"com::sun::star::ui::XUIConfigurationListener";"elementRemoved()"
+"LayoutManager";"com::sun::star::ui::XUIConfigurationListener";"elementReplaced()"
+"LayoutManager";"com::sun::star::frame::XFrameActionListener";"frameAction()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MacrosMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MacrosMenuController.csv
new file mode 100644
index 000000000..fc61766b9
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MacrosMenuController.csv
@@ -0,0 +1,5 @@
+"MacrosMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"MacrosMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"MacrosMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"MacrosMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"MacrosMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MailToDispatcher.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MailToDispatcher.csv
new file mode 100644
index 000000000..dde54c227
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MailToDispatcher.csv
@@ -0,0 +1,3 @@
+"MailToDispatcher";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"MailToDispatcher";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"MailToDispatcher";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MenuBarFactory.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MenuBarFactory.csv
new file mode 100644
index 000000000..ede480ffb
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.MenuBarFactory.csv
@@ -0,0 +1 @@
+"MenuBarFactory";"com::sun::star::ui::XUIElementFactory";"createUIElement()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleManager.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleManager.csv
new file mode 100644
index 000000000..106552499
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleManager.csv
@@ -0,0 +1,6 @@
+"ModuleManager";"com::sun::star::container::XNameAccess";"getByName()"
+"ModuleManager";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ModuleManager";"com::sun::star::container::XNameAccess";"hasByName()"
+"ModuleManager";"com::sun::star::frame::XModuleManager";"identify()"
+"ModuleManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"ModuleManager";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManager.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManager.csv
new file mode 100644
index 000000000..4153ba5f1
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManager.csv
@@ -0,0 +1,20 @@
+"ModuleUIConfigurationManager";"com::sun::star::ui::XModuleUIConfigurationManager";"isDefaultSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XModuleUIConfigurationManager";"getDefaultSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfiguration";"addConfigurationListener()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfiguration";"removeConfigurationListener()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"reset()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getUIElementsInfo()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"createSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"hasSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"replaceSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"removeSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"insertSettings()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getImageManager()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getShortCutManager()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getEventsManager()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"reload()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"store()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"storeToStorage()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"isModified()"
+"ModuleUIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"isReadOnly()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManagerSupplier.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManagerSupplier.csv
new file mode 100644
index 000000000..c471fa6aa
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ModuleUIConfigurationManagerSupplier.csv
@@ -0,0 +1 @@
+"ModuleUIConfigurationManagerSupplier";"com::sun::star::ui::XModuleUIConfigurationManagerSupplier";"getUIConfigurationManager()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ObjectMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ObjectMenuController.csv
new file mode 100644
index 000000000..72170bdf7
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ObjectMenuController.csv
@@ -0,0 +1,5 @@
+"ObjectMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"ObjectMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"ObjectMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"ObjectMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"ObjectMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.PopupMenuControllerFactory.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.PopupMenuControllerFactory.csv
new file mode 100644
index 000000000..518122ea3
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.PopupMenuControllerFactory.csv
@@ -0,0 +1,6 @@
+"PopupMenuControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithContext()"
+"PopupMenuControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithArgumentsAndContext()"
+"PopupMenuControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"getAvailableServiceNames()"
+"PopupMenuControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"hasController()"
+"PopupMenuControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"registerController()"
+"PopupMenuControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"deregisterController()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ServiceHandler.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ServiceHandler.csv
new file mode 100644
index 000000000..e128a7c9f
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ServiceHandler.csv
@@ -0,0 +1,3 @@
+"ServiceHandler";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"ServiceHandler";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"ServiceHandler";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.SoundHandler.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.SoundHandler.csv
new file mode 100644
index 000000000..4f07b7cb8
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.SoundHandler.csv
@@ -0,0 +1,4 @@
+"SoundHandler";"com::sun::star::frame::XDispatch";"dispatch()"
+"SoundHandler";"com::sun::star::frame::XDispatch";"addStatusListener()"
+"SoundHandler";"com::sun::star::frame::XDispatch";"removeStatusListener()"
+"SoundHandler";"com::sun::star::frame::XNotifyingDispatch";"dispatchWithNotification()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.StatusBarControllerFactory.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.StatusBarControllerFactory.csv
new file mode 100644
index 000000000..3ef744467
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.StatusBarControllerFactory.csv
@@ -0,0 +1,6 @@
+"StatusBarControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithContext()"
+"StatusBarControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithArgumentsAndContext()"
+"StatusBarControllerFactory";"com::sun::star::lang::XMultiComponentFactory";"getAvailableServiceNames()"
+"StatusBarControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"hasController()"
+"StatusBarControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"registerController()"
+"StatusBarControllerFactory";"com::sun::star::frame::XUIControllerRegistration";"deregisterController()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ToolBarsMenuController.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ToolBarsMenuController.csv
new file mode 100644
index 000000000..135edf872
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.ToolBarsMenuController.csv
@@ -0,0 +1,5 @@
+"ToolBarsMenuController";"com::sun::star::frame::XPopupMenuController";"setPopupMenu()"
+"ToolBarsMenuController";"com::sun::star::frame::XPopupMenuController";"updatePopupMenu()"
+"ToolBarsMenuController";"com::sun::star::lang::XEventListener";"disposing()"
+"ToolBarsMenuController";"com::sun::star::lang::XInitialization";"initialize()"
+"ToolBarsMenuController";"com::sun::star::frame::XStatusListener";"statusChanged()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICategoryDescription.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICategoryDescription.csv
new file mode 100644
index 000000000..029740878
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICategoryDescription.csv
@@ -0,0 +1,5 @@
+"UICategoryDescription";"com::sun::star::container::XNameAccess";"getByName()"
+"UICategoryDescription";"com::sun::star::container::XNameAccess";"getElementNames()"
+"UICategoryDescription";"com::sun::star::container::XNameAccess";"hasByName()"
+"UICategoryDescription";"com::sun::star::container::XElementAccess";"getElementType()"
+"UICategoryDescription";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICommandDescription.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICommandDescription.csv
new file mode 100644
index 000000000..85e87f324
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UICommandDescription.csv
@@ -0,0 +1,5 @@
+"UICommandDescription";"com::sun::star::container::XNameAccess";"getByName()"
+"UICommandDescription";"com::sun::star::container::XNameAccess";"getElementNames()"
+"UICommandDescription";"com::sun::star::container::XNameAccess";"hasByName()"
+"UICommandDescription";"com::sun::star::container::XElementAccess";"getElementType()"
+"UICommandDescription";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIConfigurationManager.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIConfigurationManager.csv
new file mode 100644
index 000000000..b7083cd78
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIConfigurationManager.csv
@@ -0,0 +1,23 @@
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationStorage";"setStorage()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationStorage";"hasStorage()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfiguration";"addConfigurationListener()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfiguration";"removeConfigurationListener()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"reset()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getUIElementsInfo()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"createSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"hasSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"replaceSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"removeSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"insertSettings()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getImageManager()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getShortCutManager()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationManager";"getEventsManager()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"reload()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"store()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"storeToStorage()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"isModified()"
+"UIConfigurationManager";"com::sun::star::ui::XUIConfigurationPersistence";"isReadOnly()"
+"UIConfigurationManager";"com::sun::star::lang::XComponent";"dispose()"
+"UIConfigurationManager";"com::sun::star::lang::XComponent";"addEventListener()"
+"UIConfigurationManager";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIElementFactoryManager.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIElementFactoryManager.csv
new file mode 100644
index 000000000..f0c0ab029
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.UIElementFactoryManager.csv
@@ -0,0 +1,5 @@
+"UIElementFactoryManager";"com::sun::star::ui::XUIElementFactory";"createUIElement()"
+"UIElementFactoryManager";"com::sun::star::ui::XUIElementFactoryRegistration";"getRegisteredFactories()"
+"UIElementFactoryManager";"com::sun::star::ui::XUIElementFactoryRegistration";"getFactory()"
+"UIElementFactoryManager";"com::sun::star::ui::XUIElementFactoryRegistration";"registerFactory()"
+"UIElementFactoryManager";"com::sun::star::ui::XUIElementFactoryRegistration";"deregisterFactory()"
diff --git a/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.URLTransformer.csv b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.URLTransformer.csv
new file mode 100644
index 000000000..9d68582e4
--- /dev/null
+++ b/qadevOOo/objdsc/fwk/com.sun.star.comp.framework.URLTransformer.csv
@@ -0,0 +1,4 @@
+"URLTransformer";"com::sun::star::util::XURLTransformer";"parseStrict()"
+"URLTransformer";"com::sun::star::util::XURLTransformer";"parseSmart()"
+"URLTransformer";"com::sun::star::util::XURLTransformer";"assemble()"
+"URLTransformer";"com::sun::star::util::XURLTransformer";"getPresentation()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.ContentHandlerFactory.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.ContentHandlerFactory.csv
new file mode 100644
index 000000000..cc444af15
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.ContentHandlerFactory.csv
@@ -0,0 +1,10 @@
+"ContentHandlerFactory";"com::sun::star::container::XNameAccess";"getByName()"
+"ContentHandlerFactory";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ContentHandlerFactory";"com::sun::star::container::XNameAccess";"hasByName()"
+"ContentHandlerFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByQuery()"
+"ContentHandlerFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByProperties()"
+"ContentHandlerFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"ContentHandlerFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"ContentHandlerFactory";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"ContentHandlerFactory";"com::sun::star::container::XElementAccess";"getElementType()"
+"ContentHandlerFactory";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FilterFactory.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FilterFactory.csv
new file mode 100644
index 000000000..3bf5cbc20
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FilterFactory.csv
@@ -0,0 +1,16 @@
+"FilterFactory";"com::sun::star::container::XNameAccess";"getByName()"
+"FilterFactory";"com::sun::star::container::XNameAccess";"getElementNames()"
+"FilterFactory";"com::sun::star::container::XNameAccess";"hasByName()"
+"FilterFactory";"com::sun::star::container::XNameReplace#optional";"replaceByName()"
+"FilterFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByQuery()"
+"FilterFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByProperties()"
+"FilterFactory";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"FilterFactory";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"FilterFactory";"com::sun::star::util::XFlushable#optional";"flush()"
+"FilterFactory";"com::sun::star::util::XFlushable#optional";"addFlushListener()"
+"FilterFactory";"com::sun::star::util::XFlushable#optional";"removeFlushListener()"
+"FilterFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"FilterFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"FilterFactory";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"FilterFactory";"com::sun::star::container::XElementAccess";"getElementType()"
+"FilterFactory";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FrameLoaderFactory.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FrameLoaderFactory.csv
new file mode 100644
index 000000000..b5b756432
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.FrameLoaderFactory.csv
@@ -0,0 +1,10 @@
+"FrameLoaderFactory";"com::sun::star::container::XNameAccess";"getByName()"
+"FrameLoaderFactory";"com::sun::star::container::XNameAccess";"getElementNames()"
+"FrameLoaderFactory";"com::sun::star::container::XNameAccess";"hasByName()"
+"FrameLoaderFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByQuery()"
+"FrameLoaderFactory";"com::sun::star::container::XContainerQuery";"createSubSetEnumerationByProperties()"
+"FrameLoaderFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"FrameLoaderFactory";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"FrameLoaderFactory";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"FrameLoaderFactory";"com::sun::star::container::XElementAccess";"getElementType()"
+"FrameLoaderFactory";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.PathSettings.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.PathSettings.csv
new file mode 100644
index 000000000..29a4a9f85
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.PathSettings.csv
@@ -0,0 +1,39 @@
+"PathSettings";"com::sun::star::util::PathSettings";"Addin"
+"PathSettings";"com::sun::star::util::PathSettings";"AutoCorrect"
+"PathSettings";"com::sun::star::util::PathSettings";"AutoText"
+"PathSettings";"com::sun::star::util::PathSettings";"Backup"
+"PathSettings";"com::sun::star::util::PathSettings";"Basic"
+"PathSettings";"com::sun::star::util::PathSettings";"Bitmap"
+"PathSettings";"com::sun::star::util::PathSettings";"Config"
+"PathSettings";"com::sun::star::util::PathSettings";"Dictionary"
+"PathSettings";"com::sun::star::util::PathSettings";"Favorite"
+"PathSettings";"com::sun::star::util::PathSettings";"Filter"
+"PathSettings";"com::sun::star::util::PathSettings";"Gallery"
+"PathSettings";"com::sun::star::util::PathSettings";"Graphic"
+"PathSettings";"com::sun::star::util::PathSettings";"Help"
+"PathSettings";"com::sun::star::util::PathSettings";"Linguistic"
+"PathSettings";"com::sun::star::util::PathSettings";"Module"
+"PathSettings";"com::sun::star::util::PathSettings";"Palette"
+"PathSettings";"com::sun::star::util::PathSettings";"Plugin"
+"PathSettings";"com::sun::star::util::PathSettings";"Storage"
+"PathSettings";"com::sun::star::util::PathSettings";"Temp"
+"PathSettings";"com::sun::star::util::PathSettings";"Template"
+"PathSettings";"com::sun::star::util::PathSettings";"UIConfig"
+"PathSettings";"com::sun::star::util::PathSettings";"UserConfig"
+"PathSettings";"com::sun::star::util::PathSettings";"UserDictionary"
+"PathSettings";"com::sun::star::util::PathSettings";"Work"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"PathSettings";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"PathSettings";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"PathSettings";"com::sun::star::beans::XFastPropertySet";"setFastPropertyValue()"
+"PathSettings";"com::sun::star::beans::XFastPropertySet";"getFastPropertyValue()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.SubstituteVariables.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.SubstituteVariables.csv
new file mode 100644
index 000000000..a9c186710
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.SubstituteVariables.csv
@@ -0,0 +1,3 @@
+"SubstituteVariables";"com::sun::star::util::XStringSubstitution";"substituteVariables()"
+"SubstituteVariables";"com::sun::star::util::XStringSubstitution";"reSubstituteVariables()"
+"SubstituteVariables";"com::sun::star::util::XStringSubstitution";"getSubstituteVariableValue()"
diff --git a/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.TypeDetection.csv b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.TypeDetection.csv
new file mode 100644
index 000000000..207ec3700
--- /dev/null
+++ b/qadevOOo/objdsc/fwl/com.sun.star.comp.framework.TypeDetection.csv
@@ -0,0 +1,15 @@
+"TypeDetection";"com::sun::star::container::XNameAccess";"getByName()"
+"TypeDetection";"com::sun::star::container::XNameAccess";"getElementNames()"
+"TypeDetection";"com::sun::star::container::XNameAccess";"hasByName()"
+"TypeDetection";"com::sun::star::container::XNameReplace#optional";"replaceByName()"
+"TypeDetection";"com::sun::star::container::XContainerQuery#optional";"createSubSetEnumerationByQuery()"
+"TypeDetection";"com::sun::star::container::XContainerQuery#optional";"createSubSetEnumerationByProperties()"
+"TypeDetection";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"TypeDetection";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"TypeDetection";"com::sun::star::util::XFlushable#optional";"flush()"
+"TypeDetection";"com::sun::star::util::XFlushable#optional";"addFlushListener()"
+"TypeDetection";"com::sun::star::util::XFlushable#optional";"removeFlushListener()"
+"TypeDetection";"com::sun::star::container::XElementAccess";"getElementType()"
+"TypeDetection";"com::sun::star::container::XElementAccess";"hasElements()"
+"TypeDetection";"com::sun::star::document::XTypeDetection";"queryTypeByURL()"
+"TypeDetection";"com::sun::star::document::XTypeDetection";"queryTypeByDescriptor()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.BreakIterator.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.BreakIterator.csv
new file mode 100644
index 000000000..f6c5e07f7
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.BreakIterator.csv
@@ -0,0 +1,23 @@
+"BreakIterator";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"BreakIterator";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"BreakIterator";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"nextCharacters()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"previousCharacters()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"nextWord()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"previousWord()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"getWordBoundary()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"getWordType()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"isBeginWord()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"isEndWord()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"beginOfSentence()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"endOfSentence()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"getLineBreak()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"beginOfScript()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"endOfScript()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"nextScript()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"previousScript()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"getScriptType()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"beginOfCharBlock()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"endOfCharBlock()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"nextCharBlock()"
+"BreakIterator";"com::sun::star::i18n::XBreakIterator";"previousCharBlock()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.CalendarImpl.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.CalendarImpl.csv
new file mode 100644
index 000000000..ee8ab03e2
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.CalendarImpl.csv
@@ -0,0 +1,24 @@
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"loadDefaultCalendar()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"loadCalendar()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getLoadedCalendar()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getAllCalendars()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getUniqueID()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"setDateTime()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getDateTime()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"setValue()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getValue()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"isValid()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"addValue()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getFirstDayOfWeek()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"setFirstDayOfWeek()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"setMinimumNumberOfDaysForFirstWeek()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getMinimumNumberOfDaysForFirstWeek()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getNumberOfMonthsInYear()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getNumberOfDaysInWeek()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getMonths()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getDays()"
+"CalendarImpl";"com::sun::star::i18n::XCalendar";"getDisplayName()"
+"CalendarImpl";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"CalendarImpl";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"CalendarImpl";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"CalendarImpl";"com::sun::star::i18n::XExtendedCalendar#optional";"getDisplayString()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.ChapterCollator.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.ChapterCollator.csv
new file mode 100644
index 000000000..2bcb67b6c
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.ChapterCollator.csv
@@ -0,0 +1,10 @@
+"ChapterCollator";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"ChapterCollator";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"ChapterCollator";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"compareSubstring()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"compareString()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"loadDefaultCollator()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"loadCollatorAlgorithm()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"listCollatorAlgorithms()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"loadCollatorAlgorithmWithEndUserOption()"
+"ChapterCollator";"com::sun::star::i18n::XCollator";"listCollatorOptions()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.CharacterClassification.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.CharacterClassification.csv
new file mode 100644
index 000000000..1bac53629
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.CharacterClassification.csv
@@ -0,0 +1,13 @@
+"CharacterClassification";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"CharacterClassification";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"CharacterClassification";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"toUpper()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"toLower()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"toTitle()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"getType()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"getCharacterDirection()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"getScript()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"getCharacterType()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"getStringType()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"parseAnyToken()"
+"CharacterClassification";"com::sun::star::i18n::XCharacterClassification";"parsePredefinedToken()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.Collator.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.Collator.csv
new file mode 100644
index 000000000..df3324157
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.Collator.csv
@@ -0,0 +1,10 @@
+"Collator";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"Collator";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"Collator";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"Collator";"com::sun::star::i18n::XCollator";"compareSubstring()"
+"Collator";"com::sun::star::i18n::XCollator";"compareString()"
+"Collator";"com::sun::star::i18n::XCollator";"loadDefaultCollator()"
+"Collator";"com::sun::star::i18n::XCollator";"loadCollatorAlgorithm()"
+"Collator";"com::sun::star::i18n::XCollator";"listCollatorAlgorithms()"
+"Collator";"com::sun::star::i18n::XCollator";"loadCollatorAlgorithmWithEndUserOption()"
+"Collator";"com::sun::star::i18n::XCollator";"listCollatorOptions()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.IndexEntrySupplier.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.IndexEntrySupplier.csv
new file mode 100644
index 000000000..537f8522b
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.IndexEntrySupplier.csv
@@ -0,0 +1,12 @@
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"getLocaleList()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"getAlgorithmList()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"usePhoneticEntry()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"getPhoneticCandidate()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"loadAlgorithm()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"getIndexKey()"
+"IndexEntrySupplier";"com::sun::star::i18n::XExtendedIndexEntrySupplier#optional";"compareIndexEntry()"
+"IndexEntrySupplier";"com::sun::star::i18n::XIndexEntrySupplier";"getIndexCharacter()"
+"IndexEntrySupplier";"com::sun::star::i18n::XIndexEntrySupplier";"getIndexFollowPageWord()"
+"IndexEntrySupplier";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"IndexEntrySupplier";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"IndexEntrySupplier";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.LocaleData.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.LocaleData.csv
new file mode 100644
index 000000000..0ad6a0b81
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.LocaleData.csv
@@ -0,0 +1,15 @@
+"LocaleData";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"LocaleData";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"LocaleData";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getLanguageCountryInfo()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getLocaleItem()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getAllCalendars()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getAllCurrencies()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getAllFormats()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getCollatorImplementations()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getSearchOptions()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getCollationOptions()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getTransliterations()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getForbiddenCharacters()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getReservedWord()"
+"LocaleData";"com::sun::star::i18n::XLocaleData";"getAllInstalledLocaleNames()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.NumberFormatCodeMapper.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.NumberFormatCodeMapper.csv
new file mode 100644
index 000000000..a21ceb721
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.NumberFormatCodeMapper.csv
@@ -0,0 +1,7 @@
+"NumberFormatCodeMapper";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"NumberFormatCodeMapper";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"NumberFormatCodeMapper";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"NumberFormatCodeMapper";"com::sun::star::i18n::XNumberFormatCode";"getDefault()"
+"NumberFormatCodeMapper";"com::sun::star::i18n::XNumberFormatCode";"getFormatCode()"
+"NumberFormatCodeMapper";"com::sun::star::i18n::XNumberFormatCode";"getAllFormatCode()"
+"NumberFormatCodeMapper";"com::sun::star::i18n::XNumberFormatCode";"getAllFormatCodes()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.i18n.Transliteration.csv b/qadevOOo/objdsc/i18n/com.sun.star.i18n.Transliteration.csv
new file mode 100644
index 000000000..00ba54824
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.i18n.Transliteration.csv
@@ -0,0 +1,19 @@
+"Transliteration";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"Transliteration";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"Transliteration";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"Transliteration";"com::sun::star::i18n::XExtendedTransliteration#optional";"transliterateString2String()"
+"Transliteration";"com::sun::star::i18n::XExtendedTransliteration#optional";"transliterateChar2String()"
+"Transliteration";"com::sun::star::i18n::XExtendedTransliteration#optional";"transliterateChar2Char()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"getName()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"getType()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"loadModule()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"loadModuleNew()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"loadModuleByImplName()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"loadModulesByImplNames()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"getAvailableModules()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"transliterate()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"folding()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"equals()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"transliterateRange()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"compareSubstring()"
+"Transliteration";"com::sun::star::i18n::XTransliteration";"compareString()"
diff --git a/qadevOOo/objdsc/i18n/com.sun.star.util.TextSearch.csv b/qadevOOo/objdsc/i18n/com.sun.star.util.TextSearch.csv
new file mode 100644
index 000000000..6cb6ae9ff
--- /dev/null
+++ b/qadevOOo/objdsc/i18n/com.sun.star.util.TextSearch.csv
@@ -0,0 +1,3 @@
+"TextSearch";"com::sun::star::util::XTextSearch";"setOptions()"
+"TextSearch";"com::sun::star::util::XTextSearch";"searchForward()"
+"TextSearch";"com::sun::star::util::XTextSearch";"searchBackward()"
diff --git a/qadevOOo/objdsc/implreg.uno/com.sun.star.comp.stoc.ImplementationRegistration.csv b/qadevOOo/objdsc/implreg.uno/com.sun.star.comp.stoc.ImplementationRegistration.csv
new file mode 100644
index 000000000..9534af931
--- /dev/null
+++ b/qadevOOo/objdsc/implreg.uno/com.sun.star.comp.stoc.ImplementationRegistration.csv
@@ -0,0 +1,4 @@
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"registerImplementation()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"revokeImplementation()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"getImplementations()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"checkInstantiation()"
diff --git a/qadevOOo/objdsc/impreg/com.sun.star.comp.stoc.ImplementationRegistration.csv b/qadevOOo/objdsc/impreg/com.sun.star.comp.stoc.ImplementationRegistration.csv
new file mode 100644
index 000000000..9534af931
--- /dev/null
+++ b/qadevOOo/objdsc/impreg/com.sun.star.comp.stoc.ImplementationRegistration.csv
@@ -0,0 +1,4 @@
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"registerImplementation()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"revokeImplementation()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"getImplementations()"
+"ImplementationRegistration";"com::sun::star::registry::XImplementationRegistration";"checkInstantiation()"
diff --git a/qadevOOo/objdsc/insp/com.sun.star.comp.stoc.Introspection.csv b/qadevOOo/objdsc/insp/com.sun.star.comp.stoc.Introspection.csv
new file mode 100644
index 000000000..430bd5f0c
--- /dev/null
+++ b/qadevOOo/objdsc/insp/com.sun.star.comp.stoc.Introspection.csv
@@ -0,0 +1 @@
+"Introspection";"com::sun::star::beans::XIntrospection";"inspect()"
diff --git a/qadevOOo/objdsc/introspection.uno/com.sun.star.comp.stoc.Introspection.csv b/qadevOOo/objdsc/introspection.uno/com.sun.star.comp.stoc.Introspection.csv
new file mode 100644
index 000000000..430bd5f0c
--- /dev/null
+++ b/qadevOOo/objdsc/introspection.uno/com.sun.star.comp.stoc.Introspection.csv
@@ -0,0 +1 @@
+"Introspection";"com::sun::star::beans::XIntrospection";"inspect()"
diff --git a/qadevOOo/objdsc/inv/com.sun.star.comp.stoc.Invocation.csv b/qadevOOo/objdsc/inv/com.sun.star.comp.stoc.Invocation.csv
new file mode 100644
index 000000000..9e909a88d
--- /dev/null
+++ b/qadevOOo/objdsc/inv/com.sun.star.comp.stoc.Invocation.csv
@@ -0,0 +1,2 @@
+"Invocation";"com::sun::star::lang::XSingleServiceFactory";"createInstance()"
+"Invocation";"com::sun::star::lang::XSingleServiceFactory";"createInstanceWithArguments()"
diff --git a/qadevOOo/objdsc/invadp/com.sun.star.comp.stoc.InvocationAdapterFactory.csv b/qadevOOo/objdsc/invadp/com.sun.star.comp.stoc.InvocationAdapterFactory.csv
new file mode 100644
index 000000000..34288d0f4
--- /dev/null
+++ b/qadevOOo/objdsc/invadp/com.sun.star.comp.stoc.InvocationAdapterFactory.csv
@@ -0,0 +1,2 @@
+"InvocationAdapterFactory";"com::sun::star::script::XInvocationAdapterFactory2";"createAdapter()"
+"InvocationAdapterFactory";"com::sun::star::script::XInvocationAdapterFactory";"createAdapter()"
diff --git a/qadevOOo/objdsc/invocadapt.uno/com.sun.star.comp.stoc.InvocationAdapterFactory.csv b/qadevOOo/objdsc/invocadapt.uno/com.sun.star.comp.stoc.InvocationAdapterFactory.csv
new file mode 100644
index 000000000..34288d0f4
--- /dev/null
+++ b/qadevOOo/objdsc/invocadapt.uno/com.sun.star.comp.stoc.InvocationAdapterFactory.csv
@@ -0,0 +1,2 @@
+"InvocationAdapterFactory";"com::sun::star::script::XInvocationAdapterFactory2";"createAdapter()"
+"InvocationAdapterFactory";"com::sun::star::script::XInvocationAdapterFactory";"createAdapter()"
diff --git a/qadevOOo/objdsc/invocation.uno/com.sun.star.comp.stoc.Invocation.csv b/qadevOOo/objdsc/invocation.uno/com.sun.star.comp.stoc.Invocation.csv
new file mode 100644
index 000000000..9e909a88d
--- /dev/null
+++ b/qadevOOo/objdsc/invocation.uno/com.sun.star.comp.stoc.Invocation.csv
@@ -0,0 +1,2 @@
+"Invocation";"com::sun::star::lang::XSingleServiceFactory";"createInstance()"
+"Invocation";"com::sun::star::lang::XSingleServiceFactory";"createInstanceWithArguments()"
diff --git a/qadevOOo/objdsc/javaloader.uno/com.sun.star.comp.stoc.JavaComponentLoader.csv b/qadevOOo/objdsc/javaloader.uno/com.sun.star.comp.stoc.JavaComponentLoader.csv
new file mode 100644
index 000000000..aef8f402f
--- /dev/null
+++ b/qadevOOo/objdsc/javaloader.uno/com.sun.star.comp.stoc.JavaComponentLoader.csv
@@ -0,0 +1,5 @@
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"JavaComponentLoader";"com::sun::star::loader::XImplementationLoader";"activate()"
+"JavaComponentLoader";"com::sun::star::loader::XImplementationLoader";"writeRegistryInfo()"
diff --git a/qadevOOo/objdsc/javaloader/com.sun.star.comp.stoc.JavaComponentLoader.csv b/qadevOOo/objdsc/javaloader/com.sun.star.comp.stoc.JavaComponentLoader.csv
new file mode 100644
index 000000000..aef8f402f
--- /dev/null
+++ b/qadevOOo/objdsc/javaloader/com.sun.star.comp.stoc.JavaComponentLoader.csv
@@ -0,0 +1,5 @@
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"JavaComponentLoader";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"JavaComponentLoader";"com::sun::star::loader::XImplementationLoader";"activate()"
+"JavaComponentLoader";"com::sun::star::loader::XImplementationLoader";"writeRegistryInfo()"
diff --git a/qadevOOo/objdsc/javavm.uno/com.sun.star.comp.stoc.JavaVirtualMachine.csv b/qadevOOo/objdsc/javavm.uno/com.sun.star.comp.stoc.JavaVirtualMachine.csv
new file mode 100644
index 000000000..04c3aac55
--- /dev/null
+++ b/qadevOOo/objdsc/javavm.uno/com.sun.star.comp.stoc.JavaVirtualMachine.csv
@@ -0,0 +1,6 @@
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"isThreadAttached()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"registerThread()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"revokeThread()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"getJavaVM()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"isVMStarted()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"isVMEnabled()"
diff --git a/qadevOOo/objdsc/jdbc/com.sun.star.comp.sdbc.JDBCDriver.csv b/qadevOOo/objdsc/jdbc/com.sun.star.comp.sdbc.JDBCDriver.csv
new file mode 100644
index 000000000..da415511f
--- /dev/null
+++ b/qadevOOo/objdsc/jdbc/com.sun.star.comp.sdbc.JDBCDriver.csv
@@ -0,0 +1,5 @@
+"JDBCDriver";"com::sun::star::sdbc::XDriver";"connect()"
+"JDBCDriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"JDBCDriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"JDBCDriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"JDBCDriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
diff --git a/qadevOOo/objdsc/jen/com.sun.star.comp.stoc.JavaVirtualMachine.csv b/qadevOOo/objdsc/jen/com.sun.star.comp.stoc.JavaVirtualMachine.csv
new file mode 100644
index 000000000..04c3aac55
--- /dev/null
+++ b/qadevOOo/objdsc/jen/com.sun.star.comp.stoc.JavaVirtualMachine.csv
@@ -0,0 +1,6 @@
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"isThreadAttached()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"registerThread()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaThreadRegister_11";"revokeThread()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"getJavaVM()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"isVMStarted()"
+"JavaVirtualMachine";"com::sun::star::java::XJavaVM";"isVMEnabled()"
diff --git a/qadevOOo/objdsc/lng/com.sun.star.lingu2.DicList.csv b/qadevOOo/objdsc/lng/com.sun.star.lingu2.DicList.csv
new file mode 100644
index 000000000..b8406e4b4
--- /dev/null
+++ b/qadevOOo/objdsc/lng/com.sun.star.lingu2.DicList.csv
@@ -0,0 +1,18 @@
+"DicList";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DicList";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DicList";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DicList";"com::sun::star::lang::XComponent";"dispose()"
+"DicList";"com::sun::star::lang::XComponent";"addEventListener()"
+"DicList";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"getCount()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"getDictionaries()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"getDictionaryByName()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"addDictionary()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"removeDictionary()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"addDictionaryListEventListener()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"removeDictionaryListEventListener()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"beginCollectEvents()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"endCollectEvents()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"flushEvents()"
+"DicList";"com::sun::star::linguistic2::XDictionaryList";"createDictionary()"
+"DicList";"com::sun::star::linguistic2::XSearchableDictionaryList";"queryDictionaryEntry()"
diff --git a/qadevOOo/objdsc/lng/com.sun.star.lingu2.LinguProps.csv b/qadevOOo/objdsc/lng/com.sun.star.lingu2.LinguProps.csv
new file mode 100644
index 000000000..eea62d32c
--- /dev/null
+++ b/qadevOOo/objdsc/lng/com.sun.star.lingu2.LinguProps.csv
@@ -0,0 +1,34 @@
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsGermanPreReform"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsUseDictionaryList"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsIgnoreControlCharacters"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellUpperCase"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellWithDigits"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellCapitalization"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"HyphMinLeading"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"HyphMinTrailing"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"HyphMinWordLength"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"DefaultLocale"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsHyphAuto"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsHyphSpecial"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellAuto"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellHide"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellInAllLanguages"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsSpellSpecial"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"IsWrapReverse"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"DefaultLocale_CJK"
+"LinguProps";"com::sun::star::linguistic2::LinguProperties";"DefaultLocale_CTL"
+"LinguProps";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"LinguProps";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"LinguProps";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"LinguProps";"com::sun::star::lang::XComponent";"dispose()"
+"LinguProps";"com::sun::star::lang::XComponent";"addEventListener()"
+"LinguProps";"com::sun::star::lang::XComponent";"removeEventListener()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"LinguProps";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"LinguProps";"com::sun::star::beans::XFastPropertySet";"setFastPropertyValue()"
+"LinguProps";"com::sun::star::beans::XFastPropertySet";"getFastPropertyValue()"
diff --git a/qadevOOo/objdsc/lng/com.sun.star.lingu2.LngSvcMgr.csv b/qadevOOo/objdsc/lng/com.sun.star.lingu2.LngSvcMgr.csv
new file mode 100644
index 000000000..85205b393
--- /dev/null
+++ b/qadevOOo/objdsc/lng/com.sun.star.lingu2.LngSvcMgr.csv
@@ -0,0 +1,15 @@
+"LngSvcMgr";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"LngSvcMgr";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"LngSvcMgr";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"LngSvcMgr";"com::sun::star::lang::XComponent";"dispose()"
+"LngSvcMgr";"com::sun::star::lang::XComponent";"addEventListener()"
+"LngSvcMgr";"com::sun::star::lang::XComponent";"removeEventListener()"
+"LngSvcMgr";"com::sun::star::linguistic2::XAvailableLocales";"getAvailableLocales()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager2";"getSpellChecker()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager2";"getHyphenator()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager2";"getThesaurus()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager2";"addLinguServiceManagerListener()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager2";"removeLinguServiceManagerListener()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager2";"getAvailableServices()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager2";"setConfiguredServices()"
+"LngSvcMgr";"com::sun::star::linguistic2::XLinguServiceManager2";"getConfiguredServices()"
diff --git a/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Hyphenator.csv b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Hyphenator.csv
new file mode 100644
index 000000000..da591a43a
--- /dev/null
+++ b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Hyphenator.csv
@@ -0,0 +1,15 @@
+"Hyphenator";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"Hyphenator";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"Hyphenator";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"Hyphenator";"com::sun::star::lang::XComponent";"dispose()"
+"Hyphenator";"com::sun::star::lang::XComponent";"addEventListener()"
+"Hyphenator";"com::sun::star::lang::XComponent";"removeEventListener()"
+"Hyphenator";"com::sun::star::lang::XInitialization";"initialize()"
+"Hyphenator";"com::sun::star::linguistic2::XHyphenator";"hyphenate()"
+"Hyphenator";"com::sun::star::linguistic2::XHyphenator";"queryAlternativeSpelling()"
+"Hyphenator";"com::sun::star::linguistic2::XHyphenator";"createPossibleHyphens()"
+"Hyphenator";"com::sun::star::linguistic2::XSupportedLocales";"getLocales()"
+"Hyphenator";"com::sun::star::linguistic2::XSupportedLocales";"hasLocale()"
+"Hyphenator";"com::sun::star::lang::XServiceDisplayName";"getServiceDisplayName()"
+"Hyphenator";"com::sun::star::linguistic2::XLinguServiceEventBroadcaster";"addLinguServiceEventListener()"
+"Hyphenator";"com::sun::star::linguistic2::XLinguServiceEventBroadcaster";"removeLinguServiceEventListener()"
diff --git a/qadevOOo/objdsc/lnn/com.sun.star.lingu2.SpellChecker.csv b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.SpellChecker.csv
new file mode 100644
index 000000000..a1e42aa6c
--- /dev/null
+++ b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.SpellChecker.csv
@@ -0,0 +1,14 @@
+"SpellChecker";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SpellChecker";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SpellChecker";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SpellChecker";"com::sun::star::lang::XComponent";"dispose()"
+"SpellChecker";"com::sun::star::lang::XComponent";"addEventListener()"
+"SpellChecker";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SpellChecker";"com::sun::star::lang::XInitialization";"initialize()"
+"SpellChecker";"com::sun::star::linguistic2::XSupportedLocales";"getLocales()"
+"SpellChecker";"com::sun::star::linguistic2::XSupportedLocales";"hasLocale()"
+"SpellChecker";"com::sun::star::lang::XServiceDisplayName";"getServiceDisplayName()"
+"SpellChecker";"com::sun::star::linguistic2::XLinguServiceEventBroadcaster";"addLinguServiceEventListener()"
+"SpellChecker";"com::sun::star::linguistic2::XLinguServiceEventBroadcaster";"removeLinguServiceEventListener()"
+"SpellChecker";"com::sun::star::linguistic2::XSpellChecker";"isValid()"
+"SpellChecker";"com::sun::star::linguistic2::XSpellChecker";"spell()"
diff --git a/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Thesaurus.csv b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Thesaurus.csv
new file mode 100644
index 000000000..a8803f365
--- /dev/null
+++ b/qadevOOo/objdsc/lnn/com.sun.star.lingu2.Thesaurus.csv
@@ -0,0 +1,11 @@
+"Thesaurus";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"Thesaurus";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"Thesaurus";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"Thesaurus";"com::sun::star::lang::XComponent";"dispose()"
+"Thesaurus";"com::sun::star::lang::XComponent";"addEventListener()"
+"Thesaurus";"com::sun::star::lang::XComponent";"removeEventListener()"
+"Thesaurus";"com::sun::star::lang::XInitialization";"initialize()"
+"Thesaurus";"com::sun::star::linguistic2::XSupportedLocales";"getLocales()"
+"Thesaurus";"com::sun::star::linguistic2::XSupportedLocales";"hasLocale()"
+"Thesaurus";"com::sun::star::lang::XServiceDisplayName";"getServiceDisplayName()"
+"Thesaurus";"com::sun::star::linguistic2::XThesaurus";"queryMeanings()"
diff --git a/qadevOOo/objdsc/mcnttype/com.sun.star.comp.datatransfer.MimeContentTypeFactory.csv b/qadevOOo/objdsc/mcnttype/com.sun.star.comp.datatransfer.MimeContentTypeFactory.csv
new file mode 100644
index 000000000..5658f170c
--- /dev/null
+++ b/qadevOOo/objdsc/mcnttype/com.sun.star.comp.datatransfer.MimeContentTypeFactory.csv
@@ -0,0 +1,6 @@
+"MimeContentTypeFactory";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"MimeContentTypeFactory";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"MimeContentTypeFactory";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"MimeContentTypeFactory";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"MimeContentTypeFactory";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"MimeContentTypeFactory";"com::sun::star::datatransfer::XMimeContentTypeFactory";"createMimeContentType()"
diff --git a/qadevOOo/objdsc/mozab/com.sun.star.comp.sdbc.MozabDriver.csv b/qadevOOo/objdsc/mozab/com.sun.star.comp.sdbc.MozabDriver.csv
new file mode 100644
index 000000000..acb7cac7a
--- /dev/null
+++ b/qadevOOo/objdsc/mozab/com.sun.star.comp.sdbc.MozabDriver.csv
@@ -0,0 +1,5 @@
+"MozabDriver";"com::sun::star::sdbc::XDriver";"connect()"
+"MozabDriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"MozabDriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"MozabDriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"MozabDriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
diff --git a/qadevOOo/objdsc/namingservice.uno/com.sun.star.comp.stoc.NamingService.csv b/qadevOOo/objdsc/namingservice.uno/com.sun.star.comp.stoc.NamingService.csv
new file mode 100644
index 000000000..c4c21bb51
--- /dev/null
+++ b/qadevOOo/objdsc/namingservice.uno/com.sun.star.comp.stoc.NamingService.csv
@@ -0,0 +1,3 @@
+"NamingService";"com::sun::star::uno::XNamingService";"getRegisteredObject()"
+"NamingService";"com::sun::star::uno::XNamingService";"registerObject()"
+"NamingService";"com::sun::star::uno::XNamingService";"revokeObject()"
diff --git a/qadevOOo/objdsc/namingservice/com.sun.star.comp.stoc.NamingService.csv b/qadevOOo/objdsc/namingservice/com.sun.star.comp.stoc.NamingService.csv
new file mode 100644
index 000000000..c4c21bb51
--- /dev/null
+++ b/qadevOOo/objdsc/namingservice/com.sun.star.comp.stoc.NamingService.csv
@@ -0,0 +1,3 @@
+"NamingService";"com::sun::star::uno::XNamingService";"getRegisteredObject()"
+"NamingService";"com::sun::star::uno::XNamingService";"registerObject()"
+"NamingService";"com::sun::star::uno::XNamingService";"revokeObject()"
diff --git a/qadevOOo/objdsc/nestedreg.uno/com.sun.star.comp.stoc.NestedRegistry.csv b/qadevOOo/objdsc/nestedreg.uno/com.sun.star.comp.stoc.NestedRegistry.csv
new file mode 100644
index 000000000..cf4cd3cef
--- /dev/null
+++ b/qadevOOo/objdsc/nestedreg.uno/com.sun.star.comp.stoc.NestedRegistry.csv
@@ -0,0 +1,9 @@
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"getURL()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"open()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"isValid()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"close()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"destroy()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"getRootKey()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"isReadOnly()"
+"NestedRegistry";"com::sun::star::registry::XSimpleRegistry";"mergeKey()"
+"NestedRegistry";"com::sun::star::lang::XInitialization";"initialize()"
diff --git a/qadevOOo/objdsc/odbc/com.sun.star.comp.sdbc.ODBCDriver.csv b/qadevOOo/objdsc/odbc/com.sun.star.comp.sdbc.ODBCDriver.csv
new file mode 100644
index 000000000..58a1360c6
--- /dev/null
+++ b/qadevOOo/objdsc/odbc/com.sun.star.comp.sdbc.ODBCDriver.csv
@@ -0,0 +1,5 @@
+"ODBCDriver";"com::sun::star::sdbc::XDriver";"connect()"
+"ODBCDriver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"ODBCDriver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"ODBCDriver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"ODBCDriver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
diff --git a/qadevOOo/objdsc/odbc/org.openoffice.comp.drivers.MySQL.Driver.csv b/qadevOOo/objdsc/odbc/org.openoffice.comp.drivers.MySQL.Driver.csv
new file mode 100644
index 000000000..4dd7824f9
--- /dev/null
+++ b/qadevOOo/objdsc/odbc/org.openoffice.comp.drivers.MySQL.Driver.csv
@@ -0,0 +1,9 @@
+"Driver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByConnection()"
+"Driver";"com::sun::star::sdbcx::XDataDefinitionSupplier";"getDataDefinitionByURL()"
+"Driver";"com::sun::star::sdbcx::XCreateCatalog#optional";"createCatalog()"
+"Driver";"com::sun::star::sdbc::XDriver";"connect()"
+"Driver";"com::sun::star::sdbc::XDriver";"acceptsURL()"
+"Driver";"com::sun::star::sdbc::XDriver";"getPropertyInfo()"
+"Driver";"com::sun::star::sdbc::XDriver";"getMajorVersion()"
+"Driver";"com::sun::star::sdbc::XDriver";"getMinorVersion()"
+"Driver";"com::sun::star::sdbcx::XDropCatalog#optional";"dropCatalog()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.ButtonNavigationHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.ButtonNavigationHandler.csv
new file mode 100644
index 000000000..74e7acf5d
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.ButtonNavigationHandler.csv
@@ -0,0 +1,19 @@
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"ButtonNavigationHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"ButtonNavigationHandler";"com::sun::star::lang::XComponent";"dispose()"
+"ButtonNavigationHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"ButtonNavigationHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.CellBindingPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.CellBindingPropertyHandler.csv
new file mode 100644
index 000000000..bcbbdb299
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.CellBindingPropertyHandler.csv
@@ -0,0 +1,19 @@
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"CellBindingPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"CellBindingPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"CellBindingPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"CellBindingPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.DefaultFormComponentInspectorModel.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.DefaultFormComponentInspectorModel.csv
new file mode 100644
index 000000000..1ad82e890
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.DefaultFormComponentInspectorModel.csv
@@ -0,0 +1,7 @@
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"describeCategories()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"getPropertyOrderIndex()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"HandlerFactories()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"HasHelpSection()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"MinHelpTextLines()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"MaxHelpTextLines()"
+"DefaultFormComponentInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"IsReadOnly()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EFormsPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EFormsPropertyHandler.csv
new file mode 100644
index 000000000..6db082331
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EFormsPropertyHandler.csv
@@ -0,0 +1,19 @@
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"EFormsPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"EFormsPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"EFormsPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"EFormsPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EditPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EditPropertyHandler.csv
new file mode 100644
index 000000000..8e2e5988b
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EditPropertyHandler.csv
@@ -0,0 +1,19 @@
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"EditPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"EditPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"EditPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"EditPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EventHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EventHandler.csv
new file mode 100644
index 000000000..02cdd1344
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.EventHandler.csv
@@ -0,0 +1,19 @@
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"EventHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"EventHandler";"com::sun::star::lang::XComponent";"dispose()"
+"EventHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"EventHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.FormComponentPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.FormComponentPropertyHandler.csv
new file mode 100644
index 000000000..cf7889577
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.FormComponentPropertyHandler.csv
@@ -0,0 +1,19 @@
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"FormComponentPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"FormComponentPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"FormComponentPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"FormComponentPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.GenericPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.GenericPropertyHandler.csv
new file mode 100644
index 000000000..d29d0df55
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.GenericPropertyHandler.csv
@@ -0,0 +1,19 @@
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"GenericPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"GenericPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"GenericPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"GenericPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.XSDValidationPropertyHandler.csv b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.XSDValidationPropertyHandler.csv
new file mode 100644
index 000000000..689031e8c
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/com.sun.star.comp.extensions.XSDValidationPropertyHandler.csv
@@ -0,0 +1,19 @@
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"inspect()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyValue()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"setPropertyValue()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getPropertyState()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"describePropertyLine()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToPropertyValue()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"convertToControlValue()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"addPropertyChangeListener()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"removePropertyChangeListener()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupportedProperties()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getSupersededProperties()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"getActuatingProperties()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"isComposable()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"onInteractivePropertySelection()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"actuatingPropertyChanged()"
+"XSDValidationPropertyHandler";"com::sun::star::inspection::XPropertyHandler";"suspend()"
+"XSDValidationPropertyHandler";"com::sun::star::lang::XComponent";"dispose()"
+"XSDValidationPropertyHandler";"com::sun::star::lang::XComponent";"addEventListener()"
+"XSDValidationPropertyHandler";"com::sun::star::lang::XComponent";"removeEventListener()"
diff --git a/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.FormController.csv b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.FormController.csv
new file mode 100644
index 000000000..68338f4ff
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.FormController.csv
@@ -0,0 +1,27 @@
+"FormController";"com::sun::star::lang::XComponent";"dispose()"
+"FormController";"com::sun::star::lang::XComponent";"addEventListener()"
+"FormController";"com::sun::star::lang::XComponent";"removeEventListener()"
+"FormController";"com::sun::star::form::PropertyBrowserController";"IntrospectedObject"
+"FormController";"com::sun::star::form::PropertyBrowserController";"CurrentPage"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"FormController";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"FormController";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"FormController";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"FormController";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"FormController";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"FormController";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"FormController";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"FormController";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"FormController";"com::sun::star::beans::XFastPropertySet";"setFastPropertyValue()"
+"FormController";"com::sun::star::beans::XFastPropertySet";"getFastPropertyValue()"
+"FormController";"com::sun::star::frame::XController";"attachFrame()"
+"FormController";"com::sun::star::frame::XController";"attachModel()"
+"FormController";"com::sun::star::frame::XController";"suspend()"
+"FormController";"com::sun::star::frame::XController";"getViewData()"
+"FormController";"com::sun::star::frame::XController";"restoreViewData()"
+"FormController";"com::sun::star::frame::XController";"getModel()"
+"FormController";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspector.csv b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspector.csv
new file mode 100644
index 000000000..187561999
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspector.csv
@@ -0,0 +1,13 @@
+"ObjectInspector";"com::sun::star::lang::XComponent";"dispose()"
+"ObjectInspector";"com::sun::star::lang::XComponent";"addEventListener()"
+"ObjectInspector";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ObjectInspector";"com::sun::star::inspection::XObjectInspector";"inspect()"
+"ObjectInspector";"com::sun::star::inspection::XObjectInspector";"InspectorModel()"
+"ObjectInspector";"com::sun::star::inspection::XObjectInspector";"InspectorUI()"
+"ObjectInspector";"com::sun::star::frame::XController";"attachFrame()"
+"ObjectInspector";"com::sun::star::frame::XController";"attachModel()"
+"ObjectInspector";"com::sun::star::frame::XController";"suspend()"
+"ObjectInspector";"com::sun::star::frame::XController";"getViewData()"
+"ObjectInspector";"com::sun::star::frame::XController";"restoreViewData()"
+"ObjectInspector";"com::sun::star::frame::XController";"getModel()"
+"ObjectInspector";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspectorModel.csv b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspectorModel.csv
new file mode 100644
index 000000000..6420fe934
--- /dev/null
+++ b/qadevOOo/objdsc/pcr/org.openoffice.comp.extensions.ObjectInspectorModel.csv
@@ -0,0 +1,7 @@
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"describeCategories()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"getPropertyOrderIndex()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"HandlerFactories()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"HasHelpSection()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"MinHelpTextLines()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"MaxHelpTextLines()"
+"ObjectInspectorModel";"com::sun::star::inspection::XObjectInspectorModel";"IsReadOnly()"
diff --git a/qadevOOo/objdsc/proxyfac.uno/com.sun.star.comp.stoc.ProxyFactory.csv b/qadevOOo/objdsc/proxyfac.uno/com.sun.star.comp.stoc.ProxyFactory.csv
new file mode 100644
index 000000000..9021cd2b1
--- /dev/null
+++ b/qadevOOo/objdsc/proxyfac.uno/com.sun.star.comp.stoc.ProxyFactory.csv
@@ -0,0 +1 @@
+"ProxyFactory";"com::sun::star::reflection::XProxyFactory";"createProxy()"
diff --git a/qadevOOo/objdsc/proxyfac/com.sun.star.comp.stoc.ProxyFactory.csv b/qadevOOo/objdsc/proxyfac/com.sun.star.comp.stoc.ProxyFactory.csv
new file mode 100644
index 000000000..9021cd2b1
--- /dev/null
+++ b/qadevOOo/objdsc/proxyfac/com.sun.star.comp.stoc.ProxyFactory.csv
@@ -0,0 +1 @@
+"ProxyFactory";"com::sun::star::reflection::XProxyFactory";"createProxy()"
diff --git a/qadevOOo/objdsc/rdbtdp/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv b/qadevOOo/objdsc/rdbtdp/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv
new file mode 100644
index 000000000..29822fbf0
--- /dev/null
+++ b/qadevOOo/objdsc/rdbtdp/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv
@@ -0,0 +1,6 @@
+"RegistryTypeDescriptionProvider";"com::sun::star::reflection::XTypeDescriptionEnumerationAccess#optional";"createTypeDescriptionEnumeration()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"dispose()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"addEventListener()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"removeEventListener()"
+"RegistryTypeDescriptionProvider";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"RegistryTypeDescriptionProvider";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
diff --git a/qadevOOo/objdsc/regtypeprov.uno/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv b/qadevOOo/objdsc/regtypeprov.uno/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv
new file mode 100644
index 000000000..29822fbf0
--- /dev/null
+++ b/qadevOOo/objdsc/regtypeprov.uno/com.sun.star.comp.stoc.RegistryTypeDescriptionProvider.csv
@@ -0,0 +1,6 @@
+"RegistryTypeDescriptionProvider";"com::sun::star::reflection::XTypeDescriptionEnumerationAccess#optional";"createTypeDescriptionEnumeration()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"dispose()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"addEventListener()"
+"RegistryTypeDescriptionProvider";"com::sun::star::lang::XComponent";"removeEventListener()"
+"RegistryTypeDescriptionProvider";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"RegistryTypeDescriptionProvider";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
diff --git a/qadevOOo/objdsc/remotebridge.uno/com.sun.star.comp.remotebridges.Bridge.various.csv b/qadevOOo/objdsc/remotebridge.uno/com.sun.star.comp.remotebridges.Bridge.various.csv
new file mode 100644
index 000000000..fb4ef2efb
--- /dev/null
+++ b/qadevOOo/objdsc/remotebridge.uno/com.sun.star.comp.remotebridges.Bridge.various.csv
@@ -0,0 +1,7 @@
+"various";"com::sun::star::lang::XComponent";"dispose()"
+"various";"com::sun::star::lang::XComponent";"addEventListener()"
+"various";"com::sun::star::lang::XComponent";"removeEventListener()"
+"various";"com::sun::star::lang::XInitialization";"initialize()"
+"various";"com::sun::star::bridge::XBridge";"getInstance()"
+"various";"com::sun::star::bridge::XBridge";"getName()"
+"various";"com::sun::star::bridge::XBridge";"getDescription()"
diff --git a/qadevOOo/objdsc/remotebridge/com.sun.star.comp.remotebridges.Bridge.various.csv b/qadevOOo/objdsc/remotebridge/com.sun.star.comp.remotebridges.Bridge.various.csv
new file mode 100644
index 000000000..fb4ef2efb
--- /dev/null
+++ b/qadevOOo/objdsc/remotebridge/com.sun.star.comp.remotebridges.Bridge.various.csv
@@ -0,0 +1,7 @@
+"various";"com::sun::star::lang::XComponent";"dispose()"
+"various";"com::sun::star::lang::XComponent";"addEventListener()"
+"various";"com::sun::star::lang::XComponent";"removeEventListener()"
+"various";"com::sun::star::lang::XInitialization";"initialize()"
+"various";"com::sun::star::bridge::XBridge";"getInstance()"
+"various";"com::sun::star::bridge::XBridge";"getName()"
+"various";"com::sun::star::bridge::XBridge";"getDescription()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentExporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentExporter.csv
new file mode 100644
index 000000000..669adc9a3
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentExporter.csv
@@ -0,0 +1,6 @@
+"XMLContentExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentImporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentImporter.csv
new file mode 100644
index 000000000..08204fe94
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLContentImporter.csv
@@ -0,0 +1,14 @@
+"XMLContentImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLContentImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLExporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLExporter.csv
new file mode 100644
index 000000000..f05c29aad
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLImporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLImporter.csv
new file mode 100644
index 000000000..deb62dc4b
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaExporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaExporter.csv
new file mode 100644
index 000000000..1970f1252
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaExporter.csv
@@ -0,0 +1,6 @@
+"XMLMetaExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaImporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaImporter.csv
new file mode 100644
index 000000000..767ea2ae0
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLMetaImporter.csv
@@ -0,0 +1,14 @@
+"XMLMetaImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLMetaImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsExporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsExporter.csv
new file mode 100644
index 000000000..316d947f0
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsExporter.csv
@@ -0,0 +1,6 @@
+"XMLSettingsExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsImporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsImporter.csv
new file mode 100644
index 000000000..fd0e0f32d
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLSettingsImporter.csv
@@ -0,0 +1,14 @@
+"XMLSettingsImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLSettingsImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesExporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesExporter.csv
new file mode 100644
index 000000000..5e863bb09
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesExporter.csv
@@ -0,0 +1,6 @@
+"XMLStylesExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesImporter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesImporter.csv
new file mode 100644
index 000000000..c8bc5bca0
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.Calc.XMLStylesImporter.csv
@@ -0,0 +1,14 @@
+"XMLStylesImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLStylesImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv
new file mode 100644
index 000000000..16d4d6f43
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAnnotationShapeObj.csv
@@ -0,0 +1,216 @@
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScAnnotationShapeObj";"com::sun::star::lang::XComponent";"dispose()"
+"ScAnnotationShapeObj";"com::sun::star::lang::XComponent";"addEventListener()"
+"ScAnnotationShapeObj";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"LayerID#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"LayerName#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"Printable#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"Name#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"Style#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"Transformation#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"ScAnnotationShapeObj";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"ScAnnotationShapeObj";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineDash"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineColor"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"ScAnnotationShapeObj";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillStyle"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillColor"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"ScAnnotationShapeObj";"com::sun::star::drawing::FillProperties";"FillBackground"
+"ScAnnotationShapeObj";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"ScAnnotationShapeObj";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"ScAnnotationShapeObj";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"ScAnnotationShapeObj";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"ScAnnotationShapeObj";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScAnnotationShapeObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScAnnotationShapeObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScAnnotationShapeObj";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatFieldObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatFieldObj.csv
new file mode 100644
index 000000000..2d533ec7d
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScAutoFormatFieldObj.csv
@@ -0,0 +1,50 @@
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontName"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontNameAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontNameComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontStyleName"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontStyleNameAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontStyleNameComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontCharSet"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontCharSetAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontCharSetComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontFamily"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontFamilyAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontFamilyComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontPitch"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontPitchAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharFontPitchComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharHeight"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharHeightAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharHeightComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharWeight"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharWeightAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharWeightComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharPosture"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharPostureAsian#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharPostureComplex#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharUnderline"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharCrossedOut"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharContoured"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharShadowed"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CharColor"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"CellBackColor"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"IsCellBackgroundTransparent"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"ShadowFormat#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"HoriJustify#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"VertJustify#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"IsTextWrapped#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"Orientation#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"RotateAngle#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"RotateReference#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"ParaTopMargin#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"ParaBottomMargin#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"ParaLeftMargin#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"ParaRightMargin#optional"
+"ScAutoFormatFieldObj";"com::sun::star::sheet::TableAutoFormatField";"TableBorder#optional"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScAutoFormatFieldObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellCursorObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellCursorObj.csv
new file mode 100644
index 000000000..5b19c7d3b
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellCursorObj.csv
@@ -0,0 +1,191 @@
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"CellStyle#optional"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"CellBackColor"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"IsCellBackgroundTransparent"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"HoriJustify"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"VertJustify"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"IsTextWrapped"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"ParaIndent"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"Orientation"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"RotateAngle"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"RotateReference"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"AsianVerticalMode#optional"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"TableBorder"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"TopBorder"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"BottomBorder"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"LeftBorder"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"RightBorder"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"NumberFormat"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"ShadowFormat"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"CellProtection"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"UserDefinedAttributes#optional"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"DiagonalTLBR#optional"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"DiagonalBLTR#optional"
+"ScCellCursorObj";"com::sun::star::table::CellProperties";"ShrinkToFit#optional"
+"ScCellCursorObj";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"ScCellCursorObj";"com::sun::star::util::XSearchable";"findAll()"
+"ScCellCursorObj";"com::sun::star::util::XSearchable";"findFirst()"
+"ScCellCursorObj";"com::sun::star::util::XSearchable";"findNext()"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"ScCellCursorObj";"com::sun::star::util::XReplaceable";"createReplaceDescriptor()"
+"ScCellCursorObj";"com::sun::star::util::XReplaceable";"replaceAll()"
+"ScCellCursorObj";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"ScCellCursorObj";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"ScCellCursorObj";"com::sun::star::chart::XChartData";"getNotANumber()"
+"ScCellCursorObj";"com::sun::star::chart::XChartData";"isNotANumber()"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScCellCursorObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"ScCellCursorObj";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"ScCellCursorObj";"com::sun::star::table::XAutoFormattable";"autoFormat()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryVisibleCells()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryEmptyCells()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryContentCells()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryFormulaCells()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryColumnDifferences()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryRowDifferences()"
+"ScCellCursorObj";"com::sun::star::sheet::XCellRangesQuery";"queryIntersection()"
+"ScCellCursorObj";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"ScCellCursorObj";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"ScCellCursorObj";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"ScCellCursorObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"ScCellCursorObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"ScCellCursorObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScCellCursorObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScCellCursorObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"getData()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"setData()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"ScCellCursorObj";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
+"ScCellCursorObj";"com::sun::star::util::XModifyBroadcaster#optional";"addModifyListener()"
+"ScCellCursorObj";"com::sun::star::util::XModifyBroadcaster#optional";"removeModifyListener()"
+"ScCellCursorObj";"com::sun::star::util::XImportable";"createImportDescriptor()"
+"ScCellCursorObj";"com::sun::star::util::XImportable";"doImport()"
+"ScCellCursorObj";"com::sun::star::util::XSortable";"createSortDescriptor()"
+"ScCellCursorObj";"com::sun::star::util::XSortable";"sort()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellObj.csv
new file mode 100644
index 000000000..e31e938fe
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellObj.csv
@@ -0,0 +1,196 @@
+"ScCellObj";"com::sun::star::table::CellProperties";"CellStyle#optional"
+"ScCellObj";"com::sun::star::table::CellProperties";"CellBackColor"
+"ScCellObj";"com::sun::star::table::CellProperties";"IsCellBackgroundTransparent"
+"ScCellObj";"com::sun::star::table::CellProperties";"HoriJustify"
+"ScCellObj";"com::sun::star::table::CellProperties";"VertJustify"
+"ScCellObj";"com::sun::star::table::CellProperties";"IsTextWrapped"
+"ScCellObj";"com::sun::star::table::CellProperties";"ParaIndent"
+"ScCellObj";"com::sun::star::table::CellProperties";"Orientation"
+"ScCellObj";"com::sun::star::table::CellProperties";"RotateAngle"
+"ScCellObj";"com::sun::star::table::CellProperties";"RotateReference"
+"ScCellObj";"com::sun::star::table::CellProperties";"AsianVerticalMode#optional"
+"ScCellObj";"com::sun::star::table::CellProperties";"TableBorder"
+"ScCellObj";"com::sun::star::table::CellProperties";"TopBorder"
+"ScCellObj";"com::sun::star::table::CellProperties";"BottomBorder"
+"ScCellObj";"com::sun::star::table::CellProperties";"LeftBorder"
+"ScCellObj";"com::sun::star::table::CellProperties";"RightBorder"
+"ScCellObj";"com::sun::star::table::CellProperties";"NumberFormat"
+"ScCellObj";"com::sun::star::table::CellProperties";"ShadowFormat"
+"ScCellObj";"com::sun::star::table::CellProperties";"CellProtection"
+"ScCellObj";"com::sun::star::table::CellProperties";"UserDefinedAttributes#optional"
+"ScCellObj";"com::sun::star::table::CellProperties";"DiagonalTLBR#optional"
+"ScCellObj";"com::sun::star::table::CellProperties";"DiagonalBLTR#optional"
+"ScCellObj";"com::sun::star::table::CellProperties";"ShrinkToFit#optional"
+"ScCellObj";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"ScCellObj";"com::sun::star::util::XSearchable";"findAll()"
+"ScCellObj";"com::sun::star::util::XSearchable";"findFirst()"
+"ScCellObj";"com::sun::star::util::XSearchable";"findNext()"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"ScCellObj";"com::sun::star::document::XActionLockable";"isActionLocked()"
+"ScCellObj";"com::sun::star::document::XActionLockable";"addActionLock()"
+"ScCellObj";"com::sun::star::document::XActionLockable";"removeActionLock()"
+"ScCellObj";"com::sun::star::document::XActionLockable";"setActionLocks()"
+"ScCellObj";"com::sun::star::document::XActionLockable";"resetActionLocks()"
+"ScCellObj";"com::sun::star::util::XReplaceable";"createReplaceDescriptor()"
+"ScCellObj";"com::sun::star::util::XReplaceable";"replaceAll()"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScCellObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"ScCellObj";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"ScCellObj";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"ScCellObj";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"ScCellObj";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryVisibleCells()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryEmptyCells()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryContentCells()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryFormulaCells()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryColumnDifferences()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryRowDifferences()"
+"ScCellObj";"com::sun::star::sheet::XCellRangesQuery";"queryIntersection()"
+"ScCellObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScCellObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScCellObj";"com::sun::star::text::XTextRange";"getText()"
+"ScCellObj";"com::sun::star::text::XTextRange";"getStart()"
+"ScCellObj";"com::sun::star::text::XTextRange";"getEnd()"
+"ScCellObj";"com::sun::star::text::XTextRange";"getString()"
+"ScCellObj";"com::sun::star::text::XTextRange";"setString()"
+"ScCellObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"ScCellObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"ScCellObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"ScCellObj";"com::sun::star::text::XTextFieldsSupplier";"getTextFields()"
+"ScCellObj";"com::sun::star::text::XTextFieldsSupplier";"getTextFieldMasters()"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScCellObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScCellObj";"com::sun::star::text::Text";"StartRedline#optional"
+"ScCellObj";"com::sun::star::text::Text";"EndRedline#optional"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScCellObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScCellObj";"com::sun::star::text::XText";"insertTextContent()"
+"ScCellObj";"com::sun::star::text::XText";"removeTextContent()"
+"ScCellObj";"com::sun::star::util::XModifyBroadcaster#optional";"addModifyListener()"
+"ScCellObj";"com::sun::star::util::XModifyBroadcaster#optional";"removeModifyListener()"
+"ScCellObj";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"ScCellObj";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangeObj.csv
new file mode 100644
index 000000000..0e3a7ab81
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangeObj.csv
@@ -0,0 +1,183 @@
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"CellStyle#optional"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"CellBackColor"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"IsCellBackgroundTransparent"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"HoriJustify"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"VertJustify"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"IsTextWrapped"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"ParaIndent"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"Orientation"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"RotateAngle"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"RotateReference"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"AsianVerticalMode#optional"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"TableBorder"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"TopBorder"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"BottomBorder"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"LeftBorder"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"RightBorder"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"NumberFormat"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"ShadowFormat"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"CellProtection"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"UserDefinedAttributes#optional"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"DiagonalTLBR#optional"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"DiagonalBLTR#optional"
+"ScCellRangeObj";"com::sun::star::table::CellProperties";"ShrinkToFit#optional"
+"ScCellRangeObj";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"ScCellRangeObj";"com::sun::star::util::XSearchable";"findNext()"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScCellRangeObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"ScCellRangeObj";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"ScCellRangeObj";"com::sun::star::table::XAutoFormattable";"autoFormat()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryVisibleCells()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryEmptyCells()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryContentCells()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryFormulaCells()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryColumnDifferences()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryRowDifferences()"
+"ScCellRangeObj";"com::sun::star::sheet::XCellRangesQuery";"queryIntersection()"
+"ScCellRangeObj";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"ScCellRangeObj";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"ScCellRangeObj";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"ScCellRangeObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"ScCellRangeObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"ScCellRangeObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScCellRangeObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScCellRangeObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"getData()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"setData()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"ScCellRangeObj";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
+"ScCellRangeObj";"com::sun::star::util::XModifyBroadcaster#optional";"addModifyListener()"
+"ScCellRangeObj";"com::sun::star::util::XModifyBroadcaster#optional";"removeModifyListener()"
+"ScCellRangeObj";"com::sun::star::util::XImportable";"createImportDescriptor()"
+"ScCellRangeObj";"com::sun::star::util::XImportable";"doImport()"
+"ScCellRangeObj";"com::sun::star::util::XSortable";"createSortDescriptor()"
+"ScCellRangeObj";"com::sun::star::util::XSortable";"sort()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangesObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangesObj.csv
new file mode 100644
index 000000000..a5e541df8
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellRangesObj.csv
@@ -0,0 +1,188 @@
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"CellStyle#optional"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"CellBackColor"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"IsCellBackgroundTransparent"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"HoriJustify"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"VertJustify"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"IsTextWrapped"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"ParaIndent"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"Orientation"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"RotateAngle"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"RotateReference"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"AsianVerticalMode#optional"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"TableBorder"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"TopBorder"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"BottomBorder"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"LeftBorder"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"RightBorder"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"NumberFormat"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"ShadowFormat"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"CellProtection"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"UserDefinedAttributes#optional"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"DiagonalTLBR#optional"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"DiagonalBLTR#optional"
+"ScCellRangesObj";"com::sun::star::table::CellProperties";"ShrinkToFit#optional"
+"ScCellRangesObj";"com::sun::star::container::XNameAccess";"getByName()"
+"ScCellRangesObj";"com::sun::star::container::XNameAccess";"getElementNames()"
+"ScCellRangesObj";"com::sun::star::container::XNameAccess";"hasByName()"
+"ScCellRangesObj";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"ScCellRangesObj";"com::sun::star::util::XSearchable";"findAll()"
+"ScCellRangesObj";"com::sun::star::util::XSearchable";"findFirst()"
+"ScCellRangesObj";"com::sun::star::util::XSearchable";"findNext()"
+"ScCellRangesObj";"com::sun::star::container::XNameReplace";"replaceByName()"
+"ScCellRangesObj";"com::sun::star::container::XNameContainer";"insertByName()"
+"ScCellRangesObj";"com::sun::star::container::XNameContainer";"removeByName()"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"ScCellRangesObj";"com::sun::star::container::XIndexAccess";"getCount()"
+"ScCellRangesObj";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"ScCellRangesObj";"com::sun::star::util::XReplaceable";"createReplaceDescriptor()"
+"ScCellRangesObj";"com::sun::star::util::XReplaceable";"replaceAll()"
+"ScCellRangesObj";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"ScCellRangesObj";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"ScCellRangesObj";"com::sun::star::chart::XChartData";"getNotANumber()"
+"ScCellRangesObj";"com::sun::star::chart::XChartData";"isNotANumber()"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScCellRangesObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"ScCellRangesObj";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryVisibleCells()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryEmptyCells()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryContentCells()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryFormulaCells()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryColumnDifferences()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryRowDifferences()"
+"ScCellRangesObj";"com::sun::star::sheet::XCellRangesQuery";"queryIntersection()"
+"ScCellRangesObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScCellRangesObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScCellRangesObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScCellRangesObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"getData()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"setData()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"ScCellRangesObj";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellTextCursor.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellTextCursor.csv
new file mode 100644
index 000000000..c38c09cc1
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellTextCursor.csv
@@ -0,0 +1,180 @@
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScCellTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isStartOfSentence()"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isEndOfSentence()"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoNextSentence()"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoPreviousSentence()"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoStartOfSentence()"
+"ScCellTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoEndOfSentence()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isStartOfParagraph()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isEndOfParagraph()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoStartOfParagraph()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoEndOfParagraph()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoNextParagraph()"
+"ScCellTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoPreviousParagraph()"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"ScCellTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"isStartOfWord()"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"isEndOfWord()"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoNextWord()"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoPreviousWord()"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoEndOfWord()"
+"ScCellTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoStartOfWord()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"collapseToStart()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"collapseToEnd()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"isCollapsed()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"goLeft()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"goRight()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"gotoStart()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"gotoEnd()"
+"ScCellTextCursor";"com::sun::star::text::XTextCursor";"gotoRange()"
+"ScCellTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"ScCellTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"ScCellTextCursor";"com::sun::star::text::XTextRange";"getText()"
+"ScCellTextCursor";"com::sun::star::text::XTextRange";"getStart()"
+"ScCellTextCursor";"com::sun::star::text::XTextRange";"getEnd()"
+"ScCellTextCursor";"com::sun::star::text::XTextRange";"getString()"
+"ScCellTextCursor";"com::sun::star::text::XTextRange";"setString()"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScCellTextCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScCellTextCursor";"com::sun::star::document::XDocumentInsertable#optional";"insertDocumentFromURL()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"ScCellTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"ScCellTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyStates()"
+"ScCellTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setAllPropertiesToDefault()"
+"ScCellTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setPropertiesToDefault()"
+"ScCellTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyDefaults()"
+"ScCellTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScCellTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScCellTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScCellTextCursor";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"ScCellTextCursor";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"ScCellTextCursor";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemObj.csv
new file mode 100644
index 000000000..ca518a782
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDataPilotItemObj.csv
@@ -0,0 +1,7 @@
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScDataPilotItemObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangeObj.csv
new file mode 100644
index 000000000..34f6a5e98
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDatabaseRangeObj.csv
@@ -0,0 +1,12 @@
+"ScDatabaseRangeObj";"com::sun::star::util::XRefreshable#optional";"refresh()"
+"ScDatabaseRangeObj";"com::sun::star::util::XRefreshable#optional";"addRefreshListener()"
+"ScDatabaseRangeObj";"com::sun::star::util::XRefreshable#optional";"removeRefreshListener()"
+"ScDatabaseRangeObj";"com::sun::star::container::XNamed";"getName()"
+"ScDatabaseRangeObj";"com::sun::star::container::XNamed";"setName()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDocumentConfiguration.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDocumentConfiguration.csv
new file mode 100644
index 000000000..af5610ca8
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScDocumentConfiguration.csv
@@ -0,0 +1,34 @@
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"ForbiddenCharacters#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"LinkUpdateMode#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"PrinterName"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"PrinterSetup"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"IsKernAsianPunctuation#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"CharacterCompressionType#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"ApplyUserData#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"SaveVersionOnClose#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"UpdateFromTemplate#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"FieldAutoUpdate#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"CurrentDatabaseDataSource#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"CurrentDatabaseCommand#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"CurrentDatabaseCommandType#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"DefaultTabStop#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"IsPrintBooklet#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"IsPrintBookletFront#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"IsPrintBookletBack#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"PrintQuality#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"ColorTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"DashTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"LineEndTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"HatchTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"GradientTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"BitmapTableURL#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"AutoCalculate#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"PrinterIndependentLayout#optional"
+"ScDocumentConfiguration";"com::sun::star::document::Settings";"AddExternalLeading#optional"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScDocumentConfiguration";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextCursor.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextCursor.csv
new file mode 100644
index 000000000..db461f1de
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextCursor.csv
@@ -0,0 +1,180 @@
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isStartOfSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isEndOfSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoNextSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoPreviousSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoStartOfSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoEndOfSentence()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isStartOfParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isEndOfParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoStartOfParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoEndOfParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoNextParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoPreviousParagraph()"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"isStartOfWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"isEndOfWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoNextWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoPreviousWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoEndOfWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoStartOfWord()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"collapseToStart()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"collapseToEnd()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"isCollapsed()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"goLeft()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"goRight()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"gotoStart()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"gotoEnd()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextCursor";"gotoRange()"
+"ScHeaderFooterTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"ScHeaderFooterTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextRange";"getText()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextRange";"getStart()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextRange";"getEnd()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextRange";"getString()"
+"ScHeaderFooterTextCursor";"com::sun::star::text::XTextRange";"setString()"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScHeaderFooterTextCursor";"com::sun::star::document::XDocumentInsertable#optional";"insertDocumentFromURL()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyStates()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setAllPropertiesToDefault()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setPropertiesToDefault()"
+"ScHeaderFooterTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyDefaults()"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"ScHeaderFooterTextCursor";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"ScHeaderFooterTextCursor";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"ScHeaderFooterTextCursor";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextObj.csv
new file mode 100644
index 000000000..2d9ddd6c1
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScHeaderFooterTextObj.csv
@@ -0,0 +1,21 @@
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XSimpleText";"insertString()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"ScHeaderFooterTextObj";"com::sun::star::container::XElementAccess";"getElementType()"
+"ScHeaderFooterTextObj";"com::sun::star::container::XElementAccess";"hasElements()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRange";"getText()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRange";"getStart()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRange";"getEnd()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRange";"getString()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XTextRange";"setString()"
+"ScHeaderFooterTextObj";"com::sun::star::text::Text";"StartRedline#optional"
+"ScHeaderFooterTextObj";"com::sun::star::text::Text";"EndRedline#optional"
+"ScHeaderFooterTextObj";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XText";"insertTextContent()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XText";"removeTextContent()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"ScHeaderFooterTextObj";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScModelObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScModelObj.csv
new file mode 100644
index 000000000..dcdad19ec
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScModelObj.csv
@@ -0,0 +1,67 @@
+"ScModelObj";"com::sun::star::drawing::XDrawPagesSupplier";"getDrawPages()"
+"ScModelObj";"com::sun::star::document::XEventBroadcaster#optional";"addEventListener()"
+"ScModelObj";"com::sun::star::document::XEventBroadcaster#optional";"removeEventListener()"
+"ScModelObj";"com::sun::star::style::XStyleFamiliesSupplier";"getStyleFamilies()"
+"ScModelObj";"com::sun::star::document::XActionLockable";"isActionLocked()"
+"ScModelObj";"com::sun::star::document::XActionLockable";"addActionLock()"
+"ScModelObj";"com::sun::star::document::XActionLockable";"removeActionLock()"
+"ScModelObj";"com::sun::star::document::XActionLockable";"setActionLocks()"
+"ScModelObj";"com::sun::star::document::XActionLockable";"resetActionLocks()"
+"ScModelObj";"com::sun::star::view::XPrintable";"getPrinter()"
+"ScModelObj";"com::sun::star::view::XPrintable";"setPrinter()"
+"ScModelObj";"com::sun::star::view::XPrintable";"print()"
+"ScModelObj";"com::sun::star::lang::XComponent";"dispose()"
+"ScModelObj";"com::sun::star::lang::XComponent";"addEventListener()"
+"ScModelObj";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ScModelObj";"com::sun::star::util::XProtectable";"protect()"
+"ScModelObj";"com::sun::star::util::XProtectable";"unprotect()"
+"ScModelObj";"com::sun::star::util::XProtectable";"isProtected()"
+"ScModelObj";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"ScModelObj";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"ScModelObj";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"ScModelObj";"com::sun::star::view::XPrintJobBroadcaster#optional";"addPrintJobListener()"
+"ScModelObj";"com::sun::star::view::XPrintJobBroadcaster#optional";"removePrintJobListener()"
+"ScModelObj";"com::sun::star::document::XViewDataSupplier#optional";"getViewData()"
+"ScModelObj";"com::sun::star::document::XViewDataSupplier#optional";"setViewData()"
+"ScModelObj";"com::sun::star::frame::XStorable";"hasLocation()"
+"ScModelObj";"com::sun::star::frame::XStorable";"getLocation()"
+"ScModelObj";"com::sun::star::frame::XStorable";"isReadonly()"
+"ScModelObj";"com::sun::star::frame::XStorable";"store()"
+"ScModelObj";"com::sun::star::frame::XStorable";"storeAsURL()"
+"ScModelObj";"com::sun::star::frame::XStorable";"storeToURL()"
+"ScModelObj";"com::sun::star::document::XEventsSupplier#optional";"getEvents()"
+"ScModelObj";"com::sun::star::util::XModifiable";"isModified()"
+"ScModelObj";"com::sun::star::util::XModifiable";"setModified()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"ScModelObj";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"NamedRanges"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"DatabaseRanges"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"ColumnLabelRanges"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"RowLabelRanges"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"SheetLinks"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"AreaLinks"
+"ScModelObj";"com::sun::star::sheet::SpreadsheetDocument";"DDELinks"
+"ScModelObj";"com::sun::star::document::OfficeDocument";"AutomaticControlFocus#optional"
+"ScModelObj";"com::sun::star::document::OfficeDocument";"ApplyFormDesignMode#optional"
+"ScModelObj";"com::sun::star::document::OfficeDocument";"RuntimeUID#optional"
+"ScModelObj";"com::sun::star::document::OfficeDocument";"InteropGrabBag#optional"
+"ScModelObj";"com::sun::star::frame::XModel";"attachResource()"
+"ScModelObj";"com::sun::star::frame::XModel";"getURL()"
+"ScModelObj";"com::sun::star::frame::XModel";"getArgs()"
+"ScModelObj";"com::sun::star::frame::XModel";"connectController()"
+"ScModelObj";"com::sun::star::frame::XModel";"disconnectController()"
+"ScModelObj";"com::sun::star::frame::XModel";"lockControllers()"
+"ScModelObj";"com::sun::star::frame::XModel";"unlockControllers()"
+"ScModelObj";"com::sun::star::frame::XModel";"hasControllersLocked()"
+"ScModelObj";"com::sun::star::frame::XModel";"getCurrentController()"
+"ScModelObj";"com::sun::star::frame::XModel";"setCurrentController()"
+"ScModelObj";"com::sun::star::frame::XModel";"getCurrentSelection()"
+"ScModelObj";"com::sun::star::util::XModifyBroadcaster";"addModifyListener()"
+"ScModelObj";"com::sun::star::util::XModifyBroadcaster";"removeModifyListener()"
+"ScModelObj";"com::sun::star::util::XNumberFormatsSupplier";"getNumberFormatSettings()"
+"ScModelObj";"com::sun::star::util::XNumberFormatsSupplier";"getNumberFormats()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv
new file mode 100644
index 000000000..5c145a956
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScShapeObj.csv
@@ -0,0 +1,18 @@
+"ScShapeObj";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"LayerID#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"LayerName#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"Printable#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"Name#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"Style#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"Transformation#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ScShapeObj";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScShapeObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv
new file mode 100644
index 000000000..63be54e69
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScSheetLinkObj.csv
@@ -0,0 +1,7 @@
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScSheetLinkObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleObj.csv
new file mode 100644
index 000000000..30c529f00
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScStyleObj.csv
@@ -0,0 +1,18 @@
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ScStyleObj";"com::sun::star::style::XStyle";"isUserDefined()"
+"ScStyleObj";"com::sun::star::style::XStyle";"isInUse()"
+"ScStyleObj";"com::sun::star::style::XStyle";"getParentStyle()"
+"ScStyleObj";"com::sun::star::style::XStyle";"setParentStyle()"
+"ScStyleObj";"com::sun::star::style::Style";"IsPhysical#optional"
+"ScStyleObj";"com::sun::star::style::Style";"FollowStyle#optional"
+"ScStyleObj";"com::sun::star::style::Style";"DisplayName#optional"
+"ScStyleObj";"com::sun::star::style::Style";"IsAutoUpdate#optional"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ScStyleObj";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTabViewObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTabViewObj.csv
new file mode 100644
index 000000000..459867188
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTabViewObj.csv
@@ -0,0 +1,46 @@
+"ScTabViewObj";"com::sun::star::lang::XComponent";"dispose()"
+"ScTabViewObj";"com::sun::star::lang::XComponent";"addEventListener()"
+"ScTabViewObj";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ScTabViewObj";"com::sun::star::sheet::XViewPane";"getFirstVisibleColumn()"
+"ScTabViewObj";"com::sun::star::sheet::XViewPane";"setFirstVisibleColumn()"
+"ScTabViewObj";"com::sun::star::sheet::XViewPane";"getFirstVisibleRow()"
+"ScTabViewObj";"com::sun::star::sheet::XViewPane";"setFirstVisibleRow()"
+"ScTabViewObj";"com::sun::star::sheet::XViewPane";"getVisibleRange()"
+"ScTabViewObj";"com::sun::star::sheet::XEnhancedMouseClickBroadcaster#optional";"addEnhancedMouseClickHandler()"
+"ScTabViewObj";"com::sun::star::sheet::XEnhancedMouseClickBroadcaster#optional";"removeEnhancedMouseClickHandler()"
+"ScTabViewObj";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"ScTabViewObj";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"startRangeSelection()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"abortRangeSelection()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"addRangeSelectionListener()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"removeRangeSelectionListener()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"addRangeSelectionChangeListener()"
+"ScTabViewObj";"com::sun::star::sheet::XRangeSelection";"removeRangeSelectionChangeListener()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScTabViewObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScTabViewObj";"com::sun::star::view::XSelectionSupplier";"select()"
+"ScTabViewObj";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"ScTabViewObj";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"ScTabViewObj";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"ScTabViewObj";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"ScTabViewObj";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"ScTabViewObj";"com::sun::star::view::XControlAccess#optional";"getControl()"
+"ScTabViewObj";"com::sun::star::view::XFormLayerAccess#optional";"getFromController()"
+"ScTabViewObj";"com::sun::star::view::XFormLayerAccess#optional";"isFormDesignMode()"
+"ScTabViewObj";"com::sun::star::view::XFormLayerAccess#optional";"setFormDesignMode()"
+"ScTabViewObj";"com::sun::star::frame::XController";"attachFrame()"
+"ScTabViewObj";"com::sun::star::frame::XController";"attachModel()"
+"ScTabViewObj";"com::sun::star::frame::XController";"suspend()"
+"ScTabViewObj";"com::sun::star::frame::XController";"getViewData()"
+"ScTabViewObj";"com::sun::star::frame::XController";"restoreViewData()"
+"ScTabViewObj";"com::sun::star::frame::XController";"getModel()"
+"ScTabViewObj";"com::sun::star::frame::XController";"getFrame()"
+"ScTabViewObj";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"ScTabViewObj";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"ScTabViewObj";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"ScTabViewObj";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetObj.csv
new file mode 100644
index 000000000..2ea4a6068
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScTableSheetObj.csv
@@ -0,0 +1,197 @@
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"CellStyle#optional"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"CellBackColor"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"IsCellBackgroundTransparent"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"HoriJustify"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"VertJustify"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"IsTextWrapped"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"ParaIndent"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"Orientation"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"RotateAngle"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"RotateReference"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"AsianVerticalMode#optional"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"TableBorder"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"TopBorder"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"BottomBorder"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"LeftBorder"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"RightBorder"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"NumberFormat"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"ShadowFormat"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"CellProtection"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"UserDefinedAttributes#optional"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"DiagonalTLBR#optional"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"DiagonalBLTR#optional"
+"ScTableSheetObj";"com::sun::star::table::CellProperties";"ShrinkToFit#optional"
+"ScTableSheetObj";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"ScTableSheetObj";"com::sun::star::util::XSearchable";"findAll()"
+"ScTableSheetObj";"com::sun::star::util::XSearchable";"findFirst()"
+"ScTableSheetObj";"com::sun::star::util::XSearchable";"findNext()"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"ScTableSheetObj";"com::sun::star::util::XReplaceable";"createReplaceDescriptor()"
+"ScTableSheetObj";"com::sun::star::util::XReplaceable";"replaceAll()"
+"ScTableSheetObj";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"ScTableSheetObj";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"ScTableSheetObj";"com::sun::star::chart::XChartData";"getNotANumber()"
+"ScTableSheetObj";"com::sun::star::chart::XChartData";"isNotANumber()"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ScTableSheetObj";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"ScTableSheetObj";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"ScTableSheetObj";"com::sun::star::util::XProtectable";"protect()"
+"ScTableSheetObj";"com::sun::star::util::XProtectable";"unprotect()"
+"ScTableSheetObj";"com::sun::star::util::XProtectable";"isProtected()"
+"ScTableSheetObj";"com::sun::star::table::XAutoFormattable";"autoFormat()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryVisibleCells()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryEmptyCells()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryContentCells()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryFormulaCells()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryColumnDifferences()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryRowDifferences()"
+"ScTableSheetObj";"com::sun::star::sheet::XCellRangesQuery";"queryIntersection()"
+"ScTableSheetObj";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"ScTableSheetObj";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"ScTableSheetObj";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"ScTableSheetObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"ScTableSheetObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"ScTableSheetObj";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"ScTableSheetObj";"com::sun::star::container::XNamed";"getName()"
+"ScTableSheetObj";"com::sun::star::container::XNamed";"setName()"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharColor"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"ScTableSheetObj";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ScTableSheetObj";"com::sun::star::drawing::XDrawPageSupplier";"getDrawPage()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ScTableSheetObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"getData()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"setData()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"ScTableSheetObj";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
+"ScTableSheetObj";"com::sun::star::util::XModifyBroadcaster#optional";"addModifyListener()"
+"ScTableSheetObj";"com::sun::star::util::XModifyBroadcaster#optional";"removeModifyListener()"
+"ScTableSheetObj";"com::sun::star::util::XImportable";"createImportDescriptor()"
+"ScTableSheetObj";"com::sun::star::util::XImportable";"doImport()"
+"ScTableSheetObj";"com::sun::star::util::XSortable";"createSortDescriptor()"
+"ScTableSheetObj";"com::sun::star::util::XSortable";"sort()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_HeaderFooter.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_HeaderFooter.csv
new file mode 100644
index 000000000..5405d73d9
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_HeaderFooter.csv
@@ -0,0 +1,52 @@
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"cutText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"pasteText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"deleteText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"insertText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"replaceText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setAttributes()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleEditableTextPara_HeaderFooter";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewCell.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewCell.csv
new file mode 100644
index 000000000..a34a1306a
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewCell.csv
@@ -0,0 +1,52 @@
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"cutText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"pasteText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"deleteText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"insertText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"replaceText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setAttributes()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleEditableTextPara_PreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewNote.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewNote.csv
new file mode 100644
index 000000000..9cfca916b
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.AccessibleEditableTextPara_PreviewNote.csv
@@ -0,0 +1,52 @@
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"cutText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"pasteText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"deleteText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"insertText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"replaceText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setAttributes()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleEditableTextPara_PreviewNote";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCell.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCell.csv
new file mode 100644
index 000000000..d126d8e27
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCell.csv
@@ -0,0 +1,40 @@
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvCell.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvCell.csv
new file mode 100644
index 000000000..dff416cd2
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvCell.csv
@@ -0,0 +1,36 @@
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleCsvCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvGrid.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvGrid.csv
new file mode 100644
index 000000000..17cff9097
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvGrid.csv
@@ -0,0 +1,45 @@
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowCount()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnCount()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowDescription()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnDescription()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowExtentAt()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnExtentAt()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowHeaders()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnHeaders()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleRows()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleColumns()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleRowSelected()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleColumnSelected()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCellAt()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCaption()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleSummary()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleSelected()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleIndex()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRow()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumn()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleCsvGrid";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvRuler.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvRuler.csv
new file mode 100644
index 000000000..25649719a
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleCsvRuler.csv
@@ -0,0 +1,36 @@
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleCsvRuler";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocument.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocument.csv
new file mode 100644
index 000000000..85178a520
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocument.csv
@@ -0,0 +1,28 @@
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleDocument";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocumentPagePreview.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocumentPagePreview.csv
new file mode 100644
index 000000000..96135c2b5
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleDocumentPagePreview.csv
@@ -0,0 +1,21 @@
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleDocumentPagePreview";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeader.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeader.csv
new file mode 100644
index 000000000..5772f8159
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeader.csv
@@ -0,0 +1,21 @@
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessiblePageHeader";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeaderArea.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeaderArea.csv
new file mode 100644
index 000000000..11bff3f1d
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePageHeaderArea.csv
@@ -0,0 +1,21 @@
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessiblePageHeaderArea";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewCell.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewCell.csv
new file mode 100644
index 000000000..8094dfa83
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewCell.csv
@@ -0,0 +1,32 @@
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessiblePreviewCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewHeaderCell.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewHeaderCell.csv
new file mode 100644
index 000000000..4d6561c1f
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewHeaderCell.csv
@@ -0,0 +1,32 @@
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessiblePreviewHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewTable.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewTable.csv
new file mode 100644
index 000000000..db56ccad8
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessiblePreviewTable.csv
@@ -0,0 +1,47 @@
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowCount()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnCount()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowDescription()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnDescription()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowExtentAt()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnExtentAt()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowHeaders()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnHeaders()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleRows()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleColumns()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleRowSelected()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleColumnSelected()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCellAt()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCaption()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleSummary()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleSelected()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleIndex()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRow()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumn()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessiblePreviewTable";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleSpreadsheet.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleSpreadsheet.csv
new file mode 100644
index 000000000..baa240076
--- /dev/null
+++ b/qadevOOo/objdsc/sc/com.sun.star.comp.unknown.ScAccessibleSpreadsheet.csv
@@ -0,0 +1,47 @@
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowCount()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnCount()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowDescription()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnDescription()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowExtentAt()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnExtentAt()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowHeaders()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnHeaders()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleRows()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleColumns()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleRowSelected()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleColumnSelected()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCellAt()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCaption()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleSummary()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleSelected()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleIndex()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRow()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumn()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"ScAccessibleSpreadsheet";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccAxis.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccAxis.csv
new file mode 100644
index 000000000..60087ba0f
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccAxis.csv
@@ -0,0 +1,25 @@
+"AccAxis";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccAxis";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccAxis";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataPoint.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataPoint.csv
new file mode 100644
index 000000000..c67f16c0a
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataPoint.csv
@@ -0,0 +1,25 @@
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccDataPoint";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataSeries.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataSeries.csv
new file mode 100644
index 000000000..5a66a3930
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDataSeries.csv
@@ -0,0 +1,25 @@
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccDataSeries";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDiagram.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDiagram.csv
new file mode 100644
index 000000000..1f4041d32
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccDiagram.csv
@@ -0,0 +1,25 @@
+"AccDiagram";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccDiagram";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccDiagram";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccFloor.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccFloor.csv
new file mode 100644
index 000000000..29714eae6
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccFloor.csv
@@ -0,0 +1,25 @@
+"AccFloor";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccFloor";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccFloor";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccGrid.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccGrid.csv
new file mode 100644
index 000000000..ca2985c66
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccGrid.csv
@@ -0,0 +1,25 @@
+"AccGrid";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccGrid";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccGrid";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegend.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegend.csv
new file mode 100644
index 000000000..0ebcb8ecf
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegend.csv
@@ -0,0 +1,25 @@
+"AccLegend";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccLegend";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccLegend";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegendEntry.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegendEntry.csv
new file mode 100644
index 000000000..5e4063e74
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccLegendEntry.csv
@@ -0,0 +1,25 @@
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccLegendEntry";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccTitle.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccTitle.csv
new file mode 100644
index 000000000..19cfd3837
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccTitle.csv
@@ -0,0 +1,25 @@
+"AccTitle";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccTitle";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccTitle";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccWall.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccWall.csv
new file mode 100644
index 000000000..44d22c6f4
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccWall.csv
@@ -0,0 +1,25 @@
+"AccWall";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccWall";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccWall";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccWall";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccWall";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccWall";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccWall";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccWall";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccessibleDocumentView.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccessibleDocumentView.csv
new file mode 100644
index 000000000..1ce683d70
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.chart.AccessibleDocumentView.csv
@@ -0,0 +1,22 @@
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.AccArea.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.AccArea.csv
new file mode 100644
index 000000000..37102ca27
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.AccArea.csv
@@ -0,0 +1,25 @@
+"AccArea";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccArea";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccArea";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccArea";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccArea";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccArea";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccArea";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccArea";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartAxis.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartAxis.csv
new file mode 100644
index 000000000..d6fe95193
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartAxis.csv
@@ -0,0 +1,92 @@
+"ChXChartAxis";"com::sun::star::xml::UserDefinedAttributesSupplier";"UserDefinedAttributes"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Max#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Min#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Origin#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"StepMain#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"StepHelp#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"AutoMax#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"AutoMin#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"AutoOrigin#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"AutoStepMain#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"AutoStepHelp#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Logarithmic#optional"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"DisplayLabels"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"TextRotation"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Marks"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"HelpMarks"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"Overlap"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"GapWidth"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"ArrangeOrder"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"TextBreak"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"TextCanOverlap"
+"ChXChartAxis";"com::sun::star::chart::ChartAxis";"NumberFormat"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChXChartAxis";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharColor"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharEmphasize#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ChXChartAxis";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChXChartAxis";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartData.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartData.csv
new file mode 100644
index 000000000..aadc7fe8b
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartData.csv
@@ -0,0 +1,4 @@
+"ChXChartData";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"ChXChartData";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"ChXChartData";"com::sun::star::chart::XChartData";"getNotANumber()"
+"ChXChartData";"com::sun::star::chart::XChartData";"isNotANumber()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDataArray.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDataArray.csv
new file mode 100644
index 000000000..f6986c161
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDataArray.csv
@@ -0,0 +1,10 @@
+"ChXChartDataArray";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"ChXChartDataArray";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"ChXChartDataArray";"com::sun::star::chart::XChartData";"getNotANumber()"
+"ChXChartDataArray";"com::sun::star::chart::XChartData";"isNotANumber()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"getData()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"setData()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"ChXChartDataArray";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDocument.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDocument.csv
new file mode 100644
index 000000000..f775e2c19
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartDocument.csv
@@ -0,0 +1,37 @@
+"ChXChartDocument";"com::sun::star::xml::UserDefinedAttributesSupplier";"UserDefinedAttributes"
+"ChXChartDocument";"com::sun::star::chart::ChartDocument";"HasMainTitle"
+"ChXChartDocument";"com::sun::star::chart::ChartDocument";"HasSubTitle"
+"ChXChartDocument";"com::sun::star::chart::ChartDocument";"HasLegend"
+"ChXChartDocument";"com::sun::star::lang::XComponent";"dispose()"
+"ChXChartDocument";"com::sun::star::lang::XComponent";"addEventListener()"
+"ChXChartDocument";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ChXChartDocument";"com::sun::star::chart::ChartTableAddressSupplier";"CategoriesRangeAddress"
+"ChXChartDocument";"com::sun::star::chart::ChartTableAddressSupplier";"SeriesAddresses"
+"ChXChartDocument";"com::sun::star::chart::ChartTableAddressSupplier";"MainTitleAddress#optional"
+"ChXChartDocument";"com::sun::star::chart::ChartTableAddressSupplier";"SubTitleAddress#optional"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getTitle()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getSubTitle()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getLegend()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getArea()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getDiagram()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"setDiagram()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"getData()"
+"ChXChartDocument";"com::sun::star::chart::XChartDocument";"attachData()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChXChartDocument";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"attachResource()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"getURL()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"getArgs()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"connectController()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"disconnectController()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"lockControllers()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"unlockControllers()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"hasControllersLocked()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"getCurrentController()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"setCurrentController()"
+"ChXChartDocument";"com::sun::star::frame::XModel";"getCurrentSelection()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartView.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartView.csv
new file mode 100644
index 000000000..b052a9f81
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXChartView.csv
@@ -0,0 +1,10 @@
+"ChXChartView";"com::sun::star::view::XViewSettingsSupplier#optional";"getViewSettings()"
+"ChXChartView";"com::sun::star::view::XSelectionSupplier";"select()"
+"ChXChartView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"ChXChartView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"ChXChartView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"ChXChartView";"com::sun::star::view::XControlAccess#optional";"getControl()"
+"ChXChartView";"com::sun::star::view::XFormLayerAccess#optional";"getFromController()"
+"ChXChartView";"com::sun::star::view::XFormLayerAccess#optional";"isFormDesignMode()"
+"ChXChartView";"com::sun::star::view::XFormLayerAccess#optional";"setFormDesignMode()"
+
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv
new file mode 100644
index 000000000..69bad48ea
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataPoint.csv
@@ -0,0 +1,96 @@
+"ChXDataPoint";"com::sun::star::xml::UserDefinedAttributesSupplier";"UserDefinedAttributes"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChXDataPoint";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChXDataPoint";"com::sun::star::chart::Chart3DBarProperties#optional";"SolidType"
+"ChXDataPoint";"com::sun::star::chart::ChartDataPointProperties";"DataCaption"
+"ChXDataPoint";"com::sun::star::chart::ChartDataPointProperties";"SymbolType#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillStyle"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillColor"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"ChXDataPoint";"com::sun::star::drawing::FillProperties";"FillBackground"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharColor"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharEmphasize#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ChXDataPoint";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChXDataPoint";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv
new file mode 100644
index 000000000..482d206da
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDataRow.csv
@@ -0,0 +1,108 @@
+"ChXDataRow";"com::sun::star::xml::UserDefinedAttributesSupplier#optional";"UserDefinedAttributes"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChXDataRow";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChXDataRow";"com::sun::star::chart::Chart3DBarProperties#optional";"SolidType"
+"ChXDataRow";"com::sun::star::chart::ChartDataPointProperties";"DataCaption"
+"ChXDataRow";"com::sun::star::chart::ChartDataPointProperties";"SymbolType#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillStyle"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillColor"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillTransparence"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillTransparenceGradientName"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillTransparenceGradient#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillGradientName"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillGradient#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillHatchName"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillHatch#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapName"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmap#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapURL#optional"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapOffsetX"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapOffsetY"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapPositionOffsetX"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapPositionOffsetY"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapRectanglePoint"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapLogicalSize"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapSizeX"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapSizeY"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBitmapMode"
+"ChXDataRow";"com::sun::star::drawing::FillProperties#optional";"FillBackground"
+"ChXDataRow";"com::sun::star::chart::ChartDataRowProperties";"Axis"
+"ChXDataRow";"com::sun::star::chart::ChartDataRowProperties";"DataRegressionProperties#optional"
+"ChXDataRow";"com::sun::star::chart::ChartDataRowProperties";"DataErrorProperties#optional"
+"ChXDataRow";"com::sun::star::chart::ChartDataRowProperties";"DataMeanValueProperties#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharColor"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharEmphasize#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ChXDataRow";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChXDataRow";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"ConstantErrorLow"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"ConstantErrorHigh"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"MeanValue"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"ErrorCategory"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"PercentageError"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"ErrorMargin"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"ErrorIndicator"
+"ChXDataRow";"com::sun::star::chart::ChartStatistics";"RegressionCurves"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv
new file mode 100644
index 000000000..5a0ca113d
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChXDiagram.csv
@@ -0,0 +1,78 @@
+"ChXDiagram";"com::sun::star::xml::UserDefinedAttributesSupplier#optional";"UserDefinedAttributes"
+"ChXDiagram";"com::sun::star::chart::XDiagram";"getDiagramType()"
+"ChXDiagram";"com::sun::star::chart::XDiagram";"getDataRowProperties()"
+"ChXDiagram";"com::sun::star::chart::XDiagram";"getDataPointProperties()"
+"ChXDiagram";"com::sun::star::chart::XTwoAxisYSupplier";"getSecondaryYAxis()"
+"ChXDiagram";"com::sun::star::chart::Diagram";"DataRowSource"
+"ChXDiagram";"com::sun::star::chart::Diagram";"DataCaption"
+"ChXDiagram";"com::sun::star::chart::ChartTwoAxisXSupplier";"HasSecondaryXAxis"
+"ChXDiagram";"com::sun::star::chart::ChartTwoAxisXSupplier";"HasSecondaryXAxisDescription"
+"ChXDiagram";"com::sun::star::chart::ChartTwoAxisYSupplier";"HasSecondaryYAxis"
+"ChXDiagram";"com::sun::star::chart::ChartTwoAxisYSupplier";"HasSecondaryYAxisDescription"
+"ChXDiagram";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"ChXDiagram";"com::sun::star::chart::StockDiagram";"Volume"
+"ChXDiagram";"com::sun::star::chart::StockDiagram";"UpDown"
+"ChXDiagram";"com::sun::star::chart::Dim3DDiagram";"Dim3D"
+"ChXDiagram";"com::sun::star::chart::XTwoAxisXSupplier";"getSecondaryXAxis()"
+"ChXDiagram";"com::sun::star::chart::XStatisticDisplay";"getUpBar()"
+"ChXDiagram";"com::sun::star::chart::XStatisticDisplay";"getDownBar()"
+"ChXDiagram";"com::sun::star::chart::XStatisticDisplay";"getMinMaxLine()"
+"ChXDiagram";"com::sun::star::chart::BarDiagram";"Vertical"
+"ChXDiagram";"com::sun::star::chart::BarDiagram";"Deep#optional"
+"ChXDiagram";"com::sun::star::chart::BarDiagram";"StackedBarsConnected#optional"
+"ChXDiagram";"com::sun::star::chart::BarDiagram";"NumberOfLines"
+"ChXDiagram";"com::sun::star::chart::ChartAxisZSupplier";"HasZAxis"
+"ChXDiagram";"com::sun::star::chart::ChartAxisZSupplier";"HasZAxisDescription"
+"ChXDiagram";"com::sun::star::chart::ChartAxisZSupplier";"HasZAxisGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisZSupplier";"HasZAxisHelpGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisZSupplier";"HasZAxisTitle"
+"ChXDiagram";"com::sun::star::chart::ChartAxisYSupplier";"HasYAxis"
+"ChXDiagram";"com::sun::star::chart::ChartAxisYSupplier";"HasYAxisDescription"
+"ChXDiagram";"com::sun::star::chart::ChartAxisYSupplier";"HasYAxisGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisYSupplier";"HasYAxisHelpGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisYSupplier";"HasYAxisTitle"
+"ChXDiagram";"com::sun::star::chart::ChartAxisXSupplier";"HasXAxis"
+"ChXDiagram";"com::sun::star::chart::ChartAxisXSupplier";"HasXAxisDescription"
+"ChXDiagram";"com::sun::star::chart::ChartAxisXSupplier";"HasXAxisGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisXSupplier";"HasXAxisHelpGrid"
+"ChXDiagram";"com::sun::star::chart::ChartAxisXSupplier";"HasXAxisTitle"
+"ChXDiagram";"com::sun::star::chart::XAxisZSupplier";"getZAxisTitle()"
+"ChXDiagram";"com::sun::star::chart::XAxisZSupplier";"getZMainGrid()"
+"ChXDiagram";"com::sun::star::chart::XAxisZSupplier";"getZHelpGrid()"
+"ChXDiagram";"com::sun::star::chart::XAxisZSupplier";"getZAxis()"
+"ChXDiagram";"com::sun::star::chart::XAxisYSupplier";"getYAxisTitle()"
+"ChXDiagram";"com::sun::star::chart::XAxisYSupplier";"getYAxis()"
+"ChXDiagram";"com::sun::star::chart::XAxisYSupplier";"getYHelpGrid()"
+"ChXDiagram";"com::sun::star::chart::XAxisYSupplier";"getYMainGrid()"
+"ChXDiagram";"com::sun::star::chart::XAxisXSupplier";"getXAxisTitle()"
+"ChXDiagram";"com::sun::star::chart::XAxisXSupplier";"getXAxis()"
+"ChXDiagram";"com::sun::star::chart::XAxisXSupplier";"getXMainGrid()"
+"ChXDiagram";"com::sun::star::chart::XAxisXSupplier";"getXHelpGrid()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChXDiagram";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ChXDiagram";"com::sun::star::drawing::XShape";"getPosition()"
+"ChXDiagram";"com::sun::star::drawing::XShape";"setPosition()"
+"ChXDiagram";"com::sun::star::drawing::XShape";"getSize()"
+"ChXDiagram";"com::sun::star::drawing::XShape";"setSize()"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"SymbolType"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"SymbolSize#optional"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"Lines"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"SplineType"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"SplineOrder#optional"
+"ChXDiagram";"com::sun::star::chart::LineDiagram";"SplineResolution#optional"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"ConstantErrorLow"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"ConstantErrorHigh"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"MeanValue"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"ErrorCategory"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"PercentageError"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"ErrorMargin"
+"ChXDiagram";"com::sun::star::chart::ChartStatistics";"ErrorIndicator"
+"ChXDiagram";"com::sun::star::chart::X3DDisplay";"getWall()"
+"ChXDiagram";"com::sun::star::chart::X3DDisplay";"getFloor()"
+"ChXDiagram";"com::sun::star::chart::StackableDiagram";"Percent"
+"ChXDiagram";"com::sun::star::chart::StackableDiagram";"Stacked"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartArea.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartArea.csv
new file mode 100644
index 000000000..3dc5722de
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartArea.csv
@@ -0,0 +1,43 @@
+"ChartArea";"com::sun::star::xml::UserDefinedAttributesSupplier";"UserDefinedAttributes"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChartArea";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillStyle"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillColor"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"ChartArea";"com::sun::star::drawing::FillProperties";"FillBackground"
+"ChartArea";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChartArea";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartGrid.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartGrid.csv
new file mode 100644
index 000000000..5396a707d
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartGrid.csv
@@ -0,0 +1,21 @@
+"ChartGrid";"com::sun::star::xml::UserDefinedAttributesSupplier";"UserDefinedAttributes"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChartGrid";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChartGrid";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv
new file mode 100644
index 000000000..1762649a2
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLegend.csv
@@ -0,0 +1,114 @@
+"ChartLegend";"com::sun::star::xml::UserDefinedAttributesSupplier";"UserDefinedAttributes"
+"ChartLegend";"com::sun::star::lang::XComponent";"dispose()"
+"ChartLegend";"com::sun::star::lang::XComponent";"addEventListener()"
+"ChartLegend";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ChartLegend";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"LayerID#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"LayerName#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"Printable#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"Name#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"Style#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"Transformation#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ChartLegend";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"ChartLegend";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChartLegend";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChartLegend";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillStyle"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillColor"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"ChartLegend";"com::sun::star::drawing::FillProperties";"FillBackground"
+"ChartLegend";"com::sun::star::chart::ChartLegend";"Alignment"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharColor"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharEmphasize#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ChartLegend";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChartLegend";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ChartLegend";"com::sun::star::drawing::XShape";"getPosition()"
+"ChartLegend";"com::sun::star::drawing::XShape";"setPosition()"
+"ChartLegend";"com::sun::star::drawing::XShape";"getSize()"
+"ChartLegend";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLine.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLine.csv
new file mode 100644
index 000000000..af63a98e9
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartLine.csv
@@ -0,0 +1,21 @@
+"ChartLine";"com::sun::star::xml::UserDefinedAttributesSupplier";"UserDefinedAttributes"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineStyle"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineDash"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineColor"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineWidth"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineJoint"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"ChartLine";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"ChartLine";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChartLine";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv
new file mode 100644
index 000000000..40b531173
--- /dev/null
+++ b/qadevOOo/objdsc/sch/com.sun.star.comp.office.ChartTitle.csv
@@ -0,0 +1,80 @@
+"ChartTitle";"com::sun::star::xml::UserDefinedAttributesSupplier";"UserDefinedAttributes"
+"ChartTitle";"com::sun::star::lang::XComponent";"dispose()"
+"ChartTitle";"com::sun::star::lang::XComponent";"addEventListener()"
+"ChartTitle";"com::sun::star::lang::XComponent";"removeEventListener()"
+"ChartTitle";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"LayerID#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"LayerName#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"Printable#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"Name#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"Style#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"Transformation#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"ChartTitle";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"ChartTitle";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"ChartTitle";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"ChartTitle";"com::sun::star::chart::ChartTitle";"TextRotation"
+"ChartTitle";"com::sun::star::chart::ChartTitle";"String"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontName"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharColor"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharHeight"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharWeight"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharPosture"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharLocale"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharEmphasize#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"ChartTitle";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ChartTitle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ChartTitle";"com::sun::star::drawing::XShape";"getPosition()"
+"ChartTitle";"com::sun::star::drawing::XShape";"setPosition()"
+"ChartTitle";"com::sun::star::drawing::XShape";"getSize()"
+"ChartTitle";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDocLinkTargets.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDocLinkTargets.csv
new file mode 100644
index 000000000..800f06fc7
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDocLinkTargets.csv
@@ -0,0 +1,5 @@
+"SdDocLinkTargets";"com::sun::star::container::XNameAccess";"getByName()"
+"SdDocLinkTargets";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SdDocLinkTargets";"com::sun::star::container::XNameAccess";"hasByName()"
+"SdDocLinkTargets";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdDocLinkTargets";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPage.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPage.csv
new file mode 100644
index 000000000..2398d3c21
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPage.csv
@@ -0,0 +1,37 @@
+"SdDrawPage";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdDrawPage";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdDrawPage";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SdDrawPage";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SdDrawPage";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SdDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"combine()"
+"SdDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"split()"
+"SdDrawPage";"com::sun::star::form::XFormsSupplier#optional";"getForms()"
+"SdDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"bind()"
+"SdDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"unbind()"
+"SdDrawPage";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdDrawPage";"com::sun::star::container::XElementAccess";"hasElements()"
+"SdDrawPage";"com::sun::star::drawing::XMasterPageTarget";"getMasterPage()"
+"SdDrawPage";"com::sun::star::drawing::XMasterPageTarget";"setMasterPage()"
+"SdDrawPage";"com::sun::star::drawing::XShapes";"add()"
+"SdDrawPage";"com::sun::star::drawing::XShapes";"remove()"
+"SdDrawPage";"com::sun::star::container::XNamed#optional";"getName()"
+"SdDrawPage";"com::sun::star::container::XNamed#optional";"setName()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SdDrawPage";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SdDrawPage";"com::sun::star::drawing::XShapeGrouper";"group()"
+"SdDrawPage";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderBottom#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderLeft#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderRight#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderTop#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"Height#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"Width#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"Number"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"Orientation#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"UserDefinedAttributes#optional"
+"SdDrawPage";"com::sun::star::drawing::GenericDrawPage";"IsBackgroundDark#optional"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPagesAccess.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPagesAccess.csv
new file mode 100644
index 000000000..c54e175f7
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdDrawPagesAccess.csv
@@ -0,0 +1,6 @@
+"SdDrawPagesAccess";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdDrawPagesAccess";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdDrawPagesAccess";"com::sun::star::drawing::XDrawPages";"insertNewByIndex()"
+"SdDrawPagesAccess";"com::sun::star::drawing::XDrawPages";"remove()"
+"SdDrawPagesAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdDrawPagesAccess";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdGenericDrawPage.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdGenericDrawPage.csv
new file mode 100644
index 000000000..f72f0ac22
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdGenericDrawPage.csv
@@ -0,0 +1,34 @@
+"SdGenericDrawPage";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdGenericDrawPage";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdGenericDrawPage";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SdGenericDrawPage";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SdGenericDrawPage";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"combine()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"split()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"bind()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"unbind()"
+"SdGenericDrawPage";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdGenericDrawPage";"com::sun::star::container::XElementAccess";"hasElements()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapes";"add()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapes";"remove()"
+"SdGenericDrawPage";"com::sun::star::container::XNamed#optional";"getName()"
+"SdGenericDrawPage";"com::sun::star::container::XNamed#optional";"setName()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SdGenericDrawPage";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeGrouper";"group()"
+"SdGenericDrawPage";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderBottom#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderLeft#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderRight#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderTop#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"Height#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"Width#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"Number#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"Orientation#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"UserDefinedAttributes#optional"
+"SdGenericDrawPage";"com::sun::star::drawing::GenericDrawPage";"IsBackgroundDark#optional"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayer.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayer.csv
new file mode 100644
index 000000000..42cf3d99a
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayer.csv
@@ -0,0 +1,11 @@
+"SdLayer";"com::sun::star::drawing::Layer";"Name"
+"SdLayer";"com::sun::star::drawing::Layer";"IsVisible"
+"SdLayer";"com::sun::star::drawing::Layer";"IsPrintable"
+"SdLayer";"com::sun::star::drawing::Layer";"IsLocked"
+"SdLayer";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SdLayer";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayerManager.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayerManager.csv
new file mode 100644
index 000000000..4902e5c90
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdLayerManager.csv
@@ -0,0 +1,11 @@
+"SdLayerManager";"com::sun::star::container::XNameAccess";"getByName()"
+"SdLayerManager";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SdLayerManager";"com::sun::star::container::XNameAccess";"hasByName()"
+"SdLayerManager";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdLayerManager";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdLayerManager";"com::sun::star::drawing::XLayerManager";"insertNewByIndex()"
+"SdLayerManager";"com::sun::star::drawing::XLayerManager";"remove()"
+"SdLayerManager";"com::sun::star::drawing::XLayerManager";"attachShapeToLayer()"
+"SdLayerManager";"com::sun::star::drawing::XLayerManager";"getLayerForShape()"
+"SdLayerManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdLayerManager";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPage.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPage.csv
new file mode 100644
index 000000000..445442524
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPage.csv
@@ -0,0 +1,34 @@
+"SdMasterPage";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdMasterPage";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdMasterPage";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SdMasterPage";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SdMasterPage";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SdMasterPage";"com::sun::star::drawing::XShapeCombiner#optional";"combine()"
+"SdMasterPage";"com::sun::star::drawing::XShapeCombiner#optional";"split()"
+"SdMasterPage";"com::sun::star::drawing::XShapeBinder#optional";"bind()"
+"SdMasterPage";"com::sun::star::drawing::XShapeBinder#optional";"unbind()"
+"SdMasterPage";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdMasterPage";"com::sun::star::container::XElementAccess";"hasElements()"
+"SdMasterPage";"com::sun::star::drawing::XShapes";"add()"
+"SdMasterPage";"com::sun::star::drawing::XShapes";"remove()"
+"SdMasterPage";"com::sun::star::container::XNamed#optional";"getName()"
+"SdMasterPage";"com::sun::star::container::XNamed#optional";"setName()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SdMasterPage";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SdMasterPage";"com::sun::star::drawing::XShapeGrouper";"group()"
+"SdMasterPage";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"BorderBottom#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"BorderLeft#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"BorderRight#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"BorderTop#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"Height#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"Width#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"Number"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"Orientation#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"UserDefinedAttributes#optional"
+"SdMasterPage";"com::sun::star::drawing::GenericDrawPage";"IsBackgroundDark#optional"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPagesAccess.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPagesAccess.csv
new file mode 100644
index 000000000..1e6611695
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdMasterPagesAccess.csv
@@ -0,0 +1,6 @@
+"SdMasterPagesAccess";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdMasterPagesAccess";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdMasterPagesAccess";"com::sun::star::drawing::XDrawPages";"insertNewByIndex()"
+"SdMasterPagesAccess";"com::sun::star::drawing::XDrawPages";"remove()"
+"SdMasterPagesAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdMasterPagesAccess";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdPageLinkTargets.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdPageLinkTargets.csv
new file mode 100644
index 000000000..c78ba4bfd
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdPageLinkTargets.csv
@@ -0,0 +1,5 @@
+"SdPageLinkTargets";"com::sun::star::container::XNameAccess";"getByName()"
+"SdPageLinkTargets";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SdPageLinkTargets";"com::sun::star::container::XNameAccess";"hasByName()"
+"SdPageLinkTargets";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdPageLinkTargets";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentation.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentation.csv
new file mode 100644
index 000000000..511962013
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentation.csv
@@ -0,0 +1,9 @@
+"SdXCustomPresentation";"com::sun::star::container::XIndexAccess";"getCount()"
+"SdXCustomPresentation";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SdXCustomPresentation";"com::sun::star::container::XIndexContainer";"insertByIndex()"
+"SdXCustomPresentation";"com::sun::star::container::XIndexContainer";"removeByIndex()"
+"SdXCustomPresentation";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdXCustomPresentation";"com::sun::star::container::XElementAccess";"hasElements()"
+"SdXCustomPresentation";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"SdXCustomPresentation";"com::sun::star::container::XNamed";"getName()"
+"SdXCustomPresentation";"com::sun::star::container::XNamed";"setName()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentationAccess.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentationAccess.csv
new file mode 100644
index 000000000..83d672faf
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXCustomPresentationAccess.csv
@@ -0,0 +1,10 @@
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameAccess";"getByName()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameAccess";"hasByName()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameReplace";"replaceByName()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameContainer";"insertByName()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XNameContainer";"removeByName()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XElementAccess";"getElementType()"
+"SdXCustomPresentationAccess";"com::sun::star::container::XElementAccess";"hasElements()"
+"SdXCustomPresentationAccess";"com::sun::star::lang::XSingleServiceFactory";"createInstance()"
+"SdXCustomPresentationAccess";"com::sun::star::lang::XSingleServiceFactory";"createInstanceWithArguments()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXImpressDocument.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXImpressDocument.csv
new file mode 100644
index 000000000..6eb60af3b
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXImpressDocument.csv
@@ -0,0 +1,60 @@
+"SdXImpressDocument";"com::sun::star::drawing::XDrawPagesSupplier";"getDrawPages()"
+"SdXImpressDocument";"com::sun::star::document::XEventBroadcaster#optional";"addEventListener()"
+"SdXImpressDocument";"com::sun::star::document::XEventBroadcaster#optional";"removeEventListener()"
+"SdXImpressDocument";"com::sun::star::document::XLinkTargetSupplier";"getLinks()"
+"SdXImpressDocument";"com::sun::star::style::XStyleFamiliesSupplier";"getStyleFamilies()"
+"SdXImpressDocument";"com::sun::star::drawing::XLayerSupplier";"getLayerManager()"
+"SdXImpressDocument";"com::sun::star::view::XPrintable";"getPrinter()"
+"SdXImpressDocument";"com::sun::star::view::XPrintable";"setPrinter()"
+"SdXImpressDocument";"com::sun::star::view::XPrintable";"print()"
+"SdXImpressDocument";"com::sun::star::lang::XComponent";"dispose()"
+"SdXImpressDocument";"com::sun::star::lang::XComponent";"addEventListener()"
+"SdXImpressDocument";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SdXImpressDocument";"com::sun::star::presentation::XPresentationSupplier";"getPresentation()"
+"SdXImpressDocument";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"SdXImpressDocument";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"SdXImpressDocument";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"SdXImpressDocument";"com::sun::star::presentation::XCustomPresentationSupplier";"getCustomPresentations()"
+"SdXImpressDocument";"com::sun::star::view::XPrintJobBroadcaster#optional";"addPrintJobListener()"
+"SdXImpressDocument";"com::sun::star::view::XPrintJobBroadcaster#optional";"removePrintJobListener()"
+"SdXImpressDocument";"com::sun::star::document::XViewDataSupplier#optional";"getViewData()"
+"SdXImpressDocument";"com::sun::star::document::XViewDataSupplier#optional";"setViewData()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"hasLocation()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"getLocation()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"isReadonly()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"store()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"storeAsURL()"
+"SdXImpressDocument";"com::sun::star::frame::XStorable";"storeToURL()"
+"SdXImpressDocument";"com::sun::star::drawing::XDrawPageDuplicator";"duplicate()"
+"SdXImpressDocument";"com::sun::star::document::XEventsSupplier#optional";"getEvents()"
+"SdXImpressDocument";"com::sun::star::util::XModifiable";"isModified()"
+"SdXImpressDocument";"com::sun::star::util::XModifiable";"setModified()"
+"SdXImpressDocument";"com::sun::star::drawing::GenericDrawingDocument";"TabStop"
+"SdXImpressDocument";"com::sun::star::drawing::GenericDrawingDocument";"CharLocale"
+"SdXImpressDocument";"com::sun::star::drawing::GenericDrawingDocument";"VisibleArea"
+"SdXImpressDocument";"com::sun::star::drawing::GenericDrawingDocument";"ForbiddenCharacters"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SdXImpressDocument";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SdXImpressDocument";"com::sun::star::document::OfficeDocument";"AutomaticControlFocus#optional"
+"SdXImpressDocument";"com::sun::star::document::OfficeDocument";"ApplyFormDesignMode#optional"
+"SdXImpressDocument";"com::sun::star::document::OfficeDocument";"RuntimeUID#optional"
+"SdXImpressDocument";"com::sun::star::document::OfficeDocument";"InteropGrabBag#optional"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"attachResource()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"getURL()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"getArgs()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"connectController()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"disconnectController()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"lockControllers()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"unlockControllers()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"hasControllersLocked()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"getCurrentController()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"setCurrentController()"
+"SdXImpressDocument";"com::sun::star::frame::XModel";"getCurrentSelection()"
+"SdXImpressDocument";"com::sun::star::util::XModifyBroadcaster";"addModifyListener()"
+"SdXImpressDocument";"com::sun::star::util::XModifyBroadcaster";"removeModifyListener()"
+"SdXImpressDocument";"com::sun::star::drawing::XMasterPagesSupplier";"getMasterPages()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXPresentation.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXPresentation.csv
new file mode 100644
index 000000000..bf496d27b
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXPresentation.csv
@@ -0,0 +1,22 @@
+"SdXPresentation";"com::sun::star::presentation::Presentation";"AllowAnimations"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"CustomShow"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"FirstPage"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsAlwaysOnTop"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsAutomatic"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsEndless"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsFullScreen"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsLivePresentation"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"IsMouseVisible"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"Pause"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"StartWithNavigator"
+"SdXPresentation";"com::sun::star::presentation::Presentation";"UsePen"
+"SdXPresentation";"com::sun::star::presentation::XPresentation";"start()"
+"SdXPresentation";"com::sun::star::presentation::XPresentation";"end()"
+"SdXPresentation";"com::sun::star::presentation::XPresentation";"rehearseTimings()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SdXPresentation";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv
new file mode 100644
index 000000000..de7cc83d2
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.office.SdXShape.csv
@@ -0,0 +1,30 @@
+"SdXShape";"com::sun::star::lang::XComponent";"dispose()"
+"SdXShape";"com::sun::star::lang::XComponent";"addEventListener()"
+"SdXShape";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SdXShape";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"Printable#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"Name#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"Style#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SdXShape";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"SdXShape";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SdXShape";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SdXShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SdXShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SdXShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SdXShape";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SdXShape";"com::sun::star::drawing::XShape";"getPosition()"
+"SdXShape";"com::sun::star::drawing::XShape";"setPosition()"
+"SdXShape";"com::sun::star::drawing::XShape";"getSize()"
+"SdXShape";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleDrawDocumentView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleDrawDocumentView.csv
new file mode 100644
index 000000000..7efcd5cac
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleDrawDocumentView.csv
@@ -0,0 +1,22 @@
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleDrawDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleOutlineView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleOutlineView.csv
new file mode 100644
index 000000000..8b86af9da
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleOutlineView.csv
@@ -0,0 +1,13 @@
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleOutlineView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleSlideView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleSlideView.csv
new file mode 100644
index 000000000..a90cd92a6
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.AccessibleSlideView.csv
@@ -0,0 +1,22 @@
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleSlideView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_DrawView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_DrawView.csv
new file mode 100644
index 000000000..f98e20b3f
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_DrawView.csv
@@ -0,0 +1,58 @@
+"DrawController_DrawView";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DrawController_DrawView";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DrawController_DrawView";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DrawController_DrawView";"com::sun::star::lang::XComponent";"dispose()"
+"DrawController_DrawView";"com::sun::star::lang::XComponent";"addEventListener()"
+"DrawController_DrawView";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DrawController_DrawView";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"DrawController_DrawView";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"DrawController_DrawView";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"DrawController_DrawView";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
+"DrawController_DrawView";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"DrawController_DrawView";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"DrawController_DrawView";"com::sun::star::drawing::XDrawView";"setCurrentPage()"
+"DrawController_DrawView";"com::sun::star::drawing::XDrawView";"getCurrentPage()"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsMasterPageMode"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsLayerMode"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"CurrentPage"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"VisibleArea"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomType#optional"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomValue#optional"
+"DrawController_DrawView";"com::sun::star::drawing::DrawingDocumentDrawView";"ViewOffset#optional"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"setPosSize()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"getPosSize()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"setVisible()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"setEnable()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"setFocus()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addWindowListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removeWindowListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addFocusListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removeFocusListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addKeyListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removeKeyListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addMouseListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removeMouseListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addMouseMotionListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removeMouseMotionListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"addPaintListener()"
+"DrawController_DrawView";"com::sun::star::awt::XWindow#optional";"removePaintListener()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DrawController_DrawView";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"DrawController_DrawView";"com::sun::star::view::XSelectionSupplier";"select()"
+"DrawController_DrawView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"DrawController_DrawView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"DrawController_DrawView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"DrawController_DrawView";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"DrawController_DrawView";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"attachFrame()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"attachModel()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"suspend()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"getViewData()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"restoreViewData()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"getModel()"
+"DrawController_DrawView";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_HandoutView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_HandoutView.csv
new file mode 100644
index 000000000..20b590afe
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_HandoutView.csv
@@ -0,0 +1,58 @@
+"DrawController_HandoutView";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DrawController_HandoutView";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DrawController_HandoutView";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DrawController_HandoutView";"com::sun::star::lang::XComponent";"dispose()"
+"DrawController_HandoutView";"com::sun::star::lang::XComponent";"addEventListener()"
+"DrawController_HandoutView";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"DrawController_HandoutView";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"DrawController_HandoutView";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"DrawController_HandoutView";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
+"DrawController_HandoutView";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"DrawController_HandoutView";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"DrawController_HandoutView";"com::sun::star::drawing::XDrawView";"setCurrentPage()"
+"DrawController_HandoutView";"com::sun::star::drawing::XDrawView";"getCurrentPage()"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsMasterPageMode"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsLayerMode"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"CurrentPage"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"VisibleArea"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomType#optional"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomValue#optional"
+"DrawController_HandoutView";"com::sun::star::drawing::DrawingDocumentDrawView";"ViewOffset#optional"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"setPosSize()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"getPosSize()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"setVisible()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"setEnable()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"setFocus()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addWindowListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removeWindowListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addFocusListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removeFocusListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addKeyListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removeKeyListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addMouseListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removeMouseListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addMouseMotionListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removeMouseMotionListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"addPaintListener()"
+"DrawController_HandoutView";"com::sun::star::awt::XWindow#optional";"removePaintListener()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DrawController_HandoutView";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"DrawController_HandoutView";"com::sun::star::view::XSelectionSupplier";"select()"
+"DrawController_HandoutView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"DrawController_HandoutView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"DrawController_HandoutView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"DrawController_HandoutView";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"DrawController_HandoutView";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"attachFrame()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"attachModel()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"suspend()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"getViewData()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"restoreViewData()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"getModel()"
+"DrawController_HandoutView";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_NotesView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_NotesView.csv
new file mode 100644
index 000000000..c80030263
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_NotesView.csv
@@ -0,0 +1,58 @@
+"DrawController_NotesView";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DrawController_NotesView";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DrawController_NotesView";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DrawController_NotesView";"com::sun::star::lang::XComponent";"dispose()"
+"DrawController_NotesView";"com::sun::star::lang::XComponent";"addEventListener()"
+"DrawController_NotesView";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DrawController_NotesView";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"DrawController_NotesView";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"DrawController_NotesView";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"DrawController_NotesView";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
+"DrawController_NotesView";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"DrawController_NotesView";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"DrawController_NotesView";"com::sun::star::drawing::XDrawView";"setCurrentPage()"
+"DrawController_NotesView";"com::sun::star::drawing::XDrawView";"getCurrentPage()"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsMasterPageMode"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsLayerMode"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"CurrentPage"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"VisibleArea"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomType#optional"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomValue#optional"
+"DrawController_NotesView";"com::sun::star::drawing::DrawingDocumentDrawView";"ViewOffset#optional"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"setPosSize()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"getPosSize()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"setVisible()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"setEnable()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"setFocus()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addWindowListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removeWindowListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addFocusListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removeFocusListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addKeyListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removeKeyListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addMouseListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removeMouseListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addMouseMotionListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removeMouseMotionListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"addPaintListener()"
+"DrawController_NotesView";"com::sun::star::awt::XWindow#optional";"removePaintListener()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DrawController_NotesView";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"DrawController_NotesView";"com::sun::star::view::XSelectionSupplier";"select()"
+"DrawController_NotesView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"DrawController_NotesView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"DrawController_NotesView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"DrawController_NotesView";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"DrawController_NotesView";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"attachFrame()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"attachModel()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"suspend()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"getViewData()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"restoreViewData()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"getModel()"
+"DrawController_NotesView";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_OutlineView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_OutlineView.csv
new file mode 100644
index 000000000..190d053f1
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_OutlineView.csv
@@ -0,0 +1,58 @@
+"DrawController_OutlineView";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DrawController_OutlineView";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DrawController_OutlineView";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DrawController_OutlineView";"com::sun::star::lang::XComponent";"dispose()"
+"DrawController_OutlineView";"com::sun::star::lang::XComponent";"addEventListener()"
+"DrawController_OutlineView";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"DrawController_OutlineView";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"DrawController_OutlineView";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"DrawController_OutlineView";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
+"DrawController_OutlineView";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"DrawController_OutlineView";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"DrawController_OutlineView";"com::sun::star::drawing::XDrawView";"setCurrentPage()"
+"DrawController_OutlineView";"com::sun::star::drawing::XDrawView";"getCurrentPage()"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsMasterPageMode"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsLayerMode"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"CurrentPage"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"VisibleArea"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomType#optional"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomValue#optional"
+"DrawController_OutlineView";"com::sun::star::drawing::DrawingDocumentDrawView";"ViewOffset#optional"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"setPosSize()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"getPosSize()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"setVisible()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"setEnable()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"setFocus()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addWindowListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removeWindowListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addFocusListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removeFocusListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addKeyListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removeKeyListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addMouseListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removeMouseListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addMouseMotionListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removeMouseMotionListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"addPaintListener()"
+"DrawController_OutlineView";"com::sun::star::awt::XWindow#optional";"removePaintListener()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DrawController_OutlineView";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"DrawController_OutlineView";"com::sun::star::view::XSelectionSupplier";"select()"
+"DrawController_OutlineView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"DrawController_OutlineView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"DrawController_OutlineView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"DrawController_OutlineView";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"DrawController_OutlineView";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"attachFrame()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"attachModel()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"suspend()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"getViewData()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"restoreViewData()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"getModel()"
+"DrawController_OutlineView";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_PresentationView.csv b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_PresentationView.csv
new file mode 100644
index 000000000..bafd2766f
--- /dev/null
+++ b/qadevOOo/objdsc/sd/com.sun.star.comp.unknown.DrawController_PresentationView.csv
@@ -0,0 +1,58 @@
+"DrawController_PresentationView";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DrawController_PresentationView";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DrawController_PresentationView";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DrawController_PresentationView";"com::sun::star::lang::XComponent";"dispose()"
+"DrawController_PresentationView";"com::sun::star::lang::XComponent";"addEventListener()"
+"DrawController_PresentationView";"com::sun::star::lang::XComponent";"removeEventListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XUserInputInterception#optional";"addKeyHandler()"
+"DrawController_PresentationView";"com::sun::star::awt::XUserInputInterception#optional";"removeKeyHandler()"
+"DrawController_PresentationView";"com::sun::star::awt::XUserInputInterception#optional";"addMouseClickHandler()"
+"DrawController_PresentationView";"com::sun::star::awt::XUserInputInterception#optional";"removeMouseClickHandler()"
+"DrawController_PresentationView";"com::sun::star::ui::XContextMenuInterception#optional";"registerContextMenuInterceptor()"
+"DrawController_PresentationView";"com::sun::star::ui::XContextMenuInterception#optional";"releaseContextMenuInterceptor()"
+"DrawController_PresentationView";"com::sun::star::drawing::XDrawView";"setCurrentPage()"
+"DrawController_PresentationView";"com::sun::star::drawing::XDrawView";"getCurrentPage()"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsMasterPageMode"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"IsLayerMode"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"CurrentPage"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"VisibleArea"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomType#optional"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"ZoomValue#optional"
+"DrawController_PresentationView";"com::sun::star::drawing::DrawingDocumentDrawView";"ViewOffset#optional"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"setPosSize()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"getPosSize()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"setVisible()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"setEnable()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"setFocus()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addWindowListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removeWindowListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addFocusListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removeFocusListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addKeyListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removeKeyListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addMouseListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removeMouseListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addMouseMotionListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removeMouseMotionListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"addPaintListener()"
+"DrawController_PresentationView";"com::sun::star::awt::XWindow#optional";"removePaintListener()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DrawController_PresentationView";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"DrawController_PresentationView";"com::sun::star::view::XSelectionSupplier";"select()"
+"DrawController_PresentationView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"DrawController_PresentationView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"DrawController_PresentationView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"DrawController_PresentationView";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"DrawController_PresentationView";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"attachFrame()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"attachModel()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"suspend()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"getViewData()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"restoreViewData()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"getModel()"
+"DrawController_PresentationView";"com::sun::star::frame::XController";"getFrame()"
diff --git a/qadevOOo/objdsc/servicemgr.uno/com.sun.star.comp.stoc.OServiceManager.csv b/qadevOOo/objdsc/servicemgr.uno/com.sun.star.comp.stoc.OServiceManager.csv
new file mode 100644
index 000000000..a6d86e168
--- /dev/null
+++ b/qadevOOo/objdsc/servicemgr.uno/com.sun.star.comp.stoc.OServiceManager.csv
@@ -0,0 +1,28 @@
+"OServiceManager";"com::sun::star::lang::ServiceManager";"DefaultContext#optional"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"OServiceManager";"com::sun::star::lang::XComponent";"dispose()"
+"OServiceManager";"com::sun::star::lang::XComponent";"addEventListener()"
+"OServiceManager";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithContext()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithArgumentsAndContext()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"OServiceManager";"com::sun::star::container::XElementAccess";"hasElements()"
+"OServiceManager";"com::sun::star::container::XContentEnumerationAccess";"createContentEnumeration()"
+"OServiceManager";"com::sun::star::container::XContentEnumerationAccess";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::container::XSet";"has()"
+"OServiceManager";"com::sun::star::container::XSet";"insert()"
+"OServiceManager";"com::sun::star::container::XSet";"remove()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OServiceManager";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sfx/com.sun.star.comp.office.FrameLoader.csv b/qadevOOo/objdsc/sfx/com.sun.star.comp.office.FrameLoader.csv
new file mode 100644
index 000000000..dac6a78bb
--- /dev/null
+++ b/qadevOOo/objdsc/sfx/com.sun.star.comp.office.FrameLoader.csv
@@ -0,0 +1,5 @@
+"FrameLoader";"com::sun::star::frame::XSynchronousFrameLoader";"load()"
+"FrameLoader";"com::sun::star::frame::XSynchronousFrameLoader";"cancel()"
+"FrameLoader";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"FrameLoader";"com::sun::star::container::XNamed#optional";"getName()"
+"FrameLoader";"com::sun::star::container::XNamed#optional";"setName()"
diff --git a/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.AppDispatchProvider.csv b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.AppDispatchProvider.csv
new file mode 100644
index 000000000..abdbfd9e5
--- /dev/null
+++ b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.AppDispatchProvider.csv
@@ -0,0 +1,3 @@
+"AppDispatchProvider";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"AppDispatchProvider";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"AppDispatchProvider";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.DocumentTemplates.csv b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.DocumentTemplates.csv
new file mode 100644
index 000000000..72ed0093f
--- /dev/null
+++ b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.DocumentTemplates.csv
@@ -0,0 +1,9 @@
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"getContent()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"storeTemplate()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"addTemplate()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"removeTemplate()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"renameTemplate()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"addGroup()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"removeGroup()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"renameGroup()"
+"DocumentTemplates";"com::sun::star::frame::XDocumentTemplates";"update()"
diff --git a/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.SfxMacroLoader.csv b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.SfxMacroLoader.csv
new file mode 100644
index 000000000..2bcf52661
--- /dev/null
+++ b/qadevOOo/objdsc/sfx/com.sun.star.comp.sfx2.SfxMacroLoader.csv
@@ -0,0 +1,3 @@
+"SfxMacroLoader";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"SfxMacroLoader";"com::sun::star::frame::XDispatchProvider";"queryDispatch()"
+"SfxMacroLoader";"com::sun::star::frame::XDispatchProvider";"queryDispatches()"
diff --git a/qadevOOo/objdsc/shlibloader.uno/com.sun.star.comp.stoc.DLLComponentLoader.csv b/qadevOOo/objdsc/shlibloader.uno/com.sun.star.comp.stoc.DLLComponentLoader.csv
new file mode 100644
index 000000000..97115c0ff
--- /dev/null
+++ b/qadevOOo/objdsc/shlibloader.uno/com.sun.star.comp.stoc.DLLComponentLoader.csv
@@ -0,0 +1,5 @@
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"DLLComponentLoader";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"DLLComponentLoader";"com::sun::star::loader::XImplementationLoader";"activate()"
+"DLLComponentLoader";"com::sun::star::loader::XImplementationLoader";"writeRegistryInfo()"
diff --git a/qadevOOo/objdsc/simplereg.uno/com.sun.star.comp.stoc.SimpleRegistry.csv b/qadevOOo/objdsc/simplereg.uno/com.sun.star.comp.stoc.SimpleRegistry.csv
new file mode 100644
index 000000000..fd4b86c01
--- /dev/null
+++ b/qadevOOo/objdsc/simplereg.uno/com.sun.star.comp.stoc.SimpleRegistry.csv
@@ -0,0 +1,8 @@
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"getURL()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"open()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"isValid()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"close()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"destroy()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"getRootKey()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"isReadOnly()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"mergeKey()"
diff --git a/qadevOOo/objdsc/simreg/com.sun.star.comp.stoc.SimpleRegistry.csv b/qadevOOo/objdsc/simreg/com.sun.star.comp.stoc.SimpleRegistry.csv
new file mode 100644
index 000000000..fd4b86c01
--- /dev/null
+++ b/qadevOOo/objdsc/simreg/com.sun.star.comp.stoc.SimpleRegistry.csv
@@ -0,0 +1,8 @@
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"getURL()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"open()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"isValid()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"close()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"destroy()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"getRootKey()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"isReadOnly()"
+"SimpleRegistry";"com::sun::star::registry::XSimpleRegistry";"mergeKey()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLExporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLExporter.csv
new file mode 100644
index 000000000..f05c29aad
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLImporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLImporter.csv
new file mode 100644
index 000000000..deb62dc4b
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaExporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaExporter.csv
new file mode 100644
index 000000000..1970f1252
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaExporter.csv
@@ -0,0 +1,6 @@
+"XMLMetaExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaImporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaImporter.csv
new file mode 100644
index 000000000..767ea2ae0
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLMetaImporter.csv
@@ -0,0 +1,14 @@
+"XMLMetaImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLMetaImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsExporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsExporter.csv
new file mode 100644
index 000000000..316d947f0
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsExporter.csv
@@ -0,0 +1,6 @@
+"XMLSettingsExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsImporter.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsImporter.csv
new file mode 100644
index 000000000..fd0e0f32d
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.Math.XMLSettingsImporter.csv
@@ -0,0 +1,14 @@
+"XMLSettingsImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLSettingsImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmEditAccessible.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmEditAccessible.csv
new file mode 100644
index 000000000..58e85c7c7
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmEditAccessible.csv
@@ -0,0 +1,22 @@
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SmEditAccessible";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmGraphicAccessible.csv b/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmGraphicAccessible.csv
new file mode 100644
index 000000000..4f410395b
--- /dev/null
+++ b/qadevOOo/objdsc/sm/com.sun.star.comp.unknown.SmGraphicAccessible.csv
@@ -0,0 +1,39 @@
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SmGraphicAccessible";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sm/math.SmModel.csv b/qadevOOo/objdsc/sm/math.SmModel.csv
new file mode 100644
index 000000000..89447100e
--- /dev/null
+++ b/qadevOOo/objdsc/sm/math.SmModel.csv
@@ -0,0 +1,55 @@
+"SmModel";"com::sun::star::formula::FormulaProperties";"Alignment"
+"SmModel";"com::sun::star::formula::FormulaProperties";"BaseFontHeight"
+"SmModel";"com::sun::star::formula::FormulaProperties";"CustomFontNameFixed"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontFixedIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontFixedIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"CustomFontNameSans"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontSansIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontSansIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"CustomFontNameSerif"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontSerifIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontSerifIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNameFunctions"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontFunctionsIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontFunctionsIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNameNumbers"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNumbersIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNumbersIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNameText"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontTextIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontTextIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontNameVariables"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontVariablesIsItalic"
+"SmModel";"com::sun::star::formula::FormulaProperties";"FontVariablesIsBold"
+"SmModel";"com::sun::star::formula::FormulaProperties";"Formula"
+"SmModel";"com::sun::star::formula::FormulaProperties";"IsScaleAllBrackets"
+"SmModel";"com::sun::star::formula::FormulaProperties";"IsTextMode"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFontHeightFunctions"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFontHeightIndices"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFontHeightLimits"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFontHeightOperators"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFontHeightText"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeBracketDistance"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeBracketExcessSize"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFractionBarExcessLength"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFractionBarLineWeight"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFractionDenominatorDepth"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeFractionNumeratorHeight"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeIndexSubscript"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeIndexSuperscript"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeLineSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeLowerLimitDistance"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeMatrixColumnSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeMatrixLineSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeOperatorExcessSize"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeOperatorSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeRootSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeScaleBracketExcessSize"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeSpacing"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeSymbolMinimumHeight"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeSymbolPrimaryHeight"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RelativeUpperLimitDistance"
+"SmModel";"com::sun::star::formula::FormulaProperties";"TopMargin"
+"SmModel";"com::sun::star::formula::FormulaProperties";"BottomMargin"
+"SmModel";"com::sun::star::formula::FormulaProperties";"LeftMargin"
+"SmModel";"com::sun::star::formula::FormulaProperties";"RightMargin"
diff --git a/qadevOOo/objdsc/smgr/com.sun.star.comp.stoc.OServiceManager.csv b/qadevOOo/objdsc/smgr/com.sun.star.comp.stoc.OServiceManager.csv
new file mode 100644
index 000000000..a6d86e168
--- /dev/null
+++ b/qadevOOo/objdsc/smgr/com.sun.star.comp.stoc.OServiceManager.csv
@@ -0,0 +1,28 @@
+"OServiceManager";"com::sun::star::lang::ServiceManager";"DefaultContext#optional"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"OServiceManager";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"OServiceManager";"com::sun::star::lang::XComponent";"dispose()"
+"OServiceManager";"com::sun::star::lang::XComponent";"addEventListener()"
+"OServiceManager";"com::sun::star::lang::XComponent";"removeEventListener()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"OServiceManager";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithContext()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"createInstanceWithArgumentsAndContext()"
+"OServiceManager";"com::sun::star::lang::XMultiComponentFactory";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"OServiceManager";"com::sun::star::container::XElementAccess";"hasElements()"
+"OServiceManager";"com::sun::star::container::XContentEnumerationAccess";"createContentEnumeration()"
+"OServiceManager";"com::sun::star::container::XContentEnumerationAccess";"getAvailableServiceNames()"
+"OServiceManager";"com::sun::star::container::XSet";"has()"
+"OServiceManager";"com::sun::star::container::XSet";"insert()"
+"OServiceManager";"com::sun::star::container::XSet";"remove()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"OServiceManager";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"OServiceManager";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/smplmail/com.sun.star.comp.system.SimpleSystemMail.csv b/qadevOOo/objdsc/smplmail/com.sun.star.comp.system.SimpleSystemMail.csv
new file mode 100644
index 000000000..4d3ad862d
--- /dev/null
+++ b/qadevOOo/objdsc/smplmail/com.sun.star.comp.system.SimpleSystemMail.csv
@@ -0,0 +1,6 @@
+"SimpleSystemMail";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SimpleSystemMail";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SimpleSystemMail";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SimpleSystemMail";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"SimpleSystemMail";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"SimpleSystemMail";"com::sun::star::system::XSimpleMailClientSupplier";"querySimpleMailClient()"
diff --git a/qadevOOo/objdsc/srtrs/com.sun.star.comp.ucb.SortedDynamicResultSetFactory.csv b/qadevOOo/objdsc/srtrs/com.sun.star.comp.ucb.SortedDynamicResultSetFactory.csv
new file mode 100644
index 000000000..67e769f77
--- /dev/null
+++ b/qadevOOo/objdsc/srtrs/com.sun.star.comp.ucb.SortedDynamicResultSetFactory.csv
@@ -0,0 +1 @@
+"SortedDynamicResultSetFactory";"com::sun::star::ucb::XSortedDynamicResultSetFactory";"createSortedDynamicResultSet()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataInputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataInputStream.csv
new file mode 100644
index 000000000..bc4129a96
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataInputStream.csv
@@ -0,0 +1,20 @@
+"DataInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readBoolean()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readByte()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readChar()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readShort()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readLong()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readHyper()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readFloat()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readDouble()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readUTF()"
+"DataInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"DataInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"DataInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"available()"
+"DataInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataOutputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataOutputStream.csv
new file mode 100644
index 000000000..7d42dff75
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.DataOutputStream.csv
@@ -0,0 +1,14 @@
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeBoolean()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeByte()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeChar()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeShort()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeLong()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeHyper()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeFloat()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeDouble()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeUTF()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"DataOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"DataOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableInputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableInputStream.csv
new file mode 100644
index 000000000..715c7564d
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableInputStream.csv
@@ -0,0 +1,16 @@
+"MarkableInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"MarkableInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"MarkableInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"available()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableOutputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableOutputStream.csv
new file mode 100644
index 000000000..e3fb61b6a
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.MarkableOutputStream.csv
@@ -0,0 +1,14 @@
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"MarkableOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"MarkableOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectInputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectInputStream.csv
new file mode 100644
index 000000000..16af6a1cd
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectInputStream.csv
@@ -0,0 +1,26 @@
+"ObjectInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"ObjectInputStream";"com::sun::star::io::XObjectInputStream";"readObject()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readBoolean()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readByte()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readChar()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readShort()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readLong()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readHyper()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readFloat()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readDouble()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readUTF()"
+"ObjectInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"ObjectInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"available()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectOutputStream.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectOutputStream.csv
new file mode 100644
index 000000000..beaef1929
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.ObjectOutputStream.csv
@@ -0,0 +1,19 @@
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeBoolean()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeByte()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeChar()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeShort()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeLong()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeHyper()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeFloat()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeDouble()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeUTF()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"ObjectOutputStream";"com::sun::star::io::XObjectOutputStream";"writeObject()"
+"ObjectOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"ObjectOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.Pipe.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.Pipe.csv
new file mode 100644
index 000000000..0a46592d1
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.io.stm.Pipe.csv
@@ -0,0 +1,8 @@
+"Pipe";"com::sun::star::io::XOutputStream";"writeBytes()"
+"Pipe";"com::sun::star::io::XOutputStream";"flush()"
+"Pipe";"com::sun::star::io::XOutputStream";"closeOutput()"
+"Pipe";"com::sun::star::io::XInputStream";"readBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"skipBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"available()"
+"Pipe";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/stm/com.sun.star.comp.stoc.Pump.csv b/qadevOOo/objdsc/stm/com.sun.star.comp.stoc.Pump.csv
new file mode 100644
index 000000000..2099b7e4e
--- /dev/null
+++ b/qadevOOo/objdsc/stm/com.sun.star.comp.stoc.Pump.csv
@@ -0,0 +1,8 @@
+"Pump";"com::sun::star::io::XActiveDataControl";"addListener()"
+"Pump";"com::sun::star::io::XActiveDataControl";"removeListener()"
+"Pump";"com::sun::star::io::XActiveDataControl";"start()"
+"Pump";"com::sun::star::io::XActiveDataControl";"terminate()"
+"Pump";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"Pump";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"Pump";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"Pump";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataInputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataInputStream.csv
new file mode 100644
index 000000000..bc4129a96
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataInputStream.csv
@@ -0,0 +1,20 @@
+"DataInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"DataInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readBoolean()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readByte()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readChar()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readShort()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readLong()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readHyper()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readFloat()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readDouble()"
+"DataInputStream";"com::sun::star::io::XDataInputStream";"readUTF()"
+"DataInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"DataInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"DataInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"DataInputStream";"com::sun::star::io::XInputStream";"available()"
+"DataInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataOutputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataOutputStream.csv
new file mode 100644
index 000000000..7d42dff75
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.DataOutputStream.csv
@@ -0,0 +1,14 @@
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeBoolean()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeByte()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeChar()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeShort()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeLong()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeHyper()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeFloat()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeDouble()"
+"DataOutputStream";"com::sun::star::io::XDataOutputStream";"writeUTF()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"DataOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"DataOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"DataOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableInputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableInputStream.csv
new file mode 100644
index 000000000..715c7564d
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableInputStream.csv
@@ -0,0 +1,16 @@
+"MarkableInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"MarkableInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"MarkableInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"MarkableInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"MarkableInputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"available()"
+"MarkableInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableOutputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableOutputStream.csv
new file mode 100644
index 000000000..e3fb61b6a
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.MarkableOutputStream.csv
@@ -0,0 +1,14 @@
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"MarkableOutputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"MarkableOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"MarkableOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"MarkableOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"MarkableOutputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectInputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectInputStream.csv
new file mode 100644
index 000000000..16af6a1cd
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectInputStream.csv
@@ -0,0 +1,26 @@
+"ObjectInputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"ObjectInputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"ObjectInputStream";"com::sun::star::io::XObjectInputStream";"readObject()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readBoolean()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readByte()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readChar()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readShort()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readLong()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readHyper()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readFloat()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readDouble()"
+"ObjectInputStream";"com::sun::star::io::XDataInputStream";"readUTF()"
+"ObjectInputStream";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"ObjectInputStream";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"createMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"deleteMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"jumpToMark()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"jumpToFurthest()"
+"ObjectInputStream";"com::sun::star::io::XMarkableStream";"offsetToMark()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"readBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"skipBytes()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"available()"
+"ObjectInputStream";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectOutputStream.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectOutputStream.csv
new file mode 100644
index 000000000..beaef1929
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.ObjectOutputStream.csv
@@ -0,0 +1,19 @@
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"setPredecessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"getPredecessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"setSuccessor()"
+"ObjectOutputStream";"com::sun::star::io::XConnectable";"getSuccessor()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeBoolean()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeByte()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeChar()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeShort()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeLong()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeHyper()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeFloat()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeDouble()"
+"ObjectOutputStream";"com::sun::star::io::XDataOutputStream";"writeUTF()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"writeBytes()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"flush()"
+"ObjectOutputStream";"com::sun::star::io::XOutputStream";"closeOutput()"
+"ObjectOutputStream";"com::sun::star::io::XObjectOutputStream";"writeObject()"
+"ObjectOutputStream";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"ObjectOutputStream";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.Pipe.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.Pipe.csv
new file mode 100644
index 000000000..0a46592d1
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.io.stm.Pipe.csv
@@ -0,0 +1,8 @@
+"Pipe";"com::sun::star::io::XOutputStream";"writeBytes()"
+"Pipe";"com::sun::star::io::XOutputStream";"flush()"
+"Pipe";"com::sun::star::io::XOutputStream";"closeOutput()"
+"Pipe";"com::sun::star::io::XInputStream";"readBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"readSomeBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"skipBytes()"
+"Pipe";"com::sun::star::io::XInputStream";"available()"
+"Pipe";"com::sun::star::io::XInputStream";"closeInput()"
diff --git a/qadevOOo/objdsc/streams.uno/com.sun.star.comp.stoc.Pump.csv b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.stoc.Pump.csv
new file mode 100644
index 000000000..2099b7e4e
--- /dev/null
+++ b/qadevOOo/objdsc/streams.uno/com.sun.star.comp.stoc.Pump.csv
@@ -0,0 +1,8 @@
+"Pump";"com::sun::star::io::XActiveDataControl";"addListener()"
+"Pump";"com::sun::star::io::XActiveDataControl";"removeListener()"
+"Pump";"com::sun::star::io::XActiveDataControl";"start()"
+"Pump";"com::sun::star::io::XActiveDataControl";"terminate()"
+"Pump";"com::sun::star::io::XActiveDataSink";"setInputStream()"
+"Pump";"com::sun::star::io::XActiveDataSink";"getInputStream()"
+"Pump";"com::sun::star::io::XActiveDataSource";"setOutputStream()"
+"Pump";"com::sun::star::io::XActiveDataSource";"getOutputStream()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBox.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBox.csv
new file mode 100644
index 000000000..2a2583c4d
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBox.csv
@@ -0,0 +1,12 @@
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleBrowseBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderBar.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderBar.csv
new file mode 100644
index 000000000..cef9cd976
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderBar.csv
@@ -0,0 +1,12 @@
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleBrowseBoxHeaderBar";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderCell.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderCell.csv
new file mode 100644
index 000000000..536898df0
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxHeaderCell.csv
@@ -0,0 +1,12 @@
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleBrowseBoxHeaderCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTable.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTable.csv
new file mode 100644
index 000000000..20d115adf
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTable.csv
@@ -0,0 +1,12 @@
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleBrowseBoxTable";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTableCell.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTableCell.csv
new file mode 100644
index 000000000..42a25b07b
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleBrowseBoxTableCell.csv
@@ -0,0 +1,12 @@
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleBrowseBoxTableCell";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrl.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrl.csv
new file mode 100644
index 000000000..1226aa8f7
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrl.csv
@@ -0,0 +1,28 @@
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleIconChoiceCtrl";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrlEntry.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrlEntry.csv
new file mode 100644
index 000000000..58c996a73
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleIconChoiceCtrlEntry.csv
@@ -0,0 +1,38 @@
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleIconChoiceCtrlEntry";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBar.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBar.csv
new file mode 100644
index 000000000..73948b2fc
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBar.csv
@@ -0,0 +1,24 @@
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTabBar";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPage.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPage.csv
new file mode 100644
index 000000000..32b30d64b
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPage.csv
@@ -0,0 +1,24 @@
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTabBarPage";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPageList.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPageList.csv
new file mode 100644
index 000000000..b4f87286f
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTabBarPageList.csv
@@ -0,0 +1,31 @@
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTabBarPageList";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBox.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBox.csv
new file mode 100644
index 000000000..bff5bdd4b
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBox.csv
@@ -0,0 +1,28 @@
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTreeListBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBoxEntry.csv b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBoxEntry.csv
new file mode 100644
index 000000000..0f69eed99
--- /dev/null
+++ b/qadevOOo/objdsc/svtools/com.sun.star.comp.svtools.AccessibleTreeListBoxEntry.csv
@@ -0,0 +1,49 @@
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTreeListBoxEntry";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.Draw.GraphicExporter.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.Draw.GraphicExporter.csv
new file mode 100644
index 000000000..c88ac423f
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.Draw.GraphicExporter.csv
@@ -0,0 +1,5 @@
+"GraphicExporter";"com::sun::star::document::XFilter";"filter()"
+"GraphicExporter";"com::sun::star::document::XFilter";"cancel()"
+"GraphicExporter";"com::sun::star::document::XMimeTypeInfo";"supportsMimeType()"
+"GraphicExporter";"com::sun::star::document::XMimeTypeInfo";"getSupportedMimeTypeNames()"
+"GraphicExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxDrawPage.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxDrawPage.csv
new file mode 100644
index 000000000..ab8c9277f
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxDrawPage.csv
@@ -0,0 +1,37 @@
+"SvxDrawPage";"com::sun::star::container::XIndexAccess";"getCount()"
+"SvxDrawPage";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SvxDrawPage";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SvxDrawPage";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SvxDrawPage";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"combine()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"split()"
+"SvxDrawPage";"com::sun::star::form::XFormsSupplier#optional";"getForms()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"bind()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"unbind()"
+"SvxDrawPage";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxDrawPage";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxDrawPage";"com::sun::star::drawing::XMasterPageTarget";"getMasterPage()"
+"SvxDrawPage";"com::sun::star::drawing::XMasterPageTarget";"setMasterPage()"
+"SvxDrawPage";"com::sun::star::drawing::XShapes";"add()"
+"SvxDrawPage";"com::sun::star::drawing::XShapes";"remove()"
+"SvxDrawPage";"com::sun::star::container::XNamed#optional";"getName()"
+"SvxDrawPage";"com::sun::star::container::XNamed#optional";"setName()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SvxDrawPage";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeGrouper";"group()"
+"SvxDrawPage";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderBottom#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderLeft#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderRight#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderTop#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"Height#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"Width#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"Number#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"Orientation#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"UserDefinedAttributes#optional"
+"SvxDrawPage";"com::sun::star::drawing::GenericDrawPage";"IsBackgroundDark#optional"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv
new file mode 100644
index 000000000..9236825ab
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxGraphicObject.csv
@@ -0,0 +1,213 @@
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxGraphicObject";"com::sun::star::lang::XComponent";"dispose()"
+"SvxGraphicObject";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxGraphicObject";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxGraphicObject";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxGraphicObject";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxGraphicObject";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxGraphicObject";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxGraphicObject";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxGraphicObject";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxGraphicObject";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxGraphicObject";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxGraphicObject";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxGraphicObject";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxGraphicObject";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxGraphicObject";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"GraphicURL"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"GraphicStreamURL"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"GraphicObjectFillBitmap#optional"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"AdjustLuminance"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"AdjustContrast"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"AdjustRed"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"AdjustGreen"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"AdjustBlue"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"Gamma"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"Transparency"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"GraphicColorMode"
+"SvxGraphicObject";"com::sun::star::drawing::GraphicObjectShape";"ImageMap#optional"
+"SvxGraphicObject";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxGraphicObject";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxGraphicObject";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxGraphicObject";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxGraphicObject";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxGraphicObject";"com::sun::star::text::XTextRange";"getText()"
+"SvxGraphicObject";"com::sun::star::text::XTextRange";"getStart()"
+"SvxGraphicObject";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxGraphicObject";"com::sun::star::text::XTextRange";"getString()"
+"SvxGraphicObject";"com::sun::star::text::XTextRange";"setString()"
+"SvxGraphicObject";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxGraphicObject";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxGraphicObject";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxGraphicObject";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxGraphicObject";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxGraphicObject";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxGraphicObject";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxGraphicObject";"com::sun::star::drawing::XShape";"getSize()"
+"SvxGraphicObject";"com::sun::star::drawing::XShape";"setSize()"
+"SvxGraphicObject";"com::sun::star::text::XText";"insertTextContent()"
+"SvxGraphicObject";"com::sun::star::text::XText";"removeTextContent()"
+"SvxGraphicObject";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxGraphicObject";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxGraphicObject";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxGraphicObject";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv
new file mode 100644
index 000000000..96fa72a3c
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShape.csv
@@ -0,0 +1,237 @@
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShape";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShape";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShape";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShape";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShape";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShape";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"SvxShape";"com::sun::star::drawing::TextShape";"CornerRadius"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShape";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShape";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShape";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShape";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShape";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShape";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShape";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShape";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShape";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShape";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShape";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShape";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShape";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillStyle"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillColor"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"SvxShape";"com::sun::star::drawing::FillProperties";"FillBackground"
+"SvxShape";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShape";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShape";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShape";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShape";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShape";"com::sun::star::text::XTextRange";"getText()"
+"SvxShape";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShape";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShape";"com::sun::star::text::XTextRange";"getString()"
+"SvxShape";"com::sun::star::text::XTextRange";"setString()"
+"SvxShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShape";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShape";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShape";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShape";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShape";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShape";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShape";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShape";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShape";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShape";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShape";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShape";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShape";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShape";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv
new file mode 100644
index 000000000..8624bbb96
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCircle.csv
@@ -0,0 +1,239 @@
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeCircle";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapeCircle";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapeCircle";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShapeCircle";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeCircle";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShapeCircle";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShapeCircle";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapeCircle";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShapeCircle";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShapeCircle";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShapeCircle";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShapeCircle";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShapeCircle";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShapeCircle";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShapeCircle";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShapeCircle";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapeCircle";"com::sun::star::drawing::EllipseShape";"CircleKind"
+"SvxShapeCircle";"com::sun::star::drawing::EllipseShape";"CircleStartAngle"
+"SvxShapeCircle";"com::sun::star::drawing::EllipseShape";"CircleEndAngle"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillStyle"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillColor"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"SvxShapeCircle";"com::sun::star::drawing::FillProperties";"FillBackground"
+"SvxShapeCircle";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShapeCircle";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShapeCircle";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShapeCircle";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShapeCircle";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShapeCircle";"com::sun::star::text::XTextRange";"getText()"
+"SvxShapeCircle";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShapeCircle";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShapeCircle";"com::sun::star::text::XTextRange";"getString()"
+"SvxShapeCircle";"com::sun::star::text::XTextRange";"setString()"
+"SvxShapeCircle";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapeCircle";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapeCircle";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShapeCircle";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapeCircle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapeCircle";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapeCircle";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapeCircle";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapeCircle";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShapeCircle";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShapeCircle";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShapeCircle";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeCircle";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeCircle";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeCircle";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCollection.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCollection.csv
new file mode 100644
index 000000000..6942faaa5
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeCollection.csv
@@ -0,0 +1,6 @@
+"SvxShapeCollection";"com::sun::star::container::XIndexAccess";"getCount()"
+"SvxShapeCollection";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SvxShapeCollection";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxShapeCollection";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxShapeCollection";"com::sun::star::drawing::XShapes";"add()"
+"SvxShapeCollection";"com::sun::star::drawing::XShapes";"remove()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv
new file mode 100644
index 000000000..4502a89c8
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeConnector.csv
@@ -0,0 +1,228 @@
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeConnector";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapeConnector";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapeConnector";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShapeConnector";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeConnector";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShapeConnector";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShapeConnector";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapeConnector";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShapeConnector";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShapeConnector";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShapeConnector";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShapeConnector";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShapeConnector";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShapeConnector";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShapeConnector";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShapeConnector";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapeConnector";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShapeConnector";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShapeConnector";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShapeConnector";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShapeConnector";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShapeConnector";"com::sun::star::text::XTextRange";"getText()"
+"SvxShapeConnector";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShapeConnector";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShapeConnector";"com::sun::star::text::XTextRange";"getString()"
+"SvxShapeConnector";"com::sun::star::text::XTextRange";"setString()"
+"SvxShapeConnector";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapeConnector";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapeConnector";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"StartShape"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"StartGluePointIndex"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"StartPosition"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EndShape"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EndPosition"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EndGluePointIndex"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EdgeLine1Delta"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EdgeLine2Delta"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorShape";"EdgeLine3Delta"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorProperties";"EdgeKind"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorProperties";"EdgeNode1HorzDist"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorProperties";"EdgeNode1VertDist"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorProperties";"EdgeNode2HorzDist"
+"SvxShapeConnector";"com::sun::star::drawing::ConnectorProperties";"EdgeNode2VertDist"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShapeConnector";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapeConnector";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapeConnector";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapeConnector";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapeConnector";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapeConnector";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShapeConnector";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShapeConnector";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShapeConnector";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeConnector";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeConnector";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeConnector";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv
new file mode 100644
index 000000000..cc05a7c4e
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeControl.csv
@@ -0,0 +1,32 @@
+"SvxShapeControl";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapeControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapeControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeControl";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"SvxShapeControl";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapeControl";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapeControl";"com::sun::star::drawing::XControlShape";"getControl()"
+"SvxShapeControl";"com::sun::star::drawing::XControlShape";"setControl()"
+"SvxShapeControl";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapeControl";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapeControl";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapeControl";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapeControl";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapeControl";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapeControl";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapeControl";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv
new file mode 100644
index 000000000..7ae14a3ea
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeDimensioning.csv
@@ -0,0 +1,234 @@
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureBelowReferenceEdge"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureHelpLine1Length"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureHelpLine2Length"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureHelpLineDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureHelpLineOverhang"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureKind"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureLineDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureOverhang"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureShowUnit"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextAutoAngle"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextAutoAngleView"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextFixedAngle"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextHorizontalPosition"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextVerticalPosition"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextIsFixedAngle"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextRotate90"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureTextUpsideDown"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureProperties";"MeasureDecimalPlaces#optional"
+"SvxShapeDimensioning";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapeDimensioning";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapeDimensioning";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShapeDimensioning";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapeDimensioning";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShapeDimensioning";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShapeDimensioning";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShapeDimensioning";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShapeDimensioning";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShapeDimensioning";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShapeDimensioning";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShapeDimensioning";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapeDimensioning";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShapeDimensioning";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShapeDimensioning";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShapeDimensioning";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShapeDimensioning";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShapeDimensioning";"com::sun::star::text::XTextRange";"getText()"
+"SvxShapeDimensioning";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShapeDimensioning";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShapeDimensioning";"com::sun::star::text::XTextRange";"getString()"
+"SvxShapeDimensioning";"com::sun::star::text::XTextRange";"setString()"
+"SvxShapeDimensioning";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapeDimensioning";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapeDimensioning";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShapeDimensioning";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapeDimensioning";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapeDimensioning";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapeDimensioning";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapeDimensioning";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapeDimensioning";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShapeDimensioning";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShapeDimensioning";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapeDimensioning";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureShape";"StartPosition"
+"SvxShapeDimensioning";"com::sun::star::drawing::MeasureShape";"EndPosition"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv
new file mode 100644
index 000000000..31cf3dfbe
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapeGroup.csv
@@ -0,0 +1,38 @@
+"SvxShapeGroup";"com::sun::star::container::XIndexAccess";"getCount()"
+"SvxShapeGroup";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SvxShapeGroup";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapeGroup";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapeGroup";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapeGroup";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"SvxShapeGroup";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapeGroup";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapeGroup";"com::sun::star::drawing::XShapeGroup";"enterGroup()"
+"SvxShapeGroup";"com::sun::star::drawing::XShapeGroup";"leaveGroup()"
+"SvxShapeGroup";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxShapeGroup";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxShapeGroup";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapeGroup";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapeGroup";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapeGroup";"com::sun::star::drawing::XShapes";"add()"
+"SvxShapeGroup";"com::sun::star::drawing::XShapes";"remove()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapeGroup";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapeGroup";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapeGroup";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapeGroup";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapeGroup";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv
new file mode 100644
index 000000000..c266cb7f7
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygon.csv
@@ -0,0 +1,239 @@
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapePolyPolygon";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapePolyPolygon";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapePolyPolygon";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShapePolyPolygon";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShapePolyPolygon";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShapePolyPolygon";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShapePolyPolygon";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShapePolyPolygon";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShapePolyPolygon";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillStyle"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillColor"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"SvxShapePolyPolygon";"com::sun::star::drawing::FillProperties";"FillBackground"
+"SvxShapePolyPolygon";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShapePolyPolygon";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShapePolyPolygon";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShapePolyPolygon";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShapePolyPolygon";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShapePolyPolygon";"com::sun::star::text::XTextRange";"getText()"
+"SvxShapePolyPolygon";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShapePolyPolygon";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShapePolyPolygon";"com::sun::star::text::XTextRange";"getString()"
+"SvxShapePolyPolygon";"com::sun::star::text::XTextRange";"setString()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::PolyPolygonDescriptor";"PolygonKind"
+"SvxShapePolyPolygon";"com::sun::star::drawing::PolyPolygonDescriptor";"PolyPolygon"
+"SvxShapePolyPolygon";"com::sun::star::drawing::PolyPolygonDescriptor";"Geometry"
+"SvxShapePolyPolygon";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShapePolyPolygon";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapePolyPolygon";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapePolyPolygon";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShapePolyPolygon";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShapePolyPolygon";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapePolyPolygon";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv
new file mode 100644
index 000000000..f57e463aa
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxShapePolyPolygonBezier.csv
@@ -0,0 +1,239 @@
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::PolyPolygonBezierDescriptor";"PolygonKind"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::PolyPolygonBezierDescriptor";"PolyPolygonBezier"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::PolyPolygonBezierDescriptor";"Geometry"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapePolyPolygonBezier";"com::sun::star::lang::XComponent";"dispose()"
+"SvxShapePolyPolygonBezier";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"Printable#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"Name#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"Style#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::RotationDescriptor";"RotateAngle"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::RotationDescriptor";"ShearAngle#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineStyle"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineDash"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineTransparence"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineWidth"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineJoint"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineStartName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineStart#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineEnd#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineStartCenter#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineStartWidth#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineEndCenter#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::LineProperties";"LineEndWidth#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"IsNumbering#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"NumberingRules#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAutoGrowHeight"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAutoGrowWidth"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextContourFrame"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextFitToSize"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextHorizontalAdjust"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextVerticalAdjust"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextLeftDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextRightDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextUpperDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextLowerDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextMaximumFrameHeight"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextMaximumFrameWidth"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextMinimumFrameHeight"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextMinimumFrameWidth"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationAmount"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationCount"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationDelay"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationDirection"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationKind"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationStartInside"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextAnimationStopInside"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::TextProperties";"TextWritingMode"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillStyle"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillTransparence"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillTransparenceGradientName"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillTransparenceGradient#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillGradientName"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillGradient#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillHatchName"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillHatch#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapName"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmap#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapURL#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetX"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapOffsetY"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetX"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapPositionOffsetY"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapRectanglePoint"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapLogicalSize"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapSizeX"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapSizeY"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBitmapMode"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::FillProperties";"FillBackground"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::ShadowProperties";"Shadow"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::ShadowProperties";"ShadowColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::ShadowProperties";"ShadowTransparence"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::ShadowProperties";"ShadowXDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::ShadowProperties";"ShadowYDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XTextRange";"getText()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XTextRange";"getStart()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XTextRange";"getString()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XTextRange";"setString()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XShape";"getPosition()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XShape";"setPosition()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XShape";"getSize()"
+"SvxShapePolyPolygonBezier";"com::sun::star::drawing::XShape";"setSize()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XText";"insertTextContent()"
+"SvxShapePolyPolygonBezier";"com::sun::star::text::XText";"removeTextContent()"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxShapePolyPolygonBezier";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoNumberingRules.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoNumberingRules.csv
new file mode 100644
index 000000000..f79addb00
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoNumberingRules.csv
@@ -0,0 +1,16 @@
+"SvxUnoNumberingRules";"com::sun::star::container::XIndexAccess";"getCount()"
+"SvxUnoNumberingRules";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SvxUnoNumberingRules";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxUnoNumberingRules";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxUnoNumberingRules";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"SvxUnoNumberingRules";"com::sun::star::text::NumberingRules";"IsAbsoluteMargins#optional"
+"SvxUnoNumberingRules";"com::sun::star::text::NumberingRules";"IsAutomatic#optional"
+"SvxUnoNumberingRules";"com::sun::star::text::NumberingRules";"IsContinuousNumbering#optional"
+"SvxUnoNumberingRules";"com::sun::star::text::NumberingRules";"Name#optional"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SvxUnoNumberingRules";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoText.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoText.csv
new file mode 100644
index 000000000..538e7edfd
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoText.csv
@@ -0,0 +1,21 @@
+"SvxUnoText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SvxUnoText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SvxUnoText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SvxUnoText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SvxUnoText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SvxUnoText";"com::sun::star::text::XSimpleText";"insertString()"
+"SvxUnoText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SvxUnoText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxUnoText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxUnoText";"com::sun::star::text::XTextRange";"getText()"
+"SvxUnoText";"com::sun::star::text::XTextRange";"getStart()"
+"SvxUnoText";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxUnoText";"com::sun::star::text::XTextRange";"getString()"
+"SvxUnoText";"com::sun::star::text::XTextRange";"setString()"
+"SvxUnoText";"com::sun::star::text::Text";"StartRedline#optional"
+"SvxUnoText";"com::sun::star::text::Text";"EndRedline#optional"
+"SvxUnoText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SvxUnoText";"com::sun::star::text::XText";"insertTextContent()"
+"SvxUnoText";"com::sun::star::text::XText";"removeTextContent()"
+"SvxUnoText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SvxUnoText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContent.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContent.csv
new file mode 100644
index 000000000..50bf29408
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContent.csv
@@ -0,0 +1,205 @@
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextContent";"com::sun::star::lang::XComponent";"dispose()"
+"SvxUnoTextContent";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxUnoTextContent";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartData#optional";"addChartDataChangeEventListener()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartData#optional";"removeChartDataChangeEventListener()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartData#optional";"getNotANumber()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartData#optional";"isNotANumber()"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaAdjust"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaLineSpacing#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBackColor#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBackTransparent#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicURL#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicFilter#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicLocation#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaLastLineAdjust"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaExpandSingleWord#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaLeftMargin"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaRightMargin"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaTopMargin"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaBottomMargin"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberCount#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberStartValue#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"PageDescName#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"PageNumberOffset#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaRegisterModeActive#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaTabStops#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"DropCapFormat#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"DropCapWholeWord#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaKeepTogether#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaSplit#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"NumberingLevel#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"NumberingRules#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"NumberingStartValue#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaIsNumberingRestart#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"NumberingStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaOrphans#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaWidows#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaShadowFormat#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"LeftBorder#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"RightBorder#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"TopBorder#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"BottomBorder#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"BorderDistance#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"LeftBorderDistance#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"RightBorderDistance#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"TopBorderDistance#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"BottomBorderDistance#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"BreakType#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"DropCapCharStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaFirstLineIndent#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaIsAutoFirstLineIndent#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaIsHyphenation"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxHyphens#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxLeadingChars#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxTrailingChars#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaVertAlignment#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaUserDefinedAttributes#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"NumberingIsNumber#optional"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphProperties#optional";"ParaIsConnectBorder#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxUnoTextContent";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxUnoTextContent";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SvxUnoTextContent";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SvxUnoTextContent";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SvxUnoTextContent";"com::sun::star::table::XAutoFormattable#optional";"autoFormat()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"initialize()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"getRows()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"getColumns()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"getCellByName()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"getCellNames()"
+"SvxUnoTextContent";"com::sun::star::text::XTextTable#optional";"createCursorByCellName()"
+"SvxUnoTextContent";"com::sun::star::container::XElementAccess";"getElementType()"
+"SvxUnoTextContent";"com::sun::star::container::XElementAccess";"hasElements()"
+"SvxUnoTextContent";"com::sun::star::table::XCellRange#optional";"getCellByPosition()"
+"SvxUnoTextContent";"com::sun::star::table::XCellRange#optional";"getCellRangeByPosition()"
+"SvxUnoTextContent";"com::sun::star::table::XCellRange#optional";"getCellRangeByName()"
+"SvxUnoTextContent";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SvxUnoTextContent";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SvxUnoTextContent";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BreakType"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"LeftMargin"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"RightMargin"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"HoriOrient"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"KeepTogether"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"Split"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"PageNumberOffset"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"PageDescName"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"RelativeWidth"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"IsWidthRelative"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"RepeatHeadline"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"ShadowFormat"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"TopMargin"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BottomMargin"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BackTransparent"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"Width"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"ChartRowAsLabel"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"ChartColumnAsLabel"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"TableBorder"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"TableColumnSeparators"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"TableColumnRelativeSum"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BackColor"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BackGraphicURL"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BackGraphicFilter"
+"SvxUnoTextContent";"com::sun::star::text::TextTable#optional";"BackGraphicLocation"
+"SvxUnoTextContent";"com::sun::star::container::XNamed#optional";"getName()"
+"SvxUnoTextContent";"com::sun::star::container::XNamed#optional";"setName()"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontName"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontStyleName"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontFamily"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontCharSet"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontPitch"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharColor"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharEscapement#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharHeight"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharUnderline"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharWeight"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharPosture"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharAutoKerning#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharBackColor#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharBackTransparent#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharCaseMap#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharCrossedOut#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFlash#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharStrikeout#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharWordMode#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharKerning#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharLocale"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharKeepTogether#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharNoLineBreak#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharShadowed#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharFontType#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharContoured#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharCombineIsOn#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharCombinePrefix#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharCombineSuffix#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharEmphasis#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharRelief#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"RubyText#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"RubyAdjust#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"RubyCharStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"RubyIsAbove#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharRotation#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharRotationIsFitToLine#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharScaleWidth#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"HyperLinkURL#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"HyperLinkTarget#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"HyperLinkName#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"VisitedCharStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"UnvisitedCharStyleName#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharEscapementHeight#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharNoHyphenation#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineColor"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineHasColor"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharStyleNames#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"CharHidden#optional"
+"SvxUnoTextContent";"com::sun::star::style::CharacterProperties#optional";"TextUserDefinedAttributes#optional"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxUnoTextContent";"com::sun::star::sheet::XCellRangeData#optional";"getDataArray()"
+"SvxUnoTextContent";"com::sun::star::sheet::XCellRangeData#optional";"setDataArray()"
+"SvxUnoTextContent";"com::sun::star::text::XTextContent";"attach()"
+"SvxUnoTextContent";"com::sun::star::text::XTextContent";"getAnchor()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SvxUnoTextContent";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"getData()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"setData()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"getRowDescriptions()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"setRowDescriptions()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"getColumnDescriptions()"
+"SvxUnoTextContent";"com::sun::star::chart::XChartDataArray#optional";"setColumnDescriptions()"
+"SvxUnoTextContent";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextContent";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SvxUnoTextContent";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"SvxUnoTextContent";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContentEnum.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContentEnum.csv
new file mode 100644
index 000000000..ef8a621f0
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextContentEnum.csv
@@ -0,0 +1,2 @@
+"SvxUnoTextContentEnum";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"SvxUnoTextContentEnum";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextCursor.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextCursor.csv
new file mode 100644
index 000000000..fd7383f76
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextCursor.csv
@@ -0,0 +1,180 @@
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isStartOfSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isEndOfSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoNextSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoPreviousSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoStartOfSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoEndOfSentence()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isStartOfParagraph()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isEndOfParagraph()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoStartOfParagraph()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoEndOfParagraph()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoNextParagraph()"
+"SvxUnoTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoPreviousParagraph()"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"isStartOfWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"isEndOfWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoNextWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoPreviousWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoEndOfWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoStartOfWord()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"collapseToStart()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"collapseToEnd()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"isCollapsed()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"goLeft()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"goRight()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"gotoStart()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"gotoEnd()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextCursor";"gotoRange()"
+"SvxUnoTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SvxUnoTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextRange";"getText()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextRange";"getStart()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextRange";"getString()"
+"SvxUnoTextCursor";"com::sun::star::text::XTextRange";"setString()"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxUnoTextCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxUnoTextCursor";"com::sun::star::document::XDocumentInsertable#optional";"insertDocumentFromURL()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SvxUnoTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SvxUnoTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyStates()"
+"SvxUnoTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setAllPropertiesToDefault()"
+"SvxUnoTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setPropertiesToDefault()"
+"SvxUnoTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyDefaults()"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextCursor";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SvxUnoTextCursor";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"SvxUnoTextCursor";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextField.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextField.csv
new file mode 100644
index 000000000..4e08134cc
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextField.csv
@@ -0,0 +1,16 @@
+"SvxUnoTextField";"com::sun::star::lang::XComponent";"dispose()"
+"SvxUnoTextField";"com::sun::star::lang::XComponent";"addEventListener()"
+"SvxUnoTextField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SvxUnoTextField";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SvxUnoTextField";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SvxUnoTextField";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SvxUnoTextField";"com::sun::star::text::XTextField";"getPresentation()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SvxUnoTextField";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SvxUnoTextField";"com::sun::star::text::XTextContent";"attach()"
+"SvxUnoTextField";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRange.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRange.csv
new file mode 100644
index 000000000..92ade4421
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRange.csv
@@ -0,0 +1,147 @@
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SvxUnoTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SvxUnoTextRange";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SvxUnoTextRange";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SvxUnoTextRange";"com::sun::star::text::XTextRange";"getText()"
+"SvxUnoTextRange";"com::sun::star::text::XTextRange";"getStart()"
+"SvxUnoTextRange";"com::sun::star::text::XTextRange";"getEnd()"
+"SvxUnoTextRange";"com::sun::star::text::XTextRange";"getString()"
+"SvxUnoTextRange";"com::sun::star::text::XTextRange";"setString()"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharColor"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SvxUnoTextRange";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SvxUnoTextRange";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SvxUnoTextRange";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRangeEnumeration.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRangeEnumeration.csv
new file mode 100644
index 000000000..f04e05240
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.office.SvxUnoTextRangeEnumeration.csv
@@ -0,0 +1,2 @@
+"SvxUnoTextRangeEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"SvxUnoTextRangeEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.ui.SvxGraphCtrlAccessibleContext.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.ui.SvxGraphCtrlAccessibleContext.csv
new file mode 100644
index 000000000..03438ccc7
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.ui.SvxGraphCtrlAccessibleContext.csv
@@ -0,0 +1,29 @@
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SvxGraphCtrlAccessibleContext";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleControlShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleControlShape.csv
new file mode 100644
index 000000000..887d3151b
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleControlShape.csv
@@ -0,0 +1,25 @@
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleControlShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleEditableTextPara.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleEditableTextPara.csv
new file mode 100644
index 000000000..861b218ae
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleEditableTextPara.csv
@@ -0,0 +1,53 @@
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"cutText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"pasteText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"deleteText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"insertText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"replaceText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setAttributes()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleEditableTextPara";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleGraphicShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleGraphicShape.csv
new file mode 100644
index 000000000..2db06b3e8
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleGraphicShape.csv
@@ -0,0 +1,25 @@
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleImageBullet.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleImageBullet.csv
new file mode 100644
index 000000000..0eb39417c
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleImageBullet.csv
@@ -0,0 +1,13 @@
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleImageBullet";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleOLEShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleOLEShape.csv
new file mode 100644
index 000000000..e5db4c698
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleOLEShape.csv
@@ -0,0 +1,25 @@
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePageShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePageShape.csv
new file mode 100644
index 000000000..8a61c7690
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePageShape.csv
@@ -0,0 +1,25 @@
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessiblePageShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationGraphicShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationGraphicShape.csv
new file mode 100644
index 000000000..991f2b8f0
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationGraphicShape.csv
@@ -0,0 +1,25 @@
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessiblePresentationGraphicShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationOLEShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationOLEShape.csv
new file mode 100644
index 000000000..c37eea41c
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationOLEShape.csv
@@ -0,0 +1,25 @@
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessiblePresentationOLEShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationShape.csv
new file mode 100644
index 000000000..84d3ebc1f
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessiblePresentationShape.csv
@@ -0,0 +1,25 @@
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessiblePresentationShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleShape.csv b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleShape.csv
new file mode 100644
index 000000000..154ee2796
--- /dev/null
+++ b/qadevOOo/objdsc/svx/com.sun.star.comp.unknown.AccessibleShape.csv
@@ -0,0 +1,25 @@
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getFont()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getTitledBorderText()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleExtendedComponent#optional";"getToolTipText()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleShape";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.DocumentSettings.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.DocumentSettings.csv
new file mode 100644
index 000000000..8ff54f7c4
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.DocumentSettings.csv
@@ -0,0 +1,56 @@
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"ChartAutoUpdate#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"AddParaTableSpacing#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"AddParaTableSpacingAtStart#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"AlignTabStopPosition#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"SaveGlobalDocumentLinks#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"IsLabelDocument#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"UseFormerLineSpacing#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"AddParaSpacingToTableCells#optional"
+"DocumentSettings";"com::sun::star::text::DocumentSettings";"UseFormerObjectPositioning#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"ForbiddenCharacters#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"LinkUpdateMode#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"PrinterName"
+"DocumentSettings";"com::sun::star::document::Settings";"PrinterSetup"
+"DocumentSettings";"com::sun::star::document::Settings";"IsKernAsianPunctuation#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"CharacterCompressionType#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"ApplyUserData#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"SaveVersionOnClose#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"UpdateFromTemplate#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"FieldAutoUpdate#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"CurrentDatabaseDataSource#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"CurrentDatabaseCommand#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"CurrentDatabaseCommandType#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"DefaultTabStop#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"IsPrintBooklet#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"IsPrintBookletFront#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"IsPrintBookletBack#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"PrintQuality#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"ColorTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"DashTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"LineEndTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"HatchTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"GradientTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"BitmapTableURL#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"AutoCalculate#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"PrinterIndependentLayout#optional"
+"DocumentSettings";"com::sun::star::document::Settings";"AddExternalLeading#optional"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintGraphics"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintTables"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintDrawings"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintLeftPages"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintRightPages"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintControls"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintReversed"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintPaperFromSetup"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintFaxName"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintAnnotationMode"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintProspect"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintPageBackground"
+"DocumentSettings";"com::sun::star::text::PrintSettings";"PrintBlackFonts"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"DocumentSettings";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentPageView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentPageView.csv
new file mode 100644
index 000000000..75e0a856e
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentPageView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleDocumentPageView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentView.csv
new file mode 100644
index 000000000..db85ba977
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleDocumentView.csv
@@ -0,0 +1,29 @@
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleDocumentView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleEndnoteView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleEndnoteView.csv
new file mode 100644
index 000000000..ce45042fe
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleEndnoteView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleEndnoteView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFooterView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFooterView.csv
new file mode 100644
index 000000000..d8118188a
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFooterView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleFooterView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFootnoteView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFootnoteView.csv
new file mode 100644
index 000000000..337dc434d
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleFootnoteView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleFootnoteView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleHeaderView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleHeaderView.csv
new file mode 100644
index 000000000..43b3107cc
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleHeaderView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleHeaderView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessiblePageView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessiblePageView.csv
new file mode 100644
index 000000000..4f7e35223
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessiblePageView.csv
@@ -0,0 +1,22 @@
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessiblePageView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleParagraphView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleParagraphView.csv
new file mode 100644
index 000000000..95ac8a8c9
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleParagraphView.csv
@@ -0,0 +1,53 @@
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"cutText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"pasteText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"deleteText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"insertText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"replaceText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setAttributes()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleEditableText#optional";"setText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleParagraphView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableCellView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableCellView.csv
new file mode 100644
index 000000000..5cd6e41e6
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableCellView.csv
@@ -0,0 +1,33 @@
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleTableCellView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableView.csv
new file mode 100644
index 000000000..84b975795
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTableView.csv
@@ -0,0 +1,48 @@
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowCount()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnCount()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowDescription()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnDescription()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowExtentAt()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnExtentAt()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRowHeaders()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumnHeaders()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleRows()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getSelectedAccessibleColumns()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleRowSelected()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleColumnSelected()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCellAt()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleCaption()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleSummary()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"isAccessibleSelected()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleIndex()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleRow()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleTable";"getAccessibleColumn()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAccessibleChild()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"isAccessibleChildSelected()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"clearAccessibleSelection()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"selectAllAccessibleChildren()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChildCount()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"getSelectedAccessibleChild()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleSelection#optional";"deselectAccessibleChild()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleTableView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextEmbeddedObject.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextEmbeddedObject.csv
new file mode 100644
index 000000000..2f1fa0fdd
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextEmbeddedObject.csv
@@ -0,0 +1,25 @@
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageDescription()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageHeight()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageWidth()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleTextEmbeddedObject";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextFrameView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextFrameView.csv
new file mode 100644
index 000000000..dbaca5986
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextFrameView.csv
@@ -0,0 +1,22 @@
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleTextFrameView";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextGraphicObject.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextGraphicObject.csv
new file mode 100644
index 000000000..25474d6cd
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.SwAccessibleTextGraphicObject.csv
@@ -0,0 +1,25 @@
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageDescription()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageHeight()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleImage";"getAccessibleImageWidth()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"SwAccessibleTextGraphicObject";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentExporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentExporter.csv
new file mode 100644
index 000000000..669adc9a3
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentExporter.csv
@@ -0,0 +1,6 @@
+"XMLContentExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentImporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentImporter.csv
new file mode 100644
index 000000000..08204fe94
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLContentImporter.csv
@@ -0,0 +1,14 @@
+"XMLContentImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLContentImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLExporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLExporter.csv
new file mode 100644
index 000000000..f05c29aad
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLImporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLImporter.csv
new file mode 100644
index 000000000..deb62dc4b
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaExporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaExporter.csv
new file mode 100644
index 000000000..1970f1252
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaExporter.csv
@@ -0,0 +1,6 @@
+"XMLMetaExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaImporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaImporter.csv
new file mode 100644
index 000000000..767ea2ae0
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLMetaImporter.csv
@@ -0,0 +1,14 @@
+"XMLMetaImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLMetaImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsExporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsExporter.csv
new file mode 100644
index 000000000..316d947f0
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsExporter.csv
@@ -0,0 +1,6 @@
+"XMLSettingsExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsImporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsImporter.csv
new file mode 100644
index 000000000..fd0e0f32d
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLSettingsImporter.csv
@@ -0,0 +1,14 @@
+"XMLSettingsImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLSettingsImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesExporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesExporter.csv
new file mode 100644
index 000000000..5e863bb09
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesExporter.csv
@@ -0,0 +1,6 @@
+"XMLStylesExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesImporter.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesImporter.csv
new file mode 100644
index 000000000..c8bc5bca0
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.Writer.XMLStylesImporter.csv
@@ -0,0 +1,14 @@
+"XMLStylesImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLStylesImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv
new file mode 100644
index 000000000..25352ae1f
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextContainer.csv
@@ -0,0 +1,9 @@
+"SwXAutoTextContainer";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXAutoTextContainer";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXAutoTextContainer";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXAutoTextContainer";"com::sun::star::container::XIndexAccess#optional";"getCount()"
+"SwXAutoTextContainer";"com::sun::star::container::XIndexAccess#optional";"getByIndex()"
+"SwXAutoTextContainer";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXAutoTextContainer";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXAutoTextContainer";"com::sun::star::text::XAutoTextContainer";"insertNewByName()"
+"SwXAutoTextContainer";"com::sun::star::text::XAutoTextContainer";"removeByName()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextEntry.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextEntry.csv
new file mode 100644
index 000000000..8b4a43c38
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextEntry.csv
@@ -0,0 +1,12 @@
+"SwXAutoTextEntry";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXAutoTextEntry";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXAutoTextEntry";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXAutoTextEntry";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXAutoTextEntry";"com::sun::star::text::XAutoTextEntry";"applyTo()"
+"SwXAutoTextEntry";"com::sun::star::text::XTextRange";"getText()"
+"SwXAutoTextEntry";"com::sun::star::text::XTextRange";"getStart()"
+"SwXAutoTextEntry";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXAutoTextEntry";"com::sun::star::text::XTextRange";"getString()"
+"SwXAutoTextEntry";"com::sun::star::text::XTextRange";"setString()"
+"SwXAutoTextEntry";"com::sun::star::text::XText";"insertTextContent()"
+"SwXAutoTextEntry";"com::sun::star::text::XText";"removeTextContent()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextGroup.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextGroup.csv
new file mode 100644
index 000000000..59e5a68b4
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXAutoTextGroup.csv
@@ -0,0 +1,13 @@
+"SwXAutoTextGroup";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXAutoTextGroup";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXAutoTextGroup";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXAutoTextGroup";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXAutoTextGroup";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXAutoTextGroup";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXAutoTextGroup";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXAutoTextGroup";"com::sun::star::text::XAutoTextGroup";"getTitles()"
+"SwXAutoTextGroup";"com::sun::star::text::XAutoTextGroup";"renameByName()"
+"SwXAutoTextGroup";"com::sun::star::text::XAutoTextGroup";"insertNewByName()"
+"SwXAutoTextGroup";"com::sun::star::text::XAutoTextGroup";"removeByName()"
+"SwXAutoTextGroup";"com::sun::star::container::XNamed";"getName()"
+"SwXAutoTextGroup";"com::sun::star::container::XNamed";"setName()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv
new file mode 100644
index 000000000..45ebfd332
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBodyText.csv
@@ -0,0 +1,21 @@
+"SwXBodyText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXBodyText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXBodyText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXBodyText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXBodyText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getText()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getString()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"setString()"
+"SwXBodyText";"com::sun::star::text::Text";"StartRedline#optional"
+"SwXBodyText";"com::sun::star::text::Text";"EndRedline#optional"
+"SwXBodyText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SwXBodyText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXBodyText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXBodyText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXBodyText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmark.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmark.csv
new file mode 100644
index 000000000..5508d6f1b
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmark.csv
@@ -0,0 +1,10 @@
+"SwXBookmark";"com::sun::star::lang::XComponent";"dispose()"
+"SwXBookmark";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXBookmark";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXBookmark";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXBookmark";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXBookmark";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXBookmark";"com::sun::star::container::XNamed";"getName()"
+"SwXBookmark";"com::sun::star::container::XNamed";"setName()"
+"SwXBookmark";"com::sun::star::text::XTextContent";"attach()"
+"SwXBookmark";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmarks.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmarks.csv
new file mode 100644
index 000000000..49db753ce
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXBookmarks.csv
@@ -0,0 +1,7 @@
+"SwXBookmarks";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXBookmarks";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXBookmarks";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXBookmarks";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXBookmarks";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXBookmarks";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXBookmarks";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCell.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCell.csv
new file mode 100644
index 000000000..43ef6fab7
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCell.csv
@@ -0,0 +1,26 @@
+"SwXCell";"com::sun::star::text::CellProperties";"CellName"
+"SwXCell";"com::sun::star::text::CellProperties";"BackColor"
+"SwXCell";"com::sun::star::text::CellProperties";"BackGraphicURL"
+"SwXCell";"com::sun::star::text::CellProperties";"BackGraphicFilter"
+"SwXCell";"com::sun::star::text::CellProperties";"BackGraphicLocation"
+"SwXCell";"com::sun::star::text::CellProperties";"NumberFormat"
+"SwXCell";"com::sun::star::text::CellProperties";"BackTransparent"
+"SwXCell";"com::sun::star::text::CellProperties";"LeftBorder"
+"SwXCell";"com::sun::star::text::CellProperties";"RightBorder"
+"SwXCell";"com::sun::star::text::CellProperties";"TopBorder"
+"SwXCell";"com::sun::star::text::CellProperties";"BottomBorder"
+"SwXCell";"com::sun::star::text::CellProperties";"LeftBorderDistance"
+"SwXCell";"com::sun::star::text::CellProperties";"RightBorderDistance"
+"SwXCell";"com::sun::star::text::CellProperties";"TopBorderDistance"
+"SwXCell";"com::sun::star::text::CellProperties";"BottomBorderDistance"
+"SwXCell";"com::sun::star::text::CellProperties";"UserDefinedAttributes"
+"SwXCell";"com::sun::star::text::CellProperties";"TextSection"
+"SwXCell";"com::sun::star::text::CellProperties";"IsProtected"
+"SwXCell";"com::sun::star::text::CellProperties";"VertOrient"
+"SwXCell";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXCell";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCellRange.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCellRange.csv
new file mode 100644
index 000000000..85b06ecc2
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXCellRange.csv
@@ -0,0 +1,158 @@
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXCellRange";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"SwXCellRange";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"SwXCellRange";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"SwXCellRange";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"SwXCellRange";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"SwXCellRange";"com::sun::star::text::CellRange";"BackColor"
+"SwXCellRange";"com::sun::star::text::CellRange";"BackGraphicFilter"
+"SwXCellRange";"com::sun::star::text::CellRange";"BackGraphicLocation"
+"SwXCellRange";"com::sun::star::text::CellRange";"BackGraphicURL"
+"SwXCellRange";"com::sun::star::text::CellRange";"BackTransparent"
+"SwXCellRange";"com::sun::star::text::CellRange";"ChartColumnAsLabel"
+"SwXCellRange";"com::sun::star::text::CellRange";"ChartRowAsLabel"
+"SwXCellRange";"com::sun::star::text::CellRange";"NumberFormat"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharLeftBorder#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharRightBorder#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharBottomBorder#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharTopBorder#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharLeftBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharRightBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharBottomBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharTopBorderDistance#optional"
+"SwXCellRange";"com::sun::star::style::CharacterProperties";"CharShadowFormat#optional"
+"SwXCellRange";"com::sun::star::sheet::XCellRangeData#optional";"getDataArray()"
+"SwXCellRange";"com::sun::star::sheet::XCellRangeData#optional";"setDataArray()"
+"SwXCellRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXCellRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXCellRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXCellRange";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"getData()"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"setData()"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"getRowDescriptions()"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"setRowDescriptions()"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"getColumnDescriptions()"
+"SwXCellRange";"com::sun::star::chart::XChartDataArray#optional";"setColumnDescriptions()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXChapterNumbering.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXChapterNumbering.csv
new file mode 100644
index 000000000..89a3669e1
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXChapterNumbering.csv
@@ -0,0 +1,16 @@
+"SwXChapterNumbering";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXChapterNumbering";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXChapterNumbering";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXChapterNumbering";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXChapterNumbering";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"SwXChapterNumbering";"com::sun::star::text::NumberingRules";"IsAbsoluteMargins#optional"
+"SwXChapterNumbering";"com::sun::star::text::NumberingRules";"IsAutomatic#optional"
+"SwXChapterNumbering";"com::sun::star::text::NumberingRules";"IsContinuousNumbering#optional"
+"SwXChapterNumbering";"com::sun::star::text::NumberingRules";"Name#optional"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXChapterNumbering";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndex.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndex.csv
new file mode 100644
index 000000000..cd591f120
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndex.csv
@@ -0,0 +1,41 @@
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"Title"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"IsProtected"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleHeading"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel1"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel2#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel3#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel4#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel5#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel6#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel7#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel8#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel9#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleLevel10#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ParaStyleSeparator#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"TextColumns"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"BackGraphic"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"BackGraphicLocation"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"BackColor"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"BackTransparent"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"LevelFormat#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"CreateFromChapter#optional"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"ContentSection"
+"SwXDocumentIndex";"com::sun::star::text::BaseIndex";"HeaderSection"
+"SwXDocumentIndex";"com::sun::star::lang::XComponent";"dispose()"
+"SwXDocumentIndex";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXDocumentIndex";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UseAlphabeticalSeparators#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UseKeyAsEntry#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UseCombinedEntries#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"IsCaseSensitive#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UsePP#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UseDash#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"UseUpperCase#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"MainEntryCharacterStyleName#optional"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"DocumentIndexMarks"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"Locale"
+"SwXDocumentIndex";"com::sun::star::text::DocumentIndex";"SortAlgorithm"
+"SwXDocumentIndex";"com::sun::star::text::XDocumentIndex";"getServiceName()"
+"SwXDocumentIndex";"com::sun::star::text::XDocumentIndex";"update()"
+"SwXDocumentIndex";"com::sun::star::text::XTextContent";"attach()"
+"SwXDocumentIndex";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexMark.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexMark.csv
new file mode 100644
index 000000000..9bf2b782a
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexMark.csv
@@ -0,0 +1,12 @@
+"SwXDocumentIndexMark";"com::sun::star::lang::XComponent";"dispose()"
+"SwXDocumentIndexMark";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXDocumentIndexMark";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXDocumentIndexMark";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXDocumentIndexMark";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXDocumentIndexMark";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXDocumentIndexMark";"com::sun::star::text::BaseIndexMark";"AlternativeText"
+"SwXDocumentIndexMark";"com::sun::star::text::DocumentIndexMark";"PrimaryKey"
+"SwXDocumentIndexMark";"com::sun::star::text::DocumentIndexMark";"SecondaryKey"
+"SwXDocumentIndexMark";"com::sun::star::text::DocumentIndexMark";"IsMainEntry"
+"SwXDocumentIndexMark";"com::sun::star::text::XTextContent";"attach()"
+"SwXDocumentIndexMark";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexes.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexes.csv
new file mode 100644
index 000000000..84f323698
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDocumentIndexes.csv
@@ -0,0 +1,7 @@
+"SwXDocumentIndexes";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXDocumentIndexes";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXDocumentIndexes";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXDocumentIndexes";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXDocumentIndexes";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXDocumentIndexes";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXDocumentIndexes";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDrawPage.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDrawPage.csv
new file mode 100644
index 000000000..bf6f9936c
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXDrawPage.csv
@@ -0,0 +1,34 @@
+"SwXDrawPage";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXDrawPage";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXDrawPage";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SwXDrawPage";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SwXDrawPage";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"combine()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeCombiner#optional";"split()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"bind()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeBinder#optional";"unbind()"
+"SwXDrawPage";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXDrawPage";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXDrawPage";"com::sun::star::drawing::XShapes";"add()"
+"SwXDrawPage";"com::sun::star::drawing::XShapes";"remove()"
+"SwXDrawPage";"com::sun::star::container::XNamed#optional";"getName()"
+"SwXDrawPage";"com::sun::star::container::XNamed#optional";"setName()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXDrawPage";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeGrouper";"group()"
+"SwXDrawPage";"com::sun::star::drawing::XShapeGrouper";"ungroup()"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderBottom#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderLeft#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderRight#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"BorderTop#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"Height#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"Width#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"Number#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"Orientation#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"UserDefinedAttributes#optional"
+"SwXDrawPage";"com::sun::star::drawing::GenericDrawPage";"IsBackgroundDark#optional"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXEndnoteProperties.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXEndnoteProperties.csv
new file mode 100644
index 000000000..9438a9937
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXEndnoteProperties.csv
@@ -0,0 +1,11 @@
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"CharStyleName"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"NumberingType"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"PageStyleName"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"ParaStyleName"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"Prefix"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"StartAt"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"Suffix"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"BeginNotice#optional"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"EndNotice#optional"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"FootnoteCounting#optional"
+"SwXEndnoteProperties";"com::sun::star::text::FootnoteSettings";"PositionEndOfDoc#optional"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldEnumeration.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldEnumeration.csv
new file mode 100644
index 000000000..9b2391fc0
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldEnumeration.csv
@@ -0,0 +1,2 @@
+"SwXFieldEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"SwXFieldEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldMaster.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldMaster.csv
new file mode 100644
index 000000000..52771f9c6
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFieldMaster.csv
@@ -0,0 +1,10 @@
+"SwXFieldMaster";"com::sun::star::text::TextFieldMaster";"Name#optional"
+"SwXFieldMaster";"com::sun::star::text::TextFieldMaster";"DependentTextFields"
+"SwXFieldMaster";"com::sun::star::text::TextFieldMaster";"InstanceName"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXFieldMaster";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnote.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnote.csv
new file mode 100644
index 000000000..888987553
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnote.csv
@@ -0,0 +1,19 @@
+"SwXFootnote";"com::sun::star::lang::XComponent";"dispose()"
+"SwXFootnote";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXFootnote";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXFootnote";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXFootnote";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXFootnote";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXFootnote";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXFootnote";"com::sun::star::text::XTextRange";"getText()"
+"SwXFootnote";"com::sun::star::text::XTextRange";"getStart()"
+"SwXFootnote";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXFootnote";"com::sun::star::text::XTextRange";"getString()"
+"SwXFootnote";"com::sun::star::text::XTextRange";"setString()"
+"SwXFootnote";"com::sun::star::text::XFootnote";"getLabel()"
+"SwXFootnote";"com::sun::star::text::XFootnote";"setLabel()"
+"SwXFootnote";"com::sun::star::text::XTextContent";"attach()"
+"SwXFootnote";"com::sun::star::text::XTextContent";"getAnchor()"
+"SwXFootnote";"com::sun::star::text::XText";"insertTextContent()"
+"SwXFootnote";"com::sun::star::text::XText";"removeTextContent()"
+"SwXFootnote";"com::sun::star::text::Footnote";"ReferenceId#optional"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteProperties.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteProperties.csv
new file mode 100644
index 000000000..29abe97f2
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteProperties.csv
@@ -0,0 +1,11 @@
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"CharStyleName"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"NumberingType"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"PageStyleName"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"ParaStyleName"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"Prefix"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"StartAt"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"Suffix"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"BeginNotice#optional"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"EndNotice#optional"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"FootnoteCounting#optional"
+"SwXFootnoteProperties";"com::sun::star::text::FootnoteSettings";"PositionEndOfDoc#optional"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv
new file mode 100644
index 000000000..3f3663b8c
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnoteText.csv
@@ -0,0 +1,21 @@
+"SwXFootnoteText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXFootnoteText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXFootnoteText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXFootnoteText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXFootnoteText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXFootnoteText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXFootnoteText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXFootnoteText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXFootnoteText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXFootnoteText";"com::sun::star::text::XTextRange";"getText()"
+"SwXFootnoteText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXFootnoteText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXFootnoteText";"com::sun::star::text::XTextRange";"getString()"
+"SwXFootnoteText";"com::sun::star::text::XTextRange";"setString()"
+"SwXFootnoteText";"com::sun::star::text::Text";"StartRedline#optional"
+"SwXFootnoteText";"com::sun::star::text::Text";"EndRedline#optional"
+"SwXFootnoteText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SwXFootnoteText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXFootnoteText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXFootnoteText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXFootnoteText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnotes.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnotes.csv
new file mode 100644
index 000000000..c9749ef35
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFootnotes.csv
@@ -0,0 +1,4 @@
+"SwXFootnotes";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXFootnotes";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXFootnotes";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXFootnotes";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFrames.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFrames.csv
new file mode 100644
index 000000000..abc540ec1
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXFrames.csv
@@ -0,0 +1,9 @@
+"SwXFrames";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXFrames";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXFrames";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXFrames";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXFrames";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXFrames";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXFrames";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXFrames";"com::sun::star::container::XContainer#optional";"addContainerListener()"
+"SwXFrames";"com::sun::star::container::XContainer#optional";"removeContainerListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv
new file mode 100644
index 000000000..0602fbf2e
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXHeadFootText.csv
@@ -0,0 +1,21 @@
+"SwXHeadFootText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXHeadFootText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXHeadFootText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXHeadFootText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXHeadFootText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXHeadFootText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXHeadFootText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXHeadFootText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXHeadFootText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXHeadFootText";"com::sun::star::text::XTextRange";"getText()"
+"SwXHeadFootText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXHeadFootText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXHeadFootText";"com::sun::star::text::XTextRange";"getString()"
+"SwXHeadFootText";"com::sun::star::text::XTextRange";"setString()"
+"SwXHeadFootText";"com::sun::star::text::Text";"StartRedline#optional"
+"SwXHeadFootText";"com::sun::star::text::Text";"EndRedline#optional"
+"SwXHeadFootText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SwXHeadFootText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXHeadFootText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXHeadFootText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXHeadFootText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXLineNumberingProperties.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXLineNumberingProperties.csv
new file mode 100644
index 000000000..566db1a6f
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXLineNumberingProperties.csv
@@ -0,0 +1,10 @@
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"IsOn"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"CharStyleName"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"CountEmptyLines"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"CountLinesInFrames"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"Distance"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"Interval"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"SeparatorText"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"SeparatorInterval"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"NumberPosition"
+"SwXLineNumberingProperties";"com::sun::star::text::LineNumberingProperties";"NumberingType"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXMailMerge.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXMailMerge.csv
new file mode 100644
index 000000000..f6158aee2
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXMailMerge.csv
@@ -0,0 +1,36 @@
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"DataSourceName#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"ActiveConnection#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"Command#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"CommandType#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"Filter#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"EscapeProcessing#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"ResultSet#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"Selection#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"BookmarkSelection#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"ColumnName#optional"
+"SwXMailMerge";"com::sun::star::sdb::DataAccessDescriptor";"Column#optional"
+"SwXMailMerge";"com::sun::star::text::XMailMergeBroadcaster#optional";"addMailMergeEventListener()"
+"SwXMailMerge";"com::sun::star::text::XMailMergeBroadcaster#optional";"removeMailMergeEventListener()"
+"SwXMailMerge";"com::sun::star::task::XJob";"execute()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXMailMerge";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"DataSourceName"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"CommandType"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"Command"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"ResultSet"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"ActiveConnection"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"Selection"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"EscapeProcessing"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"Filter"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"DocumentURL"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"Model"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"OutputType"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"SinglePrintJobs"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"OutputURL"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"FileNameFromColumn"
+"SwXMailMerge";"com::sun::star::text::MailMerge";"FileNamePrefix"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXModule.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXModule.csv
new file mode 100644
index 000000000..53430c7c2
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXModule.csv
@@ -0,0 +1,2 @@
+"SwXModule";"com::sun::star::view::XViewSettingsSupplier";"getViewSettings()"
+"SwXModule";"com::sun::star::view::XPrintSettingsSupplier";"getPrintSettings()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXNumberingRules.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXNumberingRules.csv
new file mode 100644
index 000000000..6b30de486
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXNumberingRules.csv
@@ -0,0 +1,16 @@
+"SwXNumberingRules";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXNumberingRules";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXNumberingRules";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXNumberingRules";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXNumberingRules";"com::sun::star::container::XIndexReplace";"replaceByIndex()"
+"SwXNumberingRules";"com::sun::star::text::NumberingRules";"IsAbsoluteMargins#optional"
+"SwXNumberingRules";"com::sun::star::text::NumberingRules";"IsAutomatic#optional"
+"SwXNumberingRules";"com::sun::star::text::NumberingRules";"IsContinuousNumbering#optional"
+"SwXNumberingRules";"com::sun::star::text::NumberingRules";"Name#optional"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXNumberingRules";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraph.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraph.csv
new file mode 100644
index 000000000..00e5ffa78
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraph.csv
@@ -0,0 +1,205 @@
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXParagraph";"com::sun::star::lang::XComponent";"dispose()"
+"SwXParagraph";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXParagraph";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXParagraph";"com::sun::star::chart::XChartData#optional";"addChartDataChangeEventListener()"
+"SwXParagraph";"com::sun::star::chart::XChartData#optional";"removeChartDataChangeEventListener()"
+"SwXParagraph";"com::sun::star::chart::XChartData#optional";"getNotANumber()"
+"SwXParagraph";"com::sun::star::chart::XChartData#optional";"isNotANumber()"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaAdjust"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaLineSpacing#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBackColor#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBackTransparent#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicURL#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicFilter#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBackGraphicLocation#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaLastLineAdjust"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaExpandSingleWord#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaLeftMargin"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaRightMargin"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaTopMargin"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaBottomMargin"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberCount#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaLineNumberStartValue#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"PageDescName#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"PageNumberOffset#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaRegisterModeActive#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaTabStops#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaStyleName#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"DropCapFormat#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"DropCapWholeWord#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaKeepTogether#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaSplit#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"NumberingLevel#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"NumberingRules#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"NumberingStartValue#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaIsNumberingRestart#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"NumberingStyleName#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaOrphans#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaWidows#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaShadowFormat#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"LeftBorder#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"RightBorder#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"TopBorder#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"BottomBorder#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"BorderDistance#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"LeftBorderDistance#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"RightBorderDistance#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"TopBorderDistance#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"BottomBorderDistance#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"BreakType#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"DropCapCharStyleName#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaFirstLineIndent#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaIsAutoFirstLineIndent#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaIsHyphenation"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxHyphens#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxLeadingChars#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaHyphenationMaxTrailingChars#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaVertAlignment#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaUserDefinedAttributes#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"NumberingIsNumber#optional"
+"SwXParagraph";"com::sun::star::style::ParagraphProperties#optional";"ParaIsConnectBorder#optional"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXParagraph";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXParagraph";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXParagraph";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXParagraph";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXParagraph";"com::sun::star::table::XAutoFormattable#optional";"autoFormat()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"initialize()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"getRows()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"getColumns()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"getCellByName()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"getCellNames()"
+"SwXParagraph";"com::sun::star::text::XTextTable#optional";"createCursorByCellName()"
+"SwXParagraph";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXParagraph";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXParagraph";"com::sun::star::table::XCellRange#optional";"getCellByPosition()"
+"SwXParagraph";"com::sun::star::table::XCellRange#optional";"getCellRangeByPosition()"
+"SwXParagraph";"com::sun::star::table::XCellRange#optional";"getCellRangeByName()"
+"SwXParagraph";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SwXParagraph";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SwXParagraph";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BreakType"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"LeftMargin"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"RightMargin"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"HoriOrient"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"KeepTogether"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"Split"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"PageNumberOffset"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"PageDescName"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"RelativeWidth"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"IsWidthRelative"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"RepeatHeadline"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"ShadowFormat"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"TopMargin"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BottomMargin"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BackTransparent"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"Width"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"ChartRowAsLabel"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"ChartColumnAsLabel"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"TableBorder"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"TableColumnSeparators"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"TableColumnRelativeSum"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BackColor"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BackGraphicURL"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BackGraphicFilter"
+"SwXParagraph";"com::sun::star::text::TextTable#optional";"BackGraphicLocation"
+"SwXParagraph";"com::sun::star::container::XNamed#optional";"getName()"
+"SwXParagraph";"com::sun::star::container::XNamed#optional";"setName()"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontName"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontStyleName"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontFamily"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontCharSet"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontPitch"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharColor"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharEscapement#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharHeight"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharUnderline"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharWeight"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharPosture"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharAutoKerning#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharBackColor#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharBackTransparent#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharCaseMap#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharCrossedOut#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFlash#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharStrikeout#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharWordMode#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharKerning#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharLocale"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharKeepTogether#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharNoLineBreak#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharShadowed#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharFontType#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharStyleName#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharContoured#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharCombineIsOn#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharCombinePrefix#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharCombineSuffix#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharEmphasis#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharRelief#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"RubyText#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"RubyAdjust#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"RubyCharStyleName#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"RubyIsAbove#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharRotation#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharRotationIsFitToLine#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharScaleWidth#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"HyperLinkURL#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"HyperLinkTarget#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"HyperLinkName#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"VisitedCharStyleName#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"UnvisitedCharStyleName#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharEscapementHeight#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharNoHyphenation#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineColor"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharUnderlineHasColor"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharStyleNames#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"CharHidden#optional"
+"SwXParagraph";"com::sun::star::style::CharacterProperties#optional";"TextUserDefinedAttributes#optional"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXParagraph";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXParagraph";"com::sun::star::sheet::XCellRangeData#optional";"getDataArray()"
+"SwXParagraph";"com::sun::star::sheet::XCellRangeData#optional";"setDataArray()"
+"SwXParagraph";"com::sun::star::text::XTextContent";"attach()"
+"SwXParagraph";"com::sun::star::text::XTextContent";"getAnchor()"
+"SwXParagraph";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXParagraph";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXParagraph";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXParagraph";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"getData()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"setData()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"getRowDescriptions()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"setRowDescriptions()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"getColumnDescriptions()"
+"SwXParagraph";"com::sun::star::chart::XChartDataArray#optional";"setColumnDescriptions()"
+"SwXParagraph";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"SwXParagraph";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXParagraph";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXParagraph";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXParagraph";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SwXParagraph";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"SwXParagraph";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraphEnumeration.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraphEnumeration.csv
new file mode 100644
index 000000000..9462032b1
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXParagraphEnumeration.csv
@@ -0,0 +1,2 @@
+"SwXParagraphEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"SwXParagraphEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPrintSettings.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPrintSettings.csv
new file mode 100644
index 000000000..50f5cbcd3
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPrintSettings.csv
@@ -0,0 +1,13 @@
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintGraphics"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintTables"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintDrawings"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintLeftPages"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintRightPages"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintControls"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintReversed"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintPaperFromSetup"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintFaxName"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintAnnotationMode"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintProspect"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintPageBackground"
+"SwXPrintSettings";"com::sun::star::text::PrintSettings";"PrintBlackFonts"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySet.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySet.csv
new file mode 100644
index 000000000..44a328954
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySet.csv
@@ -0,0 +1,7 @@
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXPropertySet";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySetInfo.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySetInfo.csv
new file mode 100644
index 000000000..98a87cbf9
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXPropertySetInfo.csv
@@ -0,0 +1,3 @@
+"SwXPropertySetInfo";"com::sun::star::beans::XPropertySetInfo";"getProperties()"
+"SwXPropertySetInfo";"com::sun::star::beans::XPropertySetInfo";"getPropertyByName()"
+"SwXPropertySetInfo";"com::sun::star::beans::XPropertySetInfo";"hasPropertyByName()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMark.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMark.csv
new file mode 100644
index 000000000..bdabc0f82
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMark.csv
@@ -0,0 +1,7 @@
+"SwXReferenceMark";"com::sun::star::lang::XComponent";"dispose()"
+"SwXReferenceMark";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXReferenceMark";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXReferenceMark";"com::sun::star::container::XNamed";"getName()"
+"SwXReferenceMark";"com::sun::star::container::XNamed";"setName()"
+"SwXReferenceMark";"com::sun::star::text::XTextContent";"attach()"
+"SwXReferenceMark";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMarks.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMarks.csv
new file mode 100644
index 000000000..bcc24a043
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXReferenceMarks.csv
@@ -0,0 +1,7 @@
+"SwXReferenceMarks";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXReferenceMarks";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXReferenceMarks";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXReferenceMarks";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXReferenceMarks";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXReferenceMarks";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXReferenceMarks";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv
new file mode 100644
index 000000000..17acfb96d
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXShape.csv
@@ -0,0 +1,27 @@
+"SwXShape";"com::sun::star::lang::XComponent";"dispose()"
+"SwXShape";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXShape";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXShape";"com::sun::star::drawing::Shape";"ZOrder#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"LayerID#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"LayerName#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"Printable#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"MoveProtect#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"Name#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"SizeProtect#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"Style#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"Transformation#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"ShapeUserDefinedAttributes#optional"
+"SwXShape";"com::sun::star::drawing::Shape";"InteropGrabBag#optional"
+"SwXShape";"com::sun::star::drawing::XShapeDescriptor";"getShapeType()"
+"SwXShape";"com::sun::star::drawing::XGluePointsSupplier#optional";"getGluePoints()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXShape";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXShape";"com::sun::star::drawing::XShape";"getPosition()"
+"SwXShape";"com::sun::star::drawing::XShape";"setPosition()"
+"SwXShape";"com::sun::star::drawing::XShape";"getSize()"
+"SwXShape";"com::sun::star::drawing::XShape";"setSize()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamilies.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamilies.csv
new file mode 100644
index 000000000..f2f3e1303
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamilies.csv
@@ -0,0 +1,7 @@
+"SwXStyleFamilies";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXStyleFamilies";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXStyleFamilies";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXStyleFamilies";"com::sun::star::container::XIndexAccess#optional";"getCount()"
+"SwXStyleFamilies";"com::sun::star::container::XIndexAccess#optional";"getByIndex()"
+"SwXStyleFamilies";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXStyleFamilies";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamily.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamily.csv
new file mode 100644
index 000000000..290649843
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXStyleFamily.csv
@@ -0,0 +1,10 @@
+"SwXStyleFamily";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXStyleFamily";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXStyleFamily";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXStyleFamily";"com::sun::star::container::XNameReplace#optional";"replaceByName()"
+"SwXStyleFamily";"com::sun::star::container::XNameContainer#optional";"insertByName()"
+"SwXStyleFamily";"com::sun::star::container::XNameContainer#optional";"removeByName()"
+"SwXStyleFamily";"com::sun::star::container::XIndexAccess#optional";"getCount()"
+"SwXStyleFamily";"com::sun::star::container::XIndexAccess#optional";"getByIndex()"
+"SwXStyleFamily";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXStyleFamily";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableCellText.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableCellText.csv
new file mode 100644
index 000000000..36487858a
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableCellText.csv
@@ -0,0 +1,21 @@
+"SwXTableCellText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXTableCellText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXTableCellText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXTableCellText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXTableCellText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXTableCellText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXTableCellText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXTableCellText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTableCellText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXTableCellText";"com::sun::star::text::XTextRange";"getText()"
+"SwXTableCellText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTableCellText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTableCellText";"com::sun::star::text::XTextRange";"getString()"
+"SwXTableCellText";"com::sun::star::text::XTextRange";"setString()"
+"SwXTableCellText";"com::sun::star::text::Text";"StartRedline#optional"
+"SwXTableCellText";"com::sun::star::text::Text";"EndRedline#optional"
+"SwXTableCellText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SwXTableCellText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXTableCellText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXTableCellText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXTableCellText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableColumns.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableColumns.csv
new file mode 100644
index 000000000..fab928f20
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableColumns.csv
@@ -0,0 +1,6 @@
+"SwXTableColumns";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTableColumns";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTableColumns";"com::sun::star::table::XTableColumns";"insertByIndex()"
+"SwXTableColumns";"com::sun::star::table::XTableColumns";"removeByIndex()"
+"SwXTableColumns";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTableColumns";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableRows.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableRows.csv
new file mode 100644
index 000000000..f38f41416
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTableRows.csv
@@ -0,0 +1,6 @@
+"SwXTableRows";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTableRows";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTableRows";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTableRows";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXTableRows";"com::sun::star::table::XTableRows";"insertByIndex()"
+"SwXTableRows";"com::sun::star::table::XTableRows";"removeByIndex()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextColumns.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextColumns.csv
new file mode 100644
index 000000000..00abbc828
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextColumns.csv
@@ -0,0 +1,12 @@
+"SwXTextColumns";"com::sun::star::text::TextColumns";"IsAutomatic"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"AutomaticDistance"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"SeparatorLineWidth"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"SeparatorLineColor"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"SeparatorLineRelativeHeight"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"SeparatorLineVerticalAlignment"
+"SwXTextColumns";"com::sun::star::text::TextColumns";"SeparatorLineIsOn"
+"SwXTextColumns";"com::sun::star::text::XTextColumns";"getReferenceValue()"
+"SwXTextColumns";"com::sun::star::text::XTextColumns";"getColumnCount()"
+"SwXTextColumns";"com::sun::star::text::XTextColumns";"setColumnCount()"
+"SwXTextColumns";"com::sun::star::text::XTextColumns";"getColumns()"
+"SwXTextColumns";"com::sun::star::text::XTextColumns";"setColumns()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextCursor.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextCursor.csv
new file mode 100644
index 000000000..1f45acc02
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextCursor.csv
@@ -0,0 +1,190 @@
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isStartOfSentence()"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"isEndOfSentence()"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoNextSentence()"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoPreviousSentence()"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoStartOfSentence()"
+"SwXTextCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoEndOfSentence()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isStartOfParagraph()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"isEndOfParagraph()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoStartOfParagraph()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoEndOfParagraph()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoNextParagraph()"
+"SwXTextCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoPreviousParagraph()"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXTextCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"isStartOfWord()"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"isEndOfWord()"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoNextWord()"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoPreviousWord()"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoEndOfWord()"
+"SwXTextCursor";"com::sun::star::text::XWordCursor#optional";"gotoStartOfWord()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"collapseToStart()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"collapseToEnd()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"isCollapsed()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"goLeft()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"goRight()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"gotoStart()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"gotoEnd()"
+"SwXTextCursor";"com::sun::star::text::XTextCursor";"gotoRange()"
+"SwXTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SwXTextCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SwXTextCursor";"com::sun::star::text::XTextRange";"getText()"
+"SwXTextCursor";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTextCursor";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTextCursor";"com::sun::star::text::XTextRange";"getString()"
+"SwXTextCursor";"com::sun::star::text::XTextRange";"setString()"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharLeftBorder#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharRightBorder#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharBottomBorder#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharTopBorder#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharLeftBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharRightBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharBottomBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharTopBorderDistance#optional"
+"SwXTextCursor";"com::sun::star::style::CharacterProperties";"CharShadowFormat#optional"
+"SwXTextCursor";"com::sun::star::document::XDocumentInsertable#optional";"insertDocumentFromURL()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXTextCursor";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXTextCursor";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SwXTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyStates()"
+"SwXTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setAllPropertiesToDefault()"
+"SwXTextCursor";"com::sun::star::beans::XMultiPropertyStates";"setPropertiesToDefault()"
+"SwXTextCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyDefaults()"
+"SwXTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextCursor";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SwXTextCursor";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"SwXTextCursor";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDefaults.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDefaults.csv
new file mode 100644
index 000000000..b59c0897f
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDefaults.csv
@@ -0,0 +1,137 @@
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextDefaults";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextDefaults";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextDefaults";"com::sun::star::text::Defaults";"TabStopDistance"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextDefaults";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextDefaults";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextDefaults";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextDefaults";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextDefaults";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDocument.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDocument.csv
new file mode 100644
index 000000000..93c870b9a
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextDocument.csv
@@ -0,0 +1,85 @@
+"SwXTextDocument";"com::sun::star::document::XEventBroadcaster#optional";"addEventListener()"
+"SwXTextDocument";"com::sun::star::document::XEventBroadcaster#optional";"removeEventListener()"
+"SwXTextDocument";"com::sun::star::util::XSearchable";"createSearchDescriptor()"
+"SwXTextDocument";"com::sun::star::util::XSearchable";"findAll()"
+"SwXTextDocument";"com::sun::star::util::XSearchable";"findFirst()"
+"SwXTextDocument";"com::sun::star::util::XSearchable";"findNext()"
+"SwXTextDocument";"com::sun::star::style::XStyleFamiliesSupplier#optional";"getStyleFamilies()"
+"SwXTextDocument";"com::sun::star::text::XTextFramesSupplier#optional";"getTextFrames()"
+"SwXTextDocument";"com::sun::star::text::XBookmarksSupplier#optional";"getBookmarks()"
+"SwXTextDocument";"com::sun::star::text::XTextDocument";"getText()"
+"SwXTextDocument";"com::sun::star::text::XTextDocument";"reformat()"
+"SwXTextDocument";"com::sun::star::util::XReplaceable#optional";"createReplaceDescriptor()"
+"SwXTextDocument";"com::sun::star::util::XReplaceable#optional";"replaceAll()"
+"SwXTextDocument";"com::sun::star::view::XPrintable";"getPrinter()"
+"SwXTextDocument";"com::sun::star::view::XPrintable";"setPrinter()"
+"SwXTextDocument";"com::sun::star::view::XPrintable";"print()"
+"SwXTextDocument";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextDocument";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextDocument";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextDocument";"com::sun::star::util::XRefreshable";"refresh()"
+"SwXTextDocument";"com::sun::star::util::XRefreshable";"addRefreshListener()"
+"SwXTextDocument";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
+"SwXTextDocument";"com::sun::star::text::XTextEmbeddedObjectsSupplier#optional";"getEmbeddedObjects()"
+"SwXTextDocument";"com::sun::star::text::XChapterNumberingSupplier#optional";"getChapterNumberingRules()"
+"SwXTextDocument";"com::sun::star::view::XPrintJobBroadcaster#optional";"addPrintJobListener()"
+"SwXTextDocument";"com::sun::star::view::XPrintJobBroadcaster#optional";"removePrintJobListener()"
+"SwXTextDocument";"com::sun::star::text::XFootnotesSupplier#optional";"getFootnotes()"
+"SwXTextDocument";"com::sun::star::text::XFootnotesSupplier#optional";"getFootnoteSettings()"
+"SwXTextDocument";"com::sun::star::text::XTextGraphicObjectsSupplier#optional";"getGraphicObjects()"
+"SwXTextDocument";"com::sun::star::text::XDocumentIndexesSupplier#optional";"getDocumentIndexes()"
+"SwXTextDocument";"com::sun::star::document::XViewDataSupplier#optional";"getViewData()"
+"SwXTextDocument";"com::sun::star::document::XViewDataSupplier#optional";"setViewData()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"hasLocation()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"getLocation()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"isReadonly()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"store()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"storeAsURL()"
+"SwXTextDocument";"com::sun::star::frame::XStorable";"storeToURL()"
+"SwXTextDocument";"com::sun::star::document::XEventsSupplier#optional";"getEvents()"
+"SwXTextDocument";"com::sun::star::text::XPagePrintable#optional";"getPagePrintSettings()"
+"SwXTextDocument";"com::sun::star::text::XPagePrintable#optional";"setPagePrintSettings()"
+"SwXTextDocument";"com::sun::star::text::XPagePrintable#optional";"printPages()"
+"SwXTextDocument";"com::sun::star::text::XTextFieldsSupplier#optional";"getTextFields()"
+"SwXTextDocument";"com::sun::star::text::XTextFieldsSupplier#optional";"getTextFieldMasters()"
+"SwXTextDocument";"com::sun::star::text::XReferenceMarksSupplier#optional";"getReferenceMarks()"
+"SwXTextDocument";"com::sun::star::text::XEndnotesSupplier#optional";"getEndnotes()"
+"SwXTextDocument";"com::sun::star::text::XEndnotesSupplier#optional";"getEndnoteSettings()"
+"SwXTextDocument";"com::sun::star::text::XTextTablesSupplier#optional";"getTextTables()"
+"SwXTextDocument";"com::sun::star::util::XModifiable";"isModified()"
+"SwXTextDocument";"com::sun::star::util::XModifiable";"setModified()"
+"SwXTextDocument";"com::sun::star::text::XTextSectionsSupplier#optional";"getTextSections()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXTextDocument";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"CharLocale#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"CharacterCount#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"ParagraphCount#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"WordCount#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"WordSeparator#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"IndexAutoMarkFileURL#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"RecordChanges#optional"
+"SwXTextDocument";"com::sun::star::text::GenericTextDocument";"TwoDigitYear#optional"
+"SwXTextDocument";"com::sun::star::document::OfficeDocument";"AutomaticControlFocus#optional"
+"SwXTextDocument";"com::sun::star::document::OfficeDocument";"ApplyFormDesignMode#optional"
+"SwXTextDocument";"com::sun::star::document::OfficeDocument";"RuntimeUID#optional"
+"SwXTextDocument";"com::sun::star::document::OfficeDocument";"InteropGrabBag#optional"
+"SwXTextDocument";"com::sun::star::frame::XModel";"attachResource()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"getURL()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"getArgs()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"connectController()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"disconnectController()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"lockControllers()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"unlockControllers()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"hasControllersLocked()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"getCurrentController()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"setCurrentController()"
+"SwXTextDocument";"com::sun::star::frame::XModel";"getCurrentSelection()"
+"SwXTextDocument";"com::sun::star::util::XModifyBroadcaster";"addModifyListener()"
+"SwXTextDocument";"com::sun::star::util::XModifyBroadcaster";"removeModifyListener()"
+"SwXTextDocument";"com::sun::star::util::XNumberFormatsSupplier#optional";"getNumberFormatSettings()"
+"SwXTextDocument";"com::sun::star::util::XNumberFormatsSupplier#optional";"getNumberFormats()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObject.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObject.csv
new file mode 100644
index 000000000..ba30fe7db
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObject.csv
@@ -0,0 +1,73 @@
+"SwXTextEmbeddedObject";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextEmbeddedObject";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextEmbeddedObject";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrame";"FrameStyleName"
+"SwXTextEmbeddedObject";"com::sun::star::drawing::XShapeDescriptor#optional";"getShapeType()"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextEmbeddedObject";"CLSID"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextEmbeddedObject";"Model"
+"SwXTextEmbeddedObject";"com::sun::star::text::TextEmbeddedObject";"Component"
+"SwXTextEmbeddedObject";"com::sun::star::document::XEmbeddedObjectSupplier";"getEmbeddedObject()"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"AnchorPageNo"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"AnchorFrame"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BackColor"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicURL"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicFilter"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicLocation"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"LeftBorder"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"RightBorder"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"TopBorder"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BottomBorder"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BorderDistance"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"LeftBorderDistance"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"RightBorderDistance"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"TopBorderDistance"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BottomBorderDistance"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BackTransparent"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"ContentProtected"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"LeftMargin"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"RightMargin"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"TopMargin"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"BottomMargin"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Height"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Width"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"RelativeHeight"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"RelativeWidth"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"IsSyncWidthToHeight"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"IsSyncHeightToWidth"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HoriOrient"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HoriOrientPosition"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HoriOrientRelation"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"VertOrient"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"VertOrientPosition"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"VertOrientRelation"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkURL"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkTarget"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkName"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Opaque"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"PageToggle"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"PositionProtected"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Print"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"ShadowFormat"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"ServerMap"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Size"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"SizeProtected"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"Surround"
+"SwXTextEmbeddedObject";"com::sun::star::text::BaseFrameProperties";"SurroundAnchorOnly"
+"SwXTextEmbeddedObject";"com::sun::star::container::XNamed";"getName()"
+"SwXTextEmbeddedObject";"com::sun::star::container::XNamed";"setName()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextEmbeddedObject";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextEmbeddedObject";"com::sun::star::drawing::XShape#optional";"getPosition()"
+"SwXTextEmbeddedObject";"com::sun::star::drawing::XShape#optional";"setPosition()"
+"SwXTextEmbeddedObject";"com::sun::star::drawing::XShape#optional";"getSize()"
+"SwXTextEmbeddedObject";"com::sun::star::drawing::XShape#optional";"setSize()"
+"SwXTextEmbeddedObject";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextEmbeddedObject";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObjects.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObjects.csv
new file mode 100644
index 000000000..89ab2d561
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextEmbeddedObjects.csv
@@ -0,0 +1,7 @@
+"SwXTextEmbeddedObjects";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextEmbeddedObjects";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextField.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextField.csv
new file mode 100644
index 000000000..647254ff5
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextField.csv
@@ -0,0 +1,16 @@
+"SwXTextField";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextField";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextField";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextField";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextField";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextField";"com::sun::star::text::XTextField";"getPresentation()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"getPropertySetInfo()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"setPropertyValue()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"getPropertyValue()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"addPropertyChangeListener()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"removePropertyChangeListener()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"addVetoableChangeListener()"
+"SwXTextField";"com::sun::star::beans::XPropertySet#optional";"removeVetoableChangeListener()"
+"SwXTextField";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextField";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldMasters.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldMasters.csv
new file mode 100644
index 000000000..4cc2e926c
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldMasters.csv
@@ -0,0 +1,5 @@
+"SwXTextFieldMasters";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXTextFieldMasters";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXTextFieldMasters";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXTextFieldMasters";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextFieldMasters";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldTypes.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldTypes.csv
new file mode 100644
index 000000000..7a466b54f
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFieldTypes.csv
@@ -0,0 +1,6 @@
+"SwXTextFieldTypes";"com::sun::star::util::XRefreshable";"refresh()"
+"SwXTextFieldTypes";"com::sun::star::util::XRefreshable";"addRefreshListener()"
+"SwXTextFieldTypes";"com::sun::star::util::XRefreshable";"removeRefreshListener()"
+"SwXTextFieldTypes";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextFieldTypes";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXTextFieldTypes";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrame.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrame.csv
new file mode 100644
index 000000000..2f70e8a75
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrame.csv
@@ -0,0 +1,78 @@
+"SwXTextFrame";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextFrame";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextFrame";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextFrame";"com::sun::star::text::BaseFrame";"FrameStyleName"
+"SwXTextFrame";"com::sun::star::drawing::XShapeDescriptor#optional";"getShapeType()"
+"SwXTextFrame";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextFrame";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextFrame";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextFrame";"com::sun::star::text::XTextFrame";"getText()"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"FrameHeightAbsolute"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"FrameWidthAbsolute"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"FrameWidthPercent"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"FrameHeightPercent"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"FrameIsAutomaticHeight"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"SizeType"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"WritingMode#optional"
+"SwXTextFrame";"com::sun::star::text::TextFrame";"IsFollowingTextFlow#optional"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"AnchorPageNo"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"AnchorFrame"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BackColor"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BackGraphicURL"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BackGraphicFilter"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BackGraphicLocation"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"LeftBorder"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"RightBorder"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"TopBorder"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BottomBorder"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BorderDistance"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"LeftBorderDistance"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"RightBorderDistance"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"TopBorderDistance"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BottomBorderDistance"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BackTransparent"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"ContentProtected"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"LeftMargin"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"RightMargin"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"TopMargin"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"BottomMargin"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Height"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Width"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"RelativeHeight"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"RelativeWidth"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"IsSyncWidthToHeight"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"IsSyncHeightToWidth"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HoriOrient"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HoriOrientPosition"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HoriOrientRelation"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"VertOrient"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"VertOrientPosition"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"VertOrientRelation"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HyperLinkURL"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HyperLinkTarget"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"HyperLinkName"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Opaque"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"PageToggle"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"PositionProtected"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Print"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"ShadowFormat"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"ServerMap"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Size"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"SizeProtected"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"Surround"
+"SwXTextFrame";"com::sun::star::text::BaseFrameProperties";"SurroundAnchorOnly"
+"SwXTextFrame";"com::sun::star::container::XNamed";"getName()"
+"SwXTextFrame";"com::sun::star::container::XNamed";"setName()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextFrame";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextFrame";"com::sun::star::drawing::XShape#optional";"getPosition()"
+"SwXTextFrame";"com::sun::star::drawing::XShape#optional";"setPosition()"
+"SwXTextFrame";"com::sun::star::drawing::XShape#optional";"getSize()"
+"SwXTextFrame";"com::sun::star::drawing::XShape#optional";"setSize()"
+"SwXTextFrame";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextFrame";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrameText.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrameText.csv
new file mode 100644
index 000000000..4b00aec79
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextFrameText.csv
@@ -0,0 +1,21 @@
+"SwXTextFrameText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXTextFrameText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXTextFrameText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXTextFrameText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXTextFrameText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXTextFrameText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXTextFrameText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXTextFrameText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextFrameText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXTextFrameText";"com::sun::star::text::XTextRange";"getText()"
+"SwXTextFrameText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTextFrameText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTextFrameText";"com::sun::star::text::XTextRange";"getString()"
+"SwXTextFrameText";"com::sun::star::text::XTextRange";"setString()"
+"SwXTextFrameText";"com::sun::star::text::Text";"StartRedline#optional"
+"SwXTextFrameText";"com::sun::star::text::Text";"EndRedline#optional"
+"SwXTextFrameText";"com::sun::star::container::XEnumerationAccess#optional";"createEnumeration()"
+"SwXTextFrameText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXTextFrameText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXTextFrameText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXTextFrameText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObject.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObject.csv
new file mode 100644
index 000000000..d487128a2
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObject.csv
@@ -0,0 +1,90 @@
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"ImageMap"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"ContentProtected"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"SurroundContour"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"ContourOutside"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"ContourPolyPolygon#optional"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"GraphicCrop"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"HoriMirroredOnEvenPages"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"HoriMirroredOnOddPages"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"VertMirrored"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"Graphic"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"GraphicFilter"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"ActualSize"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"AdjustLuminance"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"AdjustContrast"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"AdjustRed"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"AdjustGreen"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"AdjustBlue"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"Gamma"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"GraphicIsInverted"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"Transparency"
+"SwXTextGraphicObject";"com::sun::star::text::TextGraphicObject";"GraphicColorMode"
+"SwXTextGraphicObject";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextGraphicObject";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextGraphicObject";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrame";"FrameStyleName"
+"SwXTextGraphicObject";"com::sun::star::drawing::XShapeDescriptor#optional";"getShapeType()"
+"SwXTextGraphicObject";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextGraphicObject";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextGraphicObject";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"AnchorPageNo"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"AnchorFrame"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BackColor"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicURL"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicFilter"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BackGraphicLocation"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"LeftBorder"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"RightBorder"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"TopBorder"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BottomBorder"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BorderDistance"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"LeftBorderDistance"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"RightBorderDistance"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"TopBorderDistance"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BottomBorderDistance"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BackTransparent"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"ContentProtected"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"LeftMargin"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"RightMargin"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"TopMargin"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"BottomMargin"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Height"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Width"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"RelativeHeight"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"RelativeWidth"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"IsSyncWidthToHeight"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"IsSyncHeightToWidth"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HoriOrient"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HoriOrientPosition"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HoriOrientRelation"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"VertOrient"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"VertOrientPosition"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"VertOrientRelation"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkURL"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkTarget"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"HyperLinkName"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Opaque"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"PageToggle"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"PositionProtected"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Print"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"ShadowFormat"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"ServerMap"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Size"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"SizeProtected"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"Surround"
+"SwXTextGraphicObject";"com::sun::star::text::BaseFrameProperties";"SurroundAnchorOnly"
+"SwXTextGraphicObject";"com::sun::star::container::XNamed";"getName()"
+"SwXTextGraphicObject";"com::sun::star::container::XNamed";"setName()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextGraphicObject";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextGraphicObject";"com::sun::star::drawing::XShape#optional";"getPosition()"
+"SwXTextGraphicObject";"com::sun::star::drawing::XShape#optional";"setPosition()"
+"SwXTextGraphicObject";"com::sun::star::drawing::XShape#optional";"getSize()"
+"SwXTextGraphicObject";"com::sun::star::drawing::XShape#optional";"setSize()"
+"SwXTextGraphicObject";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextGraphicObject";"com::sun::star::text::XTextContent";"getAnchor()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObjects.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObjects.csv
new file mode 100644
index 000000000..f1a2aa671
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextGraphicObjects.csv
@@ -0,0 +1,7 @@
+"SwXTextGraphicObjects";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXTextGraphicObjects";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXTextGraphicObjects";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXTextGraphicObjects";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTextGraphicObjects";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTextGraphicObjects";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextGraphicObjects";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortion.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortion.csv
new file mode 100644
index 000000000..73718824d
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortion.csv
@@ -0,0 +1,155 @@
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextPortion";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXTextPortion";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXTextPortion";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SwXTextPortion";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SwXTextPortion";"com::sun::star::text::XTextRange";"getText()"
+"SwXTextPortion";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTextPortion";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTextPortion";"com::sun::star::text::XTextRange";"getString()"
+"SwXTextPortion";"com::sun::star::text::XTextRange";"setString()"
+"SwXTextPortion";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"setPropertyValuesTolerant()"
+"SwXTextPortion";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getPropertyValuesTolerant()"
+"SwXTextPortion";"com::sun::star::beans::XTolerantMultiPropertySet#optional";"getDirectPropertyValuesTolerant()"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextPortion";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextPortion";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextPortion";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXTextPortion";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXTextPortion";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXTextPortion";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SwXTextPortion";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextPortion";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextPortion";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextPortion";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SwXTextPortion";"com::sun::star::text::TextPortion";"TextPortionType"
+"SwXTextPortion";"com::sun::star::text::TextPortion";"ControlCharacter"
+"SwXTextPortion";"com::sun::star::text::TextPortion";"Bookmark#optional"
+"SwXTextPortion";"com::sun::star::text::TextPortion";"IsCollapsed#optional"
+"SwXTextPortion";"com::sun::star::text::TextPortion";"IsStart#optional"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortionEnumeration.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortionEnumeration.csv
new file mode 100644
index 000000000..843f7b5ec
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextPortionEnumeration.csv
@@ -0,0 +1,2 @@
+"SwXTextPortionEnumeration";"com::sun::star::container::XEnumeration";"hasMoreElements()"
+"SwXTextPortionEnumeration";"com::sun::star::container::XEnumeration";"nextElement()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRange.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRange.csv
new file mode 100644
index 000000000..7beae7455
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRange.csv
@@ -0,0 +1,157 @@
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextRange";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXTextRange";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXTextRange";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SwXTextRange";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SwXTextRange";"com::sun::star::text::XTextRange";"getText()"
+"SwXTextRange";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTextRange";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTextRange";"com::sun::star::text::XTextRange";"getString()"
+"SwXTextRange";"com::sun::star::text::XTextRange";"setString()"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharLeftBorder#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharRightBorder#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharBottomBorder#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharTopBorder#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharLeftBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharRightBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharBottomBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharTopBorderDistance#optional"
+"SwXTextRange";"com::sun::star::style::CharacterProperties";"CharShadowFormat#optional"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextRange";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextRange";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXTextRange";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXTextRange";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXTextRange";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SwXTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextRange";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextRange";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRanges.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRanges.csv
new file mode 100644
index 000000000..59fb1434e
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextRanges.csv
@@ -0,0 +1,4 @@
+"SwXTextRanges";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTextRanges";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTextRanges";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextRanges";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSearch.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSearch.csv
new file mode 100644
index 000000000..535e0bf59
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSearch.csv
@@ -0,0 +1,19 @@
+"SwXTextSearch";"com::sun::star::util::XSearchDescriptor";"getSearchString()"
+"SwXTextSearch";"com::sun::star::util::XSearchDescriptor";"setSearchString()"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchBackwards"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchCaseSensitive"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchWords"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchRegularExpression"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchStyles"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchSimilarity"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchSimilarityRelax"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchSimilarityRemove"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchSimilarityAdd"
+"SwXTextSearch";"com::sun::star::util::SearchDescriptor";"SearchSimilarityExchange"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextSearch";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSection.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSection.csv
new file mode 100644
index 000000000..196897e5e
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSection.csv
@@ -0,0 +1,52 @@
+"SwXTextSection";"com::sun::star::text::XTextSection";"getParentSection()"
+"SwXTextSection";"com::sun::star::text::XTextSection";"getChildSections()"
+"SwXTextSection";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextSection";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextSection";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextSection";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextSection";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextSection";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextSection";"com::sun::star::container::XNamed";"getName()"
+"SwXTextSection";"com::sun::star::container::XNamed";"setName()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextSection";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextSection";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextSection";"com::sun::star::text::XTextContent";"getAnchor()"
+"SwXTextSection";"com::sun::star::text::TextSection";"Condition"
+"SwXTextSection";"com::sun::star::text::TextSection";"IsVisible"
+"SwXTextSection";"com::sun::star::text::TextSection";"IsProtected"
+"SwXTextSection";"com::sun::star::text::TextSection";"FileLink"
+"SwXTextSection";"com::sun::star::text::TextSection";"LinkRegion"
+"SwXTextSection";"com::sun::star::text::TextSection";"DDECommandType"
+"SwXTextSection";"com::sun::star::text::TextSection";"DDECommandFile"
+"SwXTextSection";"com::sun::star::text::TextSection";"DDECommandElement"
+"SwXTextSection";"com::sun::star::text::TextSection";"BackGraphicURL"
+"SwXTextSection";"com::sun::star::text::TextSection";"BackGraphicFilter"
+"SwXTextSection";"com::sun::star::text::TextSection";"BackGraphicLocation"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteIsCollectAtTextEnd"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteIsRestartNumbering"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteRestartNumberingAt"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteIsOwnNumbering"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteNumberingType"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteNumberingPrefix"
+"SwXTextSection";"com::sun::star::text::TextSection";"FootnoteNumberingSuffix"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteIsCollectAtTextEnd"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteIsRestartNumbering"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteRestartNumberingAt"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteIsOwnNumbering"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteNumberingType"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteNumberingPrefix"
+"SwXTextSection";"com::sun::star::text::TextSection";"EndnoteNumberingSuffix"
+"SwXTextSection";"com::sun::star::text::TextSection";"IsAutomaticUpdate"
+"SwXTextSection";"com::sun::star::text::TextSection";"TextColumns"
+"SwXTextSection";"com::sun::star::text::TextSection";"SectionLeftMargin#optional"
+"SwXTextSection";"com::sun::star::text::TextSection";"SectionRightMargin#optional"
+"SwXTextSection";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXTextSection";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXTextSection";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXTextSection";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv
new file mode 100644
index 000000000..990ae764d
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextSections.csv
@@ -0,0 +1,7 @@
+"SwXTextSections";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXTextSections";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXTextSections";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXTextSections";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTextSections";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTextSections";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextSections";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTable.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTable.csv
new file mode 100644
index 000000000..14049f6d8
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTable.csv
@@ -0,0 +1,58 @@
+"SwXTextTable";"com::sun::star::lang::XComponent";"dispose()"
+"SwXTextTable";"com::sun::star::lang::XComponent";"addEventListener()"
+"SwXTextTable";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SwXTextTable";"com::sun::star::chart::XChartData";"addChartDataChangeEventListener()"
+"SwXTextTable";"com::sun::star::chart::XChartData";"removeChartDataChangeEventListener()"
+"SwXTextTable";"com::sun::star::chart::XChartData";"getNotANumber()"
+"SwXTextTable";"com::sun::star::chart::XChartData";"isNotANumber()"
+"SwXTextTable";"com::sun::star::text::TextContent";"AnchorType#optional"
+"SwXTextTable";"com::sun::star::text::TextContent";"AnchorTypes#optional"
+"SwXTextTable";"com::sun::star::text::TextContent";"TextWrap#optional"
+"SwXTextTable";"com::sun::star::table::XAutoFormattable";"autoFormat()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"initialize()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"getRows()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"getColumns()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"getCellByName()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"getCellNames()"
+"SwXTextTable";"com::sun::star::text::XTextTable";"createCursorByCellName()"
+"SwXTextTable";"com::sun::star::table::XCellRange";"getCellByPosition()"
+"SwXTextTable";"com::sun::star::table::XCellRange";"getCellRangeByPosition()"
+"SwXTextTable";"com::sun::star::table::XCellRange";"getCellRangeByName()"
+"SwXTextTable";"com::sun::star::text::TextTable";"BreakType"
+"SwXTextTable";"com::sun::star::text::TextTable";"LeftMargin"
+"SwXTextTable";"com::sun::star::text::TextTable";"RightMargin"
+"SwXTextTable";"com::sun::star::text::TextTable";"HoriOrient"
+"SwXTextTable";"com::sun::star::text::TextTable";"KeepTogether"
+"SwXTextTable";"com::sun::star::text::TextTable";"Split"
+"SwXTextTable";"com::sun::star::text::TextTable";"PageNumberOffset"
+"SwXTextTable";"com::sun::star::text::TextTable";"PageDescName"
+"SwXTextTable";"com::sun::star::text::TextTable";"RelativeWidth"
+"SwXTextTable";"com::sun::star::text::TextTable";"IsWidthRelative"
+"SwXTextTable";"com::sun::star::text::TextTable";"RepeatHeadline"
+"SwXTextTable";"com::sun::star::text::TextTable";"ShadowFormat"
+"SwXTextTable";"com::sun::star::text::TextTable";"TopMargin"
+"SwXTextTable";"com::sun::star::text::TextTable";"BottomMargin"
+"SwXTextTable";"com::sun::star::text::TextTable";"BackTransparent"
+"SwXTextTable";"com::sun::star::text::TextTable";"Width"
+"SwXTextTable";"com::sun::star::text::TextTable";"ChartRowAsLabel"
+"SwXTextTable";"com::sun::star::text::TextTable";"ChartColumnAsLabel"
+"SwXTextTable";"com::sun::star::text::TextTable";"TableBorder"
+"SwXTextTable";"com::sun::star::text::TextTable";"TableColumnSeparators"
+"SwXTextTable";"com::sun::star::text::TextTable";"TableColumnRelativeSum"
+"SwXTextTable";"com::sun::star::text::TextTable";"BackColor"
+"SwXTextTable";"com::sun::star::text::TextTable";"BackGraphic"
+"SwXTextTable";"com::sun::star::text::TextTable";"BackGraphicLocation"
+"SwXTextTable";"com::sun::star::container::XNamed";"getName()"
+"SwXTextTable";"com::sun::star::container::XNamed";"setName()"
+"SwXTextTable";"com::sun::star::sheet::XCellRangeData#optional";"getDataArray()"
+"SwXTextTable";"com::sun::star::sheet::XCellRangeData#optional";"setDataArray()"
+"SwXTextTable";"com::sun::star::text::XTextContent";"attach()"
+"SwXTextTable";"com::sun::star::text::XTextContent";"getAnchor()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"getData()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"setData()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"getRowDescriptions()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"setRowDescriptions()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"getColumnDescriptions()"
+"SwXTextTable";"com::sun::star::chart::XChartDataArray";"setColumnDescriptions()"
+"SwXTextTable";"com::sun::star::util::XSortable";"createSortDescriptor()"
+"SwXTextTable";"com::sun::star::util::XSortable";"sort()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableCursor.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableCursor.csv
new file mode 100644
index 000000000..79f86c910
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableCursor.csv
@@ -0,0 +1,152 @@
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextTableCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"SwXTextTableCursor";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"getRangeName()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"gotoCellByName()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"goLeft()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"goRight()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"goUp()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"goDown()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"gotoStart()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"gotoEnd()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"mergeRange()"
+"SwXTextTableCursor";"com::sun::star::text::XTextTableCursor";"splitRange()"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharLeftBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharRightBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharBottomBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharTopBorder#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharLeftBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharRightBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharBottomBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharTopBorderDistance#optional"
+"SwXTextTableCursor";"com::sun::star::style::CharacterProperties";"CharShadowFormat#optional"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextTableCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableRow.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableRow.csv
new file mode 100644
index 000000000..a323887d1
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTableRow.csv
@@ -0,0 +1,15 @@
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"BackColor"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"BackTransparent"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"BackGraphic"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"BackGraphicLocation"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"TableColumnSeparators"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"Height"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"IsAutoHeight"
+"SwXTextTableRow";"com::sun::star::text::TextTableRow";"IsSplitAllowed#optional"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextTableRow";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTables.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTables.csv
new file mode 100644
index 000000000..7fb1526de
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextTables.csv
@@ -0,0 +1,7 @@
+"SwXTextTables";"com::sun::star::container::XNameAccess";"getByName()"
+"SwXTextTables";"com::sun::star::container::XNameAccess";"getElementNames()"
+"SwXTextTables";"com::sun::star::container::XNameAccess";"hasByName()"
+"SwXTextTables";"com::sun::star::container::XIndexAccess";"getCount()"
+"SwXTextTables";"com::sun::star::container::XIndexAccess";"getByIndex()"
+"SwXTextTables";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXTextTables";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextView.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextView.csv
new file mode 100644
index 000000000..9221719bb
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextView.csv
@@ -0,0 +1,11 @@
+"SwXTextView";"com::sun::star::view::XViewSettingsSupplier";"getViewSettings()"
+"SwXTextView";"com::sun::star::text::XTextViewCursorSupplier";"getViewCursor()"
+"SwXTextView";"com::sun::star::view::XSelectionSupplier";"select()"
+"SwXTextView";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"SwXTextView";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"SwXTextView";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
+"SwXTextView";"com::sun::star::view::XControlAccess#optional";"getControl()"
+"SwXTextView";"com::sun::star::view::XFormLayerAccess#optional";"getFromController()"
+"SwXTextView";"com::sun::star::view::XFormLayerAccess#optional";"isFormDesignMode()"
+"SwXTextView";"com::sun::star::view::XFormLayerAccess#optional";"setFormDesignMode()"
+
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextViewCursor.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextViewCursor.csv
new file mode 100644
index 000000000..85ab9e701
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXTextViewCursor.csv
@@ -0,0 +1,200 @@
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharHeightAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharWeightAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontNameAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontStyleNameAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontFamilyAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontCharSetAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharFontPitchAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharPostureAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"CharLocaleAsian"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"isStartOfSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"isEndOfSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoNextSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoPreviousSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoStartOfSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XSentenceCursor#optional";"gotoEndOfSentence()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"isStartOfParagraph()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"isEndOfParagraph()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoStartOfParagraph()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoEndOfParagraph()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoNextParagraph()"
+"SwXTextViewCursor";"com::sun::star::text::XParagraphCursor#optional";"gotoPreviousParagraph()"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharHeightComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharWeightComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontNameComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontStyleNameComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontFamilyComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontCharSetComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharFontPitchComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharPostureComplex"
+"SwXTextViewCursor";"com::sun::star::style::CharacterPropertiesComplex#optional";"CharLocaleComplex"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToFirstPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToLastPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"getPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToNextPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToPreviousPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToEndOfPage()"
+"SwXTextViewCursor";"com::sun::star::text::XPageCursor";"jumpToStartOfPage()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"isStartOfWord()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"isEndOfWord()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"gotoNextWord()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"gotoPreviousWord()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"gotoEndOfWord()"
+"SwXTextViewCursor";"com::sun::star::text::XWordCursor#optional";"gotoStartOfWord()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"collapseToStart()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"collapseToEnd()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"isCollapsed()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"goLeft()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"goRight()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"gotoStart()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"gotoEnd()"
+"SwXTextViewCursor";"com::sun::star::text::XTextCursor";"gotoRange()"
+"SwXTextViewCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"createContentEnumeration()"
+"SwXTextViewCursor";"com::sun::star::container::XContentEnumerationAccess#optional";"getAvailableServiceNames()"
+"SwXTextViewCursor";"com::sun::star::view::XScreenCursor";"screenDown()"
+"SwXTextViewCursor";"com::sun::star::view::XScreenCursor";"screenUp()"
+"SwXTextViewCursor";"com::sun::star::text::XTextRange";"getText()"
+"SwXTextViewCursor";"com::sun::star::text::XTextRange";"getStart()"
+"SwXTextViewCursor";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXTextViewCursor";"com::sun::star::text::XTextRange";"getString()"
+"SwXTextViewCursor";"com::sun::star::text::XTextRange";"setString()"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontName"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharColor"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharHeight"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharWeight"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharPosture"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharLocale"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharLeftBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharRightBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharBottomBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharTopBorder#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharLeftBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharRightBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharBottomBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharTopBorderDistance#optional"
+"SwXTextViewCursor";"com::sun::star::style::CharacterProperties";"CharShadowFormat#optional"
+"SwXTextViewCursor";"com::sun::star::document::XDocumentInsertable#optional";"insertDocumentFromURL()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertyState";"getPropertyState()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertyState";"getPropertyStates()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertyState";"setPropertyToDefault()"
+"SwXTextViewCursor";"com::sun::star::beans::XPropertyState";"getPropertyDefault()"
+"SwXTextViewCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyStates()"
+"SwXTextViewCursor";"com::sun::star::beans::XMultiPropertyStates";"setAllPropertiesToDefault()"
+"SwXTextViewCursor";"com::sun::star::beans::XMultiPropertyStates";"setPropertiesToDefault()"
+"SwXTextViewCursor";"com::sun::star::beans::XMultiPropertyStates";"getPropertyDefaults()"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsHangingPunctuation"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsCharacterDistance"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphPropertiesAsian#optional";"ParaIsForbiddenRules"
+"SwXTextViewCursor";"com::sun::star::style::ParagraphPropertiesComplex#optional";"WritingMode"
+"SwXTextViewCursor";"com::sun::star::util::XSortable#optional";"createSortDescriptor()"
+"SwXTextViewCursor";"com::sun::star::util::XSortable#optional";"sort()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXViewSettings.csv b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXViewSettings.csv
new file mode 100644
index 000000000..46953acd6
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.comp.office.SwXViewSettings.csv
@@ -0,0 +1,36 @@
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowAnnotations"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowBreaks"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowDrawings"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowFieldCommands"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowFootnoteBackground"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowGraphics"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowHiddenParagraphs"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowHiddenText"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowRulers"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowHoriRuler"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowHoriScrollBar"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowIndexMarkBackground"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowParaBreaks"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowProtectedSpaces"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowSoftHyphens"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowSpaces"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowTableBoundaries"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowTables"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowTabstops"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowTextBoundaries"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowTextFieldBackground"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowVertRuler"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowVertScrollBar"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"SmoothScrolling"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"IsVertRulerRightAligned"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ShowOnlineLayout"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ZoomType"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"ZoomValue"
+"SwXViewSettings";"com::sun::star::text::ViewSettings";"IsExecuteHyperlinks#optional"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"SwXViewSettings";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.style.CharacterStyle.csv b/qadevOOo/objdsc/sw/com.sun.star.style.CharacterStyle.csv
new file mode 100644
index 000000000..26a086884
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.style.CharacterStyle.csv
@@ -0,0 +1,115 @@
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharHeightAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharWeightAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharFontNameAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharFontStyleNameAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharFontFamilyAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharFontCharSetAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharFontPitchAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharPostureAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"CharLocaleAsian"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsCharacterDistance"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsForbiddenRules"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesAsian";"ParaIsHangingPunctuation"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharHeightComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharWeightComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharFontNameComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharFontStyleNameComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharFontFamilyComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharFontCharSetComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharFontPitchComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharPostureComplex"
+"CharacterStyle";"com::sun::star::style::CharacterPropertiesComplex";"CharLocaleComplex"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharDiffHeight"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharPropHeight"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharDiffHeightAsian"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharPropHeightAsian"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharDiffHeightComplex"
+"CharacterStyle";"com::sun::star::style::CharacterStyle";"CharPropHeightComplex"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"CharacterStyle";"com::sun::star::style::XStyle";"isUserDefined()"
+"CharacterStyle";"com::sun::star::style::XStyle";"isInUse()"
+"CharacterStyle";"com::sun::star::style::XStyle";"getParentStyle()"
+"CharacterStyle";"com::sun::star::style::XStyle";"setParentStyle()"
+"CharacterStyle";"com::sun::star::style::Style";"IsPhysical#optional"
+"CharacterStyle";"com::sun::star::style::Style";"FollowStyle#optional"
+"CharacterStyle";"com::sun::star::style::Style";"DisplayName#optional"
+"CharacterStyle";"com::sun::star::style::Style";"IsAutoUpdate#optional"
+"CharacterStyle";"com::sun::star::container::XNamed";"getName()"
+"CharacterStyle";"com::sun::star::container::XNamed";"setName()"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontName"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontStyleName"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontFamily"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontCharSet"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontPitch"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharColor"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharEscapement#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharHeight"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharUnderline"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharWeight"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharPosture"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharAutoKerning#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharBackColor#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharBackTransparent#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharCaseMap#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharCrossedOut#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFlash#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharStrikeout#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharWordMode#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharKerning#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharLocale"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharKeepTogether#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharNoLineBreak#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharShadowed#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharFontType#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharStyleName#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharContoured#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharCombineIsOn#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharCombinePrefix#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharCombineSuffix#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharEmphasis#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharRelief#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"RubyText#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"RubyAdjust#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"RubyCharStyleName#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"RubyIsAbove#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharRotation#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharRotationIsFitToLine#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharScaleWidth#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"HyperLinkURL#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"HyperLinkTarget#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"HyperLinkName#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"VisitedCharStyleName#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"UnvisitedCharStyleName#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharEscapementHeight#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharNoHyphenation#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharUnderlineColor"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharUnderlineHasColor"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharStyleNames#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharHidden#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"TextUserDefinedAttributes#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharLeftBorder#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharRightBorder#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharBottomBorder#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharTopBorder#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharBorderDistance#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharLeftBorderDistance#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharRightBorderDistance#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharBottomBorderDistance#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharTopBorderDistance#optional"
+"CharacterStyle";"com::sun::star::style::CharacterProperties";"CharShadowFormat#optional"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"CharacterStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.style.ConditionalParagraphStyle.csv b/qadevOOo/objdsc/sw/com.sun.star.style.ConditionalParagraphStyle.csv
new file mode 100644
index 000000000..1fc943d0d
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.style.ConditionalParagraphStyle.csv
@@ -0,0 +1,95 @@
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaLeftMarginRelative"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaRightMarginRelative"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaTopMarginRelative"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaBottomMarginRelative"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"Category"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeight"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeight"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeightAsian"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeightAsian"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeightComplex"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeightComplex"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ConditionalParagraphStyle";"com::sun::star::style::XStyle";"isUserDefined()"
+"ConditionalParagraphStyle";"com::sun::star::style::XStyle";"isInUse()"
+"ConditionalParagraphStyle";"com::sun::star::style::XStyle";"getParentStyle()"
+"ConditionalParagraphStyle";"com::sun::star::style::XStyle";"setParentStyle()"
+"ConditionalParagraphStyle";"com::sun::star::style::Style";"IsPhysical#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::Style";"FollowStyle#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::Style";"DisplayName#optional"
+"ConditionalParagraphStyle";"com::sun::star::style::Style";"IsAutoUpdate#optional"
+"ConditionalParagraphStyle";"com::sun::star::container::XNamed";"getName()"
+"ConditionalParagraphStyle";"com::sun::star::container::XNamed";"setName()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsHangingPunctuation"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsCharacterDistance"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsForbiddenRules"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ConditionalParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ConditionalParagraphStyle";"com::sun::star::style::ParagraphPropertiesComplex";"WritingMode"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.style.PageStyle.csv b/qadevOOo/objdsc/sw/com.sun.star.style.PageStyle.csv
new file mode 100644
index 000000000..f3bd84663
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.style.PageStyle.csv
@@ -0,0 +1,125 @@
+"PageStyle";"com::sun::star::style::PageProperties";"BackColor"
+"PageStyle";"com::sun::star::style::PageProperties";"BackGraphicURL"
+"PageStyle";"com::sun::star::style::PageProperties";"BackGraphicFilter"
+"PageStyle";"com::sun::star::style::PageProperties";"BackGraphicLocation"
+"PageStyle";"com::sun::star::style::PageProperties";"BackTransparent"
+"PageStyle";"com::sun::star::style::PageProperties";"LeftMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"RightMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"TopMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"BottomMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"LeftBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"RightBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"TopBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"BottomBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"LeftBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"RightBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"TopBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"BottomBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"ShadowFormat"
+"PageStyle";"com::sun::star::style::PageProperties";"IsLandscape"
+"PageStyle";"com::sun::star::style::PageProperties";"NumberingType"
+"PageStyle";"com::sun::star::style::PageProperties";"PageStyleLayout"
+"PageStyle";"com::sun::star::style::PageProperties";"PrinterPaperTray"
+"PageStyle";"com::sun::star::style::PageProperties";"RegisterModeActive#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"RegisterParagraphStyle#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"Size"
+"PageStyle";"com::sun::star::style::PageProperties";"Width"
+"PageStyle";"com::sun::star::style::PageProperties";"Height"
+"PageStyle";"com::sun::star::style::PageProperties";"TextColumns#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"UserDefinedAttributes"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBackColor"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBackGraphicURL"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBackGraphicFilter"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBackGraphicLocation"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderLeftMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderRightMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBackTransparent"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderLeftBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderRightBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderTopBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBottomBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderLeftBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderRightBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderTopBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBottomBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderShadowFormat"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBodyDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderIsShared"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderHeight"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderIsDynamicHeight"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderIsOn"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderText#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderTextLeft#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderTextRight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBackColor"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBackGraphicURL"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBackGraphicFilter"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBackGraphicLocation"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterLeftMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterRightMargin"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBackTransparent"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterLeftBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterRightBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterTopBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBottomBorder"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterLeftBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterRightBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterTopBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBottomBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterShadowFormat"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBodyDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterIsDynamicHeight"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterIsShared"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterHeight"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterIsOn"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterText#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterTextLeft#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterTextRight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteHeight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineWeight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineColor#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineRelativeWidth#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineAdjust#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineTextDistance#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FootnoteLineDistance#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"WritingMode#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridMode#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridColor#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridLines#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridBaseHeight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridRubyHeight#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridRubyBelow#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridPrint#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"GridDisplay#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderDynamicSpacing#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterDynamicSpacing#optional"
+"PageStyle";"com::sun::star::style::PageProperties";"BorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"FooterBorderDistance"
+"PageStyle";"com::sun::star::style::PageProperties";"HeaderBorderDistance"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"PageStyle";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"PageStyle";"com::sun::star::style::XStyle";"isUserDefined()"
+"PageStyle";"com::sun::star::style::XStyle";"isInUse()"
+"PageStyle";"com::sun::star::style::XStyle";"getParentStyle()"
+"PageStyle";"com::sun::star::style::XStyle";"setParentStyle()"
+"PageStyle";"com::sun::star::style::Style";"IsPhysical#optional"
+"PageStyle";"com::sun::star::style::Style";"FollowStyle#optional"
+"PageStyle";"com::sun::star::style::Style";"DisplayName#optional"
+"PageStyle";"com::sun::star::style::Style";"IsAutoUpdate#optional"
+"PageStyle";"com::sun::star::container::XNamed";"getName()"
+"PageStyle";"com::sun::star::container::XNamed";"setName()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"PageStyle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"PageStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"PageStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"PageStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"PageStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
diff --git a/qadevOOo/objdsc/sw/com.sun.star.style.ParagraphStyle.csv b/qadevOOo/objdsc/sw/com.sun.star.style.ParagraphStyle.csv
new file mode 100644
index 000000000..a1d7cead8
--- /dev/null
+++ b/qadevOOo/objdsc/sw/com.sun.star.style.ParagraphStyle.csv
@@ -0,0 +1,95 @@
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaLeftMarginRelative"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaRightMarginRelative"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaTopMarginRelative"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"ParaBottomMarginRelative"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"Category"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeight"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeight"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeightAsian"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeightAsian"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharDiffHeightComplex"
+"ParagraphStyle";"com::sun::star::style::ParagraphStyle";"CharPropHeightComplex"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaAdjust"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineSpacing#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackColor#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackTransparent#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicURL#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicFilter#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBackGraphicLocation#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLastLineAdjust"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaExpandSingleWord#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLeftMargin"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaRightMargin"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaTopMargin"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaBottomMargin"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberCount#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaLineNumberStartValue#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"PageDescName#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"PageNumberOffset#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaRegisterModeActive#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaTabStops#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaStyleName#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapFormat#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapWholeWord#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaKeepTogether#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaSplit#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingLevel#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingRules#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingStartValue#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsNumberingRestart#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingStyleName#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaOrphans#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaWidows#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaShadowFormat#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"LeftBorder#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"RightBorder#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"TopBorder#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"BottomBorder#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"BorderDistance#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"LeftBorderDistance#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"RightBorderDistance#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"TopBorderDistance#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"BottomBorderDistance#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"BreakType#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"DropCapCharStyleName#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaFirstLineIndent#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsAutoFirstLineIndent#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsHyphenation"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxHyphens#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxLeadingChars#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaHyphenationMaxTrailingChars#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaVertAlignment#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaUserDefinedAttributes#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"NumberingIsNumber#optional"
+"ParagraphStyle";"com::sun::star::style::ParagraphProperties";"ParaIsConnectBorder#optional"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertySetInfo()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"setPropertyValues()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"getPropertyValues()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"addPropertiesChangeListener()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"removePropertiesChangeListener()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertySet#optional";"firePropertiesChangeEvent()"
+"ParagraphStyle";"com::sun::star::style::XStyle";"isUserDefined()"
+"ParagraphStyle";"com::sun::star::style::XStyle";"isInUse()"
+"ParagraphStyle";"com::sun::star::style::XStyle";"getParentStyle()"
+"ParagraphStyle";"com::sun::star::style::XStyle";"setParentStyle()"
+"ParagraphStyle";"com::sun::star::style::Style";"IsPhysical#optional"
+"ParagraphStyle";"com::sun::star::style::Style";"FollowStyle#optional"
+"ParagraphStyle";"com::sun::star::style::Style";"DisplayName#optional"
+"ParagraphStyle";"com::sun::star::style::Style";"IsAutoUpdate#optional"
+"ParagraphStyle";"com::sun::star::container::XNamed";"getName()"
+"ParagraphStyle";"com::sun::star::container::XNamed";"setName()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"ParagraphStyle";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"ParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsHangingPunctuation"
+"ParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsCharacterDistance"
+"ParagraphStyle";"com::sun::star::style::ParagraphPropertiesAsian";"ParaIsForbiddenRules"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyStates()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setAllPropertiesToDefault()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"setPropertiesToDefault()"
+"ParagraphStyle";"com::sun::star::beans::XMultiPropertyStates#optional";"getPropertyDefaults()"
+"ParagraphStyle";"com::sun::star::style::ParagraphPropertiesComplex";"WritingMode"
diff --git a/qadevOOo/objdsc/sysdtrans/com.sun.star.comp.datatransfer.SystemClipboard.csv b/qadevOOo/objdsc/sysdtrans/com.sun.star.comp.datatransfer.SystemClipboard.csv
new file mode 100644
index 000000000..3c98a408b
--- /dev/null
+++ b/qadevOOo/objdsc/sysdtrans/com.sun.star.comp.datatransfer.SystemClipboard.csv
@@ -0,0 +1,16 @@
+"SystemClipboard";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SystemClipboard";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SystemClipboard";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SystemClipboard";"com::sun::star::lang::XComponent";"dispose()"
+"SystemClipboard";"com::sun::star::lang::XComponent";"addEventListener()"
+"SystemClipboard";"com::sun::star::lang::XComponent";"removeEventListener()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XFlushableClipboard#optional";"flushClipboard()"
+"SystemClipboard";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboardEx";"getRenderingCapabilities()"
+"SystemClipboard";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"SystemClipboard";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboard";"getContents()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboard";"setContents()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboard";"getName()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"addClipboardListener()"
+"SystemClipboard";"com::sun::star::datatransfer::clipboard::XClipboardNotifier";"removeClipboardListener()"
diff --git a/qadevOOo/objdsc/sysmgr1/com.sun.star.comp.configuration.backend.SystemIntegration.csv b/qadevOOo/objdsc/sysmgr1/com.sun.star.comp.configuration.backend.SystemIntegration.csv
new file mode 100644
index 000000000..4e5b8132a
--- /dev/null
+++ b/qadevOOo/objdsc/sysmgr1/com.sun.star.comp.configuration.backend.SystemIntegration.csv
@@ -0,0 +1,5 @@
+"SystemIntegration";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"SystemIntegration";"com::sun::star::configuration::backend::XBackend";"listOwnLayers()"
+"SystemIntegration";"com::sun::star::configuration::backend::XBackend";"getOwnUpdateHandler()"
+"SystemIntegration";"com::sun::star::configuration::backend::XBackend";"listLayers()"
+"SystemIntegration";"com::sun::star::configuration::backend::XBackend";"getUpdateHandler()"
diff --git a/qadevOOo/objdsc/syssh/com.sun.star.comp.system.SystemShellExecute.csv b/qadevOOo/objdsc/syssh/com.sun.star.comp.system.SystemShellExecute.csv
new file mode 100644
index 000000000..949789364
--- /dev/null
+++ b/qadevOOo/objdsc/syssh/com.sun.star.comp.system.SystemShellExecute.csv
@@ -0,0 +1,6 @@
+"SystemShellExecute";"com::sun::star::system::XSystemShellExecute";"execute()"
+"SystemShellExecute";"com::sun::star::lang::XServiceInfo";"getImplementationName()"
+"SystemShellExecute";"com::sun::star::lang::XServiceInfo";"supportsService()"
+"SystemShellExecute";"com::sun::star::lang::XServiceInfo";"getSupportedServiceNames()"
+"SystemShellExecute";"com::sun::star::lang::XTypeProvider";"getTypes()"
+"SystemShellExecute";"com::sun::star::lang::XTypeProvider";"getImplementationId()"
diff --git a/qadevOOo/objdsc/tcv/com.sun.star.comp.stoc.TypeConverter.csv b/qadevOOo/objdsc/tcv/com.sun.star.comp.stoc.TypeConverter.csv
new file mode 100644
index 000000000..9d9ec2605
--- /dev/null
+++ b/qadevOOo/objdsc/tcv/com.sun.star.comp.stoc.TypeConverter.csv
@@ -0,0 +1,2 @@
+"TypeConverter";"com::sun::star::script::XTypeConverter";"convertTo()"
+"TypeConverter";"com::sun::star::script::XTypeConverter";"convertToSimpleType()"
diff --git a/qadevOOo/objdsc/tdmgr/com.sun.star.comp.stoc.TypeDescriptionManager.csv b/qadevOOo/objdsc/tdmgr/com.sun.star.comp.stoc.TypeDescriptionManager.csv
new file mode 100644
index 000000000..e3ad0c1a0
--- /dev/null
+++ b/qadevOOo/objdsc/tdmgr/com.sun.star.comp.stoc.TypeDescriptionManager.csv
@@ -0,0 +1,12 @@
+"TypeDescriptionManager";"com::sun::star::reflection::XTypeDescriptionEnumerationAccess#optional";"createTypeDescriptionEnumeration()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"dispose()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"TypeDescriptionManager";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"TypeDescriptionManager";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"TypeDescriptionManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"TypeDescriptionManager";"com::sun::star::container::XElementAccess";"hasElements()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"has()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"insert()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"remove()"
+"TypeDescriptionManager";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/text/com.sun.star.text.DefaultNumberingProvider.csv b/qadevOOo/objdsc/text/com.sun.star.text.DefaultNumberingProvider.csv
new file mode 100644
index 000000000..bbc29d582
--- /dev/null
+++ b/qadevOOo/objdsc/text/com.sun.star.text.DefaultNumberingProvider.csv
@@ -0,0 +1,2 @@
+"DefaultNumberingProvider";"com::sun::star::text::XDefaultNumberingProvider";"getDefaultOutlineNumberings()"
+"DefaultNumberingProvider";"com::sun::star::text::XDefaultNumberingProvider";"getDefaultContinuousNumberingLevels()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabController.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabController.csv
new file mode 100644
index 000000000..54fac0f2e
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabController.csv
@@ -0,0 +1,9 @@
+"TabController";"com::sun::star::awt::XTabController";"setModel()"
+"TabController";"com::sun::star::awt::XTabController";"getModel()"
+"TabController";"com::sun::star::awt::XTabController";"setContainer()"
+"TabController";"com::sun::star::awt::XTabController";"getContainer()"
+"TabController";"com::sun::star::awt::XTabController";"getControls()"
+"TabController";"com::sun::star::awt::XTabController";"autoTabOrder()"
+"TabController";"com::sun::star::awt::XTabController";"activateTabOrder()"
+"TabController";"com::sun::star::awt::XTabController";"activateFirst()"
+"TabController";"com::sun::star::awt::XTabController";"activateLast()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabControllerModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabControllerModel.csv
new file mode 100644
index 000000000..e3c1c1767
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.TabControllerModel.csv
@@ -0,0 +1,11 @@
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"getGroupControl()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"setGroupControl()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"setControlModels()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"getControlModels()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"setGroup()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"getGroupCount()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"getGroup()"
+"TabControllerModel";"com::sun::star::awt::XTabControllerModel";"getGroupByName()"
+"TabControllerModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"TabControllerModel";"com::sun::star::io::XPersistObject";"write()"
+"TabControllerModel";"com::sun::star::io::XPersistObject";"read()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.Toolkit.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.Toolkit.csv
new file mode 100644
index 000000000..b8fb768c7
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.Toolkit.csv
@@ -0,0 +1,12 @@
+"Toolkit";"com::sun::star::awt::XSystemChildFactory#optional";"createSystemChild()"
+"Toolkit";"com::sun::star::awt::XToolkit";"getDesktopWindow()"
+"Toolkit";"com::sun::star::awt::XToolkit";"getWorkArea()"
+"Toolkit";"com::sun::star::awt::XToolkit";"createWindow()"
+"Toolkit";"com::sun::star::awt::XToolkit";"createWindows()"
+"Toolkit";"com::sun::star::awt::XToolkit";"createScreenCompatibleDevice()"
+"Toolkit";"com::sun::star::awt::XToolkit";"createRegion()"
+"Toolkit";"com::sun::star::awt::XMessageBoxFactory#optional";"createMessageBox()"
+"Toolkit";"com::sun::star::awt::XDataTransferProviderAccess#optional";"getDragGestureRecognizer()"
+"Toolkit";"com::sun::star::awt::XDataTransferProviderAccess#optional";"getDragSource()"
+"Toolkit";"com::sun::star::awt::XDataTransferProviderAccess#optional";"getDropTarget()"
+"Toolkit";"com::sun::star::awt::XDataTransferProviderAccess#optional";"getClipboard()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButton.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButton.csv
new file mode 100644
index 000000000..baef22ec3
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButton.csv
@@ -0,0 +1,43 @@
+"UnoControlButton";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlButton";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlButton";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlButton";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlButton";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlButton";"com::sun::star::awt::XView";"getSize()"
+"UnoControlButton";"com::sun::star::awt::XView";"draw()"
+"UnoControlButton";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlButton";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlButton";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlButton";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlButton";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlButton";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlButton";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlButton";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlButton";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlButton";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlButton";"com::sun::star::awt::XControl";"getView()"
+"UnoControlButton";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlButton";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlButton";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlButton";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlButton";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlButton";"com::sun::star::awt::XButton";"addActionListener()"
+"UnoControlButton";"com::sun::star::awt::XButton";"removeActionListener()"
+"UnoControlButton";"com::sun::star::awt::XButton";"setLabel()"
+"UnoControlButton";"com::sun::star::awt::XButton";"setActionCommand()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButtonModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButtonModel.csv
new file mode 100644
index 000000000..148c39ab0
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlButtonModel.csv
@@ -0,0 +1,55 @@
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Align#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"BackgroundColor"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"DefaultButton"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Enabled"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FocusOnClick#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontDescriptor"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontEmphasisMark"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"FontRelief"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"HelpText"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"HelpURL"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImageAlign"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImagePosition#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"ImageURL"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Graphic#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Label"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"MultiLine#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Printable"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"PushButtonType"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Repeat#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"RepeatDelay#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"State"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Tabstop"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"TextColor"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"TextLineColor"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"Toggle#optional"
+"UnoControlButtonModel";"com::sun::star::awt::UnoControlButtonModel";"VerticalAlign#optional"
+"UnoControlButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBox.csv
new file mode 100644
index 000000000..368547ee1
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBox.csv
@@ -0,0 +1,45 @@
+"UnoControlCheckBox";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlCheckBox";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlCheckBox";"com::sun::star::awt::XView";"getSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XView";"draw()"
+"UnoControlCheckBox";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"addItemListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"removeItemListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"getState()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"setState()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"setLabel()"
+"UnoControlCheckBox";"com::sun::star::awt::XCheckBox";"enableTriState()"
+"UnoControlCheckBox";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlCheckBox";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlCheckBox";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"getView()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlCheckBox";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlCheckBox";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlCheckBox";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBoxModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBoxModel.csv
new file mode 100644
index 000000000..1094f735c
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCheckBoxModel.csv
@@ -0,0 +1,50 @@
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlCheckBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlCheckBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlCheckBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlCheckBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlCheckBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlCheckBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlCheckBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Align#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"BackgroundColor#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Enabled"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontDescriptor"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontEmphasisMark"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"FontRelief"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"HelpText"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"HelpURL"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"ImagePosition#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"ImageURL#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Graphic#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Label"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"MultiLine#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Printable"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"State"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"Tabstop"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TextColor"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TextLineColor"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"TriState"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"VerticalAlign#optional"
+"UnoControlCheckBoxModel";"com::sun::star::awt::UnoControlCheckBoxModel";"VisualEffect#optional"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBox.csv
new file mode 100644
index 000000000..e17ce8b62
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBox.csv
@@ -0,0 +1,65 @@
+"UnoControlComboBox";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlComboBox";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlComboBox";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlComboBox";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlComboBox";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlComboBox";"com::sun::star::awt::XView";"getSize()"
+"UnoControlComboBox";"com::sun::star::awt::XView";"draw()"
+"UnoControlComboBox";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlComboBox";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlComboBox";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlComboBox";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"getView()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlComboBox";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlComboBox";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlComboBox";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlComboBox";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlComboBox";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlComboBox";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"addItemListener()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"removeItemListener()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"addActionListener()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"removeActionListener()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"addItem()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"addItems()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"removeItems()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"getItemCount()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"getItem()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"getItems()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"getDropDownLineCount()"
+"UnoControlComboBox";"com::sun::star::awt::XComboBox";"setDropDownLineCount()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBoxModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBoxModel.csv
new file mode 100644
index 000000000..979b00345
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlComboBoxModel.csv
@@ -0,0 +1,51 @@
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlComboBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlComboBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlComboBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlComboBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Align#optional"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Autocomplete"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"BackgroundColor"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Border"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"BorderColor#optional"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Dropdown"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Enabled"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontDescriptor"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontEmphasisMark"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"FontRelief"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HelpText"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HelpURL"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"HideInactiveSelection#optional"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"LineCount"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"MaxTextLen"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Printable"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"ReadOnly"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"StringItemList"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Tabstop"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"Text"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"TextColor"
+"UnoControlComboBoxModel";"com::sun::star::awt::UnoControlComboBoxModel";"TextLineColor"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlComboBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlComboBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlComboBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlComboBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainer.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainer.csv
new file mode 100644
index 000000000..eb6201ed6
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainer.csv
@@ -0,0 +1,47 @@
+"UnoControlContainer";"com::sun::star::awt::XControlContainer";"setStatusText()"
+"UnoControlContainer";"com::sun::star::awt::XControlContainer";"getControls()"
+"UnoControlContainer";"com::sun::star::awt::XControlContainer";"getControl()"
+"UnoControlContainer";"com::sun::star::awt::XControlContainer";"addControl()"
+"UnoControlContainer";"com::sun::star::awt::XControlContainer";"removeControl()"
+"UnoControlContainer";"com::sun::star::awt::XUnoControlContainer";"setTabControllers()"
+"UnoControlContainer";"com::sun::star::awt::XUnoControlContainer";"getTabControllers()"
+"UnoControlContainer";"com::sun::star::awt::XUnoControlContainer";"addTabController()"
+"UnoControlContainer";"com::sun::star::awt::XUnoControlContainer";"removeTabController()"
+"UnoControlContainer";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlContainer";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlContainer";"com::sun::star::awt::XView";"getSize()"
+"UnoControlContainer";"com::sun::star::awt::XView";"draw()"
+"UnoControlContainer";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlContainer";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlContainer";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlContainer";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"getView()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlContainer";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlContainer";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlContainer";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlContainer";"com::sun::star::container::XContainer";"addContainerListener()"
+"UnoControlContainer";"com::sun::star::container::XContainer";"removeContainerListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainerModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainerModel.csv
new file mode 100644
index 000000000..bf04ccbd7
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlContainerModel.csv
@@ -0,0 +1,37 @@
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlContainerModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlContainerModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlContainerModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlContainerModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlContainerModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlContainerModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlContainerModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlContainerModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"BackgroundColor"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"Enabled"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"Border"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"BorderColor#optional"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"Printable"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"Text"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"HelpText"
+"UnoControlContainerModel";"com::sun::star::awt::UnoControlContainerModel";"HelpURL"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyField.csv
new file mode 100644
index 000000000..6363b1a3c
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyField.csv
@@ -0,0 +1,76 @@
+"UnoControlCurrencyField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlCurrencyField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlCurrencyField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XView";"draw()"
+"UnoControlCurrencyField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlCurrencyField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlCurrencyField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlCurrencyField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlCurrencyField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setValue()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getValue()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setMin()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getMin()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setMax()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getMax()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setFirst()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getFirst()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setLast()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getLast()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setSpinSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getSpinSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setDecimalDigits()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"getDecimalDigits()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"setStrictFormat()"
+"UnoControlCurrencyField";"com::sun::star::awt::XCurrencyField";"isStrictFormat()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlCurrencyField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlCurrencyField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlCurrencyField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyFieldModel.csv
new file mode 100644
index 000000000..67a5b5c91
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlCurrencyFieldModel.csv
@@ -0,0 +1,56 @@
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlCurrencyFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"BackgroundColor"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Border"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"BorderColor#optional"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"CurrencySymbol"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"DecimalAccuracy"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Enabled"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontDescriptor"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontEmphasisMark"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"FontRelief"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HelpText"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HelpURL"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"HideInactiveSelection#optional"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"PrependCurrencySymbol"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Printable"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ReadOnly"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Repeat#optional"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"RepeatDelay#optional"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ShowThousandsSeparator"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Spin"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"StrictFormat"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Tabstop"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"TextColor"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"TextLineColor"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"Value"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueMax"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueMin"
+"UnoControlCurrencyFieldModel";"com::sun::star::awt::UnoControlCurrencyFieldModel";"ValueStep"
+"UnoControlCurrencyFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlCurrencyFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlCurrencyFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlCurrencyFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlCurrencyFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlCurrencyFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateField.csv
new file mode 100644
index 000000000..4fe8ef1a5
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateField.csv
@@ -0,0 +1,76 @@
+"UnoControlDateField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlDateField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlDateField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlDateField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlDateField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlDateField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlDateField";"com::sun::star::awt::XView";"draw()"
+"UnoControlDateField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlDateField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlDateField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlDateField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setDate()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"getDate()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setMin()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"getMin()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setMax()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"getMax()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setFirst()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"getFirst()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setLast()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"getLast()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setLongFormat()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"isLongFormat()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setEmpty()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"isEmpty()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"setStrictFormat()"
+"UnoControlDateField";"com::sun::star::awt::XDateField";"isStrictFormat()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlDateField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlDateField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlDateField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlDateField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlDateField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlDateField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlDateField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateFieldModel.csv
new file mode 100644
index 000000000..ee9facefa
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDateFieldModel.csv
@@ -0,0 +1,55 @@
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlDateFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"BackgroundColor"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Border"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"BorderColor#optional"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Date"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateFormat"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateMax"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateMin"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"DateShowCentury"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Dropdown"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Enabled"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontDescriptor"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontEmphasisMark"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"FontRelief"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"HelpText"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"HelpURL"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"HideInactiveSelection#optional"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Printable"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"ReadOnly"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Repeat#optional"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"RepeatDelay#optional"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Spin"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"StrictFormat"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Tabstop"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"Text#optional"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"TextColor"
+"UnoControlDateFieldModel";"com::sun::star::awt::UnoControlDateFieldModel";"TextLineColor"
+"UnoControlDateFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlDateFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlDateFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlDateFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlDateFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlDateFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlDateFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialog.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialog.csv
new file mode 100644
index 000000000..be4d2b286
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialog.csv
@@ -0,0 +1,56 @@
+"UnoControlDialog";"com::sun::star::awt::XControlContainer";"setStatusText()"
+"UnoControlDialog";"com::sun::star::awt::XControlContainer";"getControls()"
+"UnoControlDialog";"com::sun::star::awt::XControlContainer";"getControl()"
+"UnoControlDialog";"com::sun::star::awt::XControlContainer";"addControl()"
+"UnoControlDialog";"com::sun::star::awt::XControlContainer";"removeControl()"
+"UnoControlDialog";"com::sun::star::awt::XDialog";"setTitle()"
+"UnoControlDialog";"com::sun::star::awt::XDialog";"getTitle()"
+"UnoControlDialog";"com::sun::star::awt::XDialog";"execute()"
+"UnoControlDialog";"com::sun::star::awt::XDialog";"endExecute()"
+"UnoControlDialog";"com::sun::star::awt::XUnoControlContainer";"setTabControllers()"
+"UnoControlDialog";"com::sun::star::awt::XUnoControlContainer";"getTabControllers()"
+"UnoControlDialog";"com::sun::star::awt::XUnoControlContainer";"addTabController()"
+"UnoControlDialog";"com::sun::star::awt::XUnoControlContainer";"removeTabController()"
+"UnoControlDialog";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlDialog";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlDialog";"com::sun::star::awt::XView";"getSize()"
+"UnoControlDialog";"com::sun::star::awt::XView";"draw()"
+"UnoControlDialog";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlDialog";"com::sun::star::awt::XTopWindow";"addTopWindowListener()"
+"UnoControlDialog";"com::sun::star::awt::XTopWindow";"removeTopWindowListener()"
+"UnoControlDialog";"com::sun::star::awt::XTopWindow";"toFront()"
+"UnoControlDialog";"com::sun::star::awt::XTopWindow";"toBack()"
+"UnoControlDialog";"com::sun::star::awt::XTopWindow";"setMenuBar()"
+"UnoControlDialog";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlDialog";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlDialog";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"getView()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlDialog";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlDialog";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlDialog";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlDialog";"com::sun::star::container::XContainer";"addContainerListener()"
+"UnoControlDialog";"com::sun::star::container::XContainer";"removeContainerListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialogModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialogModel.csv
new file mode 100644
index 000000000..645120789
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlDialogModel.csv
@@ -0,0 +1,55 @@
+"UnoControlDialogModel";"com::sun::star::container::XNameAccess";"getByName()"
+"UnoControlDialogModel";"com::sun::star::container::XNameAccess";"getElementNames()"
+"UnoControlDialogModel";"com::sun::star::container::XNameAccess";"hasByName()"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlDialogModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlDialogModel";"com::sun::star::container::XNameReplace";"replaceByName()"
+"UnoControlDialogModel";"com::sun::star::container::XNameContainer";"insertByName()"
+"UnoControlDialogModel";"com::sun::star::container::XNameContainer";"removeByName()"
+"UnoControlDialogModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlDialogModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlDialogModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlDialogModel";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"UnoControlDialogModel";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"UnoControlDialogModel";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"BackgroundColor"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"Closeable"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"Enabled"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"FontDescriptor"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"FontEmphasisMark"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"FontRelief"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"HelpText"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"HelpURL"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"Moveable"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"Sizeable"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"TextColor"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"TextLineColor"
+"UnoControlDialogModel";"com::sun::star::awt::UnoControlDialogModel";"Title"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlDialogModel";"com::sun::star::container::XElementAccess";"getElementType()"
+"UnoControlDialogModel";"com::sun::star::container::XElementAccess";"hasElements()"
+"UnoControlDialogModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlDialogModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlDialogModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlDialogModel";"com::sun::star::container::XContainer";"addContainerListener()"
+"UnoControlDialogModel";"com::sun::star::container::XContainer";"removeContainerListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlDialogModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEdit.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEdit.csv
new file mode 100644
index 000000000..fc30f46ca
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEdit.csv
@@ -0,0 +1,53 @@
+"UnoControlEdit";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlEdit";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlEdit";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlEdit";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlEdit";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlEdit";"com::sun::star::awt::XView";"getSize()"
+"UnoControlEdit";"com::sun::star::awt::XView";"draw()"
+"UnoControlEdit";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlEdit";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlEdit";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlEdit";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"getView()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlEdit";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlEdit";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlEdit";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlEdit";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlEdit";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlEdit";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEditModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEditModel.csv
new file mode 100644
index 000000000..7e5f6a37b
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlEditModel.csv
@@ -0,0 +1,53 @@
+"UnoControlEditModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlEditModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlEditModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlEditModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlEditModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlEditModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlEditModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlEditModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlEditModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Align"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"BackgroundColor"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Border"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"BorderColor#optional"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"EchoChar#optional"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Enabled"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"FontDescriptor"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"FontEmphasisMark"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"FontRelief"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"HardLineBreaks"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"HelpText"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"HelpURL"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"HideInactiveSelection#optional"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"HScroll"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"LineEndFormat#optional"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"MaxTextLen"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"MultiLine"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Printable"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"ReadOnly"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Tabstop"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"Text"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"TextColor"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"TextLineColor"
+"UnoControlEditModel";"com::sun::star::awt::UnoControlEditModel";"VScroll"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlEditModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControl.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControl.csv
new file mode 100644
index 000000000..37ba4712c
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControl.csv
@@ -0,0 +1,53 @@
+"UnoControlFileControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlFileControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlFileControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlFileControl";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlFileControl";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlFileControl";"com::sun::star::awt::XView";"getSize()"
+"UnoControlFileControl";"com::sun::star::awt::XView";"draw()"
+"UnoControlFileControl";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlFileControl";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFileControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFileControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"getView()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlFileControl";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlFileControl";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlFileControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlFileControl";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlFileControl";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlFileControl";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControlModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControlModel.csv
new file mode 100644
index 000000000..66b24c5b3
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFileControlModel.csv
@@ -0,0 +1,45 @@
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlFileControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlFileControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFileControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFileControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlFileControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlFileControlModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlFileControlModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"BackgroundColor"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Border"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"BorderColor#optional"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Enabled"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontDescriptor"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontEmphasisMark"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"FontRelief"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HelpText"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HelpURL"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"HideInactiveSelection#optional"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Printable"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"ReadOnly#optional"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Tabstop"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"Text"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"TextColor"
+"UnoControlFileControlModel";"com::sun::star::awt::UnoControlFileControlModel";"TextLineColor"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedLineModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedLineModel.csv
new file mode 100644
index 000000000..5c04d9aa0
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedLineModel.csv
@@ -0,0 +1,40 @@
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlFixedLineModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlFixedLineModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFixedLineModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFixedLineModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"Enabled"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"FontDescriptor"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"FontEmphasisMark"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"FontRelief"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"HelpText"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"HelpURL"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"Label"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"Orientation"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"Printable"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"TextColor"
+"UnoControlFixedLineModel";"com::sun::star::awt::UnoControlFixedLineModel";"TextLineColor"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlFixedLineModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlFixedLineModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlFixedLineModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlFixedLineModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedText.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedText.csv
new file mode 100644
index 000000000..3a78bf5d8
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedText.csv
@@ -0,0 +1,43 @@
+"UnoControlFixedText";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlFixedText";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlFixedText";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlFixedText";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlFixedText";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlFixedText";"com::sun::star::awt::XView";"getSize()"
+"UnoControlFixedText";"com::sun::star::awt::XView";"draw()"
+"UnoControlFixedText";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlFixedText";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFixedText";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFixedText";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"getView()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlFixedText";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlFixedText";"com::sun::star::awt::XFixedText";"setText()"
+"UnoControlFixedText";"com::sun::star::awt::XFixedText";"getText()"
+"UnoControlFixedText";"com::sun::star::awt::XFixedText";"setAlignment()"
+"UnoControlFixedText";"com::sun::star::awt::XFixedText";"getAlignment()"
+"UnoControlFixedText";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlFixedText";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedTextModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedTextModel.csv
new file mode 100644
index 000000000..c7ba42d79
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFixedTextModel.csv
@@ -0,0 +1,45 @@
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlFixedTextModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlFixedTextModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFixedTextModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFixedTextModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlFixedTextModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlFixedTextModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlFixedTextModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Align"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"BackgroundColor"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Border"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"BorderColor#optional"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Enabled"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontDescriptor"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontEmphasisMark"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"FontRelief"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"HelpText"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"HelpURL"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Label"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"MultiLine"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"Printable"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"TextColor"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"TextLineColor"
+"UnoControlFixedTextModel";"com::sun::star::awt::UnoControlFixedTextModel";"VerticalAlign#optional"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedField.csv
new file mode 100644
index 000000000..2fa33f742
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedField.csv
@@ -0,0 +1,60 @@
+"UnoControlFormattedField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlFormattedField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlFormattedField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XView";"draw()"
+"UnoControlFormattedField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlFormattedField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFormattedField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFormattedField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlFormattedField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlFormattedField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlFormattedField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlFormattedField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedFieldModel.csv
new file mode 100644
index 000000000..b8b646f42
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlFormattedFieldModel.csv
@@ -0,0 +1,58 @@
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlFormattedFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Align"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"BackgroundColor"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Border"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"BorderColor#optional"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveDefault"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveMax"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveMin"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"EffectiveValue"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Enabled"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontDescriptor"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontEmphasisMark"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"FontRelief"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"FormatKey"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"FormatsSupplier"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"HelpText"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"HelpURL"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"HideInactiveSelection#optional"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"MaxTextLen"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Printable"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"ReadOnly"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Repeat#optional"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"RepeatDelay#optional"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Spin"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"StrictFormat#optional"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Tabstop"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"Text"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"TextColor"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"TextLineColor"
+"UnoControlFormattedFieldModel";"com::sun::star::awt::UnoControlFormattedFieldModel";"TreatAsNumber"
+"UnoControlFormattedFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlFormattedFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlFormattedFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlFormattedFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlFormattedFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlFormattedFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBox.csv
new file mode 100644
index 000000000..3a6e070a8
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBox.csv
@@ -0,0 +1,36 @@
+"UnoControlGroupBox";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlGroupBox";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlGroupBox";"com::sun::star::awt::XView";"getSize()"
+"UnoControlGroupBox";"com::sun::star::awt::XView";"draw()"
+"UnoControlGroupBox";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlGroupBox";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlGroupBox";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlGroupBox";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"getView()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlGroupBox";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlGroupBox";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlGroupBox";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBoxModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBoxModel.csv
new file mode 100644
index 000000000..d29f6947c
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlGroupBoxModel.csv
@@ -0,0 +1,39 @@
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Enabled"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontDescriptor"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontEmphasisMark"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"FontRelief"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"HelpText"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"HelpURL"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Label"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"Printable"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"TextColor"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlGroupBoxModel";"TextLineColor"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlGroupBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlGroupBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlGroupBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlGroupBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlGroupBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlGroupBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlGroupBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlGroupBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlGroupBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControl.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControl.csv
new file mode 100644
index 000000000..0c9bcc76b
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControl.csv
@@ -0,0 +1,39 @@
+"UnoControlImageControl";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlImageControl";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlImageControl";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlImageControl";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlImageControl";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlImageControl";"com::sun::star::awt::XView";"getSize()"
+"UnoControlImageControl";"com::sun::star::awt::XView";"draw()"
+"UnoControlImageControl";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlImageControl";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlImageControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlImageControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"getView()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlImageControl";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlImageControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlImageControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControlModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControlModel.csv
new file mode 100644
index 000000000..e5f2d74fc
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlImageControlModel.csv
@@ -0,0 +1,40 @@
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlImageControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"BackgroundColor"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Border"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"BorderColor#optional"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Enabled"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpText"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"HelpURL"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"ImageURL"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Graphic#optional"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Printable"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"ScaleImage"
+"UnoControlImageControlModel";"com::sun::star::awt::UnoControlImageControlModel";"Tabstop#optional"
+"UnoControlImageControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlImageControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlImageControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlImageControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlImageControlModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlImageControlModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlImageControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBox.csv
new file mode 100644
index 000000000..0e4fa1b3e
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBox.csv
@@ -0,0 +1,63 @@
+"UnoControlListBox";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlListBox";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlListBox";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlListBox";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlListBox";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlListBox";"com::sun::star::awt::XView";"getSize()"
+"UnoControlListBox";"com::sun::star::awt::XView";"draw()"
+"UnoControlListBox";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlListBox";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlListBox";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlListBox";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"getView()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlListBox";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlListBox";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlListBox";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlListBox";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlListBox";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"addItemListener()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"removeItemListener()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"addActionListener()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"removeActionListener()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"addItem()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"addItems()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"removeItems()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getItemCount()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getItem()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getItems()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getSelectedItemPos()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getSelectedItemsPos()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getSelectedItem()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getSelectedItems()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"selectItemPos()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"selectItemsPos()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"selectItem()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"isMutipleMode()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"setMultipleMode()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"getDropDownLineCount()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"setDropDownLineCount()"
+"UnoControlListBox";"com::sun::star::awt::XListBox";"makeVisible()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBoxModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBoxModel.csv
new file mode 100644
index 000000000..fd81d508d
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlListBoxModel.csv
@@ -0,0 +1,49 @@
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Align#optional"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"BackgroundColor"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Border"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"BorderColor#optional"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Dropdown"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Enabled"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontDescriptor"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontEmphasisMark"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"FontRelief"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"HelpText"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"HelpURL"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"LineCount"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"MultiSelection"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Printable"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"ReadOnly"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"SelectedItems"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"StringItemList"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"Tabstop"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"TextColor"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlListBoxModel";"TextLineColor"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlListBoxModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlListBoxModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlListBoxModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlListBoxModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlListBoxModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlListBoxModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlListBoxModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlListBoxModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlListBoxModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericField.csv
new file mode 100644
index 000000000..2eaeaebc1
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericField.csv
@@ -0,0 +1,76 @@
+"UnoControlNumericField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlNumericField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlNumericField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlNumericField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlNumericField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlNumericField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlNumericField";"com::sun::star::awt::XView";"draw()"
+"UnoControlNumericField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlNumericField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlNumericField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlNumericField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlNumericField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlNumericField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlNumericField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlNumericField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlNumericField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlNumericField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlNumericField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setValue()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getValue()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setMin()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getMin()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setMax()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getMax()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setFirst()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getFirst()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setLast()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getLast()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setSpinSize()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getSpinSize()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setDecimalDigits()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"getDecimalDigits()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"setStrictFormat()"
+"UnoControlNumericField";"com::sun::star::awt::XNumericField";"isStrictFormat()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericFieldModel.csv
new file mode 100644
index 000000000..adc0bb0d1
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlNumericFieldModel.csv
@@ -0,0 +1,54 @@
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlNumericFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlNumericFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlNumericFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlNumericFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlNumericFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlNumericFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlNumericFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"BackgroundColor"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Border"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"BorderColor#optional"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"DecimalAccuracy"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Enabled"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontDescriptor"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontEmphasisMark"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"FontRelief"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HelpText"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HelpURL"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"HideInactiveSelection#optional"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Printable"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ReadOnly"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Repeat#optional"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"RepeatDelay#optional"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ShowThousandsSeparator"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Spin"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"StrictFormat"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Tabstop"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"TextColor"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"TextLineColor"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"Value"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueMax"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueMin"
+"UnoControlNumericFieldModel";"com::sun::star::awt::UnoControlNumericFieldModel";"ValueStep"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternField.csv
new file mode 100644
index 000000000..614738018
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternField.csv
@@ -0,0 +1,66 @@
+"UnoControlPatternField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlPatternField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlPatternField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlPatternField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlPatternField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlPatternField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlPatternField";"com::sun::star::awt::XView";"draw()"
+"UnoControlPatternField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlPatternField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlPatternField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlPatternField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlPatternField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlPatternField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlPatternField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlPatternField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlPatternField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlPatternField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlPatternField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"setMasks()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"getMasks()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"setString()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"getString()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"setStrictFormat()"
+"UnoControlPatternField";"com::sun::star::awt::XPatternField";"isStrictFormat()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternFieldModel.csv
new file mode 100644
index 000000000..20c556a01
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlPatternFieldModel.csv
@@ -0,0 +1,49 @@
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlPatternFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlPatternFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlPatternFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlPatternFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"BackgroundColor"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Border"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"BorderColor#optional"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"EditMask"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Enabled"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontDescriptor"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontEmphasisMark"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"FontRelief"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HelpText"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HelpURL"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"HideInactiveSelection#optional"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"LiteralMask"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"MaxTextLen"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Printable"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"ReadOnly"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"StrictFormat"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Tabstop"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"Text"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"TextColor"
+"UnoControlPatternFieldModel";"com::sun::star::awt::UnoControlPatternFieldModel";"TextLineColor"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlPatternFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlPatternFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlPatternFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlPatternFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlProgressBarModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlProgressBarModel.csv
new file mode 100644
index 000000000..4cda47a81
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlProgressBarModel.csv
@@ -0,0 +1,40 @@
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlProgressBarModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"BackgroundColor"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"Border"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"BorderColor#optional"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"Enabled"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"FillColor"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"HelpText"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"HelpURL"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"Printable"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"ProgressValue"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"ProgressValueMax"
+"UnoControlProgressBarModel";"com::sun::star::awt::UnoControlProgressBarModel";"ProgressValueMin"
+"UnoControlProgressBarModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlProgressBarModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlProgressBarModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlProgressBarModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlProgressBarModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlProgressBarModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlProgressBarModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButton.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButton.csv
new file mode 100644
index 000000000..1a2647316
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButton.csv
@@ -0,0 +1,44 @@
+"UnoControlRadioButton";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XRadioButton";"addItemListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XRadioButton";"removeItemListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XRadioButton";"getState()"
+"UnoControlRadioButton";"com::sun::star::awt::XRadioButton";"setState()"
+"UnoControlRadioButton";"com::sun::star::awt::XRadioButton";"setLabel()"
+"UnoControlRadioButton";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlRadioButton";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlRadioButton";"com::sun::star::awt::XView";"getSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XView";"draw()"
+"UnoControlRadioButton";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlRadioButton";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlRadioButton";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlRadioButton";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"getView()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlRadioButton";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlRadioButton";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlRadioButton";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButtonModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButtonModel.csv
new file mode 100644
index 000000000..360cf362f
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlRadioButtonModel.csv
@@ -0,0 +1,49 @@
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlRadioButtonModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlRadioButtonModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlRadioButtonModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlRadioButtonModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Align#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"BackgroundColor#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Enabled"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontDescriptor"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontEmphasisMark"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"FontRelief"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"HelpText"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"HelpURL"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"ImagePosition#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"ImageURL#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Graphic#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Label"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"MultiLine#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Printable"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"State"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"Tabstop"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"TextColor"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"TextLineColor"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"VerticalAlign#optional"
+"UnoControlRadioButtonModel";"com::sun::star::awt::UnoControlRadioButtonModel";"VisualEffect#optional"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlRadioButtonModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlRadioButtonModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlRadioButtonModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlRadioButtonModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlScrollBarModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlScrollBarModel.csv
new file mode 100644
index 000000000..a8c97303d
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlScrollBarModel.csv
@@ -0,0 +1,47 @@
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlScrollBarModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BackgroundColor#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BlockIncrement"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Border"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"BorderColor#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Enabled"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"HelpText"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"HelpURL"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"LineIncrement"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"LiveScroll#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Orientation"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Printable"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"RepeatDelay#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValue"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValueMin#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"ScrollValueMax"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"SymbolColor#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"Tabstop#optional"
+"UnoControlScrollBarModel";"com::sun::star::awt::UnoControlScrollBarModel";"VisibleSize"
+"UnoControlScrollBarModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlScrollBarModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlScrollBarModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlScrollBarModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlScrollBarModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlScrollBarModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlScrollBarModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeField.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeField.csv
new file mode 100644
index 000000000..e5879ecc0
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeField.csv
@@ -0,0 +1,74 @@
+"UnoControlTimeField";"com::sun::star::awt::XLayoutConstrains";"getMinimumSize()"
+"UnoControlTimeField";"com::sun::star::awt::XLayoutConstrains";"getPreferredSize()"
+"UnoControlTimeField";"com::sun::star::awt::XLayoutConstrains";"calcAdjustedSize()"
+"UnoControlTimeField";"com::sun::star::awt::XView";"setGraphics()"
+"UnoControlTimeField";"com::sun::star::awt::XView";"getGraphics()"
+"UnoControlTimeField";"com::sun::star::awt::XView";"getSize()"
+"UnoControlTimeField";"com::sun::star::awt::XView";"draw()"
+"UnoControlTimeField";"com::sun::star::awt::XView";"setZoom()"
+"UnoControlTimeField";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlTimeField";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlTimeField";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setTime()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"getTime()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setMin()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"getMin()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setMax()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"getMax()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setFirst()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"getFirst()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setLast()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"getLast()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setEmpty()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"isEmpty()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"setStrictFormat()"
+"UnoControlTimeField";"com::sun::star::awt::XTimeField";"isStrictFormat()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"addSpinListener()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"removeSpinListener()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"up()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"down()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"first()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"last()"
+"UnoControlTimeField";"com::sun::star::awt::XSpinField#optional";"enableRepeat()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"setContext()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"getContext()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"createPeer()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"getPeer()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"setModel()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"getModel()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"getView()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoControlTimeField";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"addTextListener()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"removeTextListener()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"setText()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"insertText()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"getText()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"getSelectedText()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"setSelection()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"getSelection()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"isEditable()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"setEditable()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"setMaxTextLen()"
+"UnoControlTimeField";"com::sun::star::awt::XTextComponent";"getMaxTextLen()"
+"UnoControlTimeField";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoControlTimeField";"com::sun::star::awt::XWindow";"removePaintListener()"
+"UnoControlTimeField";"com::sun::star::awt::XTextLayoutConstrains";"getMinimumSize()"
+"UnoControlTimeField";"com::sun::star::awt::XTextLayoutConstrains";"getColumnsAndLines()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeFieldModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeFieldModel.csv
new file mode 100644
index 000000000..ae58bd6b5
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.awt.UnoControlTimeFieldModel.csv
@@ -0,0 +1,53 @@
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoControlTimeFieldModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoControlTimeFieldModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoControlTimeFieldModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoControlTimeFieldModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoControlTimeFieldModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoControlTimeFieldModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoControlTimeFieldModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"BackgroundColor"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Border"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"BorderColor#optional"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Enabled"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontDescriptor"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontEmphasisMark"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"FontRelief"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HelpText"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HelpURL"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"HideInactiveSelection#optional"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Printable"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"ReadOnly"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Repeat#optional"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"RepeatDelay#optional"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Spin"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"StrictFormat"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Tabstop"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Text#optional"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TextColor"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TextLineColor"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"Time"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeFormat"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeMax"
+"UnoControlTimeFieldModel";"com::sun::star::awt::UnoControlTimeFieldModel";"TimeMin"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleButton.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleButton.csv
new file mode 100644
index 000000000..b5074fae0
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleButton.csv
@@ -0,0 +1,49 @@
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleButton";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleCheckBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleCheckBox.csv
new file mode 100644
index 000000000..f55d013ea
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleCheckBox.csv
@@ -0,0 +1,49 @@
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleCheckBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleComboBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleComboBox.csv
new file mode 100644
index 000000000..30956a4ef
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleComboBox.csv
@@ -0,0 +1,24 @@
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleComboBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownComboBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownComboBox.csv
new file mode 100644
index 000000000..96e3d27f3
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownComboBox.csv
@@ -0,0 +1,28 @@
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleDropDownComboBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownListBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownListBox.csv
new file mode 100644
index 000000000..2df3ecb2f
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleDropDownListBox.csv
@@ -0,0 +1,28 @@
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleDropDownListBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleEdit.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleEdit.csv
new file mode 100644
index 000000000..ab60d7412
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleEdit.csv
@@ -0,0 +1,48 @@
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"cutText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"pasteText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"deleteText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"insertText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"replaceText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"setAttributes()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleEditableText";"setText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleEdit";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleFixedText.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleFixedText.csv
new file mode 100644
index 000000000..0a58a7933
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleFixedText.csv
@@ -0,0 +1,41 @@
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleFixedText";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleList.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleList.csv
new file mode 100644
index 000000000..ddbc2a586
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleList.csv
@@ -0,0 +1,32 @@
+"AccessibleList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleList";"com::sun::star::accessibility::XAccessible";"getAccessibleContext()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleList";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListBox.csv
new file mode 100644
index 000000000..fbf420288
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListBox.csv
@@ -0,0 +1,24 @@
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleListBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListItem.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListItem.csv
new file mode 100644
index 000000000..22f633f76
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleListItem.csv
@@ -0,0 +1,38 @@
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleListItem";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenu.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenu.csv
new file mode 100644
index 000000000..017a8ff4e
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenu.csv
@@ -0,0 +1,56 @@
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleMenu";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuBar.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuBar.csv
new file mode 100644
index 000000000..580dcf2b2
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuBar.csv
@@ -0,0 +1,31 @@
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleMenuBar";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuItem.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuItem.csv
new file mode 100644
index 000000000..12978754a
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuItem.csv
@@ -0,0 +1,49 @@
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleMenuItem";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuSeparator.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuSeparator.csv
new file mode 100644
index 000000000..d0fd63b66
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleMenuSeparator.csv
@@ -0,0 +1,24 @@
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleMenuSeparator";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessiblePopupMenu.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessiblePopupMenu.csv
new file mode 100644
index 000000000..ec26fdf29
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessiblePopupMenu.csv
@@ -0,0 +1,31 @@
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessiblePopupMenu";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleRadioButton.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleRadioButton.csv
new file mode 100644
index 000000000..e6b095104
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleRadioButton.csv
@@ -0,0 +1,49 @@
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleRadioButton";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleScrollBar.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleScrollBar.csv
new file mode 100644
index 000000000..38ef1161a
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleScrollBar.csv
@@ -0,0 +1,32 @@
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleScrollBar";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBar.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBar.csv
new file mode 100644
index 000000000..3850e15f2
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBar.csv
@@ -0,0 +1,24 @@
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleStatusBar";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBarItem.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBarItem.csv
new file mode 100644
index 000000000..78254662d
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleStatusBarItem.csv
@@ -0,0 +1,41 @@
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleStatusBarItem";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabControl.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabControl.csv
new file mode 100644
index 000000000..34936b28a
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabControl.csv
@@ -0,0 +1,31 @@
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"selectAccessibleChild()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"isAccessibleChildSelected()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"clearAccessibleSelection()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"selectAllAccessibleChildren()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChildCount()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"getSelectedAccessibleChild()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleSelection";"deselectAccessibleChild()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTabControl";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabPage.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabPage.csv
new file mode 100644
index 000000000..9df4ff13d
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleTabPage.csv
@@ -0,0 +1,41 @@
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleTabPage";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBox.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBox.csv
new file mode 100644
index 000000000..38b6e6689
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBox.csv
@@ -0,0 +1,24 @@
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleToolBox";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBoxItem.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBoxItem.csv
new file mode 100644
index 000000000..c37673d7e
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleToolBoxItem.csv
@@ -0,0 +1,49 @@
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleValue";"getCurrentValue()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleValue";"setCurrentValue()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleValue";"getMaximumValue()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleValue";"getMinimumValue()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"addEventListener()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleEventBroadcaster#optional";"removeEventListener()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionCount()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleAction";"doAccessibleAction()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionDescription()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleAction";"getAccessibleActionKeyBinding()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getCaretPosition()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"setCaretPosition()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getCharacter()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterAttributes()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterBounds()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getCharacterCount()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getIndexAtPoint()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getSelectedText()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionStart()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getSelectionEnd()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"setSelection()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getText()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getTextRange()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getTextAtIndex()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getTextBeforeIndex()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"getTextBehindIndex()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleText";"copyText()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleToolBoxItem";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleWindow.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleWindow.csv
new file mode 100644
index 000000000..c59a575c8
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.AccessibleWindow.csv
@@ -0,0 +1,24 @@
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getFont()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getTitledBorderText()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleExtendedComponent";"getToolTipText()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"addEventListener()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleEventBroadcaster";"removeEventListener()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"containsPoint()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getAccessibleAtPoint()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getBounds()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getLocation()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getLocationOnScreen()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getSize()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"grabFocus()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getForeground()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleComponent";"getBackground()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChildCount()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleChild()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleParent()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleIndexInParent()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRole()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleDescription()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleName()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleRelationSet()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getAccessibleStateSet()"
+"AccessibleWindow";"com::sun::star::accessibility::XAccessibleContext";"getLocale()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControl.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControl.csv
new file mode 100644
index 000000000..6d1eaf05b
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControl.csv
@@ -0,0 +1,49 @@
+"UnoSpinButtonControl";"com::sun::star::awt::XView";"setGraphics()"
+"UnoSpinButtonControl";"com::sun::star::awt::XView";"getGraphics()"
+"UnoSpinButtonControl";"com::sun::star::awt::XView";"getSize()"
+"UnoSpinButtonControl";"com::sun::star::awt::XView";"draw()"
+"UnoSpinButtonControl";"com::sun::star::awt::XView";"setZoom()"
+"UnoSpinButtonControl";"com::sun::star::lang::XComponent";"dispose()"
+"UnoSpinButtonControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoSpinButtonControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"addAdjustmentListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"removeAdjustmentListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setValue()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setValues()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"getValue()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setMinimum()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setMaximum()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"getMinimum()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"getMaximum()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setSpinIncrement()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"getSpinIncrement()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"setOrientation()"
+"UnoSpinButtonControl";"com::sun::star::awt::XSpinValue";"getOrientation()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"setContext()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"getContext()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"createPeer()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"getPeer()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"setModel()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"getModel()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"getView()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoSpinButtonControl";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoSpinButtonControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoSpinButtonControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControlModel.csv b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControlModel.csv
new file mode 100644
index 000000000..e6e1c0b8f
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/com.sun.star.comp.toolkit.UnoSpinButtonControlModel.csv
@@ -0,0 +1,44 @@
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoSpinButtonControlModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Border"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"BorderColor#optional"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Enabled"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"HelpText"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"HelpURL"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinIncrement"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Orientation"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Printable"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValue"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValueMin"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SpinValueMax"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"BackgroundColor"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"SymbolColor"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"Repeat"
+"UnoSpinButtonControlModel";"com::sun::star::awt::UnoControlSpinButtonModel";"RepeatDelay"
+"UnoSpinButtonControlModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoSpinButtonControlModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoSpinButtonControlModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoSpinButtonControlModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoSpinButtonControlModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoSpinButtonControlModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoSpinButtonControlModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeControl.csv b/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeControl.csv
new file mode 100644
index 000000000..fa6ee2215
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeControl.csv
@@ -0,0 +1,28 @@
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"isNodeExpanded()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"isNodeCollapsed()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"makeNodeVisible()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"isNodeVisible()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"expandNode()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"collapseNode()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"addTreeExpansionListener()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"removeTreeExpansionListener()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"getNodeForLocation()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"getClosestNodeForLocation()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"isEditing()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"stopEditing()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"cancelEditing()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"startEditingAtNode()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"addTreeEditListener()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"removeTreeEditListener()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"DefaultExpandedGraphicURL()"
+"UnoTreeControl";"com::sun::star::awt::tree::XTreeControl";"DefaultCollapsedGraphicURL()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"addSelection()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"removeSelection()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"clearSelection()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"getSelectionCount()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"createSelectionEnumeration()"
+"UnoTreeControl";"com::sun::star::view::XMultiSelectionSupplier";"createReverseSelectionEnumeration()"
+"UnoTreeControl";"com::sun::star::view::XSelectionSupplier";"select()"
+"UnoTreeControl";"com::sun::star::view::XSelectionSupplier";"getSelection()"
+"UnoTreeControl";"com::sun::star::view::XSelectionSupplier";"addSelectionChangeListener()"
+"UnoTreeControl";"com::sun::star::view::XSelectionSupplier";"removeSelectionChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeModel.csv b/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeModel.csv
new file mode 100644
index 000000000..8dc544ed8
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/stardiv.Toolkit.UnoTreeModel.csv
@@ -0,0 +1,37 @@
+"UnoTreeModel";"com::sun::star::awt::UnoControlModel";"DefaultControl"
+"UnoTreeModel";"com::sun::star::util::XCloneable";"createClone()"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Height"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Name"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionX"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"PositionY"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Step"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"TabIndex"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Tag"
+"UnoTreeModel";"com::sun::star::awt::UnoControlDialogElement#optional";"Width"
+"UnoTreeModel";"com::sun::star::lang::XComponent";"dispose()"
+"UnoTreeModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoTreeModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"getPropertySetInfo()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"setPropertyValues()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"getPropertyValues()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"addPropertiesChangeListener()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"removePropertiesChangeListener()"
+"UnoTreeModel";"com::sun::star::beans::XMultiPropertySet";"firePropertiesChangeEvent()"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"SelectionType"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"DataModel"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"RootDisplayed"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"ShowsHandles"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"ShowsRootHandles"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"RowHeight"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"Editable"
+"UnoTreeModel";"com::sun::star::awt::tree::TreeControlModel";"InvokesStopNodeEditing"
+"UnoTreeModel";"com::sun::star::io::XPersistObject";"getServiceName()"
+"UnoTreeModel";"com::sun::star::io::XPersistObject";"write()"
+"UnoTreeModel";"com::sun::star::io::XPersistObject";"read()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"UnoTreeModel";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/toolkit/stardiv.toolkit.UnoScrollBarControl.csv b/qadevOOo/objdsc/toolkit/stardiv.toolkit.UnoScrollBarControl.csv
new file mode 100644
index 000000000..58e5b715b
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/stardiv.toolkit.UnoScrollBarControl.csv
@@ -0,0 +1,51 @@
+"UnoScrollBarControl";"com::sun::star::awt::XView";"setGraphics()"
+"UnoScrollBarControl";"com::sun::star::awt::XView";"getGraphics()"
+"UnoScrollBarControl";"com::sun::star::awt::XView";"getSize()"
+"UnoScrollBarControl";"com::sun::star::awt::XView";"draw()"
+"UnoScrollBarControl";"com::sun::star::awt::XView";"setZoom()"
+"UnoScrollBarControl";"com::sun::star::lang::XComponent";"dispose()"
+"UnoScrollBarControl";"com::sun::star::lang::XComponent";"addEventListener()"
+"UnoScrollBarControl";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"addAdjustmentListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"removeAdjustmentListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setValue()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setValues()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getValue()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setMaximum()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getMaximum()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setLineIncrement()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getLineIncrement()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setBlockIncrement()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getBlockIncrement()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setVisibleSize()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getVisibleSize()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"setOrientation()"
+"UnoScrollBarControl";"com::sun::star::awt::XScrollBar";"getOrientation()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"setContext()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"getContext()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"createPeer()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"getPeer()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"setModel()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"getModel()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"getView()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"setDesignMode()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"isDesignMode()"
+"UnoScrollBarControl";"com::sun::star::awt::XControl";"isTransparent()"
+"UnoScrollBarControl";"com::sun::star::accessibility::XAccessible#optional";"getAccessibleContext()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"setPosSize()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"getPosSize()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"setVisible()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"setEnable()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"setFocus()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addWindowListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removeWindowListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addFocusListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removeFocusListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addKeyListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removeKeyListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addMouseListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removeMouseListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addMouseMotionListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removeMouseMotionListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"addPaintListener()"
+"UnoScrollBarControl";"com::sun::star::awt::XWindow";"removePaintListener()"
diff --git a/qadevOOo/objdsc/toolkit/toolkit.MutableTreeDataModel.csv b/qadevOOo/objdsc/toolkit/toolkit.MutableTreeDataModel.csv
new file mode 100644
index 000000000..c92c18ce3
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/toolkit.MutableTreeDataModel.csv
@@ -0,0 +1,8 @@
+"MutableTreeDataModel";"com::sun::star::awt::tree::XMutableTreeDataModel";"createNode()"
+"MutableTreeDataModel";"com::sun::star::awt::tree::XMutableTreeDataModel";"setRoot()"
+"MutableTreeDataModel";"com::sun::star::lang::XComponent";"dispose()"
+"MutableTreeDataModel";"com::sun::star::lang::XComponent";"addEventListener()"
+"MutableTreeDataModel";"com::sun::star::lang::XComponent";"removeEventListener()"
+"MutableTreeDataModel";"com::sun::star::awt::tree::XTreeDataModel";"getRoot()"
+"MutableTreeDataModel";"com::sun::star::awt::tree::XTreeDataModel";"addTreeDataModelListener()"
+"MutableTreeDataModel";"com::sun::star::awt::tree::XTreeDataModel";"removeTreeDataModelListener()"
diff --git a/qadevOOo/objdsc/toolkit/toolkit.MutableTreeNode.csv b/qadevOOo/objdsc/toolkit/toolkit.MutableTreeNode.csv
new file mode 100644
index 000000000..295083ed0
--- /dev/null
+++ b/qadevOOo/objdsc/toolkit/toolkit.MutableTreeNode.csv
@@ -0,0 +1,18 @@
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getChildAt()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getChildCount()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getParent()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getIndex()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"hasChildrenOnDemand()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getDisplayValue()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getNodeGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getExpandedGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XTreeNode";"getCollapsedGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"appendChild()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"insertChildByIndex()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"removeChildByIndex()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"setHasChildrenOnDemand()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"setDisplayValue()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"setNodeGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"setExpandedGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"setCollapsedGraphicURL()"
+"MutableTreeNode";"com::sun::star::awt::tree::XMutableTreeNode";"DataValue()"
diff --git a/qadevOOo/objdsc/typeconverter.uno/com.sun.star.comp.stoc.TypeConverter.csv b/qadevOOo/objdsc/typeconverter.uno/com.sun.star.comp.stoc.TypeConverter.csv
new file mode 100644
index 000000000..9d9ec2605
--- /dev/null
+++ b/qadevOOo/objdsc/typeconverter.uno/com.sun.star.comp.stoc.TypeConverter.csv
@@ -0,0 +1,2 @@
+"TypeConverter";"com::sun::star::script::XTypeConverter";"convertTo()"
+"TypeConverter";"com::sun::star::script::XTypeConverter";"convertToSimpleType()"
diff --git a/qadevOOo/objdsc/typemgr.uno/com.sun.star.comp.stoc.TypeDescriptionManager.csv b/qadevOOo/objdsc/typemgr.uno/com.sun.star.comp.stoc.TypeDescriptionManager.csv
new file mode 100644
index 000000000..e3ad0c1a0
--- /dev/null
+++ b/qadevOOo/objdsc/typemgr.uno/com.sun.star.comp.stoc.TypeDescriptionManager.csv
@@ -0,0 +1,12 @@
+"TypeDescriptionManager";"com::sun::star::reflection::XTypeDescriptionEnumerationAccess#optional";"createTypeDescriptionEnumeration()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"dispose()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"addEventListener()"
+"TypeDescriptionManager";"com::sun::star::lang::XComponent#optional";"removeEventListener()"
+"TypeDescriptionManager";"com::sun::star::container::XHierarchicalNameAccess";"getByHierarchicalName()"
+"TypeDescriptionManager";"com::sun::star::container::XHierarchicalNameAccess";"hasByHierarchicalName()"
+"TypeDescriptionManager";"com::sun::star::container::XElementAccess";"getElementType()"
+"TypeDescriptionManager";"com::sun::star::container::XElementAccess";"hasElements()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"has()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"insert()"
+"TypeDescriptionManager";"com::sun::star::container::XSet";"remove()"
+"TypeDescriptionManager";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
diff --git a/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbContentProviderProxyFactory.csv b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbContentProviderProxyFactory.csv
new file mode 100644
index 000000000..69c9c6bc1
--- /dev/null
+++ b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbContentProviderProxyFactory.csv
@@ -0,0 +1 @@
+"UcbContentProviderProxyFactory";"com::sun::star::ucb::XContentProviderFactory";"createContentProvider()"
diff --git a/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbPropertiesManager.csv b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbPropertiesManager.csv
new file mode 100644
index 000000000..bfdd50f02
--- /dev/null
+++ b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbPropertiesManager.csv
@@ -0,0 +1,3 @@
+"UcbPropertiesManager";"com::sun::star::beans::XPropertySetInfo";"getProperties()"
+"UcbPropertiesManager";"com::sun::star::beans::XPropertySetInfo";"getPropertyByName()"
+"UcbPropertiesManager";"com::sun::star::beans::XPropertySetInfo";"hasPropertyByName()"
diff --git a/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbStore.csv b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbStore.csv
new file mode 100644
index 000000000..b5f08bf27
--- /dev/null
+++ b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UcbStore.csv
@@ -0,0 +1 @@
+"UcbStore";"com::sun::star::ucb::XPropertySetRegistryFactory";"createPropertySetRegistry()"
diff --git a/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UniversalContentBroker.csv b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UniversalContentBroker.csv
new file mode 100644
index 000000000..fcb52600d
--- /dev/null
+++ b/qadevOOo/objdsc/ucb/com.sun.star.comp.ucb.UniversalContentBroker.csv
@@ -0,0 +1,15 @@
+"UniversalContentBroker";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
+"UniversalContentBroker";"com::sun::star::lang::XComponent";"dispose()"
+"UniversalContentBroker";"com::sun::star::lang::XComponent";"addEventListener()"
+"UniversalContentBroker";"com::sun::star::lang::XComponent";"removeEventListener()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentIdentifierFactory";"createContentIdentifier()"
+"UniversalContentBroker";"com::sun::star::lang::XInitialization";"initialize()"
+"UniversalContentBroker";"com::sun::star::ucb::XCommandProcessor2#optional";"releaseCommandIdentifier()"
+"UniversalContentBroker";"com::sun::star::ucb::XCommandProcessor";"createCommandIdentifier()"
+"UniversalContentBroker";"com::sun::star::ucb::XCommandProcessor";"execute()"
+"UniversalContentBroker";"com::sun::star::ucb::XCommandProcessor";"abort()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentProviderManager";"registerContentProvider()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentProviderManager";"deregisterContentProvider()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentProviderManager";"queryContentProviders()"
+"UniversalContentBroker";"com::sun::star::ucb::XContentProviderManager";"queryContentProvider()"
diff --git a/qadevOOo/objdsc/ucpchelp/com.sun.star.comp.unknown.CHelpContentProvider.csv b/qadevOOo/objdsc/ucpchelp/com.sun.star.comp.unknown.CHelpContentProvider.csv
new file mode 100644
index 000000000..4a358d822
--- /dev/null
+++ b/qadevOOo/objdsc/ucpchelp/com.sun.star.comp.unknown.CHelpContentProvider.csv
@@ -0,0 +1,2 @@
+"CHelpContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"CHelpContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
diff --git a/qadevOOo/objdsc/ucpdav/com.sun.star.comp.ucb.WebDAVContentProvider.csv b/qadevOOo/objdsc/ucpdav/com.sun.star.comp.ucb.WebDAVContentProvider.csv
new file mode 100644
index 000000000..c4c3c08b4
--- /dev/null
+++ b/qadevOOo/objdsc/ucpdav/com.sun.star.comp.ucb.WebDAVContentProvider.csv
@@ -0,0 +1,2 @@
+"WebDAVContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"WebDAVContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
diff --git a/qadevOOo/objdsc/ucpfile/com.sun.star.comp.ucb.FileProvider.csv b/qadevOOo/objdsc/ucpfile/com.sun.star.comp.ucb.FileProvider.csv
new file mode 100644
index 000000000..dca3caac6
--- /dev/null
+++ b/qadevOOo/objdsc/ucpfile/com.sun.star.comp.ucb.FileProvider.csv
@@ -0,0 +1,13 @@
+"FileProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"FileProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
+"FileProvider";"com::sun::star::ucb::XContentIdentifierFactory";"createContentIdentifier()"
+"FileProvider";"com::sun::star::ucb::XFileIdentifierConverter";"getFileProviderLocality()"
+"FileProvider";"com::sun::star::ucb::XFileIdentifierConverter";"getFileURLFromSystemPath()"
+"FileProvider";"com::sun::star::ucb::XFileIdentifierConverter";"getSystemPathFromFileURL()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"getPropertySetInfo()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"setPropertyValue()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"getPropertyValue()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"addPropertyChangeListener()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
+"FileProvider";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
diff --git a/qadevOOo/objdsc/ucpftp/com.sun.star.comp.ucb.FTPContentProvider.csv b/qadevOOo/objdsc/ucpftp/com.sun.star.comp.ucb.FTPContentProvider.csv
new file mode 100644
index 000000000..c5adee391
--- /dev/null
+++ b/qadevOOo/objdsc/ucpftp/com.sun.star.comp.ucb.FTPContentProvider.csv
@@ -0,0 +1,2 @@
+"FTPContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"FTPContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
diff --git a/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyContentProvider.csv b/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyContentProvider.csv
new file mode 100644
index 000000000..c62b051b2
--- /dev/null
+++ b/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyContentProvider.csv
@@ -0,0 +1,2 @@
+"HierarchyContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"HierarchyContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
diff --git a/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyDataSource.csv b/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyDataSource.csv
new file mode 100644
index 000000000..757e59573
--- /dev/null
+++ b/qadevOOo/objdsc/ucphier/com.sun.star.comp.ucb.HierarchyDataSource.csv
@@ -0,0 +1,6 @@
+"HierarchyDataSource";"com::sun::star::lang::XComponent";"dispose()"
+"HierarchyDataSource";"com::sun::star::lang::XComponent";"addEventListener()"
+"HierarchyDataSource";"com::sun::star::lang::XComponent";"removeEventListener()"
+"HierarchyDataSource";"com::sun::star::lang::XMultiServiceFactory";"createInstance()"
+"HierarchyDataSource";"com::sun::star::lang::XMultiServiceFactory";"createInstanceWithArguments()"
+"HierarchyDataSource";"com::sun::star::lang::XMultiServiceFactory";"getAvailableServiceNames()"
diff --git a/qadevOOo/objdsc/ucppkg/com.sun.star.comp.ucb.PackageContentProvider.csv b/qadevOOo/objdsc/ucppkg/com.sun.star.comp.ucb.PackageContentProvider.csv
new file mode 100644
index 000000000..8db3ace3c
--- /dev/null
+++ b/qadevOOo/objdsc/ucppkg/com.sun.star.comp.ucb.PackageContentProvider.csv
@@ -0,0 +1,2 @@
+"PackageContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"PackageContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
diff --git a/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ContentProvider.csv b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ContentProvider.csv
new file mode 100644
index 000000000..81f041d5a
--- /dev/null
+++ b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ContentProvider.csv
@@ -0,0 +1,5 @@
+"ContentProvider";"com::sun::star::ucb::XParameterizedContentProvider";"registerInstance()"
+"ContentProvider";"com::sun::star::ucb::XParameterizedContentProvider";"deregisterInstance()"
+"ContentProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"ContentProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
+"ContentProvider";"com::sun::star::ucb::XContentIdentifierFactory#optional";"createContentIdentifier()"
diff --git a/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProviderAcceptor.csv b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProviderAcceptor.csv
new file mode 100644
index 000000000..4cd5e51c0
--- /dev/null
+++ b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProviderAcceptor.csv
@@ -0,0 +1,3 @@
+"ProviderAcceptor";"com::sun::star::ucb::XRemoteContentProviderAcceptor";"addRemoteContentProvider()"
+"ProviderAcceptor";"com::sun::star::ucb::XRemoteContentProviderAcceptor";"removeRemoteContentProvider()"
+"ProviderAcceptor";"com::sun::star::ucb::XRemoteContentProviderActivator#optional";"activateRemoteContentProviders()"
diff --git a/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProxyProvider.csv b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProxyProvider.csv
new file mode 100644
index 000000000..0a7937f2a
--- /dev/null
+++ b/qadevOOo/objdsc/ucprmt/com.sun.star.comp.ucb.ucp.remote.ProxyProvider.csv
@@ -0,0 +1,5 @@
+"ProxyProvider";"com::sun::star::ucb::XParameterizedContentProvider#optional";"registerInstance()"
+"ProxyProvider";"com::sun::star::ucb::XParameterizedContentProvider#optional";"deregisterInstance()"
+"ProxyProvider";"com::sun::star::ucb::XContentProvider";"queryContent()"
+"ProxyProvider";"com::sun::star::ucb::XContentProvider";"compareContentIds()"
+"ProxyProvider";"com::sun::star::ucb::XContentIdentifierFactory#optional";"createContentIdentifier()"
diff --git a/qadevOOo/objdsc/uui/com.sun.star.comp.uui.UUIInteractionHandler.csv b/qadevOOo/objdsc/uui/com.sun.star.comp.uui.UUIInteractionHandler.csv
new file mode 100644
index 000000000..98e68f643
--- /dev/null
+++ b/qadevOOo/objdsc/uui/com.sun.star.comp.uui.UUIInteractionHandler.csv
@@ -0,0 +1,2 @@
+"UUIInteractionHandler";"com::sun::star::lang::XInitialization";"initialize()"
+"UUIInteractionHandler";"com::sun::star::task::XInteractionHandler";"handle()"
diff --git a/qadevOOo/objdsc/uuresolver.uno/com.sun.star.comp.bridge.UnoUrlResolver.csv b/qadevOOo/objdsc/uuresolver.uno/com.sun.star.comp.bridge.UnoUrlResolver.csv
new file mode 100644
index 000000000..f0f364328
--- /dev/null
+++ b/qadevOOo/objdsc/uuresolver.uno/com.sun.star.comp.bridge.UnoUrlResolver.csv
@@ -0,0 +1 @@
+"UnoUrlResolver";"com::sun::star::bridge::XUnoUrlResolver";"resolve()"
diff --git a/qadevOOo/objdsc/uuresolver/com.sun.star.comp.bridge.UnoUrlResolver.csv b/qadevOOo/objdsc/uuresolver/com.sun.star.comp.bridge.UnoUrlResolver.csv
new file mode 100644
index 000000000..f0f364328
--- /dev/null
+++ b/qadevOOo/objdsc/uuresolver/com.sun.star.comp.bridge.UnoUrlResolver.csv
@@ -0,0 +1 @@
+"UnoUrlResolver";"com::sun::star::bridge::XUnoUrlResolver";"resolve()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentExporter.csv
new file mode 100644
index 000000000..669adc9a3
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentExporter.csv
@@ -0,0 +1,6 @@
+"XMLContentExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentImporter.csv
new file mode 100644
index 000000000..08204fe94
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLContentImporter.csv
@@ -0,0 +1,14 @@
+"XMLContentImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLContentImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLExporter.csv
new file mode 100644
index 000000000..f05c29aad
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLImporter.csv
new file mode 100644
index 000000000..deb62dc4b
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesExporter.csv
new file mode 100644
index 000000000..5e863bb09
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesExporter.csv
@@ -0,0 +1,6 @@
+"XMLStylesExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesImporter.csv
new file mode 100644
index 000000000..c8bc5bca0
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Chart.XMLStylesImporter.csv
@@ -0,0 +1,14 @@
+"XMLStylesImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLStylesImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentExporter.csv
new file mode 100644
index 000000000..669adc9a3
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentExporter.csv
@@ -0,0 +1,6 @@
+"XMLContentExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentImporter.csv
new file mode 100644
index 000000000..08204fe94
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLContentImporter.csv
@@ -0,0 +1,14 @@
+"XMLContentImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLContentImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLExporter.csv
new file mode 100644
index 000000000..f05c29aad
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLImporter.csv
new file mode 100644
index 000000000..deb62dc4b
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaExporter.csv
new file mode 100644
index 000000000..1970f1252
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaExporter.csv
@@ -0,0 +1,6 @@
+"XMLMetaExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaImporter.csv
new file mode 100644
index 000000000..767ea2ae0
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLMetaImporter.csv
@@ -0,0 +1,14 @@
+"XMLMetaImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLMetaImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsExporter.csv
new file mode 100644
index 000000000..316d947f0
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsExporter.csv
@@ -0,0 +1,6 @@
+"XMLSettingsExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsImporter.csv
new file mode 100644
index 000000000..fd0e0f32d
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLSettingsImporter.csv
@@ -0,0 +1,14 @@
+"XMLSettingsImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLSettingsImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesExporter.csv
new file mode 100644
index 000000000..5e863bb09
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesExporter.csv
@@ -0,0 +1,6 @@
+"XMLStylesExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesImporter.csv
new file mode 100644
index 000000000..c8bc5bca0
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Draw.XMLStylesImporter.csv
@@ -0,0 +1,14 @@
+"XMLStylesImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLStylesImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentExporter.csv
new file mode 100644
index 000000000..669adc9a3
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentExporter.csv
@@ -0,0 +1,6 @@
+"XMLContentExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentImporter.csv
new file mode 100644
index 000000000..08204fe94
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLContentImporter.csv
@@ -0,0 +1,14 @@
+"XMLContentImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLContentImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLContentImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLContentImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLContentImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLExporter.csv
new file mode 100644
index 000000000..f05c29aad
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLExporter.csv
@@ -0,0 +1,6 @@
+"XMLExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLImporter.csv
new file mode 100644
index 000000000..deb62dc4b
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLImporter.csv
@@ -0,0 +1,14 @@
+"XMLImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaExporter.csv
new file mode 100644
index 000000000..1970f1252
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaExporter.csv
@@ -0,0 +1,6 @@
+"XMLMetaExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaImporter.csv
new file mode 100644
index 000000000..767ea2ae0
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLMetaImporter.csv
@@ -0,0 +1,14 @@
+"XMLMetaImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLMetaImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLMetaImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLMetaImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLMetaImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsExporter.csv
new file mode 100644
index 000000000..316d947f0
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsExporter.csv
@@ -0,0 +1,6 @@
+"XMLSettingsExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsImporter.csv
new file mode 100644
index 000000000..fd0e0f32d
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLSettingsImporter.csv
@@ -0,0 +1,14 @@
+"XMLSettingsImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLSettingsImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLSettingsImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLSettingsImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLSettingsImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesExporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesExporter.csv
new file mode 100644
index 000000000..5e863bb09
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesExporter.csv
@@ -0,0 +1,6 @@
+"XMLStylesExporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesExporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesExporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesExporter";"com::sun::star::document::XExporter";"setSourceDocument()"
diff --git a/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesImporter.csv b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesImporter.csv
new file mode 100644
index 000000000..c8bc5bca0
--- /dev/null
+++ b/qadevOOo/objdsc/xmloff/com.sun.star.comp.Impress.XMLStylesImporter.csv
@@ -0,0 +1,14 @@
+"XMLStylesImporter";"com::sun::star::lang::XInitialization#optional";"initialize()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"filter()"
+"XMLStylesImporter";"com::sun::star::document::XFilter";"cancel()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"getName()"
+"XMLStylesImporter";"com::sun::star::container::XNamed#optional";"setName()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endDocument()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"startElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"endElement()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"characters()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"ignorableWhitespace()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"processingInstruction()"
+"XMLStylesImporter";"com::sun::star::xml::sax::XDocumentHandler";"setDocumentLocator()"
+"XMLStylesImporter";"com::sun::star::document::XImporter";"setTargetDocument()"
diff --git a/qadevOOo/qa/registrymodifications.xcu b/qadevOOo/qa/registrymodifications.xcu
new file mode 100644
index 000000000..3ac099ff7
--- /dev/null
+++ b/qadevOOo/qa/registrymodifications.xcu
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Force EN Calc function names and UI so "Filter" match also
+ when building with non-en system locales -->
+<oor:items xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+<item oor:path="/org.openoffice.Office.Calc/Formula/Syntax"><prop oor:name="EnglishFunctionName" oor:op="fuse"><value>true</value></prop></item>
+<item oor:path="/org.openoffice.Office.Common/Misc"><prop oor:name="UseSystemFileDialog" oor:op="fuse"><value>false</value></prop></item>
+<item oor:path="/org.openoffice.Office.Common/View/NewDocumentHandling"><prop oor:name="ForceFocusAndToFront" oor:op="fuse"><value>false</value></prop></item>
+<item oor:path="/org.openoffice.Setup/L10N"><prop oor:name="ooSetupSystemLocale" oor:op="fuse"><value>en-US</value></prop></item>
+<item oor:path="/org.openoffice.Setup/L10N"><prop oor:name="ooLocale" oor:op="fuse"><value>en</value></prop></item>
+<item oor:path="/org.openoffice.Office.Linguistic/General"><prop oor:name="UILocale" oor:op="fuse"><value>en-US</value></prop></item>
+</oor:items>
diff --git a/qadevOOo/runner/base/TestBase.java b/qadevOOo/runner/base/TestBase.java
new file mode 100644
index 000000000..9fd0b2deb
--- /dev/null
+++ b/qadevOOo/runner/base/TestBase.java
@@ -0,0 +1,30 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package base;
+
+import lib.TestParameters;
+/**
+ *
+ * Base Interface to execute a given TestJob
+ */
+public interface TestBase {
+
+ boolean executeTest(TestParameters param) throws Exception;
+
+}
diff --git a/qadevOOo/runner/base/java_complex.java b/qadevOOo/runner/base/java_complex.java
new file mode 100644
index 000000000..e0f6b7967
--- /dev/null
+++ b/qadevOOo/runner/base/java_complex.java
@@ -0,0 +1,150 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package base;
+
+import complexlib.ComplexTestCase;
+import util.DynamicClassLoader;
+import share.DescGetter;
+import stats.OutProducerFactory;
+import helper.ComplexDescGetter;
+import helper.AppProvider;
+import helper.CfgParser;
+import share.DescEntry;
+import share.LogWriter;
+import stats.Summarizer;
+import lib.TestParameters;
+import util.PropertyName;
+import java.io.UnsupportedEncodingException;
+
+/**
+ * Test base for executing a java complex test.
+ * @see base.TestBase
+ */
+public class java_complex implements TestBase
+{
+
+ /**
+ * This function executes the complex tests given as parameter "-o" or "TestJob". It queries for the correspond class
+ * and creates the JobDescription.
+ * @return true of all tests run successfully, else false
+ */
+ public boolean executeTest(TestParameters param)
+ {
+ // get the test job
+ String testJob = ((String) param.get("TestJob"));
+
+ DescGetter descGetter = new ComplexDescGetter();
+ // get the test jobs
+ DescEntry[] entries = descGetter.getDescriptionFor(testJob, null, true);
+
+ if (entries == null) {
+ System.out.println("Couldn't get Description for Job: " + testJob);
+
+ return false;
+ }
+
+ return executeTest(param, entries);
+ }
+
+ /**
+ * This function run the given DescEntry[] as ComplexTest
+ * @return true of all tests run successfully, else false
+ */
+ public boolean executeTest(TestParameters param, DescEntry[] entries)
+ {
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ ComplexTestCase testClass = null;
+ boolean returnVal = true;
+
+// the concept of the TimeOut depends on runner logs. If the runner log,
+// for example to start a test method, the timeout was reset. This is not
+// while the test itself log something like "open document...".
+// A property of complex test could be that it has only one test method
+// which works for several minutes. In this case the TimeOut get not trigger
+// and the office was killed.
+// In complex tests just use "ThreadTimeOut" as timeout.
+
+ for (int i = 0; i < entries.length; i++)
+ {
+
+ if (entries[i] == null)
+ {
+ continue;
+ }
+ String iniName = entries[i].longName;
+ iniName = iniName.replace('.', '/');
+ CfgParser ini = new CfgParser(iniName + ".props");
+ ini.getIniParameters(param);
+
+ LogWriter log = (LogWriter) dcl.getInstance((String) param.get("LogWriter"));
+
+ AppProvider office = null;
+ if (!param.getBool("NoOffice"))
+ {
+ try
+ {
+ office = (AppProvider) dcl.getInstance("helper.OfficeProvider");
+ Object msf = office.getManager(param);
+ if (msf == null)
+ {
+ returnVal = false;
+ continue;
+ }
+ param.put("ServiceFactory", msf);
+ }
+ catch (IllegalArgumentException e)
+ {
+ office = null;
+ }
+ catch (UnsupportedEncodingException e)
+ {
+ office = null;
+ }
+ }
+ log.initialize(entries[i], param.getBool(PropertyName.LOGGING_IS_ACTIVE));
+ entries[i].Logger = log;
+
+ // create an instance
+ try
+ {
+ testClass = (ComplexTestCase) dcl.getInstance(entries[i].longName);
+ }
+ catch (java.lang.Exception e)
+ {
+ e.printStackTrace();
+ return false;
+ }
+ testClass.executeMethods(entries[i], param);
+
+ Summarizer sum = new Summarizer();
+ sum.summarizeUp(entries[i]);
+
+ if (office != null)
+ {
+ office.closeExistingOffice(param, false);
+ }
+
+ LogWriter out = OutProducerFactory.createOutProducer(param);
+
+ out.initialize(entries[i], true);
+ out.summary(entries[i]);
+ returnVal &= entries[i].State.endsWith("OK");
+ }
+ return returnVal;
+ }
+}
diff --git a/qadevOOo/runner/base/java_fat.java b/qadevOOo/runner/base/java_fat.java
new file mode 100644
index 000000000..bd21b0861
--- /dev/null
+++ b/qadevOOo/runner/base/java_fat.java
@@ -0,0 +1,472 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package base;
+
+import helper.APIDescGetter;
+import helper.AppProvider;
+
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import lib.MultiMethodTest;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import lib.TestResult;
+import share.DescEntry;
+import share.DescGetter;
+import share.LogWriter;
+import stats.OutProducerFactory;
+import stats.Summarizer;
+import util.DynamicClassLoader;
+
+import com.sun.star.lang.XMultiServiceFactory;
+
+/**
+ *
+ * this class handles tests written in java and running on a fat Office
+ */
+public class java_fat implements TestBase {
+
+ private boolean logging = true;
+ private DynamicClassLoader m_aDynamicClassLoader = null;
+
+ private lib.TestParameters m_aParams;
+ private AppProvider m_aOffice;
+
+ public boolean executeTest(lib.TestParameters _aParams) throws Exception {
+ m_aParams = _aParams;
+
+ m_aDynamicClassLoader = new DynamicClassLoader();
+
+ DescGetter dg = new APIDescGetter();
+ String job = (String) m_aParams.get("TestJob");
+ String ExclusionFile = (String) m_aParams.get("ExclusionList");
+ ArrayList<String> exclusions = null;
+ boolean retValue = true;
+ boolean isDebug = m_aParams.getBool("DebugIsActive");
+ logging = m_aParams.getBool("LoggingIsActive");
+ boolean keepdocument = m_aParams.getBool("KeepDocument");
+ boolean newOffice = m_aParams
+ .getBool(util.PropertyName.NEW_OFFICE_INSTANCE);
+ if (keepdocument) {
+ System.setProperty("KeepDocument", "true");
+ }
+ if (ExclusionFile != null) {
+ exclusions = getExclusionList(ExclusionFile, isDebug);
+ }
+
+ String sDescriptionPath = (String) m_aParams.get("DescriptionPath");
+ DescEntry[] entries = dg.getDescriptionFor(job, sDescriptionPath,
+ isDebug);
+
+ if (entries == null) {
+ System.out.println("Couldn't get Description for Job: " + job);
+
+ return false;
+ }
+
+ m_aOffice = startOffice(m_aParams);
+
+ boolean firstRun = true;
+
+ // Run through all entries (e.g. sw.SwXBookmark.*)
+
+ for (int l = 0; l < entries.length; l++) {
+ DescEntry entry = entries[l];
+
+ if (entry == null) {
+ continue;
+ }
+
+ if (entry.hasErrorMsg) {
+ System.out.println(entries[l].ErrorMsg);
+ retValue = false;
+ continue;
+ }
+
+ if (!firstRun && newOffice) {
+ if (!m_aOffice.closeExistingOffice(m_aParams, true)) {
+ m_aOffice.disposeManager(m_aParams);
+ }
+ startOffice(m_aParams);
+ }
+ firstRun = false;
+
+ XMultiServiceFactory msf = m_aParams.getMSF();
+
+ if (msf == null) {
+ retValue = false;
+ continue;
+ }
+
+ // get some helper classes
+ Summarizer sumIt = new Summarizer();
+ TestCase tCase = getTestCase(entry);
+ if (tCase == null) {
+ continue;
+ }
+
+ util.utils.pause(2000);
+
+ System.out.println("Creating: " + entry.entryName);
+
+ LogWriter log = (LogWriter) m_aDynamicClassLoader
+ .getInstance((String) m_aParams.get("LogWriter"));
+ log.initialize(entry, logging);
+ entry.UserDefinedParams = m_aParams;
+
+ tCase.setLogWriter((PrintWriter) log);
+ tCase.initializeTestCase(m_aParams);
+
+ TestEnvironment tEnv = getTestEnvironment(tCase, entry);
+ if (tEnv == null) {
+ continue;
+ }
+
+ for (int j = 0; j < entry.SubEntryCount; j++) {
+ DescEntry aSubEntry = entry.SubEntries[j];
+ final boolean bIsToTest = aSubEntry.isToTest;
+ if (!bIsToTest) {
+ Summarizer.summarizeDown(aSubEntry, "not part of the job");
+ continue;
+ }
+
+ final String sLongEntryName = aSubEntry.longName;
+
+ if ((exclusions != null)
+ && (exclusions.contains(sLongEntryName))) {
+ Summarizer.summarizeDown(aSubEntry, "known issue");
+ continue;
+ }
+
+ // this will shown in test itself
+
+ LogWriter ifclog = (LogWriter) m_aDynamicClassLoader
+ .getInstance((String) m_aParams.get("LogWriter"));
+
+ ifclog.initialize(aSubEntry, logging);
+ aSubEntry.UserDefinedParams = m_aParams;
+ aSubEntry.Logger = ifclog;
+
+ if (tEnv.isDisposed()) {
+ closeExistingOffice();
+ tEnv = getEnv(entry, m_aParams);
+ tCase = tEnv.getTestCase();
+ }
+
+ lib.TestResult res = null;
+
+ // run the interface test twice if it failed.
+ int countInterfaceTestRun = 0;
+ boolean finished = false;
+ while (!finished) {
+ try {
+ countInterfaceTestRun++;
+ finished = true;
+ res = executeInterfaceTest(aSubEntry, tEnv, m_aParams);
+ } catch (IllegalArgumentException iae) {
+ System.out.println("Couldn't load class "
+ + aSubEntry.entryName + ":");
+ iae.printStackTrace(System.out);
+ Summarizer.summarizeDown(aSubEntry, iae.getMessage());
+ } catch (java.lang.NoClassDefFoundError iae) {
+ System.out.println("Couldn't load class "
+ + aSubEntry.entryName + ":");
+ iae.printStackTrace(System.out);
+ Summarizer.summarizeDown(aSubEntry, iae.getMessage());
+ } catch (java.lang.RuntimeException e) {
+ closeExistingOffice();
+ tEnv = getEnv(entry, m_aParams);
+ tCase = tEnv.getTestCase();
+ if (countInterfaceTestRun < 2) {
+ finished = false;
+ } else {
+ Summarizer.summarizeDown(aSubEntry, e.toString()
+ + ".FAILED");
+ }
+ }
+ }
+ setState(aSubEntry, res);
+
+ sumIt.summarizeUp(aSubEntry);
+
+ LogWriter sumIfc = OutProducerFactory
+ .createOutProducer(m_aParams);
+ aSubEntry.UserDefinedParams = m_aParams;
+ sumIfc.initialize(aSubEntry, logging);
+ sumIfc.summary(aSubEntry);
+ }
+
+ try {
+ if (!keepdocument) {
+ tCase.cleanupTestCase(m_aParams);
+ }
+ } catch (Exception e) {
+ System.err.println("couldn't cleanup:" + e.toString());
+ } catch (java.lang.NoClassDefFoundError e) {
+ System.err.println("couldn't cleanup:" + e.toString());
+ }
+
+ sumIt.summarizeUp(entry);
+
+ LogWriter sumObj = OutProducerFactory.createOutProducer(m_aParams);
+
+ sumObj.initialize(entry, logging);
+ sumObj.summary(entry);
+ }
+
+ if (entries.length > 0) {
+ System.out.println();
+
+ int counter = 0;
+ System.out
+ .println("Failures that appeared during scenario execution:");
+
+ for (int i = 0; i < entries.length; i++) {
+ final String sState = entries[i].State;
+ if (!sState.endsWith("OK")) {
+ System.out.println("\t " + entries[i].longName);
+ counter++;
+ }
+ }
+
+ System.out.println(counter + " of " + entries.length
+ + " tests failed");
+ if (counter != 0) {
+ retValue = false;
+ }
+ }
+
+ closeExistingOffice();
+ return retValue;
+ }
+
+ private TestEnvironment getTestEnvironment(TestCase tCase, DescEntry entry) {
+ TestEnvironment tEnv = null;
+
+ try {
+ tEnv = tCase.getTestEnvironment(m_aParams);
+ } catch (Exception e) {
+ System.out.println("Exception while creating "
+ + tCase.getObjectName());
+ System.out.println("Message " + e.getMessage());
+ e.printStackTrace();
+ tEnv = null;
+ } catch (java.lang.UnsatisfiedLinkError e) {
+ System.out.println("Exception while creating "
+ + tCase.getObjectName());
+ System.out.println("Message " + e.getMessage());
+ tEnv = null;
+ } catch (java.lang.NoClassDefFoundError e) {
+ System.out.println("Exception while creating "
+ + tCase.getObjectName());
+ System.out.println("Message " + e.getMessage());
+ tEnv = null;
+ }
+
+ if (tEnv == null) {
+ Summarizer.summarizeDown(entry,
+ "Couldn't create " + tCase.getObjectName());
+
+ LogWriter sumObj = OutProducerFactory.createOutProducer(m_aParams);
+ entry.UserDefinedParams = m_aParams;
+ sumObj.initialize(entry, logging);
+ sumObj.summary(entry);
+ }
+ return tEnv;
+ }
+
+ private TestCase getTestCase(DescEntry _aEntry) {
+ TestCase tCase = null;
+
+ try {
+ tCase = (TestCase) m_aDynamicClassLoader.getInstance("mod._"
+ + _aEntry.entryName);
+ } catch (java.lang.IllegalArgumentException ie) {
+ _aEntry.ErrorMsg = ie.getMessage();
+ _aEntry.hasErrorMsg = true;
+ } catch (java.lang.NoClassDefFoundError ie) {
+ _aEntry.ErrorMsg = ie.getMessage();
+ _aEntry.hasErrorMsg = true;
+ }
+
+ if (tCase == null) {
+ Summarizer.summarizeDown(_aEntry, _aEntry.ErrorMsg);
+
+ LogWriter sumObj = OutProducerFactory.createOutProducer(m_aParams);
+ _aEntry.UserDefinedParams = m_aParams;
+ sumObj.initialize(_aEntry, logging);
+ sumObj.summary(_aEntry);
+ }
+ return tCase;
+ }
+
+ private void setState(DescEntry aSubEntry, lib.TestResult res) {
+ if (res != null) {
+ for (int k = 0; k < aSubEntry.SubEntryCount; k++) {
+ DescEntry aSubSubEntry = aSubEntry.SubEntries[k];
+ if (res.hasMethod(aSubSubEntry.entryName)) {
+ aSubSubEntry.State = res.getStatusFor(
+ aSubSubEntry.entryName).toString();
+ }
+ }
+ }
+ }
+
+ private TestEnvironment getEnv(DescEntry entry, TestParameters param) throws Exception {
+ TestCase tCase = null;
+
+ try {
+ tCase = (TestCase) m_aDynamicClassLoader.getInstance("mod._"
+ + entry.entryName);
+ } catch (java.lang.IllegalArgumentException ie) {
+ entry.ErrorMsg = ie.getMessage();
+ entry.hasErrorMsg = true;
+ } catch (java.lang.NoClassDefFoundError ie) {
+ entry.ErrorMsg = ie.getMessage();
+ entry.hasErrorMsg = true;
+ }
+
+ System.out.println("Creating: " + entry.entryName);
+
+ entry.UserDefinedParams = param;
+
+ LogWriter log = (LogWriter) m_aDynamicClassLoader
+ .getInstance((String) param.get("LogWriter"));
+ log.initialize(entry, logging);
+ tCase.setLogWriter((PrintWriter) log);
+
+ try {
+ tCase.initializeTestCase(param);
+ TestEnvironment tEnv = tCase.getTestEnvironment(param);
+ if (tEnv == null) {
+ throw new Exception("Could not get env for '" + entry.entryName + "'");
+ }
+ return tEnv;
+ } catch (com.sun.star.lang.DisposedException de) {
+ System.out.println("Office disposed");
+ closeExistingOffice();
+ throw de;
+ } catch (Exception e) {
+ System.out.println(e.getMessage());
+
+ closeExistingOffice();
+
+ entry.ErrorMsg = e.getMessage();
+ entry.hasErrorMsg = true;
+ throw e;
+ }
+ }
+
+ private void closeExistingOffice() {
+ helper.ProcessHandler ph = (helper.ProcessHandler) m_aParams
+ .get("AppProvider");
+
+ if (ph != null) {
+ m_aOffice.closeExistingOffice(m_aParams, true);
+ util.utils.pause(5000);
+ }
+
+ }
+
+ private ArrayList<String> getExclusionList(String url, boolean debug) {
+ ArrayList<String> entryList = new ArrayList<String>();
+ String line = "#";
+ BufferedReader exclusion = null;
+
+ try {
+ InputStreamReader reader = new InputStreamReader(new FileInputStream(url), "UTF-8");
+ exclusion = new BufferedReader(reader);
+ } catch (java.io.UnsupportedEncodingException uee) {
+ if (debug) {
+ System.out.println("Couldn't decode file " + url);
+ }
+
+ return entryList;
+ } catch (java.io.FileNotFoundException fnfe) {
+ if (debug) {
+ System.out.println("Couldn't find file " + url);
+ }
+
+ return entryList;
+ }
+
+ try {
+ while (line != null) {
+ try {
+ if (!line.startsWith("#") && (line.length() > 1)) {
+ entryList.add(line.trim());
+ }
+
+ line = exclusion.readLine();
+ } catch (java.io.IOException ioe) {
+ if (debug) {
+ System.out
+ .println("Exception while reading exclusion list");
+ }
+
+ return entryList;
+ }
+ }
+ } finally {
+ try {
+ exclusion.close();
+ } catch (java.io.IOException ioe) {
+ }
+ }
+
+ return entryList;
+ }
+
+ private TestResult executeInterfaceTest(DescEntry entry,
+ TestEnvironment tEnv, TestParameters param)
+ throws IllegalArgumentException, java.lang.NoClassDefFoundError {
+ MultiMethodTest ifc = (MultiMethodTest) m_aDynamicClassLoader
+ .getInstance(entry.entryName);
+ return ifc.run(entry, tEnv, param);
+ }
+
+ private AppProvider startOffice(lib.TestParameters param) throws UnsupportedEncodingException {
+ if (m_aDynamicClassLoader == null) {
+ m_aDynamicClassLoader = new DynamicClassLoader();
+ }
+
+ String officeProviderName = (String) param.get("OfficeProvider");
+ AppProvider office = (AppProvider) m_aDynamicClassLoader
+ .getInstance(officeProviderName);
+
+ if (office == null) {
+ System.out.println("ERROR: Wrong parameter 'OfficeProvider', "
+ + " it cannot be instantiated.");
+ System.exit(-1);
+ }
+
+ XMultiServiceFactory msf = (XMultiServiceFactory) office
+ .getManager(param);
+
+ if (msf != null) {
+ param.put("ServiceFactory", msf);
+ }
+
+ return office;
+ }
+}
diff --git a/qadevOOo/runner/base/java_fat_service.java b/qadevOOo/runner/base/java_fat_service.java
new file mode 100644
index 000000000..5a1a72bab
--- /dev/null
+++ b/qadevOOo/runner/base/java_fat_service.java
@@ -0,0 +1,237 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package base;
+
+
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+import lib.TestCase;
+import lib.MultiMethodTest;
+import lib.TestEnvironment;
+import util.DynamicClassLoader;
+
+import share.DescEntry;
+import share.DescGetter;
+import helper.APIDescGetter;
+
+import share.LogWriter;
+import stats.Summarizer;
+
+/**
+ * this class handles tests written in java and running on a fat Office
+ * with the runner as a service.
+ */
+public class java_fat_service implements TestBase {
+
+ protected boolean debug = false;
+ protected LogWriter log = null;
+
+ public boolean executeTest(lib.TestParameters param) {
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ log = (LogWriter)dcl.getInstance((String)param.get("LogWriter"));
+ debug = ((Boolean) param.get("DebugIsActive")).booleanValue();
+
+ DescGetter dg = new APIDescGetter();
+ String job = (String) param.get("TestJob");
+ boolean retValue = true;
+
+ //get Job-Descriptions
+ log.println("Getting Descriptions for Job: "+job);
+ DescEntry[] entries = dg.getDescriptionFor(job,
+ (String) param.get("DescriptionPath"),debug);
+
+ if (entries == null ) {
+ log.println("Couldn't get Description for Job");
+ return false;
+ }
+
+ for (int l=0;l<entries.length;l++) {
+
+ if (entries[l] == null ) {
+ continue;
+ }
+
+ if (entries[l].hasErrorMsg) {
+ log.println(entries[l].ErrorMsg);
+ continue;
+ }
+
+ DescEntry entry = entries[l];
+
+ //get some helper classes
+ Summarizer sumIt = new Summarizer();
+
+ TestCase tCase = null;
+ try {
+ tCase = (TestCase)
+ dcl.getInstance("mod._"+entry.entryName);
+ } catch (java.lang.IllegalArgumentException ie) {
+ entry.ErrorMsg=ie.getMessage();
+ entry.hasErrorMsg=true;
+ }
+
+ if (tCase == null) {
+ Summarizer.summarizeDown(entry,entry.ErrorMsg);
+ LogWriter sumObj = (LogWriter)dcl.getInstance(
+ (String)param.get("OutProducer"));
+ sumObj.initialize(entry,true);
+ entry.UserDefinedParams = param;
+ sumObj.summary(entry);
+ continue;
+ }
+
+ log.println("Creating: "+tCase.getObjectName());
+
+ log.initialize(entry,true);
+ entry.UserDefinedParams = param;
+ TestEnvironment tEnv = null;
+ try {
+ tCase.setLogWriter((PrintWriter) log);
+ tCase.initializeTestCase(param);
+ tEnv = tCase.getTestEnvironment(param);
+ } catch (Exception e) {
+ log.println("Exception while creating "+tCase.getObjectName());
+ log.println("Exception: " + e);
+ log.println("Message "+e.getMessage());
+ tEnv = null;
+ }
+ if (tEnv == null) {
+ Summarizer.summarizeDown(entry,"Couldn't create "+tCase.getObjectName());
+ LogWriter sumObj = (LogWriter)dcl.getInstance(
+ (String)param.get("OutProducer"));
+ sumObj.initialize(entry,true);
+ entry.UserDefinedParams = param;
+ sumObj.summary(entry);
+ continue;
+ }
+ log.println("Created "+tCase.getObjectName()+"\n");
+
+ for (int j=0;j<entry.SubEntryCount;j++) {
+ if (!entry.SubEntries[j].isToTest) {
+ Summarizer.summarizeDown(entry.SubEntries[j],"not part of the job");
+ continue;
+ }
+
+ log.println("running: "+entry.SubEntries[j].entryName);
+
+ LogWriter ifclog = (LogWriter)dcl.getInstance(
+ (String)param.get("LogWriter"));
+
+ ifclog.initialize(entry.SubEntries[j],true);
+ entry.SubEntries[j].UserDefinedParams = param;
+ entry.SubEntries[j].Logger = ifclog;
+
+ if (tEnv == null || tEnv.isDisposed()) {
+ tEnv = getEnv(entry,param);
+ }
+
+ MultiMethodTest ifc = null;
+ lib.TestResult res = null;
+ try {
+ ifc = (MultiMethodTest) dcl.getInstance(
+ entry.SubEntries[j].entryName);
+ res = ifc.run(entry.SubEntries[j],tEnv,param);
+ } catch (IllegalArgumentException iae) {
+ log.println("Couldn't load class "+entry.SubEntries[j].entryName);
+ log.println("**** "+iae.getMessage()+" ****");
+ Summarizer.summarizeDown(entry.SubEntries[j],iae.getMessage());
+ } catch (java.lang.RuntimeException e) {
+ tEnv = getEnv(entry,param);
+ ifc = (MultiMethodTest) dcl.getInstance(
+ entry.SubEntries[j].entryName);
+ if ((tEnv != null) && (ifc != null)) {
+ res = ifc.run(entry.SubEntries[j],tEnv,param);
+ }
+ else
+ {
+ res = null;
+ }
+ }
+ if (res != null) {
+ for (int k=0;k<entry.SubEntries[j].SubEntryCount;k++) {
+ if (res.hasMethod(entry.SubEntries[j].SubEntries[k].entryName)) {
+ entry.SubEntries[j].SubEntries[k].State=
+ res.getStatusFor(entry.SubEntries[j].SubEntries[k].entryName).toString();
+ }
+ }
+ }
+ sumIt.summarizeUp(entry.SubEntries[j]);
+
+ LogWriter sumIfc = (LogWriter)dcl.getInstance(
+ (String)param.get("OutProducer"));
+
+ sumIfc.initialize(entry.SubEntries[j],true);
+ entry.SubEntries[j].UserDefinedParams = param;
+ sumIfc.summary(entry.SubEntries[j]);
+ }
+ try {
+ tCase.cleanupTestCase(param);
+ } catch (Exception e) {
+ e.printStackTrace((PrintWriter)log);
+ }
+ sumIt.summarizeUp(entry);
+ LogWriter sumObj = (LogWriter)dcl.getInstance(
+ (String)param.get("OutProducer"));
+ sumObj.initialize(entry,true);
+ sumObj.summary(entry);
+ }
+ if (entries.length > 1) {
+ log.println("");
+ int counter = 0;
+ log.println("Failures that appeared during scenario execution:");
+ for (int i=0;i<entries.length;i++) {
+ if (! entries[i].State.endsWith("OK")) {
+ log.println("\t "+entries[i].longName);
+ counter++;
+ }
+ }
+ log.println(counter +" of "+entries.length + " tests failed" );
+ }
+
+ return retValue;
+ }
+
+ protected TestEnvironment getEnv(DescEntry entry, TestParameters param) {
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ log = (LogWriter)dcl.getInstance((String)param.get("LogWriter"));
+
+ TestEnvironment tEnv = null;
+
+ try {
+ TestCase tCase = (TestCase) dcl.getInstance("mod._"+entry.entryName);
+ log.println("Creating: " + tCase.getObjectName());
+ log.initialize(entry, true);
+ entry.UserDefinedParams = param;
+ tCase.setLogWriter((PrintWriter) log);
+ try {
+ tCase.initializeTestCase(param);
+ tEnv = tCase.getTestEnvironment(param);
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Office disposed");
+ }
+ } catch (java.lang.Exception ie) {
+ entry.ErrorMsg=ie.getMessage();
+ entry.hasErrorMsg=true;
+ }
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/runner/complexlib/Assurance.java b/qadevOOo/runner/complexlib/Assurance.java
new file mode 100644
index 000000000..4fbf3755d
--- /dev/null
+++ b/qadevOOo/runner/complexlib/Assurance.java
@@ -0,0 +1,146 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package complexlib;
+
+/**
+ * I have removed the assure(...) functions from ComplexTestCase due to the fact now I can
+ * use the functions every where and don't need to be a ComplexTestCase any longer.
+ */
+public class Assurance
+{
+ /** Used to indicate that we should continue with test method, even if check fails */
+ public enum ContinueWithTest {
+ YES, NO
+ }
+
+ /** State of the current test method **/
+ protected boolean bSuccessful = true;
+
+ /** The message if the test did fail **/
+ protected String message = null;
+
+
+ /**
+ * Assure that s is true.
+ * This function generates "Assure failed." as standard message.
+ * @param s The condition that should be true.
+ */
+ protected void assure(boolean s) {
+ assure("Assure failed.", s, ContinueWithTest.NO);
+ }
+
+ /**
+ * Assure that s is true.
+ * The given message will be only evaluated, if s is false.
+ * @param msg The message that is evaluated.
+ * @param s The condition that should be true.
+ */
+ protected void assure(String msg, boolean s) {
+ assure(msg, s, ContinueWithTest.NO);
+ }
+
+ /**
+ * Assure that two int values are equal
+ * @param message the message to print when the equality test fails
+ * @param expected specifies the expected int value
+ * @param actual specifies the actual int value
+ */
+ protected void assureEquals( String message, int expected, int actual ) {
+ assureEquals( message, Integer.valueOf( expected ), Integer.valueOf( actual ), ContinueWithTest.NO );
+ }
+
+ /**
+ * Assure that two string values are equal
+ * @param message the message to print when the equality test fails
+ * @param expected specifies the expected string value
+ * @param actual specifies the actual string value
+ */
+ protected void assureEquals( String message, String expected, String actual ) {
+ assureEquals( message, expected, actual, ContinueWithTest.NO );
+ }
+
+ /**
+ * assures the two given sequences are of equal length, and have equal content
+ */
+ public <T> void assureEquals( String i_message, T[] i_expected, T[] i_actual, ContinueWithTest i_continue )
+ {
+ if ( i_expected.length != i_actual.length )
+ failed( i_message + ": expected element count: " + i_expected.length + ", actual element count: " + i_actual.length );
+ for ( int i=0; i<i_expected.length; ++i )
+ {
+ assureEquals( i_message + ": mismatch at element pos " + i, i_expected[i], i_actual[i], i_continue );
+ }
+ }
+
+ /**
+ * Mark the currently executed method as failed.
+ * with the given message.
+ * @param msg The message of the failure.
+ */
+ protected void failed(String msg) {
+ assure(msg, false, ContinueWithTest.NO);
+ }
+
+ /**
+ * Assure that s is true.
+ * The given message will be only evaluated, if s is false.
+ * Normally, assure() leaves the current test method, and the next one
+ * is executed. With the parameter 'cont' set to true, the current test
+ * method will continue.<br>
+ * The current method will of course marked as failed.
+ * @param msg The message that is evaluated.
+ * @param s The condition that should be true.
+ * @param cont if YES, continue with test method, even if s is false.
+ */
+ protected void assure(String msg, boolean s, ContinueWithTest cont) {
+ bSuccessful &= s;
+ if (!s) {
+ message += msg + "\r\n";
+ if (cont == ContinueWithTest.NO) {
+ throw new AssureException(msg);
+ }
+ }
+ }
+
+ private void assureEquals( String message, Object expected, Object actual, ContinueWithTest cont ) {
+ assure( message + " (expected: " + expected.toString() + ", actual: " + actual.toString() + ")",
+ expected.equals( actual ), cont );
+ }
+
+ /**
+ * Mark the currently executed method as failed.
+ * with the given message.
+ * The given message will be only evaluated, if s is false.
+ * With the parameter 'cont' set to true, the current test
+ * method will continue.<br>
+ * The current method will of course marked as failed.
+ * @param msg The message that is evaluated.
+ * @param cont if YES, continue with test method, even if s is false.
+ */
+ protected void failed(String msg, ContinueWithTest cont) {
+ assure(msg, false, cont);
+ }
+
+ public static class AssureException extends RuntimeException {
+
+ private AssureException(String msg) {
+ super(msg);
+ }
+ }
+}
diff --git a/qadevOOo/runner/complexlib/ComplexTestCase.java b/qadevOOo/runner/complexlib/ComplexTestCase.java
new file mode 100644
index 000000000..ab95d1eed
--- /dev/null
+++ b/qadevOOo/runner/complexlib/ComplexTestCase.java
@@ -0,0 +1,296 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package complexlib;
+
+import java.lang.reflect.Method;
+import share.DescEntry;
+import lib.TestParameters;
+import lib.StatusException;
+import share.LogWriter;
+import share.ComplexTest;
+import java.io.PrintWriter;
+
+/**
+ * Base class for all complex tests.
+ */
+public abstract class ComplexTestCase extends Assurance implements ComplexTest
+{
+
+ /** The test parameters **/
+ protected TestParameters param = null;
+ /** Log writer **/
+ protected LogWriter log = null;
+ /**
+ * The method name which will be written into f.e. the data base
+ **/
+ private String mTestMethodName = null;
+
+ private boolean m_bBeforeCalled;
+
+ /**
+ * is called before the real test starts
+ */
+ private void before()
+ {
+ try
+ {
+ Method before = this.getClass().getMethod("before", new Class[] {} );
+ before.invoke(this, new Object[] {} );
+
+ m_bBeforeCalled = true;
+ }
+ catch (java.lang.NoSuchMethodException e)
+ {
+ m_bBeforeCalled = true;
+ }
+ catch (java.lang.IllegalAccessException e)
+ {
+ log.println("Cannot access the 'before()' method, although it" + " is there. Is this ok?");
+ }
+ catch (java.lang.reflect.InvocationTargetException e)
+ {
+ Throwable t = e.getTargetException();
+ if (!(t instanceof RuntimeException) || bSuccessful)
+ {
+ log.println(t.toString());
+ if (message == null)
+ {
+ message = "Exception in before() method.\n\r" + t.getMessage();
+ }
+ bSuccessful = false;
+ t.printStackTrace((PrintWriter) log);
+ }
+ }
+
+ }
+
+ /** Description entry **/
+
+ private void test_method(DescEntry _entry)
+ {
+
+ /* Maximal time one method is allowed to execute
+ * Can be set with parameter 'ThreadTimeOut'
+ **/
+ int nThreadTimeOut = param.getInt("ThreadTimeOut");
+ if (nThreadTimeOut == 0)
+ {
+ nThreadTimeOut = 300000;
+ }
+
+ for (int i = 0; i < _entry.SubEntries.length; i++)
+ {
+
+ DescEntry subEntry = _entry.SubEntries[i];
+ if (m_bBeforeCalled)
+ {
+ bSuccessful = true;
+ message = "";
+ }
+ else
+ {
+ // set all test methods on failed, if 'before()' did not work.
+ subEntry.State = message;
+ subEntry.hasErrorMsg = true;
+ subEntry.ErrorMsg = message;
+ continue;
+ }
+ Method testMethod = null;
+ try
+ {
+ String entryName = subEntry.entryName;
+ Object[] parameter = null;
+
+ int posLeftParenthesis = entryName.indexOf('(');
+ if (posLeftParenthesis != -1)
+ {
+ String sParameter = entryName.substring(posLeftParenthesis + 1, entryName.indexOf(')'));
+ mTestMethodName = entryName;
+ parameter = new String[] { sParameter };
+ entryName = entryName.substring(0, posLeftParenthesis);
+ testMethod = this.getClass().getMethod(entryName, new Class[] { String.class });
+ }
+ else
+ {
+ testMethod = this.getClass().getMethod(entryName, new Class[] {} );
+ mTestMethodName = entryName;
+ }
+
+ MethodThread th = new MethodThread(testMethod, this, parameter, (java.io.PrintWriter) log);
+ log.println("Starting " + mTestMethodName);
+ th.start();
+
+ try
+ {
+ // some tests are very dynamic in their execution time so that
+ // a threadTimeOut fails. In this cases the logging mechanism
+ // is a useful way to detect that an office respective a test
+ // is running and not death.
+ // But way ThreadTimeOut?
+ // There exists a complex test which uses no office. Therefore
+ // a logging mechanism to detect a stalled test.
+ int lastPing = -1;
+ int newPing = 0;
+
+ int sleepingStep = 1000;
+ int factor = 0;
+
+ while (th.isAlive() && (lastPing != newPing || factor * sleepingStep < nThreadTimeOut))
+ {
+ Thread.sleep(sleepingStep);
+ factor++;
+ // if a test starts the office itself it the watcher is a
+ // new one.
+ share.Watcher ow = (share.Watcher) param.get("Watcher");
+ if (ow != null)
+ {
+ lastPing = newPing;
+ newPing = ow.getPing();
+ factor = 0;
+ }
+ }
+ }
+ catch (InterruptedException e)
+ {
+ }
+ if (th.isAlive())
+ {
+ log.println("Destroy " + mTestMethodName);
+ th.stopRunning();
+ subEntry.State = "Test did sleep for " + (nThreadTimeOut / 1000) + " seconds and has been killed!";
+ subEntry.hasErrorMsg = true;
+ subEntry.ErrorMsg = subEntry.State;
+ continue;
+ }
+ else
+ {
+ log.println("Finished " + mTestMethodName);
+ if (th.hasErrorMessage())
+ {
+ subEntry.State = th.getErrorMessage();
+ subEntry.hasErrorMsg = true;
+ subEntry.ErrorMsg = subEntry.State;
+ continue;
+ }
+ }
+ }
+ catch (java.lang.Exception e)
+ {
+ log.println(e.getClass().getName());
+ String msg = e.getMessage();
+ log.println("Message: " + msg);
+ e.printStackTrace((PrintWriter) log);
+ subEntry.State = "SKIPPED.FAILED";
+ subEntry.hasErrorMsg = true;
+ subEntry.ErrorMsg = (msg == null ? "" : msg);
+ continue;
+ }
+ subEntry.State = (bSuccessful ? "COMPLETED.OK" : message);
+ subEntry.hasErrorMsg = !bSuccessful;
+ subEntry.ErrorMsg = message;
+ }
+ }
+
+ /**
+ * after() is called after the test is done
+ */
+ private void after()
+ {
+ if (m_bBeforeCalled)
+ {
+ // the after() method
+ try
+ {
+ Method after = this.getClass().getMethod("after", new Class[] {});
+ after.invoke(this, new Object[] {} );
+ }
+ catch (java.lang.NoSuchMethodException e)
+ {
+ // simply ignore
+ }
+ catch (java.lang.IllegalAccessException e)
+ {
+ // simply ignore
+ }
+ catch (java.lang.reflect.InvocationTargetException e)
+ {
+ Throwable t = e.getTargetException();
+ if (!(t instanceof StatusException))
+ {
+ log.println(t.toString());
+ if (message == null)
+ {
+ message = "Exception in after() method.\n\r" + t.getMessage();
+ }
+ else
+ {
+ message += "Exception in \'after()\' method.\n\r" + t.getMessage();
+ }
+ log.println("Message: " + message);
+ t.printStackTrace((PrintWriter) log);
+ }
+ }
+ }
+
+ }
+
+
+
+ /**
+ * Call test. It is expected, that an environment is
+ * given to this test.
+ *
+ * @param entry The name of the test method that should be called.
+ * @param environment The environment for the test.
+ */
+ public void executeMethods(DescEntry entry, TestParameters environment)
+ {
+ m_bBeforeCalled = false;
+
+ // get the environment
+ param = environment;
+ log = entry.Logger;
+
+
+ // start with the before() method
+ before();
+
+ //executeMethodTests
+ test_method(entry);
+
+ // cleanup
+ after();
+ }
+
+
+ /**
+ * Implement this method in the Complex test.
+ * @return All test method names.
+ */
+ public abstract String[] getTestMethodNames();
+
+ /**
+ * Return a name for the test or tested object.
+ * Override to give an own name.
+ * @return As default, the name of this class.
+ */
+ public String getTestObjectName()
+ {
+ return this.getClass().getName();
+ }
+}
diff --git a/qadevOOo/runner/complexlib/MethodThread.java b/qadevOOo/runner/complexlib/MethodThread.java
new file mode 100644
index 000000000..28ea770eb
--- /dev/null
+++ b/qadevOOo/runner/complexlib/MethodThread.java
@@ -0,0 +1,118 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package complexlib;
+
+import java.io.PrintWriter;
+import java.lang.reflect.Method;
+
+/**
+ * Invoke a method of a class in an own thread. Provide a method to end
+ * the thread.
+ */
+public class MethodThread extends Thread
+{
+
+ /** The method that should be executed **/
+ private final Method mTestMethod;
+ /** The object that implements the method **/
+ private final Object mInvokeClass;
+ /** A PrintWriter for debug Output **/
+ private final PrintWriter mLog;
+ /** An Error String **/
+ private String mErrMessage = null;
+ /** Did an Exception happen? **/
+ private boolean mExceptionHappened = false;
+ private Object[] mParameter = null;
+
+ public MethodThread(Method testMethod, Object invokeClass, Object[] parameter, PrintWriter log)
+ {
+ mTestMethod = testMethod;
+ mInvokeClass = invokeClass;
+ mParameter = parameter;
+ mLog = log;
+ }
+
+ /**
+ * Invoke the method.
+ */
+ @Override
+ public void run()
+ {
+ try
+ {
+ mTestMethod.invoke(mInvokeClass, mParameter);
+ }
+ catch (IllegalAccessException e)
+ {
+ e.printStackTrace(mLog);
+ mErrMessage = e.getMessage();
+ mExceptionHappened = true;
+ }
+ catch (java.lang.reflect.InvocationTargetException e)
+ {
+ Throwable t = e.getTargetException();
+ if (!(t instanceof ComplexTestCase.AssureException))
+ {
+ t.printStackTrace(mLog);
+ mErrMessage = t.getMessage();
+ if (mErrMessage == null)
+ {
+ mErrMessage = t.toString();
+ }
+ mExceptionHappened = true;
+ }
+
+ }
+ }
+
+ /**
+ * Get the error message
+ * @return The error message.
+ */
+ public String getErrorMessage()
+ {
+ return mErrMessage;
+ }
+
+ /**
+ * Is there an error message?
+ * @return True, if an error did happen.
+ */
+ public boolean hasErrorMessage()
+ {
+ return mExceptionHappened;
+ }
+
+ /**
+ * Stop the running method.
+ */
+ public void stopRunning()
+ {
+ try
+ {
+ interrupt();
+ }
+ catch (SecurityException e)
+ {
+ e.printStackTrace(mLog);
+ mErrMessage = e.getMessage();
+ mExceptionHappened = true;
+ }
+ }
+}
diff --git a/qadevOOo/runner/complexlib/ShowTargets.java b/qadevOOo/runner/complexlib/ShowTargets.java
new file mode 100644
index 000000000..f655e1330
--- /dev/null
+++ b/qadevOOo/runner/complexlib/ShowTargets.java
@@ -0,0 +1,102 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package complexlib;
+
+import java.util.ArrayList;
+
+public class ShowTargets
+{
+ public static void main( String[] args )
+ {
+ ArrayList<String> targets = new ArrayList<String>();
+ ArrayList<String> descs = new ArrayList<String>();
+
+ targets.add( "run" );
+ descs.add( "runs all complex tests in this module" );
+
+ int maxTargetLength = 3;
+
+ for ( int i = 0; i < args.length; ++i )
+ {
+ String completePotentialClassName = args[i].replace( '/', '.' );
+
+ // filter
+ if ( completePotentialClassName.endsWith( ".TestCase" ) )
+ continue;
+ if ( completePotentialClassName.endsWith( ".TestSkeleton" ) )
+ continue;
+
+ // get the class
+ Class<?> potentialTestClass = null;
+ try { potentialTestClass = Class.forName( completePotentialClassName ); }
+ catch( java.lang.ClassNotFoundException e )
+ {
+ continue;
+ }
+
+ // see if it is derived from complexlib.ComplexTestCase
+ Class<?> superClass = potentialTestClass.getSuperclass();
+ while ( superClass != null )
+ {
+ if ( superClass.getName().equals( "complexlib.ComplexTestCase" ) )
+ {
+ String bareClassName = completePotentialClassName.substring( completePotentialClassName.lastIndexOf( '.' ) + 1 );
+ String target = "run_" + bareClassName;
+ targets.add( target );
+ descs.add( getShortTestDescription( potentialTestClass ) );
+
+ if ( maxTargetLength < target.length() )
+ maxTargetLength = target.length();
+ break;
+ }
+ superClass = superClass.getSuperclass();
+ }
+ }
+
+ System.out.println( "possible targets:" );
+ for ( int i=0; i<targets.size(); ++i )
+ {
+ // target
+ String target = targets.get(i);
+ // 'tab'
+ System.out.print( " " + target );
+ for ( int s = maxTargetLength - target.length(); s>0; --s )
+ System.out.print( " " );
+ // description
+ System.out.println( " (" + descs.get(i) + ")" );
+ }
+ }
+
+ private static String getShortTestDescription( Class<?> _testClass )
+ {
+ java.lang.reflect.Method getShortDescriptionMethod = null;
+ try { getShortDescriptionMethod = _testClass.getMethod( "getShortTestDescription", new Class[]{} ); }
+ catch( Exception e ) { }
+
+ if ( getShortDescriptionMethod != null )
+ {
+ try
+ {
+ return (String)getShortDescriptionMethod.invoke( null, new Object[]{} );
+ }
+ catch( Exception e ) { }
+ }
+ return "no description provided by the test";
+ }
+}
diff --git a/qadevOOo/runner/convwatch/DB.java b/qadevOOo/runner/convwatch/DB.java
new file mode 100644
index 000000000..a9b2f7076
--- /dev/null
+++ b/qadevOOo/runner/convwatch/DB.java
@@ -0,0 +1,174 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package convwatch;
+
+import java.sql.Connection;
+import java.util.StringTokenizer;
+import helper.OSHelper;
+
+public class DB extends DBHelper
+{
+ private static DB m_aDB = null;
+
+ // private ctor
+ private DB()
+ {
+ }
+
+ private static synchronized DB getDB()
+ {
+ if (m_aDB == null)
+ {
+ m_aDB = new DB();
+ }
+ return m_aDB;
+ }
+
+ private String m_sSourceVersion;
+ private String m_sDestinationVersion;
+ private String m_sDocumentPool;
+ private String m_sDocID;
+ private String m_sDBDistinct;
+
+ public static void init(String _sDBInfoString)
+ {
+ if (_sDBInfoString == null) return;
+ getDB().fillVariables(_sDBInfoString);
+ getDB().updatestate_status("source started");
+ }
+
+ private String getEnvironment()
+ {
+ if (OSHelper.isWindows())
+ {
+ return "wntmsci";
+ }
+ else if ( OSHelper.isSolarisIntel())
+ {
+ return "unxsoli";
+ }
+ else if ( OSHelper.isSolarisSparc())
+ {
+ return "unxsols";
+ }
+ else if ( OSHelper.isLinuxIntel())
+ {
+ return "unxlngi";
+ }
+ else
+ {
+ GlobalLogWriter.get().println("DB: Unknown environment.");
+ GlobalLogWriter.get().println("DB: os.name := " + System.getProperty("os.name").toLowerCase());
+ GlobalLogWriter.get().println("DB: os.arch := " + System.getProperty("os.arch"));
+ return "";
+ }
+ }
+
+ // fill some db access important variables with values given out of a simple string
+ // DOC_COMPARATOR_DB_INFO_STRING=p:m220,c:m224,d:demo_lla,src:m220,dest:m224,doc:demo_lla,id:294,distinct:81
+
+ private void fillVariables(String _sInfo)
+ {
+ fillDBConnection(_sInfo);
+ getEnvironment();
+
+ StringTokenizer aTokenizer = new StringTokenizer(_sInfo,",",false);
+ while (aTokenizer.hasMoreTokens())
+ {
+ String sPart = aTokenizer.nextToken();
+ if (sPart.startsWith("p:"))
+ {
+ m_sSourceVersion = sPart.substring(2);
+ GlobalLogWriter.get().println("DB: source version: " + m_sSourceVersion);
+ }
+ else if (sPart.startsWith("src:"))
+ {
+ m_sSourceVersion = sPart.substring(4);
+ GlobalLogWriter.get().println("DB: source version: " + m_sSourceVersion);
+ }
+ else if (sPart.startsWith("c:"))
+ {
+ m_sDestinationVersion = sPart.substring(2);
+ GlobalLogWriter.get().println("DB: destination version: " + m_sDestinationVersion);
+ }
+ else if (sPart.startsWith("dest:"))
+ {
+ m_sDestinationVersion = sPart.substring(5);
+ GlobalLogWriter.get().println("DB: destination version: " + m_sDestinationVersion);
+ }
+ else if (sPart.startsWith("d:"))
+ {
+ m_sDocumentPool = sPart.substring(2);
+ GlobalLogWriter.get().println("DB: documentpool version: " + m_sDocumentPool);
+ }
+ else if (sPart.startsWith("doc:"))
+ {
+ m_sDocumentPool = sPart.substring(4);
+ GlobalLogWriter.get().println("DB: documentpool version: " + m_sDocumentPool);
+ }
+ else if (sPart.startsWith("id:"))
+ {
+ m_sDocID = sPart.substring(3);
+ GlobalLogWriter.get().println("DB: docid: " + m_sDocID);
+ }
+ else if (sPart.startsWith("distinct:"))
+ {
+ m_sDBDistinct = sPart.substring(9);
+ GlobalLogWriter.get().println("DB: distinct: " + m_sDBDistinct);
+ }
+ else
+ {
+ }
+ }
+ }
+
+ private void updatestate_status(String _sStatus)
+ {
+ Connection aCon = new ShareConnection().getConnection();
+
+ String sSet = "state=" + Quote(_sStatus);
+ String sWhere = getWhereClause();
+ if (sWhere.length() > 0)
+ {
+ SQLupdateValue( aCon, "status", sSet, sWhere );
+ }
+ }
+
+
+ private String getWhereClause()
+ {
+ StringBuffer aWhereClause = new StringBuffer();
+ boolean bAND = false;
+ if (m_sDocID != null)
+ {
+ aWhereClause.append( "docid" ). append(sEqual) . append(m_sDocID);
+ bAND = true;
+ }
+ if (bAND)
+ {
+ aWhereClause.append(sAND);
+ }
+ if (m_sDBDistinct != null)
+ {
+ aWhereClause.append( "dbdistinct2" ). append(sEqual) . append(Quote(m_sDBDistinct));
+ }
+ return aWhereClause.toString();
+ }
+
+}
diff --git a/qadevOOo/runner/convwatch/DBHelper.java b/qadevOOo/runner/convwatch/DBHelper.java
new file mode 100644
index 000000000..34e1e1cfd
--- /dev/null
+++ b/qadevOOo/runner/convwatch/DBHelper.java
@@ -0,0 +1,190 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package convwatch;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.sql.SQLException;
+
+import java.util.StringTokenizer;
+
+class ShareConnection
+{
+ private Connection m_aConnection = null;
+
+ public Connection getConnection()
+ {
+ if (m_aConnection == null)
+ {
+ try
+ {
+ m_aConnection = DBHelper.getMySQLConnection();
+ }
+ catch(java.sql.SQLException e)
+ {
+ GlobalLogWriter.get().println("DB: ERROR: can't connect to DB.");
+ m_aConnection = null;
+ }
+ }
+ return m_aConnection;
+ }
+}
+
+ class MySQLThread extends Thread
+ {
+ private final Connection m_aCon;
+ private final String m_sSQL;
+ public MySQLThread(Connection _aCon, String _sSQL)
+ {
+ m_aCon = _aCon;
+ m_sSQL = _sSQL;
+ }
+
+ @Override
+ public void run()
+ {
+ Statement oStmt = null;
+ if (m_aCon == null)
+ {
+ GlobalLogWriter.get().println("DB: ERROR: in ExecSQL, connection not established.");
+ return;
+ }
+
+ try
+ {
+ try
+ {
+ oStmt = m_aCon.createStatement();
+
+ GlobalLogWriter.get().println("DB: " + m_sSQL);
+ /* ResultSet oResult = */
+ oStmt.executeUpdate(m_sSQL);
+ }
+ finally
+ {
+ if (oStmt != null)
+ oStmt.close();
+ }
+ }
+ catch(Exception e)
+ {
+ GlobalLogWriter.get().println("DB: Couldn't execute sql string '" + m_sSQL + "'");
+ GlobalLogWriter.get().println("DB: Reason: " + e.getMessage());
+ }
+ }
+ }
+
+public class DBHelper
+{
+ public void SQLupdateValue(Connection _aCon, String _sTableName, String _sSet, String _sWhere)
+ {
+ if (_aCon == null)
+ {
+ GlobalLogWriter.get().println("DB: ERROR: in SQLinsertValues, connection not established.");
+ return;
+ }
+
+ StringBuffer aUpdateStr = new StringBuffer();
+
+ aUpdateStr.append( "UPDATE " ).append( _sTableName )
+ .append( " SET " ).append( _sSet )
+ .append( " WHERE " ).append( _sWhere );
+ ExecSQL( _aCon, aUpdateStr.toString() );
+ }
+
+ private static String m_sDBServerName;
+ private static String m_sDBName;
+ private static String m_sDBUser;
+ private static String m_sDBPasswd;
+
+ protected synchronized void fillDBConnection(String _sInfo)
+ {
+ StringTokenizer aTokenizer = new StringTokenizer(_sInfo,",",false);
+ while (aTokenizer.hasMoreTokens())
+ {
+ String sPart = aTokenizer.nextToken();
+ if (sPart.startsWith("db:"))
+ {
+ m_sDBName = sPart.substring(3);
+ }
+ else if (sPart.startsWith("user:"))
+ {
+ m_sDBUser = sPart.substring(5);
+ }
+ else if (sPart.startsWith("passwd:"))
+ {
+ m_sDBPasswd = sPart.substring(7);
+ }
+ else if (sPart.startsWith("server:"))
+ {
+ m_sDBServerName = sPart.substring(7);
+ }
+ }
+ }
+
+ /**
+ * This method establishes a Connection<br>
+ * with the database 'module_unit' on jakobus
+ */
+
+ public static Connection getMySQLConnection() throws SQLException
+ {
+ try
+ {
+ Class.forName("org.gjt.mm.mysql.Driver");
+ String sConnection = "jdbc:mysql://" + m_sDBServerName + ":3306/" + m_sDBName;
+ // Connection mysql = DriverManager.getConnection(
+ // "jdbc:mysql://jakobus:3306/jobs_convwatch","admin","admin");
+ Connection mysql = DriverManager.getConnection(sConnection, m_sDBUser, m_sDBPasswd);
+ return mysql;
+ }
+ catch (ClassNotFoundException e)
+ {
+ GlobalLogWriter.get().println("DB: Class not found exception caught: " + e.getMessage());
+ GlobalLogWriter.get().println("DB: Maybe mysql.jar is not added to the classpath.");
+ }
+ return null;
+ }
+
+ private synchronized void ExecSQL(Connection _aCon, String _sSQL)
+ {
+ MySQLThread aSQLThread = new MySQLThread(_aCon, _sSQL);
+ aSQLThread.start();
+ }
+
+
+
+ public String Quote(String _sToQuote)
+ {
+ char ts = '\'';
+ char ds = '"';
+ int nQuote = _sToQuote.indexOf(ts);
+ if (nQuote >= 0)
+ {
+ return ds + _sToQuote + ds;
+ }
+ return ts + _sToQuote + ts;
+ }
+
+ public static final String sEqual = "=";
+ public static final String sAND = " AND ";
+
+}
+
diff --git a/qadevOOo/runner/convwatch/GlobalLogWriter.java b/qadevOOo/runner/convwatch/GlobalLogWriter.java
new file mode 100644
index 000000000..f77845e56
--- /dev/null
+++ b/qadevOOo/runner/convwatch/GlobalLogWriter.java
@@ -0,0 +1,38 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package convwatch;
+
+import share.LogWriter;
+import stats.SimpleLogWriter;
+
+public class GlobalLogWriter
+{
+ private static LogWriter m_aGlobalLogWriter = null;
+ public static synchronized LogWriter get()
+ {
+ if (m_aGlobalLogWriter == null)
+ {
+ SimpleLogWriter aLog = new SimpleLogWriter();
+ m_aGlobalLogWriter = aLog;
+ }
+ return m_aGlobalLogWriter;
+ }
+
+}
+
diff --git a/qadevOOo/runner/graphical/FileHelper.java b/qadevOOo/runner/graphical/FileHelper.java
new file mode 100644
index 000000000..05acb5e35
--- /dev/null
+++ b/qadevOOo/runner/graphical/FileHelper.java
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package graphical;
+
+import helper.OSHelper;
+
+public class FileHelper
+{
+ public static String getSystemPathFromFileURL( String _sFileURL )
+ {
+ String sSystemFile = null;
+
+ if(_sFileURL.startsWith("file:///"))
+ {
+ if (OSHelper.isWindows())
+ {
+ sSystemFile = _sFileURL.substring(8);
+ }
+ else
+ {
+ sSystemFile = _sFileURL.substring(7);
+ }
+ }
+ else if (_sFileURL.startsWith("file://"))
+ {
+ sSystemFile = _sFileURL.substring(5);
+ }
+ String fs = System.getProperty("file.separator");
+ if (! fs.equals("/"))
+ {
+ if (sSystemFile == null)
+ throw new IllegalStateException("sSystemFile is unexpected null");
+ sSystemFile = sSystemFile.replace ('/', fs.toCharArray ()[0]);
+ }
+// FEATURE FOR UNC NEED!!!
+ return sSystemFile;
+ }
+
+ public static String appendPath(String _sPath, String _sRelativePathToAdd)
+ {
+ String sNewPath = _sPath;
+ String fs = System.getProperty("file.separator");
+ if (_sPath.startsWith("file:"))
+ {
+ fs = "/"; // we use a file URL so only '/' is allowed.
+ }
+ if (! (sNewPath.endsWith("/") || sNewPath.endsWith("\\") ) )
+ {
+ sNewPath += fs;
+ }
+ sNewPath += _sRelativePathToAdd;
+ return sNewPath;
+ }
+
+
+}
+
diff --git a/qadevOOo/runner/helper/APIDescGetter.java b/qadevOOo/runner/helper/APIDescGetter.java
new file mode 100644
index 000000000..65f8da05c
--- /dev/null
+++ b/qadevOOo/runner/helper/APIDescGetter.java
@@ -0,0 +1,970 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package helper;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.StringTokenizer;
+import java.util.jar.JarEntry;
+
+import share.DescEntry;
+import share.DescGetter;
+
+/**
+ * This is the Office-API specific DescGetter<br>
+ * <br>
+ * Examples:<br><br>
+ * -o sw.SwXBodyText<br>
+ * runs the module test of <B>Sw.SwXBodyText</B><br>
+ * <br>
+ * -o sw.SwXBodyText::com::sun::star::text::Text<br>
+ * runs only the interface test <B>com.sun.star.textText</B> of the module <B>Sw.SwXBodyText</B><br>
+ * <br>
+ * -o sw.SwXBodyText::com::sun::star::text::Text,com::sun::star::text::XSimpleText<br>
+ * runs only the interfaces test <B>com.sun.star.textText</B> and <B>com.sun.star.text.XSimpleText</B> of the module <B>Sw.SwXBodyText</B><br>
+ * <br>
+ * -p sw<br>
+ * runs all modules of the project <B>sw</B><br>
+ * <br>
+ * -p listall<br>
+ * lists all known module tests<br>
+ * <br>
+ * -sce SCENARIO_FILE<br>
+ * A scenario file is a property file which could contain <B>-o</B> and <B>-p</B> properties<br>
+ * <br>
+ * -sce sw.SwXBodyText,sw.SwXBookmark<br>
+ * runs the module test of <B>Sw.SwXBodyText</B> and <B>sw.SwXBookmark</B><br>
+ */
+public class APIDescGetter extends DescGetter
+{
+
+ private static String fullJob = null;
+
+ /*
+ * gets the needed information about a StarOffice component
+ * @param descPath Path to the ComponentDescription
+ * @param entry contains the entry name, e.g. sw.SwXBodyText
+ * @param debug if true some debug information is displayed on standard out
+ */
+ @Override
+ public DescEntry[] getDescriptionFor(String job, String descPath,
+ boolean debug)
+ {
+
+ if (job.startsWith("-o"))
+ {
+ job = job.substring(3, job.length()).trim();
+
+ if (job.indexOf('.') < 0)
+ {
+ return null;
+ }
+
+ // special in case several Interfaces are given comma separated
+ if (job.indexOf(',') < 0)
+ {
+ DescEntry entry = getDescriptionForSingleJob(job, descPath,
+ debug);
+
+ if (entry != null)
+ {
+ return new DescEntry[]
+ {
+ entry
+ };
+ }
+ else
+ {
+ return null;
+ }
+ }
+ else
+ {
+ ArrayList<String> subs = getSubInterfaces(job);
+ String partjob = job.substring(0, job.indexOf(',')).trim();
+ DescEntry entry = getDescriptionForSingleJob(partjob, descPath,
+ debug);
+
+ if (entry != null)
+ {
+ for (int i = 0; i < entry.SubEntryCount; i++)
+ {
+ String subEntry = entry.SubEntries[i].longName;
+ int cpLength = entry.longName.length();
+ subEntry = subEntry.substring(cpLength + 2,
+ subEntry.length());
+
+ if (subs.contains(subEntry))
+ {
+ entry.SubEntries[i].isToTest = true;
+ }
+ }
+
+ return new DescEntry[]
+ {
+ entry
+ };
+ }
+ else
+ {
+ return null;
+ }
+ }
+ }
+
+ if (job.startsWith("-p"))
+ {
+ job = job.substring(3, job.length()).trim();
+
+ String[] scenario = createScenario(descPath, job, debug);
+ if (scenario == null)
+ {
+ return null;
+ }
+ DescEntry[] entries = new DescEntry[scenario.length];
+ for (int i = 0; i < scenario.length; i++)
+ {
+ entries[i] = getDescriptionForSingleJob(
+ scenario[i].substring(3).trim(), descPath, debug);
+ }
+ if (job.equals("listall"))
+ {
+ util.dbg.printArray(scenario);
+ System.exit(0);
+ }
+ return entries;
+ }
+
+ if (job.startsWith("-sce"))
+ {
+ job = job.substring(5, job.length()).trim();
+
+ File sceFile = new File(job);
+ if (sceFile.exists())
+ {
+ return getScenario(job, descPath, debug);
+ }
+ else
+ {
+ //look the scenario like this? :
+ // sw.SwXBodyText,sw.SwXTextCursor
+ ArrayList<String> subs = getSubObjects(job);
+ DescEntry[] entries = new DescEntry[subs.size()];
+
+ for (int i = 0; i < subs.size(); i++)
+ {
+ entries[i] = getDescriptionForSingleJob(
+ subs.get(i), descPath, debug);
+ }
+ return entries;
+ }
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ @Override
+ protected DescEntry getDescriptionForSingleJob(String job, String descPath,
+ boolean debug)
+ {
+ boolean isSingleInterface = job.indexOf("::") > 0;
+ fullJob = job;
+
+ if (isSingleInterface)
+ {
+ job = job.substring(0, job.indexOf("::"));
+ }
+
+ if (job.startsWith("bugs"))
+ {
+ DescEntry Entry = new DescEntry();
+ Entry.entryName = job;
+ Entry.longName = job;
+ Entry.EntryType = "bugdoc";
+ Entry.isOptional = false;
+ Entry.isToTest = true;
+ Entry.SubEntryCount = 0;
+ Entry.hasErrorMsg = false;
+ Entry.State = "non possible";
+
+ return Entry;
+ }
+
+ DescEntry entry = null;
+
+ if (descPath != null)
+ {
+ if (debug)
+ {
+ System.out.println("## reading from File " + descPath);
+ }
+
+ entry = getFromDirectory(descPath, job, debug);
+ }
+ else
+ {
+ if (debug)
+ {
+ System.out.println("## reading from jar");
+ }
+
+ entry = getFromClassPath(job);
+ }
+
+ boolean foundInterface = false;
+
+ if (isSingleInterface && (entry != null))
+ {
+ for (int i = 0; i < entry.SubEntryCount; i++)
+ {
+ if (!(entry.SubEntries[i].longName).equals(fullJob))
+ {
+ entry.SubEntries[i].isToTest = false;
+ }
+ else
+ {
+ foundInterface = true;
+ entry.SubEntries[i].isToTest = true;
+ }
+ }
+ }
+
+ if (isSingleInterface && !foundInterface || entry == null)
+ {
+ return setErrorDescription(entry,
+ "couldn't find a description for test '" + fullJob + "'");
+ }
+
+ return entry;
+ }
+
+ private static DescEntry[] getSubEntries(BufferedReader cvsFile,
+ DescEntry parent)
+ {
+ String line = "";
+ String old_ifc_name = "";
+ ArrayList<DescEntry> ifc_names = new ArrayList<DescEntry>();
+ ArrayList<DescEntry> meth_names = new ArrayList<DescEntry>();
+ DescEntry ifcDesc = null;
+
+ while (line != null)
+ {
+ try
+ {
+ line = cvsFile.readLine();
+ if (line == null)
+ {
+ continue;
+ }
+ if (line.startsWith("#"))
+ {
+ continue;
+ }
+ if (line.length() <= 0)
+ {
+ continue;
+ }
+// TODO Problem here
+
+ String ifc_name = ""; // = line.substring(line.indexOf(";") + 2, line.lastIndexOf(";") - 1);
+ String meth_name = ""; // = line.substring(line.lastIndexOf(";") + 2, line.length() - 1);
+ StringTokenizer aToken = new StringTokenizer(line, ";");
+ if (aToken.countTokens() < 3)
+ {
+ System.out.println("Wrong format: Line '" + line + "' is not supported.");
+ continue;
+ }
+ if (aToken.hasMoreTokens())
+ {
+ aToken.nextToken();
+ }
+ if (aToken.hasMoreTokens())
+ {
+ ifc_name = StringHelper.removeQuoteIfExists(aToken.nextToken());
+ }
+ if (aToken.hasMoreTokens())
+ {
+ meth_name = StringHelper.removeQuoteIfExists(aToken.nextToken());
+ }
+
+ DescEntry methDesc = createDescEntry(meth_name, ifc_name, parent);
+
+ if (!ifc_name.equals(old_ifc_name))
+ {
+ if (ifcDesc != null)
+ {
+ ifcDesc.SubEntries = getDescArray(meth_names.toArray());
+ ifcDesc.SubEntryCount = meth_names.size();
+
+ //mark service/interface as optional if all methods/properties are optional
+ boolean allOptional = true;
+
+ for (int k = 0; k < ifcDesc.SubEntryCount; k++)
+ {
+ if (!ifcDesc.SubEntries[k].isOptional)
+ {
+ allOptional = false;
+ }
+ }
+
+ if (!ifcDesc.isOptional && allOptional)
+ {
+ ifcDesc.isOptional = allOptional;
+ }
+
+ meth_names.clear();
+ ifc_names.add(ifcDesc);
+ }
+
+ ifcDesc = new DescEntry();
+ ifcDesc.isToTest = true;
+ old_ifc_name = ifc_name;
+
+ if (ifc_name.indexOf("#optional") > 0)
+ {
+ ifcDesc.isOptional = true;
+ ifc_name = ifc_name.substring(0, ifc_name.indexOf('#'));
+ }
+
+ String className = createClassName(ifc_name);
+
+ ifcDesc.EntryType = entryType;
+ ifcDesc.entryName = "ifc" + className;
+ ifcDesc.longName = parent.entryName + "::" + ifc_name;
+ }
+ meth_names.add(methDesc);
+
+ }
+ catch (java.io.IOException ioe)
+ {
+ parent.hasErrorMsg = true;
+ parent.ErrorMsg = "IOException while reading the description";
+ break;
+ }
+ }
+
+ if (ifcDesc == null) {
+ return null;
+ }
+
+ ifcDesc.SubEntries = getDescArray(meth_names.toArray());
+ ifcDesc.SubEntryCount = meth_names.size();
+
+ //mark service/interface as optional if all methods/properties are optional
+ boolean allOptional = true;
+
+ for (int k = 0; k < ifcDesc.SubEntryCount; k++)
+ {
+ if (!ifcDesc.SubEntries[k].isOptional)
+ {
+ allOptional = false;
+ }
+ }
+
+ if (!ifcDesc.isOptional && allOptional)
+ {
+ ifcDesc.isOptional = allOptional;
+ }
+
+ ifc_names.add(ifcDesc);
+
+ return getDescArray(makeArray(ifc_names));
+ }
+ private static String createClassName(String _ifc_name)
+ {
+ StringTokenizer st = new StringTokenizer(_ifc_name, ":");
+
+ int count = 3;
+
+ if (_ifc_name.startsWith("drafts"))
+ {
+ count = 4;
+ }
+
+ StringBuilder className = new StringBuilder();
+
+ for (int i = 0; st.hasMoreTokens(); i++)
+ {
+ String token = st.nextToken();
+
+ // skipping (drafts.)com.sun.star
+ if (i >= count)
+ {
+ if (!st.hasMoreTokens())
+ {
+ // inserting '_' before the last token
+ token = "_" + token;
+ }
+
+ className.append(".").append(token);
+ }
+ }
+ return className.toString();
+ }
+
+ private static String entryType;
+
+ private static DescEntry createDescEntry(String meth_name, String ifc_name, DescEntry parent)
+ {
+ entryType = "service";
+ DescEntry methDesc = new DescEntry();
+
+ if (meth_name.indexOf("#optional") > 0)
+ {
+ methDesc.isOptional = true;
+ meth_name = meth_name.substring(0, meth_name.indexOf('#'));
+ }
+
+ if (meth_name.endsWith("()"))
+ {
+ methDesc.EntryType = "method";
+ entryType = "interface";
+ }
+ else
+ {
+ methDesc.EntryType = "property";
+ entryType = "service";
+ }
+
+ methDesc.entryName = meth_name;
+ methDesc.isToTest = true;
+
+
+ String withoutHash = ifc_name;
+
+ if (ifc_name.indexOf("#optional") > 0)
+ {
+ withoutHash = ifc_name.substring(0, ifc_name.indexOf('#'));
+ }
+
+ methDesc.longName = parent.entryName + "::" + withoutHash + "::" + meth_name;
+
+ return methDesc;
+ }
+
+ /**
+ * This method ensures that XComponent will be the last in the list of interfaces
+ */
+ private static Object[] makeArray(ArrayList<DescEntry> entries)
+ {
+ Object[] entriesArray = entries.toArray();
+ ArrayList<Object> returnArray = new ArrayList<Object>();
+ Object addAtEnd = null;
+
+ for (int k = 0; k < entriesArray.length; k++)
+ {
+ DescEntry entry = (DescEntry) entriesArray[k];
+
+ if (entry.entryName.equals("ifc.lang._XComponent"))
+ {
+ addAtEnd = entry;
+ }
+ else
+ {
+ returnArray.add(entry);
+ }
+ }
+
+ if (addAtEnd != null)
+ {
+ returnArray.add(addAtEnd);
+ }
+
+ return returnArray.toArray();
+ }
+
+ private static DescEntry setErrorDescription(DescEntry entry,
+ String ErrorMsg)
+ {
+ if (entry == null)
+ {
+ entry = new DescEntry();
+ }
+ entry.hasErrorMsg = true;
+ entry.ErrorMsg = "Error while getting description for test '" +
+ fullJob + "' as an API test: " + ErrorMsg;
+
+ return entry;
+ }
+
+ private static DescEntry[] getDescArray(Object[] list)
+ {
+ DescEntry[] entries = new DescEntry[list.length];
+
+ for (int i = 0; i < list.length; i++)
+ {
+ entries[i] = (DescEntry) list[i];
+ }
+
+ return entries;
+ }
+
+ private DescEntry getFromClassPath(String aEntry)
+ {
+ int dotindex = aEntry.indexOf('.');
+
+ if (dotindex == -1)
+ {
+ return null;
+ }
+
+ String module = null;
+ String shortName = null;
+
+ if (aEntry.indexOf(".uno") == -1)
+ {
+ module = aEntry.substring(0, aEntry.indexOf('.'));
+ shortName = aEntry.substring(aEntry.indexOf('.') + 1);
+ }
+ else
+ {
+ module = aEntry.substring(0, aEntry.lastIndexOf('.'));
+ shortName = aEntry.substring(aEntry.lastIndexOf('.') + 1);
+ }
+
+ DescEntry theEntry = new DescEntry();
+ theEntry.entryName = aEntry;
+ theEntry.longName = aEntry;
+ theEntry.isOptional = false;
+ theEntry.EntryType = "component";
+ theEntry.isToTest = true;
+
+ BufferedReader csvFile = null;
+
+ java.net.URL url = this.getClass().getResource("/objdsc/" + module);
+
+ if (url == null)
+ {
+ return setErrorDescription(theEntry,
+ "couldn't find module '" + module + "'");
+ }
+
+ try
+ {
+ java.net.URLConnection con = url.openConnection();
+
+ String sEndsWithCSVName = "." + shortName.trim() + ".csv";
+ if (con instanceof java.net.JarURLConnection)
+ {
+ // get Jar file from connection
+ java.util.jar.JarFile f = ((java.net.JarURLConnection) con).getJarFile();
+
+ // Enumerate over all entries
+ java.util.Enumeration<JarEntry> e = f.entries();
+
+ String sStartModule = "/" + module + "/";
+ while (e.hasMoreElements())
+ {
+
+ String entry = e.nextElement().toString();
+
+ if ((entry.lastIndexOf(sStartModule) != -1) &&
+ entry.endsWith(sEndsWithCSVName))
+ {
+ InputStream input = this.getClass().getResourceAsStream("/" + entry);
+ csvFile = new BufferedReader(new InputStreamReader(input, "UTF-8"));
+ break;
+ }
+ }
+ }
+ else
+ {
+ InputStream in = con.getInputStream();
+ java.io.BufferedReader buf = new java.io.BufferedReader(new InputStreamReader(in, "UTF-8"));
+ while (true)
+ {
+ String entry = buf.readLine();
+ if (entry == null)
+ break;
+ if (entry.endsWith(sEndsWithCSVName))
+ {
+ System.out.println("FOUND ####");
+ InputStream input =
+ this.getClass().getResourceAsStream("/objdsc/" +
+ module +
+ "/" +
+ entry);
+ csvFile = new BufferedReader(new InputStreamReader(input, "UTF-8"));
+ break;
+ }
+ }
+
+ buf.close();
+ }
+ }
+ catch (java.io.IOException e)
+ {
+ e.printStackTrace();
+ }
+
+ if (csvFile == null)
+ {
+ return setErrorDescription(theEntry,
+ "couldn't find component '" +
+ theEntry.entryName + "'");
+ }
+
+ DescEntry[] subEntries = getSubEntries(csvFile, theEntry);
+
+ theEntry.SubEntryCount = subEntries != null ? subEntries.length : 0;
+ theEntry.SubEntries = subEntries;
+
+ try
+ {
+ csvFile.close();
+ }
+ catch (java.io.IOException ioe)
+ {
+ System.out.println("Exception while closing csvFile");
+ }
+
+ return theEntry;
+ }
+
+ private static DescEntry getFromDirectory(String descPath, String entry,
+ boolean debug)
+ {
+ int dotindex = entry.indexOf('.');
+
+ if (dotindex == -1)
+ {
+ return null;
+ }
+
+ String fs = System.getProperty("file.separator");
+ String module = null;
+ String shortName = null;
+
+ if (entry.indexOf(".uno") == -1)
+ {
+ module = entry.substring(0, entry.indexOf('.'));
+ shortName = entry.substring(entry.indexOf('.') + 1);
+ }
+ else
+ {
+ module = entry.substring(0, entry.lastIndexOf('.'));
+ shortName = entry.substring(entry.lastIndexOf('.') + 1);
+ }
+
+ DescEntry aEntry = new DescEntry();
+ aEntry.entryName = entry;
+ aEntry.longName = entry;
+ aEntry.isOptional = false;
+ aEntry.EntryType = "component";
+ aEntry.isToTest = true;
+
+ if (debug)
+ {
+ System.out.println("Parsing Description Path: " + descPath);
+ System.out.println("Searching module: " + module);
+ System.out.println("For the Component " + shortName);
+ }
+
+ File modPath = new File(descPath + fs + module);
+
+ if (!modPath.exists())
+ {
+ return setErrorDescription(aEntry,
+ "couldn't find module '" + module + "'");
+ }
+
+ String[] files = modPath.list();
+ String found = "none";
+
+ for (int i = 0; i < files.length; i++)
+ {
+ if (files[i].endsWith("." + shortName + ".csv"))
+ {
+ found = files[i];
+ System.out.println("found " + found);
+ break;
+ }
+ }
+
+ if (found.equals("none"))
+ {
+ return setErrorDescription(aEntry,
+ "couldn't find component '" + entry + "'");
+ }
+
+ String aUrl = descPath + fs + module + fs + found;
+
+ BufferedReader csvFile = null;
+
+ try
+ {
+ csvFile = new BufferedReader(new FileReader(aUrl));
+ }
+ catch (java.io.FileNotFoundException fnfe)
+ {
+ return setErrorDescription(aEntry, "couldn't find file '" + aUrl + "'");
+ }
+
+ DescEntry[] subEntries = getSubEntries(csvFile, aEntry);
+
+ try
+ {
+ csvFile.close();
+ }
+ catch (java.io.IOException ioe)
+ {
+ System.out.println("Exception while closing csvFile");
+ }
+
+ aEntry.SubEntryCount = subEntries != null ? subEntries.length : 0;
+ aEntry.SubEntries = subEntries;
+
+ return aEntry;
+ }
+
+ @Override
+ protected ArrayList<String> getSubInterfaces(String job)
+ {
+ ArrayList<String> namesList = new ArrayList<String>();
+ StringTokenizer st = new StringTokenizer(job, ",");
+
+ while (st.hasMoreTokens())
+ {
+ String token = st.nextToken();
+
+ if (token.indexOf('.') < 0)
+ {
+ namesList.add(token);
+ }
+ }
+
+ return namesList;
+ }
+
+ private ArrayList<String> getSubObjects(String job)
+ {
+ ArrayList<String> namesList = new ArrayList<String>();
+ StringTokenizer st = new StringTokenizer(job, ",");
+
+ while (st.hasMoreTokens())
+ {
+ namesList.add(st.nextToken());
+ }
+
+ return namesList;
+ }
+
+ @Override
+ protected String[] createScenario(String descPath, String job,
+ boolean debug)
+ {
+ String[] scenario = null;
+
+ if (descPath != null)
+ {
+ if (debug)
+ {
+ System.out.println("## reading from File " + descPath);
+ }
+
+ scenario = getScenarioFromDirectory(descPath, job);
+ }
+ else
+ {
+ if (debug)
+ {
+ System.out.println("## reading from jar");
+ }
+
+ scenario = getScenarioFromClassPath(job);
+ }
+
+ return scenario;
+ }
+
+ private String[] getScenarioFromDirectory(String descPath, String job)
+ {
+ String[] modules = null;
+ ArrayList<String> componentList = new ArrayList<String>();
+
+ if (!job.equals("unknown") && !job.equals("listall"))
+ {
+ modules = new String[]
+ {
+ job
+ };
+ }
+ else
+ {
+ File dirs = new File(descPath);
+
+ if (dirs.exists()) {
+ modules = dirs.list();
+ }
+ }
+
+ int moduleLength = modules != null ? modules.length : 0;
+
+ for (int i = 0; i < moduleLength; ++i)
+ {
+ if (!isUnusedModule(modules[i]))
+ {
+ File moduleDir = new File(descPath + System.getProperty("file.separator") + modules[i]);
+ if (moduleDir.exists())
+ {
+ String[] components = moduleDir.list();
+ for (int j = 0; j < components.length; j++)
+ {
+ if (components[j].endsWith(".csv"))
+ {
+ String toAdd = getComponentForString(components[j], modules[i]);
+ toAdd = "-o " + modules[i] + "." + toAdd;
+ componentList.add(toAdd);
+ }
+ }
+ }
+ }
+ }
+
+ Collections.sort(componentList);
+ String[] scenario = componentList.toArray(new String[componentList.size()]);
+ return scenario;
+ }
+
+ private String[] getScenarioFromClassPath(String job)
+ {
+ String subdir = "/";
+
+ if (!job.equals("unknown") && !job.equals("listall"))
+ {
+ subdir += job;
+ }
+
+ java.net.URL url = this.getClass().getResource("/objdsc" + subdir);
+
+ if (url == null)
+ {
+ return null;
+ }
+
+ ArrayList<String> scenarioList = new ArrayList<String>();
+
+ try
+ {
+ java.net.URLConnection con = url.openConnection();
+
+ if (con instanceof java.net.JarURLConnection)
+ {
+ // get Jar file from connection
+ java.util.jar.JarFile f = ((java.net.JarURLConnection) con).getJarFile();
+
+ // Enumerate over all entries
+ java.util.Enumeration<JarEntry> e = f.entries();
+
+ while (e.hasMoreElements())
+ {
+ String entry = e.nextElement().toString();
+
+ if (entry.startsWith("objdsc" + subdir) &&
+ (entry.indexOf("CVS") < 0) &&
+ !entry.endsWith("/"))
+ {
+ int startMod = entry.indexOf('/');
+ int endMod = entry.lastIndexOf('/');
+ String module = entry.substring(startMod + 1, endMod);
+ String component = getComponentForString(
+ entry.substring(endMod + 1,
+ entry.length()),
+ module);
+
+ if (!isUnusedModule(module))
+ {
+ scenarioList.add("-o " + module + "." +
+ component);
+ }
+ }
+ }
+ }
+ }
+ catch (java.io.IOException e)
+ {
+ e.printStackTrace();
+ }
+
+ Collections.sort(scenarioList);
+ String[] scenario = scenarioList.toArray(new String[scenarioList.size()]);
+ return scenario;
+ }
+
+ private String getComponentForString(String full, String module)
+ {
+ String component = "";
+
+
+ //cutting .csv
+ full = full.substring(0, full.length() - 4);
+
+ //cutting component
+ int lastdot = full.lastIndexOf('.');
+ component = full.substring(lastdot + 1, full.length());
+
+ if (module.equals("file") || module.equals("xmloff"))
+ {
+ String withoutComponent = full.substring(0, lastdot);
+ int preLastDot = withoutComponent.lastIndexOf('.');
+ component = withoutComponent.substring(preLastDot + 1,
+ withoutComponent.length()) +
+ "." + component;
+ }
+
+ return component;
+ }
+
+ private boolean isUnusedModule(String moduleName)
+ {
+ ArrayList<String> removed = new ArrayList<String>();
+ removed.add("acceptor");
+ removed.add("brdgfctr");
+ removed.add("connector");
+ removed.add("corefl");
+ removed.add("cpld");
+ removed.add("defreg");
+ removed.add("dynamicloader");
+ removed.add("impreg");
+ removed.add("insp");
+ removed.add("inv");
+ removed.add("invadp");
+ removed.add("javaloader");
+ removed.add("jen");
+ removed.add("namingservice");
+ removed.add("proxyfac");
+ removed.add("rdbtdp");
+ removed.add("remotebridge");
+ removed.add("simreg");
+ removed.add("smgr");
+ removed.add("stm");
+ removed.add("tcv");
+ removed.add("tdmgr");
+ removed.add("ucprmt");
+ removed.add("uuresolver");
+
+ return removed.contains(moduleName);
+ }
+}
diff --git a/qadevOOo/runner/helper/AppProvider.java b/qadevOOo/runner/helper/AppProvider.java
new file mode 100644
index 000000000..a42411ac6
--- /dev/null
+++ b/qadevOOo/runner/helper/AppProvider.java
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package helper;
+
+import java.io.UnsupportedEncodingException;
+
+/**
+ *
+ * Interface to get a Manager to access the application to check
+ */
+public interface AppProvider {
+
+ /**
+ * Method to get the desired Manager
+ */
+ Object getManager(lib.TestParameters param) throws UnsupportedEncodingException;
+
+ /**
+ * Method to dispose the desired Manager
+ */
+ boolean disposeManager(lib.TestParameters param);
+
+ /**
+ * Close an office.
+ * @param param The test parameters.
+ * @param closeIfPossible If true, close even if
+ * it was running before the test
+ * @return True, if close worked.
+ */
+ boolean closeExistingOffice(lib.TestParameters param,
+ boolean closeIfPossible);
+}
diff --git a/qadevOOo/runner/helper/CfgParser.java b/qadevOOo/runner/helper/CfgParser.java
new file mode 100644
index 000000000..a93e725fd
--- /dev/null
+++ b/qadevOOo/runner/helper/CfgParser.java
@@ -0,0 +1,128 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package helper;
+
+import java.io.FileInputStream;
+
+import java.util.Enumeration;
+import java.util.Properties;
+
+import lib.TestParameters;
+import util.PropertyName;
+
+/**
+ * This class parses the ini files and stores the data
+ * <br>
+ * inside TestParameters
+ */
+public class CfgParser
+{
+
+ private boolean debug = false;
+ private String iniFile = "";
+
+ public CfgParser(String ini)
+ {
+ this.iniFile = ini;
+ }
+
+ public void getIniParameters(TestParameters param)
+ {
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+ Properties cfg = getProperties(iniFile);
+
+ if (cfg != null)
+ {
+ Enumeration<Object> cfgEnum = cfg.keys();
+ while (cfgEnum.hasMoreElements())
+ {
+ String pName = (String) cfgEnum.nextElement();
+ String pValue = cfg.getProperty(pName);
+
+ if (pValue != null)
+ {
+ pValue = pValue.trim();
+ }
+
+ param.put(pName.trim(), pValue);
+
+ if (pName.equals(PropertyName.TEST_DOCUMENT_PATH))
+ {
+
+ param.put("DOCPTH", pValue);
+ System.setProperty("DOCPTH", (String) pValue);
+
+ }
+ else if (pName.equals(PropertyName.SRC_ROOT))
+ {
+
+ System.setProperty(pName, (String) pValue);
+
+ }
+ }
+ }
+
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+ }
+
+ private Properties getProperties(String name)
+ {
+ // get the resource file
+ Properties prop = new Properties();
+ if (debug)
+ {
+ System.out.println("Looking for " + name);
+ }
+ try
+ {
+ FileInputStream propFile = new FileInputStream(name);
+ try {
+ prop.load(propFile);
+ System.out.println("Parsing properties from " + name);
+ } finally {
+ propFile.close();
+ }
+ }
+ catch (Exception e)
+ {
+ try
+ {
+ java.net.URL url = this.getClass().getResource("/" + name);
+ if (url != null)
+ {
+ System.out.println("Parsing properties from " + name);
+ java.net.URLConnection connection = url.openConnection();
+ java.io.InputStream in = connection.getInputStream();
+ try {
+ prop.load(in);
+ } finally {
+ in.close();
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ //Exception while reading prop-file, returning null
+ return null;
+ }
+ }
+
+ return prop;
+ }
+
+}
diff --git a/qadevOOo/runner/helper/ClParser.java b/qadevOOo/runner/helper/ClParser.java
new file mode 100644
index 000000000..1dd70dbb9
--- /dev/null
+++ b/qadevOOo/runner/helper/ClParser.java
@@ -0,0 +1,137 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package helper;
+
+import java.io.File;
+import java.util.HashMap;
+
+import lib.TestParameters;
+import util.PropertyName;
+
+/**
+ * This class parses commandline Argument and stores <br>
+ * them into TestParameter
+ */
+public class ClParser
+{
+ /*
+ * Parses the commandline argument and puts them<br>
+ * into the TestParameters
+ */
+
+ public void getCommandLineParameter(TestParameters param, String[] args)
+ {
+ for (int i = 0; i < args.length;)
+ {
+ String pName = getParameterFor(args[i]).trim();
+ String pValue = "";
+ if (pName.equals("TestJob"))
+ {
+ if (args.length > (i + 1))
+ {
+ pValue = args[i].trim() + " " + args[i + 1].trim();
+ i += 2;
+ }
+ else
+ {
+ pValue = args[i].trim() + " unknown";
+ i += 2;
+ }
+ }
+ else
+ {
+ if ((i + 1) < args.length)
+ {
+ pValue = args[i + 1].trim();
+
+ if (pValue.startsWith("-"))
+ {
+ i++;
+ pValue = "yes";
+ }
+ else if (pValue.startsWith("'"))
+ {
+ i++;
+ while (!pValue.endsWith("'"))
+ {
+ i++;
+ pValue = pValue + " " + args[i].trim();
+
+ }
+ pValue = pValue.replace("'", "");
+ i++;
+ }
+ else
+ {
+ i += 2;
+ }
+
+ if (pName.equals("TestDocumentPath"))
+ {
+ System.setProperty(
+ "DOCPTH", new File(pValue).getAbsolutePath());
+ }
+ else if (pName.equals(PropertyName.SRC_ROOT))
+ {
+ System.setProperty(pName, pValue);
+
+ }
+ }
+ else
+ {
+ pValue = "yes";
+ i++;
+ }
+ }
+
+ param.put(pName, pValue);
+ }
+ }
+
+ /**
+ * Map command-line Parameters to TestParameters
+ */
+ private static final java.util.Map<String,String> COMMAND_LINE_OPTION_TO_TEST_PARAMETER = new HashMap<String,String>();
+ static {
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-cs", "ConnectionString");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-tb", "TestBase");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-tdoc", "TestDocumentPath");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-objdsc", "DescriptionPath");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-cmd", "AppExecutionCommand");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-o", "TestJob");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-sce", "TestJob");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-p", "TestJob");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-aca", "AdditionalConnectionArguments");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-xcl", "ExclusionList");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-debug", "DebugIsActive");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-log", "LoggingIsActive");
+ COMMAND_LINE_OPTION_TO_TEST_PARAMETER.put("-dbout", "DataBaseOut");
+ }
+
+ private String getParameterFor(String name)
+ {
+ String ret = COMMAND_LINE_OPTION_TO_TEST_PARAMETER.get(name);
+
+ if (ret == null)
+ {
+ ret = name.substring(1);
+ }
+
+ return ret;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/helper/ComplexDescGetter.java b/qadevOOo/runner/helper/ComplexDescGetter.java
new file mode 100644
index 000000000..444ff181b
--- /dev/null
+++ b/qadevOOo/runner/helper/ComplexDescGetter.java
@@ -0,0 +1,183 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package helper;
+
+import java.util.ArrayList;
+
+import share.ComplexTest;
+import share.DescEntry;
+import share.DescGetter;
+import share.LogWriter;
+import util.DynamicClassLoader;
+
+import complexlib.ComplexTestCase;
+
+/**
+ *
+ */
+public class ComplexDescGetter extends DescGetter
+{
+
+ private ComplexTest testClass;
+
+ /** Creates new ComplexDescGetter */
+ public ComplexDescGetter()
+ {
+ testClass = null;
+ }
+
+ @Override
+ public DescEntry[] getDescriptionFor(String entry, String DescPath,
+ boolean debug)
+ {
+ // read scenario file
+ if (entry.startsWith("-sce"))
+ {
+ DescEntry[] entries = getScenario(entry.substring(5), null, debug);
+ return entries;
+ }
+ // one single job
+ else if (entry.startsWith("-o"))
+ {
+ DescEntry dEntry = getDescriptionForSingleJob(entry.substring(3), null, debug);
+ if (dEntry != null)
+ {
+ return new DescEntry[]
+ {
+ dEntry
+ };
+ }
+ }
+ System.out.println("Could not get a testjob with parameter '" + entry + "'");
+ // no job available
+ return null;
+ }
+
+ @Override
+ protected DescEntry getDescriptionForSingleJob(String className, String descPath, boolean debug)
+ {
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ String methodNames[] = null;
+
+ if (debug)
+ {
+ System.out.println("Searching Class: " + className);
+ }
+
+ int index = className.indexOf("::");
+ if (index != -1)
+ {
+ // case1: method()
+ // case2: method(param1,param2)
+ // case3: method1(param1,param2),method2(param1,param2)
+ String method = className.substring(index + 2);
+ className = className.substring(0, index);
+ ArrayList<String> methods = new ArrayList<String>();
+
+ String[] split = method.split("(?<=\\)),(?=\\w+)");
+
+ for (int i = 0; i < split.length; i++)
+ {
+ String meth = split[i];
+
+ if (meth.endsWith("()"))
+ {
+ meth = meth.substring(0, meth.length() - 2);
+ }
+
+ methods.add(meth);
+ }
+
+ methodNames = methods.toArray(new String[methods.size()]);
+ }
+
+ // create an instance
+ try
+ {
+ testClass = (ComplexTestCase) dcl.getInstance(className);
+ }
+ catch (java.lang.IllegalArgumentException e)
+ {
+ System.out.println("Error while getting description for test '" + className + "' as a Complex test.");
+ return null;
+ }
+ catch (java.lang.ClassCastException e)
+ {
+ System.out.println("The given class '" + className + "' is not a Complex test.");
+ return null;
+ }
+
+
+ if (debug)
+ {
+ System.out.println("Got test: " + ((Object) testClass).toString());
+ }
+
+ String testObjectName = className;
+ String[] testMethodNames = testClass.getTestMethodNames();
+ if (methodNames != null)
+ {
+ testMethodNames = methodNames;
+ }
+
+ DescEntry dEntry = createTestDesc(testObjectName, className, testMethodNames, null);
+
+ return dEntry;
+ }
+
+ /**
+ * Creates a description entry for the given parameter
+ * @param testObjectName the name of the object
+ * @param className the class name of the class to load
+ * @param testMethodNames list of all methods to test
+ * @return filled description entry
+ */
+ private DescEntry createTestDesc(String testObjectName, String className, String[] testMethodNames, LogWriter log)
+ {
+
+ DescEntry dEntry = new DescEntry();
+
+ dEntry.entryName = testObjectName;
+ dEntry.longName = className;
+ dEntry.isOptional = false;
+ dEntry.EntryType = "unit";
+ dEntry.isToTest = true;
+ dEntry.Logger = log;
+ dEntry.SubEntryCount = testMethodNames.length;
+ dEntry.SubEntries = new DescEntry[dEntry.SubEntryCount];
+ for (int i = 0; i < dEntry.SubEntryCount; i++)
+ {
+ DescEntry aEntry = new DescEntry();
+ aEntry.entryName = testMethodNames[i];
+ aEntry.longName = testObjectName + "::" + aEntry.entryName;
+ aEntry.isOptional = false;
+ aEntry.EntryType = "method";
+ aEntry.isToTest = true;
+ dEntry.SubEntries[i] = aEntry;
+ dEntry.Logger = log;
+ }
+
+ return dEntry;
+ }
+
+ @Override
+ protected String[] createScenario(String descPath, String job, boolean debug)
+ {
+ return new String[] {};
+ }
+}
diff --git a/qadevOOo/runner/helper/ConfigHelper.java b/qadevOOo/runner/helper/ConfigHelper.java
new file mode 100644
index 000000000..73953c1c7
--- /dev/null
+++ b/qadevOOo/runner/helper/ConfigHelper.java
@@ -0,0 +1,303 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package helper;
+
+import com.sun.star.uno.*;
+import com.sun.star.lang.*;
+import com.sun.star.container.*;
+import com.sun.star.beans.*;
+import com.sun.star.util.*;
+
+/**
+ * This <CODE>ConfigHelper</CODE> makes it possible to access the
+ * configuration and change their content.<P>
+ * <P>
+ * Example: <P>
+ * Listing of the <CODE>Configuration</CODE> Views.xcu:<P>
+ * &lt;oor:component-data xmlns:oor=&quot;http://openoffice.org/2001/registry&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot; oor:name=&quot;Views&quot; oor:package=&quot;org.openoffice.Office&quot;&gt;<p>
+ * &lt;node oor:name=&quot;Windows&quot;&gt;<P>
+ * <&lt;node oor:name=&quot;SplitWindow0&quot; oor:op=&quot;replace&quot;&gt;<P>
+ * &lt;prop oor:name=&quot;Visible&quot; oor:type=&quot;xs:boolean&quot;&gt;<P>
+ * &lt;value&gt;false&lt;/value&gt;<P>
+ * &lt;/prop&gt;<P>
+ * &lt;prop oor:name=&quot;WindowState&quot; oor:type=&quot;xs:string&quot;&gt;<P>
+ * &lt;value/&gt;<P>
+ * &lt;/prop&gt;<P>
+ * &lt;node oor:name=&quot;UserData&quot;&gt;<P>
+ * &lt;prop oor:name=&quot;UserItem&quot; oor:op=&quot;replace&quot;
+ * oor:type=&quot;xs:string&quot;&gt;<P>
+ * &lt;value&gt;V1,2,0&lt;/value&gt;<P>
+ * &lt;/prop&gt;<P>
+ * &lt;/node&gt;<P>
+ * &lt;/node&gt;<P>
+ * &lt;/node&gt;<P>
+ * <P>
+ * <CODE>Definition</CODE><P>
+ * <ul>
+ * <li><CODE>&lt;node oor:name=&quot;Windows&quot;&gt;</CODE>
+ * represents a <CODE>Set</CODE> and is a <CODE>XNameContainer</CODE></LI>
+ * <li><CODE>&lt;node oor:name=&quot;SplitWindow0&quot;&gt;</CODE>
+ * represents a <CODE>Group</CODE> and is a <CODE>XNameReplace</CODE></LI>
+ * <li><CODE>&lt;prop oor:name=&quot;Visible&quot;&gt;</CODE>
+ * represents a pr<CODE></CODE>operty of the group</li>
+ * <li><CODE>&lt;node oor:name=&quot;UserData&quot;&gt;</CODE>
+ * represents a <CODE>extensible group</CODE> and is a <CODE>XNameContainer</CODE></LI>
+ * <li><CODE>&lt;prop oor:name=&quot;UserItem&quot;&gt;</CODE>
+ * represents a <CODE>property</CODE> of the extensible group</LI>
+ * </UL>
+ * We assume in the following examples the existence of:<P>
+ * <CODE>ConfigHelper aConfig = new ConfigHelper(xMSF, "org.openoffice.Office.Views", false);</CODE>
+ * <ul>
+ * <li>If you like to insert a new <CODE>Group</CODE> into the <CODE>Set</CODE> "Windows":<p>
+ * <CODE>XNameReplace xMyGroup = aConfig.getOrInsertGroup("Windows", "myGroup");</CODE><P>
+ * The method <CODE>getOrInsertGroup()</CODE> uses the
+ * <CODE>XSingleServiceFactory</CODE> to create the skeleton of a new group.
+ *
+ * </li>
+ * <li>If you like to change the property "WindowState" of "myGroup"
+ * of the Set "Windows"<p>
+ * <CODE>aConfig.updateGroupProperty(
+ * "Windows","myGroup", "WindowState", "952,180,244,349;1;0,0,0,0;");</CODE>
+ * </li>
+ * <li>If you like to change the property "myProp" of the extensible group
+ * "myExtGroup" which is an extensible group of "my2ndGroup" of the
+ * Set "Windows":<p>
+ * <CODE>aConfig.insertOrUpdateExtensibleGroupProperty(
+ * "Windows", "my2ndGroup", "myExtGroup", "myProp","TheValue");</CODE>
+ * </li>
+ * </ul>
+ */
+public class ConfigHelper
+{
+ private final XHierarchicalNameAccess m_xConfig;
+
+
+ public ConfigHelper(XMultiServiceFactory xSMGR ,
+ String sConfigPath ,
+ boolean bReadOnly )
+ throws com.sun.star.uno.Exception
+ {
+ XMultiServiceFactory xConfigRoot = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ xSMGR.createInstance("com.sun.star.configuration.ConfigurationProvider"));
+
+ PropertyValue[] lParams = new PropertyValue[1];
+ lParams[0] = new PropertyValue();
+ lParams[0].Name = "nodepath";
+ lParams[0].Value = sConfigPath;
+
+ Object aConfig;
+ if (bReadOnly)
+ aConfig = xConfigRoot.createInstanceWithArguments(
+ "com.sun.star.configuration.ConfigurationAccess",
+ lParams);
+ else
+ aConfig = xConfigRoot.createInstanceWithArguments(
+ "com.sun.star.configuration.ConfigurationUpdateAccess",
+ lParams);
+
+ m_xConfig = UnoRuntime.queryInterface(
+ XHierarchicalNameAccess.class,
+ aConfig);
+
+ if (m_xConfig == null)
+ throw new com.sun.star.uno.Exception("Could not open configuration \""+sConfigPath+"\"");
+ }
+
+
+ /**
+ * Updates the configuration.<p>
+ * This must be called after you have changed the configuration
+ * else you changes will be lost.
+ */
+ public void flush()
+ {
+ try
+ {
+ XChangesBatch xBatch = UnoRuntime.queryInterface(
+ XChangesBatch.class,
+ m_xConfig);
+ xBatch.commitChanges();
+ }
+ catch(com.sun.star.uno.Exception ex)
+ {}
+ }
+
+
+
+
+
+
+
+
+ /**
+ * Insert a structured node (group) in a name container (set)
+ * or else update it and return the <CODE>XNameReplace</CODE> of it.<P>
+ * The <CODE>XSingleServiceFacttory</CODE> of the <CODE>set</CODE> will be used
+ * to create a new group. This group is specific to its set and
+ * creates defined entries.
+ * @return The [inserted] group of the set
+ * @param groupName The name of the goup which should be returned
+ * @param setName The name of the set
+ * @throws com.sun.star.uno.Exception throws
+ * <CODE>com.sun.star.uno.Exception</CODE> on any error.
+ */
+ public XNameReplace getOrInsertGroup(String setName, String groupName)
+ throws com.sun.star.uno.Exception
+
+ {
+ XNameContainer xSetCont = this.getSet(setName);
+
+ XNameReplace xChildAccess = null;
+
+ try {
+ xSetCont.getByName(groupName);
+ xChildAccess = UnoRuntime.queryInterface(
+ XNameReplace.class,xSetCont);
+ } catch(com.sun.star.container.NoSuchElementException e) {
+ // proceed with inserting
+ }
+
+ if (xChildAccess == null) {
+ XSingleServiceFactory xChildfactory = UnoRuntime.queryInterface(XSingleServiceFactory.class,xSetCont);
+
+ Object xNewChild = xChildfactory.createInstance();
+
+ xSetCont.insertByName(groupName, xNewChild);
+
+ xChildAccess = UnoRuntime.queryInterface(XNameContainer.class,xNewChild);
+ }
+
+ return xChildAccess;
+ }
+
+ /**
+ * Update a property of a group container of a set container
+ * @param setName the name of the <CODE>set</CODE> which contains the <CODE>group</CODE>
+ * @param groupName the name of the <CODE>group</CODE> which property should be changed
+ * @param propName the name of the property which should be changed
+ * @param propValue the value the property should get
+ * @throws com.sun.star.uno.Exception throws <CODE>com.sun.star.uno.Exception</CODE> on any error.
+ */
+ public void updateGroupProperty(String setName,
+ String groupName,
+ String propName,
+ Object propValue)
+ throws com.sun.star.uno.Exception
+ {
+ XNameContainer xSetCont = this.getSet(setName);
+
+ XPropertySet xProp = null;
+ try {
+ xProp = UnoRuntime.queryInterface(
+ XPropertySet.class,
+ xSetCont.getByName(groupName));
+ } catch (com.sun.star.container.NoSuchElementException ex){
+ throw new com.sun.star.uno.Exception(ex,
+ "could not get group '" + groupName +
+ "' from set '"+ setName +"'");
+ }
+ try{
+ xProp.setPropertyValue(propName, propValue);
+ } catch (com.sun.star.uno.Exception ex) {
+ throw new com.sun.star.uno.Exception(ex,
+ "could not set property '" + propName +
+ "' from group '"+ groupName +
+ "' from set '"+ setName +"'");
+ }
+ }
+
+
+ /**
+ * Insert a property in an extensible group container or else update it
+ * @param setName the name of the <CODE>set</CODE> which contains the <CODE>group</CODE>
+ * @param group The name of the <CODE>group</CODE> which contains the <CODE>extensible group</CODE>.
+ * @param extGroup The name of the <CODE>extensible group</CODE> which
+ * [should] contain the property
+ * @param propName The name of the property.
+ * @param propValue The value of the property.
+ * @throws com.sun.star.uno.Exception throws <CODE>com.sun.star.uno.Exception</CODE> on any error.
+ */
+ public void insertOrUpdateExtensibleGroupProperty(
+ String setName,
+ String group,
+ String extGroup,
+ String propName,
+ Object propValue)
+ throws com.sun.star.uno.Exception
+ {
+ XNameContainer xSetCont = this.getSet(setName);
+
+ XNameReplace xGroupAccess = null;
+ XNameContainer xExtGroupCont = null;
+
+ try {
+ Object xGroup=xSetCont.getByName(group);
+ xGroupAccess = UnoRuntime.queryInterface(
+ XNameReplace.class,xGroup);
+ } catch(com.sun.star.container.NoSuchElementException ex) {
+ throw new com.sun.star.uno.Exception(ex,
+ "could not get group '" + group +
+ "' from set '"+ setName +"'");
+ }
+
+ try {
+ Object xGroup=xGroupAccess.getByName(extGroup);
+ xExtGroupCont = UnoRuntime.queryInterface(
+ XNameContainer.class,xGroup);
+ } catch(com.sun.star.container.NoSuchElementException ex) {
+ throw new com.sun.star.uno.Exception(ex,
+ "could not get extensible group '"+extGroup+
+ "' from group '"+ group +
+ "' from set '"+ setName +"'");
+ }
+
+ try {
+ xExtGroupCont.insertByName(propName, propValue);
+ }
+ catch(com.sun.star.container.ElementExistException e) {
+ xExtGroupCont.replaceByName(propName, propValue);
+ }
+
+ }
+
+
+ /**
+ * Returns a <CODE>XNameContainer</CODE> of the <CODE>Set</CODE>
+ * of the <CODE>Configuration</CODE>
+ * @param setName the name of the Set which should be returned
+ * @throws com.sun.star.uno.Exception on any error
+ * @return A XNameContainer of the Set
+ */
+ private XNameContainer getSet(String setName)
+ throws com.sun.star.uno.Exception
+ {
+ XNameReplace xCont = UnoRuntime.queryInterface(XNameReplace.class, m_xConfig);
+
+ Object oSet = xCont.getByName(setName);
+
+ if (oSet == null)
+ throw new com.sun.star.uno.Exception(
+ "could not get set '" + setName + ": null");
+
+ return UnoRuntime.queryInterface(
+ XNameContainer.class, oSet);
+
+ }
+}
diff --git a/qadevOOo/runner/helper/ConfigurationRead.java b/qadevOOo/runner/helper/ConfigurationRead.java
new file mode 100644
index 000000000..72346a2e7
--- /dev/null
+++ b/qadevOOo/runner/helper/ConfigurationRead.java
@@ -0,0 +1,82 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package helper;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.container.XHierarchicalNameAccess;
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.PropertyState;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Read configuration settings.
+ */
+public class ConfigurationRead {
+
+ private XHierarchicalNameAccess root = null;
+
+ /**
+ * Creates new ConfigurationRead
+ * @param xMSF An instance of service
+ * "com.sun.star.configuration.ConfigurationProvider"
+ * @param rootnode The root of the configuration nodes.
+ */
+ private ConfigurationRead(XMultiServiceFactory xMSF, String rootnode) {
+
+ PropertyValue [] nodeArgs = new PropertyValue [1];
+ PropertyValue nodepath = new PropertyValue();
+ nodepath.Name = "nodepath";
+ nodepath.Value = rootnode;
+ nodepath.Handle = -1;
+ nodepath.State = PropertyState.DEFAULT_VALUE;
+ nodeArgs[0]=nodepath;
+
+ try {
+ Object rootObject = xMSF.createInstanceWithArguments(
+ "com.sun.star.configuration.ConfigurationAccess",
+ nodeArgs);
+
+ root = UnoRuntime.queryInterface(
+ XHierarchicalNameAccess.class, rootObject);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Creates new ConfigurationRead. This uses "org.openoffice.Setup"
+ * as default root name.
+ * @param xMSF An instance of service
+ * "com.sun.star.configuration.ConfigurationProvider"
+ */
+ public ConfigurationRead(XMultiServiceFactory xMSF) {
+ this(xMSF, "org.openoffice.Setup");
+ }
+
+ /**
+ * Get contents of a node by its hierarchical name.
+ * @param name The hierarchical name of the node.
+ * @return The contents as an object
+ */
+ public Object getByHierarchicalName(String name) throws NoSuchElementException {
+ return root.getByHierarchicalName(name);
+ }
+
+}
diff --git a/qadevOOo/runner/helper/ContextMenuInterceptor.java b/qadevOOo/runner/helper/ContextMenuInterceptor.java
new file mode 100644
index 000000000..c0961e66c
--- /dev/null
+++ b/qadevOOo/runner/helper/ContextMenuInterceptor.java
@@ -0,0 +1,131 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+
+package helper;
+
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ui.ActionTriggerSeparatorType;
+import com.sun.star.ui.ContextMenuInterceptorAction;
+import com.sun.star.ui.XContextMenuInterceptor;
+import com.sun.star.uno.UnoRuntime;
+
+public class ContextMenuInterceptor implements XContextMenuInterceptor {
+
+ public ContextMenuInterceptorAction notifyContextMenuExecute(
+ com.sun.star.ui.ContextMenuExecuteEvent aEvent ) throws RuntimeException {
+ try {
+ // Retrieve context menu container and query for service factory to
+ // create sub menus, menu entries and separators
+ XIndexContainer xContextMenu = aEvent.ActionTriggerContainer;
+ XMultiServiceFactory xMenuElementFactory =
+ UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xContextMenu );
+
+ if ( xMenuElementFactory != null ) {
+
+ // create root menu entry for sub menu and sub menu
+ XPropertySet xRootMenuEntry =
+ UnoRuntime.queryInterface(
+ XPropertySet.class,
+ xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger" ));
+
+ // create a line separator for our new help sub menu
+ XPropertySet xSeparator =
+ UnoRuntime.queryInterface(
+ XPropertySet.class,
+ xMenuElementFactory.createInstance("com.sun.star.ui.ActionTriggerSeparator" ) );
+ Short aSeparatorType = Short.valueOf( ActionTriggerSeparatorType.LINE );
+ xSeparator.setPropertyValue( "SeparatorType", aSeparatorType );
+
+ // query sub menu for index container to get access
+ XIndexContainer xSubMenuContainer =
+ UnoRuntime.queryInterface(
+ XIndexContainer.class,
+ xMenuElementFactory.createInstance("com.sun.star.ui.ActionTriggerContainer" ));
+
+ // initialize root menu entry "Help"
+ xRootMenuEntry.setPropertyValue( "Text", "Help" );
+ xRootMenuEntry.setPropertyValue( "CommandURL", "slot:5410" );
+ xRootMenuEntry.setPropertyValue( "HelpURL", "5410" );
+ xRootMenuEntry.setPropertyValue( "SubContainer", xSubMenuContainer );
+
+ // create menu entries for the new sub menu
+ // initialize help/content menu entry
+ // entry "Content"
+ XPropertySet xMenuEntry = UnoRuntime.queryInterface(
+ XPropertySet.class, xMenuElementFactory.createInstance(
+ "com.sun.star.ui.ActionTrigger" ));
+ xMenuEntry.setPropertyValue( "Text", "Content" );
+ xMenuEntry.setPropertyValue( "CommandURL", "slot:5401" );
+ xMenuEntry.setPropertyValue( "HelpURL", "5401" );
+
+ // insert menu entry to sub menu
+ xSubMenuContainer.insertByIndex( 0, xMenuEntry );
+
+ // initialize help/help on help
+ // entry "Help on Help"
+ xMenuEntry = UnoRuntime.queryInterface(
+ XPropertySet.class,
+ xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger" ));
+ xMenuEntry.setPropertyValue("Text", "Help on Help");
+ xMenuEntry.setPropertyValue("CommandURL", "slot:5400");
+ xMenuEntry.setPropertyValue("HelpURL", "5400");
+
+ // insert menu entry to sub menu
+ xSubMenuContainer.insertByIndex( 1, xMenuEntry );
+ // initialize help/tips
+ // entry "Tips"
+ xMenuEntry = UnoRuntime.queryInterface(
+ XPropertySet.class,
+ xMenuElementFactory.createInstance("com.sun.star.ui.ActionTrigger" ));
+ xMenuEntry.setPropertyValue( "Text", "Tips" );
+ xMenuEntry.setPropertyValue( "CommandURL", "slot:5404" );
+ xMenuEntry.setPropertyValue( "HelpURL", "5404" );
+
+ // insert menu entry to sub menu
+ xSubMenuContainer.insertByIndex( 2, xMenuEntry );
+
+ // add separator into the given context menu
+ xContextMenu.insertByIndex( 1, xSeparator );
+
+ // add new sub menu into the given context menu
+ xContextMenu.insertByIndex( 1, xRootMenuEntry );
+
+ // The controller should execute the modified context menu and stop notifying other
+ // interceptors.
+ return ContextMenuInterceptorAction.EXECUTE_MODIFIED ;
+ }
+ } catch ( UnknownPropertyException ex ) {
+ // do something useful
+ // we used an unknown property
+ } catch ( IndexOutOfBoundsException ex ) {
+ // do something useful
+ // we used an invalid index for accessing a container
+ } catch ( Exception ex ) {
+ // something strange has happened!
+ } catch ( Throwable ex ) {
+ // catch java exceptions and do something useful
+ }
+
+ return ContextMenuInterceptorAction.IGNORED;
+ }
+}
diff --git a/qadevOOo/runner/helper/FileTools.java b/qadevOOo/runner/helper/FileTools.java
new file mode 100644
index 000000000..f8708e558
--- /dev/null
+++ b/qadevOOo/runner/helper/FileTools.java
@@ -0,0 +1,127 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package helper;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+
+/**
+ * This class deliver some functionality to copy files.
+ */
+public class FileTools {
+
+ /**
+ * Copies all files under srcDir to dstDir.
+ * If dstDir does not exist, it will be created.
+ * @param srcDir the source directory
+ * @param dstDir the destination directory
+ * @throws java.io.IOException throws java.io.IOException if something fails
+ */
+ public static void copyDirectory(File srcDir, File dstDir)
+ throws java.io.IOException {
+ copyDirectory(srcDir, dstDir, new String[]{});
+ }
+ /**
+ * Copies all files under srcDir to dstDir except Files given in the
+ * ignore list. This files will not be copied.
+ * If dstDir does not exist, it will be created.
+ * @param srcDir the source directory
+ * @param dstDir the destination directory
+ * @param ignore a list of files which should not be copied
+ * @throws java.io.IOException throws java.io.IOException if something fails
+ */
+ public static void copyDirectory(File srcDir, File dstDir, String[] ignore)
+ throws java.io.IOException {
+
+ for (int i=0; i<ignore.length;i++){
+ if (srcDir.getName().endsWith(ignore[i])) {
+ return;
+ }
+ }
+
+ if (srcDir.isDirectory()) {
+ if (!dstDir.exists()) {
+ if (!dstDir.mkdir()) {
+ throw new java.io.IOException("could not create folder " + dstDir);
+ }
+ }
+
+ String[] files = srcDir.list();
+ for (int i=0; i< files.length; i++) {
+ copyDirectory(new File(srcDir, files[i]), new File(dstDir, files[i]), ignore);
+ }
+ } else {
+ // This method is implemented in e1071 Copying a File
+ copyFile(srcDir, dstDir);
+ }
+ }
+
+ /**
+ * Copies src file to dst file. If the dst file does not exist, it is created
+ * @param src the source file
+ * @param dst the destination file
+ * @throws java.io.IOException throws java.io.IOException if something fails
+ */
+ public static void copyFile(File src, File dst) throws java.io.IOException {
+ InputStream in = null;
+ OutputStream out = null;
+ try {
+ in = new FileInputStream(src);
+ try {
+ out = new FileOutputStream(dst);
+
+ // Transfer bytes from in to out
+ byte[] buf = new byte[1024];
+ int len;
+ while ((len = in.read(buf)) > 0) {
+ out.write(buf, 0, len);
+ }
+ } finally {
+ if (out != null)
+ out.close();
+ }
+ } finally {
+ if (in != null)
+ in.close();
+ }
+ }
+
+
+ public static boolean cleanDir(File dir)
+ {
+ if (dir.isDirectory())
+ {
+ String[] children = dir.list();
+ for (int i=0; i<children.length; i++)
+ {
+ boolean success = cleanDir(new File(dir, children[i]));
+ if (!success)
+ {
+ return false;
+ }
+ }
+ }
+
+ // The directory is now empty so delete it
+ return dir.delete();
+ }
+}
diff --git a/qadevOOo/runner/helper/LoggingThread.java b/qadevOOo/runner/helper/LoggingThread.java
new file mode 100644
index 000000000..1bbfaea8c
--- /dev/null
+++ b/qadevOOo/runner/helper/LoggingThread.java
@@ -0,0 +1,80 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package helper;
+
+import share.*;
+import lib.TestParameters;
+import util.PropertyName;
+import util.utils;
+
+/**
+ * This class is printing to a <CODE>LogWriter</CODE>. This could be useful if a UNO-API
+ * function runs longer than time out. To avoid the assumption of death application
+ * a simple string is logged for 100 times of time out.</br>
+ * Example:</br>
+ * logger = new LoggingThread((LogWriter)log, tParam);
+ * logger.start();
+ * oObj.longRunningFunction();
+ * logger.finish();
+ *
+ */
+public class LoggingThread extends Thread {
+
+ private final TestParameters param;
+ private final LogWriter log;
+ private boolean finished = false;
+ private final boolean debug;
+
+ public LoggingThread(LogWriter log, TestParameters tParam) {
+ this.log = log;
+ this.param = tParam;
+ this.debug = tParam.getBool(PropertyName.DEBUG_IS_ACTIVE);
+ }
+
+ @Override
+ public void run() {
+ final int timeOut = param.getInt(PropertyName.TIME_OUT) / 2;
+ int count = 0;
+ finished = false;
+ if (debug) log.println("TimeOutLogger: " + utils.getDateTime() + " start");
+ while (!finished && count < 200) {
+ try {
+ if (debug) log.println("TimeOutLogger: "+utils.getDateTime() + count);
+ synchronized (this) {
+ wait(timeOut);
+ }
+ count++;
+ } catch (InterruptedException ex) {
+ }
+ }
+ if (debug) log.println("TimeOutLogger: " + utils.getDateTime() + " finished");
+ }
+
+ /**
+ * finished the LoggingThread
+ */
+ public void finish() {
+ finished = true;
+ synchronized (this) {
+ notify();
+ }
+ if (debug) log.println("TimeOutLogger: " + utils.getDateTime() + " try to finish ");
+ util.utils.pause(1000);
+ }
+}
diff --git a/qadevOOo/runner/helper/OSHelper.java b/qadevOOo/runner/helper/OSHelper.java
new file mode 100644
index 000000000..242647153
--- /dev/null
+++ b/qadevOOo/runner/helper/OSHelper.java
@@ -0,0 +1,50 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package helper;
+
+/**
+ * Helper object, to identify the current Operation System.
+ */
+public class OSHelper
+{
+ public static boolean isWindows()
+ {
+ return System.getProperty("os.name").toLowerCase().startsWith("windows");
+ }
+ public static boolean isSolarisIntel()
+ {
+ String sOSName = System.getProperty("os.name");
+ return ( sOSName.toLowerCase().startsWith("solaris") ||
+ sOSName.toLowerCase().startsWith("sunos") ) &&
+ System.getProperty("os.arch").equals("x86");
+ }
+ public static boolean isSolarisSparc()
+ {
+ String sOSName = System.getProperty("os.name");
+ return ( sOSName.toLowerCase().startsWith("solaris") ||
+ sOSName.toLowerCase().startsWith("sunos") ) &&
+ System.getProperty("os.arch").equals("sparc");
+ }
+ public static boolean isLinuxIntel()
+ {
+ return System.getProperty("os.name").toLowerCase().startsWith("linux") &&
+ System.getProperty("os.arch").equals("i386");
+ }
+
+}
diff --git a/qadevOOo/runner/helper/OfficeProvider.java b/qadevOOo/runner/helper/OfficeProvider.java
new file mode 100644
index 000000000..48c0910f6
--- /dev/null
+++ b/qadevOOo/runner/helper/OfficeProvider.java
@@ -0,0 +1,755 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package helper;
+
+import com.sun.star.beans.XFastPropertySet;
+import com.sun.star.bridge.XUnoUrlResolver;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.lang.XMultiComponentFactory;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.XCloseable;
+import com.sun.star.util.XStringSubstitution;
+
+import java.io.File;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+
+import lib.TestParameters;
+
+import share.DescEntry;
+import share.LogWriter;
+
+import util.DynamicClassLoader;
+import util.PropertyName;
+import util.utils;
+
+/**
+ * This class will connect the office and start it if possible
+ *
+ */
+public class OfficeProvider implements AppProvider
+{
+
+ private boolean debug = false;
+
+ /**
+ * copy the user layer to a safe place, usually to $TMP/user_backup$USER
+ */
+ private void backupUserLayer(TestParameters param, XMultiServiceFactory msf)
+ {
+ try
+ {
+ final XStringSubstitution sts = createStringSubstitution(msf);
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ String userLayer = sts.getSubstituteVariableValue("$(user)");
+ userLayer = getDirSys(userLayer);
+ param.put("userLayer", userLayer);
+
+ final String copyLayer = util.utils.getUsersTempDir() + System.getProperty("file.separator") +
+ "user_backup" +
+ System.getProperty("user.name");
+ param.put("copyLayer", copyLayer);
+
+
+ dbg(" copy '" + userLayer + "' ->" + copyLayer + "'");
+ // Slow machines the copy job could spend some time. To avoid activating of OfficeWatcher it must be pinged
+ OfficeWatcherPing owp = new OfficeWatcherPing((OfficeWatcher) param.get(PropertyName.OFFICE_WATCHER));
+ owp.start();
+
+ deleteFilesAndDirector (new File(copyLayer));
+ FileTools.copyDirectory(new File(userLayer), new File(copyLayer), new String[]
+ {
+ "temp"
+ });
+
+ owp.finish();
+
+ }
+ catch (com.sun.star.container.NoSuchElementException e)
+ {
+ System.out.println("User Variable '$(user)' not defined.");
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ System.out.println("Couldn't backup user layer");
+ e.printStackTrace();
+ }
+ catch (java.io.IOException e)
+ {
+ System.out.println("Couldn't backup user layer");
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Dispose the office.
+ * This method can only be used, if the office was connected in the first
+ * place: getManager() was called first.
+ * @return return true if desktop is terminates, else false
+ */
+ public boolean disposeManager(lib.TestParameters param)
+ {
+
+ XMultiServiceFactory msf = param.getMSF();
+
+ if (msf == null)
+ {
+ return true;
+ }
+ else
+ {
+ XDesktop desk = null;
+
+ try
+ {
+ desk = UnoRuntime.queryInterface(XDesktop.class, msf.createInstance("com.sun.star.frame.Desktop"));
+ }
+ catch (com.sun.star.uno.Exception ue)
+ {
+ return false;
+ }
+
+ msf = null;
+
+ if (desk != null)
+ {
+ desk.terminate();
+
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+
+ /**
+ * Method to get the ServiceManager of an Office
+ */
+ public Object getManager(lib.TestParameters param) throws UnsupportedEncodingException
+ {
+ String errorMessage = null;
+ boolean bAppExecutionHasWarning = false;
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ String additionalArgs = (String) param.get(
+ "AdditionalConnectionArguments");
+
+ if (additionalArgs == null)
+ {
+ additionalArgs = ";";
+ }
+ else
+ {
+ additionalArgs = "," + additionalArgs + ";";
+ }
+
+ final String cncstr = "uno:" + param.get("ConnectionString") + ";urp" +
+ additionalArgs + "StarOffice.ServiceManager";
+
+ System.out.println("Connecting the Office with " + cncstr);
+
+ XMultiServiceFactory msf = connectOffice(cncstr);
+
+ // if the office is running and the office crashes while testing it could
+ // be useful to restart the office if possible and continue the tests.
+ // Example: the UNO-API-Tests in the projects will be executed by calling
+ // 'dmake'.
+ if ((param.getBool(util.PropertyName.AUTO_RESTART)) && (msf != null))
+ {
+ makeAppExecCommand(msf, param);
+ }
+
+ if (msf == null)
+ {
+ String exc = "";
+ Exception exConnectFailed = null;
+ boolean isExecutable = false;
+ boolean isAppKnown = ((cncstr.indexOf("host=localhost") > 0) || (cncstr.indexOf("pipe,name=") > 0));
+ isAppKnown &= ((String) param.get("AppExecutionCommand")).length() != 0;
+
+ if (isAppKnown)
+ {
+ dbg("Local Connection trying to start the Office");
+
+ //ensure that a pending officewatcher gets finished before a new
+ //office is started
+ final OfficeWatcher ow_old = (OfficeWatcher) param.get("Watcher");
+
+ if (ow_old != null)
+ {
+ ow_old.finish = true;
+ }
+
+ final String cmd = (String) param.get("AppExecutionCommand");
+ dbg("AppExecutionCommand: " + cmd);
+ // validate the AppExecutionCommand, but try it out anyway.
+ // keep the error message for later.
+ errorMessage =
+ util.utils.validateAppExecutionCommand(cmd, (String) param.get("OperatingSystem"));
+ if (errorMessage.startsWith("Error"))
+ {
+ System.out.println(errorMessage);
+ return null;
+ }
+ bAppExecutionHasWarning = !errorMessage.equals("OK");
+
+ final DynamicClassLoader dcl = new DynamicClassLoader();
+ final LogWriter log = (LogWriter) dcl.getInstance(
+ (String) param.get("LogWriter"));
+
+ //create empty entry
+ final DescEntry Entry = new DescEntry();
+ Entry.entryName = "office";
+ Entry.longName = "office";
+ Entry.EntryType = "placebo";
+ Entry.isOptional = false;
+ Entry.isToTest = false;
+ Entry.SubEntryCount = 0;
+ Entry.hasErrorMsg = false;
+ Entry.State = "non possible";
+ Entry.UserDefinedParams = param;
+
+ log.initialize(Entry, debug);
+
+ final ProcessHandler ph = new ProcessHandler(cmd, (PrintWriter) log);
+ isExecutable = ph.executeAsynchronously();
+
+ if (isExecutable)
+ {
+ param.put("AppProvider", ph);
+ final OfficeWatcher ow = new OfficeWatcher(param);
+ param.put("Watcher", ow);
+ ow.start();
+ ow.ping();
+ }
+
+ int k = 0;
+
+ // wait up to 21 seconds to get an office connection
+ while ((k < 42) && (msf == null))
+ {
+ try
+ {
+ msf = connect(cncstr);
+ }
+ catch (com.sun.star.uno.Exception ue)
+ {
+ exConnectFailed = ue;
+ exc = ue.getMessage();
+ }
+ catch (java.lang.Exception je)
+ {
+ exConnectFailed = je;
+ exc = je.getMessage();
+ }
+ if (msf == null)
+ {
+ util.utils.pause(500 * k);
+ }
+ k++;
+ }
+
+ if (msf == null)
+ {
+ System.out.println("Exception while connecting.\n" + exConnectFailed);
+ if (exc != null)
+ {
+ System.out.println(exc);
+ }
+ if (bAppExecutionHasWarning)
+ {
+ System.out.println(errorMessage);
+ }
+ }
+ else if (isExecutable)
+ {
+ backupUserLayer(param, msf);
+ }
+ }
+ else
+ {
+ System.out.println("Could not connect an Office and cannot start one.\n".concat("please start an office with following parameter:\n").
+ concat("\nsoffice --accept=").concat((String) param.get("ConnectionString")).concat(";urp;\n"));
+ }
+ }
+
+ return msf;
+ }
+
+ /**
+ * Connect an Office
+ * @param connectStr
+ * @return
+ * @throws com.sun.star.uno.Exception
+ * @throws com.sun.star.uno.RuntimeException
+ * @throws com.sun.star.connection.NoConnectException
+ * @throws Exception
+ */
+ private XMultiServiceFactory connect(String connectStr)
+ throws com.sun.star.uno.Exception,
+ com.sun.star.uno.RuntimeException,
+ com.sun.star.connection.NoConnectException,
+ Exception
+ {
+
+ // Get component context
+ final XComponentContext xcomponentcontext = com.sun.star.comp.helper.Bootstrap.createInitialComponentContext(null);
+
+ // initial serviceManager
+ final XMultiComponentFactory xLocalServiceManager = xcomponentcontext.getServiceManager();
+
+ // create a connector, so that it can contact the office
+ final Object xUrlResolver = xLocalServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", xcomponentcontext);
+ final XUnoUrlResolver urlResolver = UnoRuntime.queryInterface(XUnoUrlResolver.class, xUrlResolver);
+
+ final Object rInitialObject = urlResolver.resolve(connectStr);
+
+ XMultiServiceFactory xMSF = null;
+
+ if (rInitialObject != null)
+ {
+ // debug = true;
+ dbg("resolved url");
+
+ xMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, rInitialObject);
+ }
+
+ return xMSF;
+ }
+
+ /**
+ * Close an office.
+ * @param param The test parameters.
+ * @param closeIfPossible If true, close even if
+ * it was running before the test
+ */
+ public boolean closeExistingOffice(lib.TestParameters param, boolean closeIfPossible)
+ {
+
+ XMultiServiceFactory msf = param.getMSF();
+ final boolean alreadyConnected = (msf != null);
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ if (alreadyConnected)
+ {
+ dbg("try to get ProcessHandler");
+
+ final ProcessHandler ph = (ProcessHandler) param.get("AppProvider");
+
+ if (ph != null)
+ {
+ dbg("ProcessHandler != null");
+
+ disposeOffice(msf, param);
+
+ // dispose watcher in case it's still running.
+ dbg("try to get OfficeWatcher");
+
+ final OfficeWatcher ow = (OfficeWatcher) param.get("Watcher");
+
+ if ((ow != null) && ow.isAlive())
+ {
+ dbg("OfficeWatcher will be finished");
+ ow.finish = true;
+ }
+ else
+ {
+ dbg("OfficeWatcher seems to be finished");
+ }
+
+ return true;
+ }
+ else
+ {
+ if (closeIfPossible)
+ {
+ return disposeOffice(msf, param);
+ }
+ }
+ }
+ else
+ {
+ final String cncstr = "uno:" + param.get("ConnectionString") +
+ ";urp;StarOffice.ServiceManager";
+ dbg("try to connect office");
+ msf = connectOffice(cncstr);
+
+ if (closeIfPossible)
+ {
+ return disposeOffice(msf, param);
+ }
+ }
+ dbg("closeExistingOffice finished");
+ return true;
+ }
+
+ private XMultiServiceFactory connectOffice(String cncstr)
+ {
+ XMultiServiceFactory msf = null;
+ String exc = "";
+ // debug = true;
+
+ dbg("trying to connect to " + cncstr);
+
+ try
+ {
+ msf = connect(cncstr);
+ }
+ catch (com.sun.star.uno.Exception ue)
+ {
+ exc = ue.getMessage();
+ }
+ catch (java.lang.Exception je)
+ {
+ exc = je.getMessage();
+ }
+
+ if (debug && exc != null && exc.length() != 0)
+ {
+ dbg("Could not connect an Office. " + exc);
+ }
+
+ return msf;
+ }
+
+ private boolean disposeOffice(XMultiServiceFactory msf,
+ TestParameters param)
+ {
+ XDesktop desk = null;
+
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ boolean result = true;
+
+ if (msf != null)
+ {
+
+ // disable QuickStarter
+ try
+ {
+ Object quickStarter = msf.createInstance("com.sun.star.office.Quickstart");
+ XFastPropertySet fps = UnoRuntime.queryInterface(XFastPropertySet.class, quickStarter);
+ fps.setFastPropertyValue(0, false);
+ }
+ catch (com.sun.star.uno.Exception ex)
+ {
+ dbg("ERROR: Could not disable QuickStarter: " + ex.toString());
+ }
+
+ try
+ {
+ desk = UnoRuntime.queryInterface(XDesktop.class, msf.createInstance("com.sun.star.frame.Desktop"));
+ msf = null;
+
+ if (desk != null)
+ {
+ final boolean allClosed = closeAllWindows(desk);
+
+ if (!allClosed)
+ {
+ dbg("Couldn't close all office windows!");
+ }
+
+ dbg("Trying to terminate the desktop");
+
+ desk.terminate();
+ dbg("Desktop terminated");
+ }
+ }
+ catch (com.sun.star.uno.Exception ue)
+ {
+ result = false;
+ }
+ catch (com.sun.star.lang.DisposedException ue)
+ {
+ result = false;
+ }
+ }
+
+ final ProcessHandler ph = (ProcessHandler) param.get("AppProvider");
+
+ if (ph != null)
+ {
+ // dispose watcher in case it's still running.
+ final OfficeWatcher ow = (OfficeWatcher) param.get("Watcher");
+
+ if ((ow != null) && ow.isAlive())
+ {
+ ow.finish = true;
+ }
+
+ ph.kill();
+ }
+
+ param.remove("AppProvider");
+ param.remove("ServiceFactory");
+
+ //copy user_backup into user layer
+ try
+ {
+ final String userLayer = (String) param.get("userLayer");
+ final String copyLayer = (String) param.get("copyLayer");
+ if (userLayer != null && copyLayer != null)
+ {
+ deleteFilesAndDirector(new File(userLayer));
+ final File copyFile = new File(copyLayer);
+ dbg("copy '" + copyFile + "' -> '" + userLayer + "'");
+ FileTools.copyDirectory(copyFile, new File(userLayer), new String[]
+ {
+ "temp"
+ });
+ dbg("copy '" + copyFile + "' -> '" + userLayer + "' finished");
+
+ // remove all user_backup folder in temp dir
+ // this is for the case the runner was killed and some old backup folder still stay in temp dir
+
+
+ }
+ else
+ {
+ System.out.println("Cannot copy layer: '" + copyLayer + "' back to user layer: '" + userLayer + "'");
+ }
+ }
+ catch (java.io.IOException e)
+ {
+ dbg("Couldn't recover from backup\n" + e.getMessage());
+ }
+ return result;
+ }
+
+ private boolean closeAllWindows(XDesktop desk)
+ {
+ final XEnumerationAccess compEnumAccess = desk.getComponents();
+ final XEnumeration compEnum = compEnumAccess.createEnumeration();
+ boolean res = true;
+
+ try
+ {
+ while (compEnum.hasMoreElements())
+ {
+ final XCloseable closer = UnoRuntime.queryInterface(XCloseable.class, compEnum.nextElement());
+
+ if (closer != null)
+ {
+ closer.close(true);
+ }
+ }
+ }
+ catch (com.sun.star.util.CloseVetoException cve)
+ {
+ res = false;
+ }
+ catch (com.sun.star.container.NoSuchElementException nsee)
+ {
+ res = false;
+ }
+ catch (com.sun.star.lang.WrappedTargetException wte)
+ {
+ res = false;
+ }
+
+ return res;
+ }
+
+ private static XStringSubstitution createStringSubstitution(XMultiServiceFactory xMSF) throws com.sun.star.uno.Exception
+ {
+ Object xPathSubst = xMSF.createInstance(
+ "com.sun.star.util.PathSubstitution");
+ return UnoRuntime.queryInterface(XStringSubstitution.class, xPathSubst);
+ }
+
+ /**
+ * converts directory without 'file:///' prefix.
+ * and System dependent file separator
+ */
+ private static String getDirSys(String dir)
+ {
+ String sysDir = "";
+
+ final int idx = dir.indexOf("file://");
+
+ final int idx2 = dir.indexOf("file:///");
+
+ // remove leading 'file://'
+ if (idx < 0)
+ {
+ sysDir = dir;
+ }
+ else
+ {
+ sysDir = dir.substring("file://".length());
+ }
+
+ sysDir = sysDir.replace("%20", " ");
+
+ // append '/' if not there (e.g. linux)
+ if (sysDir.charAt(sysDir.length() - 1) != '/')
+ {
+ sysDir += "/";
+ }
+
+ // remove leading '/' and replace others with '\' on windows machines
+ final String sep = System.getProperty("file.separator");
+
+ if (sep.equalsIgnoreCase("\\"))
+ {
+ if (idx2 >= 0)
+ {
+ sysDir = sysDir.substring(1);
+ }
+ else
+ {
+ //network path
+ sysDir = "//" + sysDir;
+ }
+ sysDir = sysDir.replace('/', '\\');
+ }
+
+ return sysDir;
+ }
+
+ /**
+ * If the office is connected but the <CODE>AppExecutionCommand</CODE> is not set,
+ * this function asks the office for its location and fill the
+ * <CODE>AppExecutionCommand</CODE> with valid content.
+ * This function was only called if parameter <CODE>AutoRestart</CODE> is set.
+ * @param msf the <CODE>MultiServiceFactory</CODE>
+ * @param param the <CODE>TestParameters</CODE>
+ */
+ private void makeAppExecCommand(XMultiServiceFactory msf, TestParameters param)
+ {
+ debug = param.getBool(PropertyName.DEBUG_IS_ACTIVE);
+
+ // get existing AppExecutionCommand if available, else empty string
+ String command = (String) param.get(util.PropertyName.APP_EXECUTION_COMMAND);
+
+ String connectionString;
+ if (param.getBool(util.PropertyName.USE_PIPE_CONNECTION))
+ {
+ // This is the default behaviour
+ connectionString = (String) param.get(util.PropertyName.PIPE_CONNECTION_STRING);
+ }
+ else
+ {
+ // is used if UsePipeConnection=false
+ connectionString = (String) param.get(util.PropertyName.CONNECTION_STRING);
+ }
+
+ String sysBinDir = "";
+
+ try
+ {
+ sysBinDir = utils.getSystemURL(utils.expandMacro(msf, "$SYSBINDIR"));
+ }
+ catch (java.lang.Exception e)
+ {
+ dbg("could not get system binary directory");
+ return;
+ }
+
+ // does the existing command show to the connected office?
+ if (command.indexOf(sysBinDir) == -1)
+ {
+ command = sysBinDir + System.getProperty("file.separator") + "soffice" +
+ " --norestore --accept=" + connectionString + ";urp;";
+ }
+
+ dbg("update AppExecutionCommand: " + command);
+
+ param.put(util.PropertyName.APP_EXECUTION_COMMAND, command);
+ }
+
+ private void dbg(String message)
+ {
+ if (debug)
+ {
+ System.out.println(utils.getDateTime() + "OfficeProvider: " + message);
+ }
+
+ }
+
+ private static class OfficeWatcherPing extends Thread
+ {
+
+ private final OfficeWatcher ow;
+ private boolean bStop = false;
+
+ public OfficeWatcherPing(OfficeWatcher ow)
+ {
+ this.ow = ow;
+ }
+
+ @Override
+ public void run()
+ {
+ System.out.println(utils.getDateTime() + "OfficeProvider:Owp: start ");
+
+ while (!bStop)
+ {
+ System.out.println(utils.getDateTime() + "OfficeProvider:Owp: ping ");
+ ow.ping();
+ System.out.println(utils.getDateTime() + "OfficeProvider:Owp: sleep ");
+ util.utils.pause(1000);
+ }
+
+ }
+
+ public void finish()
+ {
+ synchronized(this)
+ {
+ bStop = true;
+ System.out.println(utils.getDateTime() + "OfficeProvider:Owp: stop ");
+
+ notify();
+ }
+ }
+ }
+
+ private void deleteFilesAndDirector(File file)
+ {
+ File f = file;
+ if(f.isDirectory())
+ {
+ File files[] = f.listFiles();
+ int filesLength = files != null ? files.length : 0;
+ for(int i = 0; i < filesLength; ++i)
+ {
+ deleteFilesAndDirector(files[i]);
+ }
+ boolean bDeleteOk = f.delete();
+ if (!bDeleteOk) {
+ System.out.println("delete failed");
+ }
+ }
+ else if (f.isFile())
+ {
+ boolean bDeleteOk = f.delete();
+ if (!bDeleteOk) {
+ System.out.println("delete failed");
+ }
+ }
+ }
+}
diff --git a/qadevOOo/runner/helper/OfficeWatcher.java b/qadevOOo/runner/helper/OfficeWatcher.java
new file mode 100644
index 000000000..924a9e4af
--- /dev/null
+++ b/qadevOOo/runner/helper/OfficeWatcher.java
@@ -0,0 +1,93 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package helper;
+
+import lib.TestParameters;
+import util.utils;
+
+public class OfficeWatcher extends Thread implements share.Watcher {
+
+ public boolean finish;
+ private final TestParameters params;
+ private int StoredPing = 0;
+ private final boolean debug;
+
+ public OfficeWatcher(TestParameters param) {
+ this.finish = false;
+ this.params = param;
+ this.debug = params.getBool(util.PropertyName.DEBUG_IS_ACTIVE);
+ }
+
+ /**
+ * pings the office watcher to check for changes
+ */
+ public void ping() {
+ try {
+ StoredPing++;
+ } catch (Exception e) {
+ StoredPing = 0;
+ }
+ }
+
+ /**
+ * returns the amount of pings
+ * @return returns the amount of pings
+ */
+ public int getPing() {
+ return StoredPing;
+ }
+
+ @Override
+ public void run() {
+ dbg("started");
+ boolean isDone = false;
+ final ProcessHandler ph = (ProcessHandler) params.get("AppProvider");
+ int timeOut = params.getInt("TimeOut");
+ if (ph == null) {
+ isDone = true;
+ }
+ while (!isDone) {
+ timeOut = params.getInt("TimeOut");
+ final int previous = StoredPing;
+ util.utils.pause(timeOut == 0 ? 30000 : timeOut);
+ // a timeout with value 0 lets watcher not react.
+ if ((StoredPing == previous) && timeOut != 0) {
+ isDone = true;
+ }
+ // execute in case the watcher is not needed anymore
+ if (finish) {
+ return;
+ }
+ }
+ if (ph != null) {
+ dbg("the Office is idle for " + timeOut / 1000 +
+ " seconds, it probably hangs and is killed NOW.");
+ ph.kill();
+ } else {
+ dbg("reached timeout but ProcessHandler is NULL");
+ }
+ util.utils.pause(timeOut == 0 ? 30000 : timeOut);
+ dbg("finished");
+ }
+
+ private void dbg(String message) {
+ if (debug) {
+ System.out.println(utils.getDateTime() + "OfficeWatcher: " + message);
+ }
+ }
+}
diff --git a/qadevOOo/runner/helper/ProcessHandler.java b/qadevOOo/runner/helper/ProcessHandler.java
new file mode 100644
index 000000000..26c1f7875
--- /dev/null
+++ b/qadevOOo/runner/helper/ProcessHandler.java
@@ -0,0 +1,330 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package helper;
+
+import java.io.InputStream;
+import java.io.File;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.PrintWriter;
+import java.io.PrintStream;
+import java.io.LineNumberReader;
+import java.io.InputStreamReader;
+import util.utils;
+
+/*
+ * Class collect information from input stream in
+ * background (separate thread) and outputs it to
+ * some log stream. I helps to avoid buffer overflow
+ * when output stream has small buffer size (e.g.
+ * in case when handling stdout from external
+ * <code>Process</code>)
+ *
+ * This class is currently used by ProcessHandler
+ * internally only.
+ */
+class Pump extends Thread
+{
+
+ private final LineNumberReader reader;
+ private final String pref;
+ private final StringBuffer buf = new StringBuffer(256);
+ private final PrintWriter log;
+ private final boolean bOutput;
+
+ /**
+ * Creates Pump for specified <code>InputStream</code>.
+ * This Pump also synchronously output text read to
+ * log by prefixed lines. Constructor immediately
+ * starts reading in a separate thread.
+ *
+ * @param is Stream which requires permanent reading.
+ * @param log Writer where prefixed text lines to be output
+ * @param outPrefix A prefix which is printed at the
+ * beginning of each output line.
+ */
+ public Pump(InputStream is, PrintWriter log, String outPrefix, boolean _bOutput)
+ {
+ this.pref = (outPrefix == null) ? "" : outPrefix;
+ reader = new LineNumberReader(new InputStreamReader(is));
+ this.log = log;
+ this.bOutput = _bOutput;
+ start();
+ }
+
+ @Override
+ public void run()
+ {
+ try
+ {
+ String line = reader.readLine();
+ while (line != null)
+ {
+ if (bOutput)
+ {
+ log.println(pref + line);
+ log.flush();
+ }
+ buf.append(line).append('\n');
+ line = reader.readLine();
+ }
+ }
+ catch (java.io.IOException e)
+ {
+ log.println(pref + "Exception occurred: " + e);
+ }
+ }
+
+ /**
+ * Returns the text collected from input stream.
+ */
+ public String getStringBuffer()
+ {
+ return buf.toString();
+ }
+}
+
+/**
+ * Class provides convenient way for running external program
+ * handle its standard streams, control execution and check results.
+ * Instance of this class must be created only for a single
+ * execution. If you need to execute the same command again you
+ * should create a new instance for this.
+ */
+public class ProcessHandler
+{
+ private String cmdLine;
+ private String[] envVars = null;
+ private File workDir = null;
+ private PrintWriter log;
+ private int exitValue = -1;
+ private boolean isStarted = false;
+ private PrintStream stdIn = null;
+ private Process m_aProcess = null;
+ private boolean debug = false;
+ private boolean bUseOutput = true;
+
+ /**
+ * Creates instance with specified external command and
+ * log stream where debug info and output
+ * of external command is printed out.
+ */
+ public ProcessHandler(String cmdLine, PrintWriter log) throws UnsupportedEncodingException
+ {
+ this(cmdLine, log, null, null);
+ }
+
+ /**
+ * Creates instance with specified external command which
+ * will be executed in the same work directory and
+ *
+ * @param cmdLine the command to be executed
+ * @param log log stream where debug info and output
+ * of external command is printed .
+ * @param workDir The working directory of the new process
+ * @param envVars The specified environment variables are
+ * set for the new process.
+ * If log stream is null, logging is printed to stdout.
+ * @param timeOut When started synchronously, the maximum time the
+ * process will live. When the process being destroyed
+ * a log will be written out. It can be asked on
+ * <code>isTimedOut()</code> if it has been terminated.
+ *
+ * timeOut > 0
+ * Waits specified time in milliSeconds for
+ * process to exit and return its status.
+ *
+ * timeOut = 0
+ * Waits for the process to end regularly
+ *
+ */
+ private ProcessHandler(String cmdLine, PrintWriter log, File workDir, String[] envVars) throws UnsupportedEncodingException
+ {
+ this.cmdLine = cmdLine;
+ this.workDir = workDir;
+ this.log = log;
+ this.envVars = envVars;
+ if (log == null)
+ {
+ this.log = new PrintWriter(new OutputStreamWriter(System.out, "UTF-8"));
+ }
+ else
+ {
+ this.log = log;
+ }
+ }
+
+ /**
+ * Executes the command immediately returns. The process
+ * remains in running state.
+ *
+ * @return <code>true</code> if process was successfully
+ * started.
+ */
+ public boolean executeAsynchronously()
+ {
+ execute();
+ return isStarted();
+ }
+
+ public synchronized void kill()
+ {
+ if (!isStarted())
+ {
+ return;
+ }
+ boolean exit = false;
+ int counter = 1;
+ while (counter < 3 && !exit)
+ {
+ m_aProcess.destroy();
+
+ util.utils.pause(1000 * counter);
+ try
+ {
+ final int exit_Value = m_aProcess.exitValue();
+ if (exit_Value < 1)
+ {
+ exit = true;
+ }
+ else
+ {
+ counter++;
+ }
+ dbg("kill: process closed with exit code " + exit_Value);
+ }
+ catch (java.lang.IllegalThreadStateException e)
+ {
+ if (counter < 3)
+ {
+ dbg("kill: Couldn't close process after " + counter + " attempts, trying again");
+ }
+ counter++;
+ }
+ }
+ isStarted = false;
+ }
+
+ private void showEnvVars()
+ {
+ if (envVars != null)
+ {
+ for (int i = 0; i < envVars.length; i++)
+ {
+ log.println("env: " + envVars[i]);
+ }
+ }
+ else
+ {
+ log.println("env: null");
+ }
+ }
+
+ private void execute()
+ {
+ if (isStarted())
+ {
+ throw new RuntimeException(
+ "The process handler has already been executed.");
+ }
+ final Runtime runtime = Runtime.getRuntime();
+ try
+ {
+ if (workDir != null)
+ {
+ log.println(utils.getDateTime() + "execute: Starting command: ");
+ log.println(cmdLine + " path=" + workDir.getAbsolutePath());
+ showEnvVars();
+ m_aProcess = runtime.exec(cmdLine, envVars, workDir);
+ }
+ else
+ {
+ log.println(utils.getDateTime() + "execute: Starting command: ");
+ log.println(cmdLine);
+ showEnvVars();
+ m_aProcess = runtime.exec(cmdLine, envVars);
+ }
+ isStarted = true;
+ }
+ catch (java.io.IOException e)
+ {
+ log.println(utils.getDateTime() + "execute: The command " + cmdLine + " can't be started: " + e);
+ return;
+ }
+ dbg("execute: pump io-streams");
+ new Pump(m_aProcess.getInputStream(), log, "out > ", bUseOutput);
+ new Pump(m_aProcess.getErrorStream(), log, "err > ", bUseOutput);
+ stdIn = new PrintStream(m_aProcess.getOutputStream());
+
+ dbg("execute: flush io-streams");
+
+ flushInput();
+ }
+
+ private void flushInput()
+ {
+ if (stdIn == null)
+ {
+ return;
+ }
+
+ synchronized(this)
+ {
+ stdIn.flush();
+ }
+ }
+
+ /**
+ * Returns information about was the command started or
+ * not.
+ *
+ * @return <code>true</code> if the external command was
+ * found and successfully started.
+ */
+ private boolean isStarted()
+ {
+ return isStarted;
+ }
+
+ /**
+ * Returns exit code of the external command.
+ *
+ * @return exit code of command if it was finished,
+ * -1 if not.
+ */
+ public int getExitCode()
+ {
+ try
+ {
+ exitValue = m_aProcess.exitValue();
+ }
+ catch (Exception e)
+ {
+ }
+
+ return exitValue;
+ }
+
+ private void dbg(String message)
+ {
+ if (debug)
+ {
+ log.println(utils.getDateTime() + "PH." + message);
+ }
+ }
+}
diff --git a/qadevOOo/runner/helper/PropertyHandlerFactroy.java b/qadevOOo/runner/helper/PropertyHandlerFactroy.java
new file mode 100644
index 000000000..74f16d867
--- /dev/null
+++ b/qadevOOo/runner/helper/PropertyHandlerFactroy.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package helper;
+
+import com.sun.star.lang.XSingleComponentFactory;
+
+public class PropertyHandlerFactroy implements XSingleComponentFactory{
+
+ public Object createInstanceWithArgumentsAndContext(Object[] obj, com.sun.star.uno.XComponentContext xComponentContext)
+ throws com.sun.star.uno.Exception {
+ return new PropertyHandlerImpl();
+ }
+
+ public Object createInstanceWithContext(com.sun.star.uno.XComponentContext xComponentContext)
+ throws com.sun.star.uno.Exception {
+ return new PropertyHandlerImpl();
+ }
+
+}
diff --git a/qadevOOo/runner/helper/PropertyHandlerImpl.java b/qadevOOo/runner/helper/PropertyHandlerImpl.java
new file mode 100644
index 000000000..a00eee233
--- /dev/null
+++ b/qadevOOo/runner/helper/PropertyHandlerImpl.java
@@ -0,0 +1,234 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package helper;
+
+import com.sun.star.inspection.LineDescriptor;
+import com.sun.star.inspection.XPropertyHandler;
+
+/**
+ * This implementation of <CODE>PropertyHandler</CODE> does currently nothing.
+ * All methods are implemented, but not filled with content.
+ * @see com.sun.star.inspection.XPropertyHandler
+ */
+public class PropertyHandlerImpl implements XPropertyHandler{
+
+ /**
+ * This method currently does nothing
+ * @param ActuatingPropertyName the id of the actuating property.
+ * @param NewValue the new value of the property
+ * @param OldValue the old value of the property
+ * @param InspectorUI a callback for updating the object inspector UI
+ * @param FirstTimeInit If true , the method is called for the first-time update of the respective property, that is, when the property browser is just initializing with the properties of the introspected object.
+ * If false , there was a real ::com::sun::star::beans::XPropertyChangeListener::propertyChange event which triggered the call.
+ *
+ * In some cases it may be necessary to differentiate between both situations. For instance, if you want to set the value of another property when an actuating property's value changed, you should definitely not do this when FirstTimeInit is true .
+ * @throws com.sun.star.lang.NullPointerException ::com::sun::star::lang::NullPointerException if InspectorUI is NULL
+ */
+ public void actuatingPropertyChanged(
+ String ActuatingPropertyName,
+ Object NewValue,
+ Object OldValue,
+ com.sun.star.inspection.XObjectInspectorUI InspectorUI,
+ boolean FirstTimeInit)
+ throws com.sun.star.lang.NullPointerException {
+ }
+
+ /**
+ * This method currently does nothing
+ * @param xEventListener the listener to notify about changes
+ */
+ public void addEventListener(com.sun.star.lang.XEventListener xEventListener) {
+ }
+
+ /**
+ * This method currently does nothing
+ * @param xPropertyChangeListener the listener to notify about property changes
+ * @throws com.sun.star.lang.NullPointerException com::sun::star::lang::NullPointerException if the listener is NULL
+ */
+ public void addPropertyChangeListener(com.sun.star.beans.XPropertyChangeListener xPropertyChangeListener) throws com.sun.star.lang.NullPointerException {
+ }
+
+ /**
+ * This method currently does nothing
+ * @param PropertyName The name of the property whose value is to be converted.
+ * @param PropertyValue The to-be-converted property value.
+ * @param ControlValueType The target type of the conversion. This type is determined by the control which is used to display the property, which in turn is determined by the handler itself in describePropertyLine .
+ * Speaking strictly, this is passed for convenience only, since every XPropertyHandler implementation should know exactly which type to expect, since it implicitly determined this type in describePropertyLine by creating an appropriate XPropertyControl .
+ *
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ * @return null
+ */
+ public Object convertToControlValue(
+ String PropertyName,
+ Object PropertyValue,
+ com.sun.star.uno.Type ControlValueType)
+ throws com.sun.star.beans.UnknownPropertyException {
+ return null;
+ }
+
+ /**
+ * This method currently does nothing
+ * @param PropertyName The name of the conversion's target property.
+ * @param ControlValue The to-be-converted control value. This value has been obtained from an XPropertyControl , using its Value attribute.
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ * @return null
+ */
+ public Object convertToPropertyValue(String PropertyName, Object ControlValue) throws com.sun.star.beans.UnknownPropertyException {
+ return null;
+ }
+
+ /**
+ * This method currently does nothing
+ * @param PropertyName the name of the property whose user interface is to be described
+ * @param ControlFactory a factory for creating XPropertyControl instances. Must not be NULL .
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by this handler
+ * @throws com.sun.star.lang.NullPointerException ::com::sun::star::lang::NullPointerException if ControlFactory is NULL .
+ */
+ public LineDescriptor describePropertyLine(
+ String PropertyName,
+ com.sun.star.inspection.XPropertyControlFactory ControlFactory)
+ throws com.sun.star.beans.UnknownPropertyException,
+ com.sun.star.lang.NullPointerException {
+ return null;
+ }
+
+ /**
+ * This method currently does nothing
+ */
+ public void dispose() {
+ }
+
+ /**
+ * This method currently does nothing
+ * @return null
+ */
+ public String[] getActuatingProperties() {
+ return null;
+ }
+
+ /**
+ * This method currently does nothing
+ * @param PropertyName the name of the property whose state is to be retrieved
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ * @return null
+ */
+ public com.sun.star.beans.PropertyState getPropertyState(String PropertyName)
+ throws com.sun.star.beans.UnknownPropertyException {
+ return null;
+ }
+
+ /**
+ * This method currently does nothing
+ * @param PropertyName the name of the property whose value is to be retrieved
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ * @return null
+ */
+ public Object getPropertyValue(String PropertyName) throws com.sun.star.beans.UnknownPropertyException {
+ return null;
+ }
+
+ /**
+ * This method currently does nothing
+ * @return null
+ */
+ public String[] getSupersededProperties() {
+ return null;
+ }
+
+ /**
+ * This method currently does nothing
+ * @return null
+ */
+ public com.sun.star.beans.Property[] getSupportedProperties() {
+ return null;
+ }
+
+ /**
+ * This method currently does nothing
+ * @param Component the component to inspect. Must not be NULL
+ * @throws com.sun.star.lang.NullPointerException com::sun::star::lang::NullPointerException if the component is NULL
+ */
+ public void inspect(Object Component) throws com.sun.star.lang.NullPointerException {
+ }
+
+ /**
+ * This method currently does nothing
+ * @param PropertyName the name of the property whose composability is to be determined
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ *
+ *
+ * @return null
+ */
+ public boolean isComposable(String PropertyName) throws com.sun.star.beans.UnknownPropertyException {
+ return false;
+ }
+
+ /**
+ * This method currently does nothing
+ * @param PropertyName The name of the property whose browse button has been clicked
+ * @param Primary true if and only if the primary button has been clicked, false otherwise
+ * @param out_Data If the method returns InteractiveSelectionResult::ObtainedValue , then _rData contains the value which has been interactively obtained from the user, and which still needs to be set at the inspected component.
+ * @param InspectorUI provides access to the object inspector UI. Implementations should use this if the property selection requires non-modal user input. In those cases, onInteractivePropertySelection should return InteractiveSelectionResult::Pending , and the UI for (at least) the property whose input is still pending should be disabled.
+ *
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ * @throws com.sun.star.lang.NullPointerException ::com::sun::star::lang::NullPointerException if InspectorUI is NULL
+ * @return null
+ */
+ public com.sun.star.inspection.InteractiveSelectionResult onInteractivePropertySelection(
+ String PropertyName,
+ boolean Primary,
+ Object[] out_Data,
+ com.sun.star.inspection.XObjectInspectorUI InspectorUI)
+ throws com.sun.star.beans.UnknownPropertyException,
+ com.sun.star.lang.NullPointerException {
+ return null;
+ }
+
+ /**
+ * This method currently does nothing
+ * @param xEventListener the listener to be revoked
+ */
+ public void removeEventListener(com.sun.star.lang.XEventListener xEventListener) {
+ }
+
+ /**
+ * This method currently does nothing
+ * @param xPropertyChangeListener the listener to be revoke
+ */
+ public void removePropertyChangeListener(com.sun.star.beans.XPropertyChangeListener xPropertyChangeListener) {
+ }
+
+ /**
+ * This method currently does nothing
+ * @param PropertyName the name of the property whose value is to be set
+ * @param Value the property value to set
+ * @throws com.sun.star.beans.UnknownPropertyException ::com::sun::star::beans::UnknownPropertyException if the given property is not supported by the property handler
+ */
+ public void setPropertyValue(String PropertyName, Object Value) throws com.sun.star.beans.UnknownPropertyException {
+ }
+
+ /**
+ * This method currently does nothing
+ * @param Suspend Whether the handler is to be suspended true or reactivated ( false ). The latter happens if a handler was successfully suspended, but an external instance vetoed the whole suspension process.
+ * @return false
+ */
+ public boolean suspend(boolean Suspend) {
+ return false;
+ }
+
+}
diff --git a/qadevOOo/runner/helper/StreamSimulator.java b/qadevOOo/runner/helper/StreamSimulator.java
new file mode 100644
index 000000000..8e17e910b
--- /dev/null
+++ b/qadevOOo/runner/helper/StreamSimulator.java
@@ -0,0 +1,394 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package helper;
+
+import com.sun.star.uno.UnoRuntime;
+
+
+import com.sun.star.ucb.XSimpleFileAccess;
+
+/**
+ * It simulates an input and output stream and
+ * implements the interfaces XInputStream, XOutputStream.
+ * So it can be used for testing loading/saving of documents
+ * using streams instead of URLs.
+ *
+ */
+public class StreamSimulator implements com.sun.star.io.XInputStream ,
+ com.sun.star.io.XOutputStream ,
+ com.sun.star.io.XSeekable
+{
+
+ /**
+ * @member m_sFileName name of the corresponding file on disk
+ * @member m_xInStream the internal input stream for reading
+ * @member m_xOutStream the internal input stream for writing
+ * @member m_xSeek points at runtime to m_xInStream or m_xOutStream and make it seekable
+ *
+ * @member //m_aProtocol the external set protocol object for logging messages
+ * @member m_bInWasUsed indicates, that the input stream interface was used
+ * @member m_bOutWasUsed indicates, that the output stream interface was used
+ */
+
+ private com.sun.star.io.XInputStream m_xInStream ;
+ private com.sun.star.io.XOutputStream m_xOutStream ;
+ private com.sun.star.io.XSeekable m_xSeek ;
+
+
+
+
+
+ /**
+ * construct a new instance of this class
+ * It set the name of the corresponding file on disk, which
+ * should be source or target for the following operations on
+ * this object. And it regulate if it should function as
+ * input or output stream.
+ *
+ * @param sFileName
+ * name of the file on disk
+ * Will be used as source (if param bInput==true)
+ * or as target (if param bInput==false).
+ *
+ * @param bInput
+ * it specify, which interface should work at this object.
+ * <TRUE/> => we simulate an input stream
+ * <FALSE/> => we simulate an output stream
+ *
+ * @throw com.sun.star.io.NotConnectedException
+ * in case the internal streams to the file on disk couldn't established.
+ * They are necessary. Otherwise this simulator can't really work.
+ */
+ public StreamSimulator( String sFileName , boolean bInput ,
+ lib.TestParameters param ) throws com.sun.star.io.NotConnectedException
+ {
+ try
+ {
+ XSimpleFileAccess xHelper = UnoRuntime.queryInterface(XSimpleFileAccess.class,
+ param.getMSF().createInstance("com.sun.star.ucb.SimpleFileAccess"));
+
+ if (xHelper == null)
+ throw new com.sun.star.io.NotConnectedException("ucb helper not available. Can't create streams.");
+
+ if (bInput)
+ {
+ m_xInStream = xHelper.openFileRead(sFileName);
+ m_xSeek = UnoRuntime.queryInterface(
+ com.sun.star.io.XSeekable.class,
+ m_xInStream);
+ }
+ else
+ {
+ m_xOutStream = xHelper.openFileWrite(sFileName);
+ m_xSeek = UnoRuntime.queryInterface(
+ com.sun.star.io.XSeekable.class,
+ m_xOutStream);
+ }
+ }
+ catch(com.sun.star.uno.Exception exUno)
+ {
+ throw new com.sun.star.io.NotConnectedException(exUno);
+ }
+ }
+
+ /**
+ * following methods simulates the XInputStream.
+ * The notice all actions inside the internal protocol
+ * and try to map all necessary functions to the internal
+ * open in-stream.
+ */
+ public int readBytes( /*OUT*/ byte[][] lData ,
+ /*IN*/ int nBytesToRead ) throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException,
+ com.sun.star.io.IOException
+ {
+ if (m_xInStream == null)
+ {
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ int nRead = 0;
+ try
+ {
+ nRead = m_xInStream.readBytes(lData,nBytesToRead);
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) {
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) {
+ }
+ catch (com.sun.star.io.IOException exIO ) {
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) {
+ }
+
+ return nRead;
+ }
+
+
+
+ public int readSomeBytes( /*OUT*/ byte[][] lData ,
+ /*IN*/ int nMaxBytesToRead ) throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException ,
+ com.sun.star.io.IOException
+ {
+ if (m_xInStream == null)
+ {
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ int nRead = 0;
+ try
+ {
+ nRead = m_xInStream.readSomeBytes(lData,nMaxBytesToRead);
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) {
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) {
+ }
+ catch (com.sun.star.io.IOException exIO ) {
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) {
+ }
+
+ return nRead;
+ }
+
+
+
+ public void skipBytes( /*IN*/ int nBytesToSkip ) throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException ,
+ com.sun.star.io.IOException
+ {
+ if (m_xInStream == null)
+ {
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ try
+ {
+ m_xInStream.skipBytes(nBytesToSkip);
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) {
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) {
+ }
+ catch (com.sun.star.io.IOException exIO ) {
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) {
+ }
+ }
+
+
+
+ public int available() throws com.sun.star.io.NotConnectedException,
+ com.sun.star.io.IOException
+ {
+ if (m_xInStream == null)
+ {
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ int nAvailable = 0;
+ try
+ {
+ nAvailable = m_xInStream.available();
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) {
+ }
+ catch (com.sun.star.io.IOException exIO ) {
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) {
+ }
+
+ return nAvailable;
+ }
+
+
+
+ public void closeInput() throws com.sun.star.io.NotConnectedException,
+ com.sun.star.io.IOException
+ {
+ if (m_xInStream == null)
+ {
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ try
+ {
+ m_xInStream.closeInput();
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) {
+ }
+ catch (com.sun.star.io.IOException exIO ) {
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) {
+ }
+ }
+
+
+ /**
+ * following methods simulates the XOutputStream.
+ * The notice all actions inside the internal protocol
+ * and try to map all necessary functions to the internal
+ * open out-stream.
+ */
+ public void writeBytes( /*IN*/byte[] lData ) throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException ,
+ com.sun.star.io.IOException
+ {
+ if (m_xOutStream == null)
+ {
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ try
+ {
+ m_xOutStream.writeBytes(lData);
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) {
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) {
+ }
+ catch (com.sun.star.io.IOException exIO ) {
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) {
+ }
+ }
+
+
+
+ public void flush() throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException ,
+ com.sun.star.io.IOException
+ {
+ if (m_xOutStream == null)
+ {
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ try
+ {
+ m_xOutStream.flush();
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) {
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) {
+ }
+ catch (com.sun.star.io.IOException exIO ) {
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) {
+ }
+ }
+
+
+
+ public void closeOutput() throws com.sun.star.io.NotConnectedException ,
+ com.sun.star.io.BufferSizeExceededException,
+ com.sun.star.io.IOException
+ {
+ if (m_xOutStream == null)
+ {
+ throw new com.sun.star.io.NotConnectedException("stream not open");
+ }
+
+ try
+ {
+ m_xOutStream.closeOutput();
+ }
+ catch (com.sun.star.io.NotConnectedException exConnect) {
+ }
+ catch (com.sun.star.io.BufferSizeExceededException exBuffer ) {
+ }
+ catch (com.sun.star.io.IOException exIO ) {
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) {
+ }
+ }
+
+
+ /**
+ * following methods simulates the XSeekable.
+ * The notice all actions inside the internal protocol
+ * and try to map all necessary functions to the internal
+ * open stream.
+ */
+ public void seek( /*IN*/long nLocation ) throws com.sun.star.lang.IllegalArgumentException,
+ com.sun.star.io.IOException
+ {
+ if (m_xSeek == null)
+ {
+ throw new com.sun.star.io.IOException("stream not seekable");
+ }
+
+ try
+ {
+ m_xSeek.seek(nLocation);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException exArg ) {
+ }
+ catch (com.sun.star.io.IOException exIO ) {
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) {
+ }
+ }
+
+
+
+ public long getPosition() throws com.sun.star.io.IOException
+ {
+ if (m_xSeek == null)
+ {
+ throw new com.sun.star.io.IOException("stream not seekable");
+ }
+
+ long nPos = 0;
+ try
+ {
+ nPos = m_xSeek.getPosition();
+ }
+ catch (com.sun.star.io.IOException exIO ) {
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) {
+ }
+
+ return nPos;
+ }
+
+
+
+ public long getLength() throws com.sun.star.io.IOException
+ {
+ if (m_xSeek == null)
+ {
+ throw new com.sun.star.io.IOException("stream not seekable");
+ }
+
+ long nLen = 0;
+ try
+ {
+ nLen = m_xSeek.getLength();
+ }
+ catch (com.sun.star.io.IOException exIO ) {
+ }
+ catch (com.sun.star.uno.RuntimeException exRuntime) {
+ }
+
+ return nLen;
+ }
+}
diff --git a/qadevOOo/runner/helper/StringHelper.java b/qadevOOo/runner/helper/StringHelper.java
new file mode 100644
index 000000000..7e265d62f
--- /dev/null
+++ b/qadevOOo/runner/helper/StringHelper.java
@@ -0,0 +1,64 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package helper;
+
+public class StringHelper
+{
+
+ public static String removeQuoteIfExists(String _sPath)
+ {
+ String sNewPath = _sPath;
+
+ if (_sPath.startsWith("\"") ||
+ _sPath.startsWith("'"))
+ {
+ // remove trailing quotes, if exists
+ sNewPath = sNewPath.substring(1);
+ }
+
+ if (_sPath.endsWith("\"") ||
+ _sPath.endsWith("'"))
+ {
+ // remove trailing quotes, if exists
+ sNewPath = sNewPath.substring(0, sNewPath.length() - 1);
+ }
+ return sNewPath;
+ }
+
+
+
+ /**
+ * Convert a value to a string with a given length, if the len is greater the len of the value string representation
+ * fill it's front with '0'
+ * So ("5", 4) will result in a string "0005"
+ */
+ public static String createValueString(int _nValue, int _nLen)
+ {
+ String sValue = String.valueOf(_nValue);
+ StringBuffer a = new StringBuffer();
+ while (_nLen > sValue.length())
+ {
+ a.append('0');
+ _nLen --;
+ }
+ a.append(sValue);
+ return a.toString();
+ }
+
+}
diff --git a/qadevOOo/runner/helper/URLHelper.java b/qadevOOo/runner/helper/URLHelper.java
new file mode 100644
index 000000000..395be4cd0
--- /dev/null
+++ b/qadevOOo/runner/helper/URLHelper.java
@@ -0,0 +1,151 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package helper;
+
+// __________ Imports __________
+
+// exceptions
+import java.io.File;
+import java.net.MalformedURLException;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+
+/**
+ * It collects some static helper functions to handle URLs.
+ * Sometimes it's necessary to convert URL from/to system paths.
+ * Or from string to strutural notations (e.g. com.sun.star.util.URL).
+ * And sometimes java had another notation then the office it has.
+ *
+ */
+public class URLHelper
+{
+
+
+ /**
+ * Because the office need URLs for loading/saving documents
+ * we must convert used system paths.
+ * And java use another notation for file URLs ... correct it.
+ *
+ * @param aSystemPath
+ * represent the file in system notation
+ *
+ * @return [String]
+ * a file url which represent the given system path
+ */
+ public static String getFileURLFromSystemPath( File aSystemPath )
+ {
+ String sFileURL = null;
+ try
+ {
+ sFileURL = aSystemPath.toURI().toURL().toString();
+ }
+ catch( MalformedURLException exWrong )
+ {
+ }
+
+ // problem of java: file URL's are coded with 1 slash instead of 2 or 3 ones!
+ // => correct this problem first, otherwise office can't use these URL's
+ if(
+ (sFileURL != null ) &&
+ sFileURL.startsWith("file:/") &&
+ !sFileURL.startsWith("file://")
+ )
+ {
+ StringBuffer sWorkBuffer = new StringBuffer(sFileURL);
+ sWorkBuffer.insert(6,"//");
+ sFileURL = sWorkBuffer.toString();
+ }
+
+ return sFileURL;
+ }
+
+
+
+ /**
+ * The same as getFileURLFromSystemPath() before but uses string parameter instead
+ * of a File type. It exists to suppress converting of necessary parameters in the
+ * outside code. But of course getFileURLFromSystemPath(File) will be a little bit faster
+ * then this method ...
+ *
+ * @param sSystemPath
+ * represent the file in system notation
+ *
+ * @return [String]
+ * a file url which represent the given system path
+ */
+ public static String getFileURLFromSystemPath( String sSystemPath )
+ {
+ return getFileURLFromSystemPath(new File(sSystemPath));
+ }
+
+
+
+ /**
+ * Return a name list of all available files of a directory.
+ * We filter pure sub directories names. All other files
+ * are returned as full qualified URL strings. So they can be
+ * used for further purposes. One parameter define the start directory,
+ * another one describe the url protocol, which the return URL names should have.
+ *
+ * @param sStartDir
+ * the start directory, which should include all test files
+ *
+ * @return [Vector]
+ * a filtered list of java File objects of all available files of the start dir
+ * and all accessible sub directories.
+ */
+ public static ArrayList<File> getSystemFilesFromDir(String sStartDir)
+ {
+ File aRoot = new File(sStartDir);
+
+ if (! aRoot.exists())
+ return null;
+
+ if (! aRoot.isDirectory())
+ return null;
+
+ File[] lAllFiles = aRoot.listFiles();
+ if (lAllFiles == null )
+ return null;
+
+ ArrayList<File> lFilteredFiles = new ArrayList<File>(lAllFiles.length);
+
+ for (int i=0; i<lAllFiles.length; ++i)
+ {
+ if (lAllFiles[i].isFile())
+ lFilteredFiles.add(lAllFiles[i]);
+ else
+ if (lAllFiles[i].isDirectory())
+ {
+ // recursion!
+ ArrayList<File> lSubFiles = URLHelper.getSystemFilesFromDir(lAllFiles[i].getPath());
+ if (lSubFiles != null)
+ {
+ Iterator<File> aSnapshot = lSubFiles.iterator();
+ while (aSnapshot.hasNext()) {
+ lFilteredFiles.add(aSnapshot.next());
+ }
+ }
+ }
+ }
+
+ return lFilteredFiles;
+ }
+}
diff --git a/qadevOOo/runner/helper/UnoProvider.java b/qadevOOo/runner/helper/UnoProvider.java
new file mode 100644
index 000000000..017c2227c
--- /dev/null
+++ b/qadevOOo/runner/helper/UnoProvider.java
@@ -0,0 +1,141 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package helper;
+
+import java.util.HashMap;
+
+import lib.TestParameters;
+import util.PropertyName;
+import util.utils;
+
+import com.sun.star.comp.helper.Bootstrap;
+import com.sun.star.lang.XMultiComponentFactory;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+
+/**
+ * Bootstrap UNO from a Java environment.
+ * Needed parameters:
+ * <ol>
+ * <li>
+ * <ul>
+ * <li>UNORC - complete path to the unorc file</li>
+ * </ul>
+ * </li>
+ * <li>
+ * <ul>
+ * <li>AppExecutionCommand - path to the soffice executable</li>
+ * <li>OS - the operating system in case it's Windows, because the
+ * unorc is called uno.ini</li>
+ * </ul>
+ * </li>
+ * </ol>
+ */
+public class UnoProvider implements AppProvider {
+
+ /**
+ * Close existing office: calls disposeManager()
+ * @param param The test parameters.
+ * @param closeIfPossible Not needed, since UNO is bootstrapped by this
+ * class in every case.
+ * @return True, if bootstrapping worked.
+ */
+ public boolean closeExistingOffice(TestParameters param,
+ boolean closeIfPossible) {
+ return disposeManager(param);
+ }
+
+ /**
+ * Dispose the UNO environment: just clears the bootstrapped
+ * MultiServiceFactory
+ * @param param The test parameters.
+ * @return True, if bootstrapping worked.
+ */
+ public boolean disposeManager(TestParameters param) {
+ param.remove("ServiceManager");
+ System.gc();
+ util.utils.pause(1000);
+ return true;
+ }
+
+ /**
+ * Bootstrap UNO and return the created MultiServiceFactory.
+ * @param param The test parameters.
+ * @return A created MultiServiceFactory.
+ */
+ public Object getManager(TestParameters param) {
+ XMultiServiceFactory xMSF = param.getMSF();
+ if (xMSF == null) {
+ // bootstrap UNO.
+ String unorcName = getUnorcName(param);
+ HashMap<String,String> env = new HashMap<String,String>();
+ env.put("SYSBINDIR", getSysBinDir(param));
+
+ XComponentContext xContext = null;
+ try {
+ xContext = Bootstrap.defaultBootstrap_InitialComponentContext(
+ unorcName, env);
+ }
+ catch(Exception e) {
+ e.printStackTrace();
+ System.out.println("Could not get XComponentContext. Maybe you must add program folder to LD_LIBRARY_PATH");
+ return null;
+ }
+ XMultiComponentFactory xMCF = xContext.getServiceManager();
+ xMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xMCF);
+ }
+ return xMSF;
+ }
+
+ private String getUnorcName(TestParameters param) {
+ String unorcName = (String)param.get("UNORC");
+ if (unorcName == null) {
+ String office = (String)param.get("AppExecutionCommand");
+ // determine unorc name: unorc or uno.ini on windows
+ unorcName = (String)param.get(PropertyName.UNORC_NAME);
+ // use '/', because this will be a URL in any case.
+ unorcName = office.substring(0, office.indexOf("program")+7) +
+ "/" + unorcName;
+ }
+ unorcName = utils.getFullURL(unorcName);
+ if (param.getBool(PropertyName.DEBUG_IS_ACTIVE)) {
+ System.out.println("UnoUcr: " + unorcName);
+ }
+ return unorcName;
+ }
+
+ private String getSysBinDir(TestParameters param) {
+ String base = (String)param.get("AppExecutionCommand");
+ if (base == null)
+ base = (String)param.get("UNORC");
+
+ if (base == null)
+ return null;
+
+ String sysbindir = base.substring(0,
+ base.indexOf("program")+7);
+
+ sysbindir = utils.getFullURL(sysbindir);
+ if (param.getBool(PropertyName.DEBUG_IS_ACTIVE)) {
+ System.out.println("SysBinDir: " + sysbindir);
+ }
+ return sysbindir;
+ }
+}
diff --git a/qadevOOo/runner/lib/DynamicClassLoader.java b/qadevOOo/runner/lib/DynamicClassLoader.java
new file mode 100644
index 000000000..5622221fb
--- /dev/null
+++ b/qadevOOo/runner/lib/DynamicClassLoader.java
@@ -0,0 +1,86 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package lib ;
+
+import java.lang.reflect.Constructor;
+
+/**
+ * @deprecated: moved to util package.
+ */
+@Deprecated
+public class DynamicClassLoader {
+
+ /**
+ * This method returns a class created by its name
+ * created by call to <code>Class.forName()</code>.<p>
+ * This method must be overridden if another loading
+ * policy is required for Component and Interface
+ * testing classes.
+ */
+ public static Class<?> forName(String className)
+ throws ClassNotFoundException {
+
+ return Class.forName(className) ;
+ }
+
+ public Object getInstance(String className)
+ throws IllegalArgumentException {
+ try {
+ Class<?> cls = DynamicClassLoader.forName(className);
+ return cls.newInstance();
+ } catch ( ClassNotFoundException e ) {
+ throw new IllegalArgumentException("Couldn't find " + className
+ + " " + e);
+ } catch ( IllegalAccessException e ) {
+ throw new IllegalArgumentException("Couldn't access " + className
+ + " " + e);
+ } catch ( InstantiationException e ) {
+ throw new IllegalArgumentException("Couldn't instantiate " +
+ className + " " + e);
+ }
+ }
+
+ public Object getInstance(String className, Object[] ctorArgs)
+ throws IllegalArgumentException {
+ try {
+ Class<?> cls = DynamicClassLoader.forName(className);
+ Class<?>[] ctorType = new Class[ctorArgs.length];
+ for(int i=0; i<ctorType.length; i++) {
+ ctorType[i] = ctorArgs[i].getClass();
+ }
+ Constructor<?> ctor = cls.getConstructor(ctorType);
+ return ctor.newInstance(ctorArgs);
+ } catch ( ClassNotFoundException e ) {
+ throw new IllegalArgumentException("Couldn't find " + className
+ + " " + e);
+ } catch ( IllegalAccessException e ) {
+ throw new IllegalArgumentException("Couldn't access " + className
+ + " " + e);
+ } catch ( NoSuchMethodException e ) {
+ throw new IllegalArgumentException("Couldn't find constructor for " + className
+ + " " + e);
+ } catch ( java.lang.reflect.InvocationTargetException e ) {
+ throw new IllegalArgumentException("Couldn't invoke " +
+ className + " " + e);
+ } catch ( InstantiationException e ) {
+ throw new IllegalArgumentException("Couldn't instantiate " +
+ className + " " + e);
+ }
+ }
+}
diff --git a/qadevOOo/runner/lib/ExceptionStatus.java b/qadevOOo/runner/lib/ExceptionStatus.java
new file mode 100644
index 000000000..d08557341
--- /dev/null
+++ b/qadevOOo/runner/lib/ExceptionStatus.java
@@ -0,0 +1,39 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package lib;
+
+/**
+ * The class implements Status behaviour for exception runstate Status objects.
+ */
+class ExceptionStatus extends Status {
+
+ /**
+ * Creates an instance of Status object with EXCEPTION runstate.
+ *
+ * @param t the exception an activity terminated with.
+ */
+ ExceptionStatus( Throwable t ) {
+ super(RunState.EXCEPTION, false/*bSuccessful*/);
+ String message = t.getMessage();
+ if (message != null)
+ runStateString = message;
+ else
+ runStateString = t.toString();
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/lib/MultiMethodTest.java b/qadevOOo/runner/lib/MultiMethodTest.java
new file mode 100644
index 000000000..81a87f3f4
--- /dev/null
+++ b/qadevOOo/runner/lib/MultiMethodTest.java
@@ -0,0 +1,468 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package lib;
+
+import java.io.PrintWriter;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+
+import share.DescEntry;
+import stats.Summarizer;
+
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * The class supports method based interface tests development.
+ *
+ * <p>There are some points that should be fulfilled in a subclass to work
+ * correctly in the multi-method framework:
+ *
+ * 1. each subclass should define a public field named oObj of type tested
+ * by the subclass, e.g. 'public XText oObj;'. That field will be initialized
+ * by the MultiMethodTest code with the instance of the interface to test.
+ * In a case of service testing the field type should be XPropertySet.
+ *
+ * 2. for the test of each method of the tested interface(or a property in the
+ * case of service testing) should be method with the following signature
+ * provided: 'public void _<method name>()', e.g. 'public void _getText()'.
+ * The methods will be called by MultiMethodText code using reflection API
+ * for each method in the interface description.
+ *
+ * 3. to set status for a call 'tRes.tested(String method,
+ * boolean result)' should be used. For example 'tRes.tested("getText()",
+ * true)'. Also 'tRes.assert(String assertion, boolean result)' call can
+ * be used. Note, that one can call the methods not necessarily from the
+ * test for the tested method, but from other method tests too (in the
+ * MultiMethodTest subclass). See also TestResult and MultiMethodTest.tRes
+ * documentation.
+ *
+ * 4. the before() and after() methods can be overridden to perform some
+ * actions, accordingly, before and after calling the test methods.
+ *
+ * 5. besides tRes, there are some fields initialized in the MultiMethodTest,
+ * that can be used for implementing tests:
+ *
+ * - tEnv contains the environment tested
+ * - tParam contains parameters of the test
+ * - log a writer to log information about the test
+ *
+ * @see TestResult
+ */
+@SuppressWarnings("unused")
+public class MultiMethodTest
+{
+
+ /**
+ * Contains the TestEnvironment being tested, to allow for tests to access
+ * it.
+ */
+ protected TestEnvironment tEnv;
+ /**
+ * Contains the TestParameters for the tests, to allow for tests to access
+ * it.
+ */
+ protected TestParameters tParam;
+ /**
+ * Contains the Description for the test
+ * it.
+ */
+ protected DescEntry entry;
+ /**
+ * Contains a writer to log an information about the interface testing, to
+ * allows for tests to access it.
+ */
+ protected PrintWriter log;
+ /**
+ * Contains the TestResult instance for the interface test to collect
+ * information about methods test.
+ */
+ protected TestResult tRes;
+ /**
+ * Contains names of the methods have been already called
+ */
+ private final ArrayList<String> methCalled = new ArrayList<String>(10);
+
+ /**
+ * Disposes the current test environment, which was corrupted by the test.
+ *
+ * @see #disposeEnvironment(TestEnvironment)
+ */
+ public void disposeEnvironment()
+ {
+ tEnv.dispose();
+ TestCase tCase = tEnv.getTestCase();
+ tCase.disposeTestEnvironment(tEnv, tParam);
+ }
+
+ /**
+ * Runs the interface test: its method tests. First, it initializes some
+ * of MultiMethodTest fields, like tRes, log, tEnv, etc. Then, it queries
+ * the tested interface and initializes 'oObj' field (defined in a
+ * subclass). Before calling method tests, before() method is called to allow
+ * initialization of s stuff before testing. Then, the method tests are
+ * called. After them, after() method is called, to allow cleaning up the
+ * stuff initialized in before() and test methods.
+ *
+ * @param entry the interface test state
+ * @param tEnv the environment to test
+ * @param tParam the parameters of the test
+ *
+ * @see #before
+ * @see #after
+ */
+ public TestResult run(DescEntry entry, TestEnvironment tEnv, TestParameters tParam)
+ {
+
+ log = (PrintWriter) entry.Logger;
+
+ this.tEnv = tEnv;
+ this.tParam = tParam;
+ // this.log = log;
+ this.entry = entry;
+ this.tRes = new TestResult();
+ Class<?> testedClass;
+
+ System.out.print("checking: [" + entry.longName + "]");
+
+ // defining a name of the class corresponding to the tested interface
+ // or service
+ String testedClassName;
+
+ testedClassName = getTestedClassName();
+
+ if (entry.EntryType.equals("service"))
+ {
+ testedClassName = "com.sun.star.beans.XPropertySet";
+ }
+
+ try
+ {
+ testedClass = Class.forName(testedClassName);
+ }
+ catch (ClassNotFoundException cnfE)
+ {
+ System.out.println();
+ cnfE.printStackTrace(log);
+ log.println("could not find a class : " + getTestedClassName());
+ return null;
+ }
+ System.out.println(" is iface: [" + testedClassName + "] testcode: [" + entry.entryName + "]");
+
+ Object oObj = UnoRuntime.queryInterface(testedClass, tEnv.getTestObject());
+
+ if (oObj == null)
+ {
+ if (entry.isOptional)
+ {
+ Summarizer.summarizeDown(entry, "Not supported but optional.OK");
+ }
+ else
+ {
+ Summarizer.summarizeDown(entry, "queryInterface returned null.FAILED");
+ entry.ErrorMsg = "queryInterface returned null";
+ entry.hasErrorMsg = true;
+ }
+
+ return null;
+ }
+
+ //setting the field oObj
+ try
+ {
+ setField("oObj", oObj);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ setSubStates(e.toString());
+ return tRes;
+ }
+
+ // to perform some stuff before all method tests
+ try
+ {
+ before();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ setSubStates(e.toString());
+ return tRes;
+ }
+
+ // executing methods tests
+ for (int i = 0; i < entry.SubEntryCount; i++)
+ {
+ DescEntry aSubEntry = entry.SubEntries[i];
+ try
+ {
+ final String sEntryName = aSubEntry.entryName;
+ executeMethod(sEntryName);
+ }
+ catch (Exception e)
+ {
+ log.println("Exception while checking: " + aSubEntry.entryName + " : " + e.getMessage());
+ }
+ }
+
+ // to perform some stuff after all method tests
+ try
+ {
+ after();
+ }
+ catch (Exception e)
+ {
+ }
+
+ return tRes;
+ }
+
+ /**
+ * Is called before calling method tests, but after initialization.
+ * Subclasses may override to perform actions before method tests.
+ */
+ protected void before() throws Exception
+ {
+ }
+
+ /**
+ * Is called after calling method tests. Subclasses may override
+ * to perform actions after method tests.
+ */
+ protected void after()
+ {
+ }
+
+ /**
+ * @return the name of the interface or the service tested.
+ */
+ protected String getTestedClassName()
+ {
+ String clsName = this.getClass().getName();
+
+ int firstDot = clsName.indexOf('.');
+ int lastDot = clsName.lastIndexOf('.');
+
+ String append = "com.sun.star.";
+
+ if (entry.longName.indexOf("::drafts::com::") > -1)
+ {
+ append = "drafts.com.sun.star.";
+ }
+
+ return append + clsName.substring(firstDot + 1, lastDot + 1) + clsName.substring(lastDot + 2);
+ }
+
+ /**
+ * Sets a method status.
+ *
+ * @param methName the method name to set status
+ * @param methStatus the status to set to the method
+ */
+ private void setStatus(String methName, Status methStatus)
+ {
+ tRes.tested(methName, methStatus);
+ }
+
+ /**
+ * sets the substates
+ */
+ private void setSubStates(String msg)
+ {
+ for (int k = 0; k < entry.SubEntryCount; k++)
+ {
+ entry.SubEntries[k].hasErrorMsg = true;
+ entry.SubEntries[k].ErrorMsg = msg;
+ if (entry.SubEntries[k].State.equals("UNKNOWN"))
+ {
+ entry.SubEntries[k].State = msg;
+ }
+ }
+
+ }
+
+ /**
+ * Checks if the <code>method</code> is optional in the service.
+ */
+ protected boolean isOptional(String _method)
+ {
+ for (int k = 0; k < entry.SubEntryCount; k++)
+ {
+ final String sName = entry.SubEntries[k].entryName;
+ if (sName.equals(_method))
+ {
+ final boolean bIsOptional = entry.SubEntries[k].isOptional;
+ return bIsOptional;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Checks if the <code>method</code> test has been already called.
+ */
+ private boolean isCalled(String method)
+ {
+ return methCalled.contains(method);
+ }
+
+ /**
+ * Calling of the method indicates that the <code>method</code> test should
+ * be called. The method checks this and if it is not called, calls it.
+ * If the method is failed or skipped, it throws StatusException.
+ */
+ protected void requiredMethod(String method)
+ {
+ log.println("starting required method: " + method);
+ executeMethod(method);
+ Status mtStatus = tRes.getStatusFor(method);
+
+ if (mtStatus != null && (!mtStatus.isCompleted() || mtStatus.isFailed()))
+ {
+ log.println("! Required method " + method + " failed");
+ throw new StatusException(mtStatus);
+ }
+ }
+
+ /**
+ * Checks if the <code>method</code> was called, and if not, call it.
+ * On contrary to requiredMethod(), he method doesn't check its status.
+ */
+ protected void executeMethod(String method)
+ {
+ if (!isCalled(method))
+ {
+ log.println("Execute: " + method);
+ callMethod(method);
+ log.println(method + ": " + tRes.getStatusFor(method));
+ log.println();
+ }
+ }
+
+ /**
+ * Just calls the <code>method</code> test.
+ */
+ private void callMethod(String method)
+ {
+ methCalled.add(method);
+ invokeTestMethod(getMethodFor(method), method);
+ }
+
+ /**
+ * Invokes a test method of the subclass using reflection API. Handles
+ * the method results and sets its status.
+ *
+ * @param meth the subclass' method to invoke
+ * @param methName the name of the method
+ */
+ protected void invokeTestMethod(Method meth, String methName)
+ {
+ if (meth == null)
+ {
+ setStatus(methName, Status.skipped(false));
+ }
+ else
+ {
+ Status stat;
+
+ try
+ {
+ meth.invoke(this, new Object[0]);
+ return;
+ }
+ catch (InvocationTargetException itE)
+ {
+ Throwable t = itE.getTargetException();
+
+ if (t instanceof StatusException)
+ {
+ stat = ((StatusException) t).getStatus();
+ }
+ else
+ {
+ t.printStackTrace(log);
+ stat = Status.exception(t);
+ }
+ }
+ catch (IllegalAccessException iaE)
+ {
+ iaE.printStackTrace(log);
+ stat = Status.exception(iaE);
+ }
+ catch (IllegalArgumentException iaE)
+ {
+ iaE.printStackTrace(log);
+ stat = Status.exception(iaE);
+ }
+ catch (ClassCastException ccE)
+ {
+ ccE.printStackTrace(log);
+ stat = Status.exception(ccE);
+ }
+
+ setStatus(methName, stat);
+ }
+ }
+
+ /**
+ * Finds a testing method for the <code>method</code> of the interface.
+ *
+ * @return the testing method, if found, <tt>null</tt> otherwise
+ */
+ private Method getMethodFor(String method)
+ {
+ String mName = "_" + method;
+
+ if (mName.endsWith("()"))
+ {
+ mName = mName.substring(0, mName.length() - 2);
+ }
+
+ final Class<?>[] paramTypes = new Class[0];
+
+ try
+ {
+ return this.getClass().getDeclaredMethod(mName, paramTypes);
+ }
+ catch (NoSuchMethodException nsmE)
+ {
+ return null;
+ }
+ }
+
+ /**
+ * @return the name of the interface tested
+ */
+ public String getInterfaceName()
+ {
+ String clName = this.getClass().getName();
+ return clName.substring(clName.lastIndexOf('.') + 1);
+ }
+
+ private void setField(String fieldName, Object value)
+ throws NoSuchFieldException, IllegalAccessException
+ {
+ this.getClass().getField(fieldName).set(this, value);
+ }
+
+ protected final void waitForEventIdle() {
+ util.utils.waitForEventIdle(tParam.getMSF());
+ }
+
+}
diff --git a/qadevOOo/runner/lib/MultiPropertyTest.java b/qadevOOo/runner/lib/MultiPropertyTest.java
new file mode 100644
index 000000000..54e7122c4
--- /dev/null
+++ b/qadevOOo/runner/lib/MultiPropertyTest.java
@@ -0,0 +1,533 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package lib;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyVetoException;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.WrappedTargetException;
+import java.lang.reflect.Array;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+
+import util.ValueChanger;
+import util.ValueComparer;
+import util.utils;
+
+/**
+ * MultiPropertyTest extends the functionality of MultiMethodTest to support
+ * services testing. Since, in most cases, service tests has one method testing
+ * most of its properties, the MultiPropertyTest provides unified version of
+ * the method: testProperty().
+ *
+ * <p>The testProperty() is called, when the MultiMethodTest's testing method
+ * is not found in the subclass. So, by defining such methods for properties
+ * the standard testing behaviour can be changed.
+ *
+ * <p>The testing behaviour also can be changed by overriding compare(),
+ * getNewVAlue() or toString(Object) methods, or by extending PropertyTester
+ * class.
+ *
+ * @see MultiMethodTest
+ * @see #testProperty(String)
+ * @see #testProperty(String, PropertyTester)
+ * @see #compare
+ * @see #toString(Object)
+ */
+public class MultiPropertyTest extends MultiMethodTest
+{
+
+ /**
+ * Contains a XPropertySet interface of the tested object. Is initialized
+ * in MultiMethodTest code.
+ */
+ public XPropertySet oObj;
+
+ /**
+ * Overrides MultiMethodTest.invokeTestMethod(). If the test for the
+ * <code>meth</code> is not available (<code>meth</code> == <tt>null</tt>)
+ * calls testProperty method for the method. Otherwise calls
+ * super.invokeTestMethod().
+ *
+ * @see MultiMethodTest#invokeTestMethod
+ */
+ @Override
+ protected void invokeTestMethod(Method meth, String methName)
+ {
+ if (meth != null)
+ {
+ super.invokeTestMethod(meth, methName);
+ }
+ else
+ {
+ testProperty(methName);
+ }
+ }
+
+ /**
+ * PropertyTester class defines how to test a property and defined
+ * to allow subclasses of MultiPropertyTest to change the testing
+ * behaviour more flexible, since the behaviour can be customized for
+ * each property separately, by providing subclass of PropertyTester
+ * and passing it to testProperty(String, PropertyTester method).
+ */
+ public class PropertyTester
+ {
+
+ /**
+ * The method defines the whole process of testing propName
+ * property.
+ *
+ * <p>First, it checks if the property exists(it maybe optional).
+ * Then, a value to set the property with is calculated with
+ * getNewValue method. Normally, the new value is calculated
+ * based on old value, but subclasses can override the behaviour
+ * (for example, if old value is null) and specify their own value.
+ * Then the property is set with that new value and the result(
+ * it maybe an exception too, for example a PropertyVetoException)
+ * is checked with checkResult method.
+ *
+ * @param propName - the property to test.
+ * @result - adds the result of testing propName property to
+ * MultiMethodTest.tRes.
+ */
+ protected void testProperty(String propName)
+ {
+ XPropertySetInfo info = oObj.getPropertySetInfo();
+
+ if (info != null)
+ {
+ final boolean bHasProperty = info.hasPropertyByName(propName);
+ if (!bHasProperty)
+ {
+ if (isOptional(propName) || entry.isOptional)
+ {
+ // skipping optional property test
+ log.println("Property '" + propName + "' is optional and not supported");
+ tRes.tested(propName, true);
+ return;
+ }
+ else
+ {
+ // cannot test the property
+ log.println("Tested XPropertySet does not contain'" + propName + "' property");
+ tRes.tested(propName, false);
+ return;
+ }
+ }
+ }
+
+ try
+ {
+ Object oldValue = oObj.getPropertyValue(propName);
+
+ if( (oldValue==null) || utils.isVoid(oldValue) )
+ {
+ // #i111560# method getNewValue() does not work with an empty oldValue
+ Property prop = info.getPropertyByName(propName);
+ if( (prop.Attributes & PropertyAttribute.MAYBEVOID) != 0 )
+ {
+ // todo: implement a new test independent from method getNewValue()
+ log.println("changing initially empty MAYBEVOID properties is not supported by the test framework so far - skip test of property: " + propName);
+ tRes.tested(propName, true);
+ return;
+ }
+ else
+ {
+ log.println( "property '"+propName+"' is not set but is not MAYBEVOID");
+ tRes.tested(propName, false);
+ return;
+ }
+ }
+
+ Object newValue;
+
+ // trying to create new value
+ try
+ {
+ newValue = getNewValue(propName, oldValue);
+ }
+ catch (java.lang.IllegalArgumentException e)
+ {
+ // skipping test since new value is not available
+ log.println("Cannot create new value for '" + propName + " : " + e.getMessage());
+ return;
+ }
+
+ // for an exception thrown during setting new value
+ // to pass it to checkResult method
+ Exception exception = null;
+
+ try
+ {
+ log.println("try to set:");
+ log.println("old = " + toString(oldValue));
+ log.println("new = " + toString(newValue));
+ oObj.setPropertyValue(propName, newValue);
+ }
+ catch (IllegalArgumentException e)
+ {
+ exception = e;
+ }
+ catch (PropertyVetoException e)
+ {
+ exception = e;
+ }
+ catch (WrappedTargetException e)
+ {
+ exception = e;
+ }
+ catch (UnknownPropertyException e)
+ {
+ exception = e;
+ }
+ catch (RuntimeException e)
+ {
+ exception = e;
+ }
+
+ // getting result value
+ Object resValue = oObj.getPropertyValue(propName);
+
+ // checking results
+ checkResult(propName, oldValue, newValue, resValue, exception);
+ }
+ catch (Exception e)
+ {
+ log.println("Exception occurred while testing property '" + propName + "'");
+ e.printStackTrace(log);
+ tRes.tested(propName, false);
+ }
+ }
+
+ /**
+ * The method checks result of setting a new value to the
+ * property based o the following arguments:
+ * @param propName - the property to test
+ * @param oldValue - the old value of the property, before changing it.
+ * @param newValue - the new value the property has been set with
+ * @param resValue - the value of the property after having changed it
+ * @param exception - if not null - the exception thrown by
+ * XPropertySet.setPropertyValue, else indicates
+ * normal method completion.
+ *
+ * <p>If the property is READ_ONLY, then either PropertyVetoException
+ * should be thrown or the value of property should not have changed
+ * (resValue is compared with oldValue with compare method).
+ *
+ * <p>If the property is not READ_ONLY, checks that the new value has
+ * been successfully set(resValue is compared with newValue with
+ * compare method).
+ *
+ * <p>If the exception is not null then(except the case of read-only
+ * property and PropertyVetoException above) it is rethrown to allow
+ * further catching it if needed.
+ *
+ * <p>Subclasses can override to change this behaviour.
+ */
+ protected void checkResult(String propName, Object oldValue,
+ Object newValue, Object resValue, Exception exception)
+ throws Exception
+ {
+ XPropertySetInfo info = oObj.getPropertySetInfo();
+ if (info == null)
+ {
+ log.println("Can't get XPropertySetInfo for property " + propName);
+ tRes.tested(propName, false);
+ return;
+ }
+ Property prop = info.getPropertyByName(propName);
+
+ boolean readOnly = (prop.Attributes & PropertyAttribute.READONLY) != 0;
+ boolean maybeVoid = (prop.Attributes & PropertyAttribute.MAYBEVOID) != 0;
+ //check get-set methods
+ if (maybeVoid)
+ {
+ log.println("Property " + propName + " is void");
+ }
+ if (readOnly)
+ {
+ log.println("Property " + propName + " is readOnly");
+ }
+ if (util.utils.isVoid(oldValue) && !maybeVoid)
+ {
+ log.println(propName + " is void, but it's not MAYBEVOID");
+ tRes.tested(propName, false);
+ }
+ else if (oldValue == null)
+ {
+ log.println(propName + " has null value, and therefore can't be changed");
+ tRes.tested(propName, true);
+ }
+ else if (readOnly)
+ {
+ // check if exception was thrown
+ if (exception != null)
+ {
+ if (exception instanceof PropertyVetoException)
+ {
+ // the change of read only prohibited - OK
+ log.println("Property is ReadOnly and wasn't changed");
+ log.println("Property '" + propName + "' OK");
+ tRes.tested(propName, true);
+ }
+ else if (exception instanceof IllegalArgumentException)
+ {
+ // the change of read only prohibited - OK
+ log.println("Property is ReadOnly and wasn't changed");
+ log.println("Property '" + propName + "' OK");
+ tRes.tested(propName, true);
+ }
+ else if (exception instanceof UnknownPropertyException)
+ {
+ // the change of read only prohibited - OK
+ log.println("Property is ReadOnly and wasn't changed");
+ log.println("Property '" + propName + "' OK");
+ tRes.tested(propName, true);
+ }
+ else if (exception instanceof RuntimeException)
+ {
+ // the change of read only prohibited - OK
+ log.println("Property is ReadOnly and wasn't changed");
+ log.println("Property '" + propName + "' OK");
+ tRes.tested(propName, true);
+ }
+ else
+ {
+ throw exception;
+ }
+ }
+ else
+ {
+ // if no exception - check that value
+ // has not changed
+ if (!compare(resValue, oldValue))
+ {
+ log.println("Read only property '" + propName + "' has changed");
+ log.println("result = " + toString(resValue));
+ tRes.tested(propName, false);
+ }
+ else
+ {
+ log.println("Read only property '" + propName + "' hasn't changed");
+ log.println("Property '" + propName + "' OK");
+ tRes.tested(propName, true);
+ }
+ }
+ }
+ else
+ {
+ if (exception == null)
+ {
+ // if no exception thrown
+ // check that the new value is set
+ if (!compare(resValue, newValue))
+ {
+ log.println("Value for '" + propName + "' hasn't changed as expected");
+ log.println("result = " + toString(resValue));
+ if (!compare(resValue, oldValue))
+ {
+ log.println("But it has changed.");
+ tRes.tested(propName, true);
+ }
+ else
+ {
+ tRes.tested(propName, false);
+ }
+ }
+ else
+ {
+ log.println("Property '" + propName + "' OK");
+ log.println("result = " + toString(resValue));
+ tRes.tested(propName, true);
+ }
+ }
+ else
+ {
+ throw exception;
+ }
+ }
+ }
+
+ /**
+ * The method produces new value of the property from the oldValue.
+ * It returns the result of ValueChanger.changePValue method.
+ * Subclasses can override the method to return their own value,
+ * when the changePValue behavior is not enough, for example,
+ * when oldValue is null.
+ */
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException
+ {
+ return ValueChanger.changePValue(oldValue, propName);
+ }
+
+ /**
+ * The method compares obj1 and obj2. It calls
+ * MultiPropertyTest.compare, but subclasses can override to change
+ * the behavior, since normally compare calls Object.equals method
+ * which is not appropriate in some cases(e.g., structs with equals
+ * not overridden).
+ */
+ protected boolean compare(Object obj1, Object obj2)
+ {
+ return MultiPropertyTest.this.compare(obj1, obj2);
+ }
+
+ /**
+ * The method returns a String representation of the obj. It calls
+ * MultipropertyTest.toString(Object), but subclasses can override
+ * to change the behavior.
+ */
+ protected String toString(Object obj)
+ {
+ return MultiPropertyTest.this.toString(obj);
+ }
+ }
+
+ /**
+ * Extension for <code>PropertyTester</code> which switches two
+ * different values. <code>getNewValue()</code> method of this
+ * class returns one of these two values depending on the
+ * old value, so new value is not equal to old value.
+ */
+ public class PropertyValueSwitcher extends PropertyTester
+ {
+
+ Object val1 = null;
+ Object val2 = null;
+
+ /**
+ * Constructs a property tester with two different values
+ * specified as parameters.
+ *
+ * @param val1 Not <code>null</code> value for the property
+ * tested.
+ * @param val2 Not <code>null</code> value for the property
+ * tested which differs from the first value.
+ */
+ public PropertyValueSwitcher(Object val1, Object val2)
+ {
+ this.val1 = val1;
+ this.val2 = val2;
+ }
+
+ /**
+ * Overridden method of <code>PropertyTester</code> which
+ * returns new value from two values specified.
+ *
+ * @return The second value if old value is equal to the first
+ * one, the first value otherwise.
+ */
+ @Override
+ protected Object getNewValue(String propName, Object old)
+ {
+ if (ValueComparer.equalValue(val1, old))
+ {
+ return val2;
+ }
+ else
+ {
+ return val1;
+ }
+ }
+ }
+
+ /**
+ * The method performs testing of propName property using propTester.
+ */
+ protected void testProperty(String propName, PropertyTester propTester)
+ {
+ propTester.testProperty(propName);
+ }
+
+ /**
+ * The method performs testing of propName property. It uses PropertyTester
+ * instance for testing.
+ */
+ protected void testProperty(String propName)
+ {
+ testProperty(propName, new PropertyTester());
+ }
+
+ /**
+ * Tests the property using <code>PropertyValueSwitcher</code>
+ * tester and two values for this property.
+ *
+ * @see PropertyValueSwitcher
+ */
+ protected void testProperty(String propName, Object val1, Object val2)
+ {
+ testProperty(propName, new PropertyValueSwitcher(val1, val2));
+ }
+
+ /**
+ * Compares two object. In the implementation calls obj1.equals(obj2).
+ */
+ protected boolean compare(Object obj1, Object obj2)
+ {
+ return ValueComparer.equalValue(obj1, obj2);
+ }
+
+ /**
+ * Gets string representation of the obj. In the implementation
+ * returns obj.toString().
+ */
+ protected String toString(Object obj)
+ {
+ if (obj == null) {
+ return "null";
+ }
+ StringBuilder s = new StringBuilder(obj.toString());
+ if (obj.getClass().isArray()) {
+ int n = Array.getLength(obj);
+ s.append('[').append(n).append("]{");
+ for (int i = 0; i != n; ++i) {
+ if (i != 0) {
+ s.append(", ");
+ }
+ s.append(toString(Array.get(obj, i)));
+ }
+ s.append('}');
+ } else if (ValueChanger.isStructure(obj)) {
+ s.append('{');
+ Field[] fields = obj.getClass().getFields();
+ boolean first = true;
+ for (int i = 0; i != fields.length; ++i) {
+ if ((fields[i].getModifiers() & Modifier.STATIC) == 0) {
+ if (!first) {
+ s.append(", ");
+ }
+ first = false;
+ try {
+ s.append(toString(fields[i].get(obj)));
+ } catch (IllegalAccessException e) {
+ throw new RuntimeException("unexpected " + e, e);
+ }
+ }
+ }
+ s.append('}');
+ }
+ return s.toString();
+ }
+}
diff --git a/qadevOOo/runner/lib/RunState.java b/qadevOOo/runner/lib/RunState.java
new file mode 100644
index 000000000..4b1eaa511
--- /dev/null
+++ b/qadevOOo/runner/lib/RunState.java
@@ -0,0 +1,43 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package lib;
+
+public enum RunState {
+
+ /**
+ * The constant represents COMPLETED runtime state.
+ */
+ COMPLETED,
+
+ /**
+ * The constant represents EXCEPTION runtime state.
+ */
+ EXCEPTION,
+
+ /**
+ * The constant represents SKIPPED runtime state.
+ */
+ SKIPPED,
+
+ /**
+ * This is a private indicator for a user defined runtime state
+ */
+ USER_DEFINED
+
+}
diff --git a/qadevOOo/runner/lib/SimpleStatus.java b/qadevOOo/runner/lib/SimpleStatus.java
new file mode 100644
index 000000000..177bfb3f7
--- /dev/null
+++ b/qadevOOo/runner/lib/SimpleStatus.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package lib;
+
+/**
+ * The class is a simple implementation of Status class. It implements simple
+ * Status behaviour: its state, reason and log are defined when creating
+ * the SimpleSTatus instance.
+ */
+class SimpleStatus {
+
+ /**
+ * The field is holding state of the status.
+ */
+ private final boolean bSuccessful;
+
+ /**
+ * The field is holding reason of the status.
+ */
+ private final RunState runState;
+
+ /**
+ * This is the run state: either SKIPPED, COMPLETED, etc.
+ * or user defined. Deriving classes can overwrite it for own run states.
+ */
+ protected String runStateString;
+
+ /**
+ * The constructor initialize state and reason field.
+ */
+ protected SimpleStatus( RunState runState, boolean bSuccessful ) {
+ this.bSuccessful = bSuccessful;
+ this.runState = runState;
+ if ( runState == RunState.COMPLETED ) {
+ runStateString = "COMPLETED";
+ } else if ( runState == RunState.SKIPPED ) {
+ runStateString = "SKIPPED";
+ } else if ( runState == RunState.EXCEPTION ) {
+ runStateString = "EXCEPTION";
+ } else {
+ runStateString = "UNKNOWN";
+ }
+ }
+
+ /**
+ * The constructor initialize state and reason field.
+ */
+ protected SimpleStatus(String runStateString, boolean bSuccessful) {
+ this.bSuccessful = bSuccessful;
+ this.runState = RunState.USER_DEFINED;
+ this.runStateString = runStateString;
+ }
+
+ public boolean isSuccessful() {
+ return bSuccessful;
+ }
+
+ /**
+ * getRunState() implementation. Just returns th runState field value.
+ */
+ public RunState getRunState() {
+ return runState;
+ }
+
+ /**
+ * getReason implementation. Just returns the reason field value.
+ */
+ public String getRunStateString() {
+ return runStateString;
+ }
+
+ /**
+ * Get the result: passed or failed.
+ */
+ public String getStateString() {
+ if (bSuccessful)
+ return "OK";
+ return "FAILED";
+
+ }
+}
diff --git a/qadevOOo/runner/lib/Status.java b/qadevOOo/runner/lib/Status.java
new file mode 100644
index 000000000..ae7f97ecf
--- /dev/null
+++ b/qadevOOo/runner/lib/Status.java
@@ -0,0 +1,128 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package lib;
+
+/**
+ * Status represents a result of a testing activity performed. The result is
+ * described in two ways: state and runtime state. The state describes if the
+ * activity was successful (OK state) or not (FAILED state). The runtime state
+ * describes what happened during the activity: the test can be:
+ * - COMPLETED - the activity completed normally (although it can complete with
+ * FAILED state)
+ * - SKIPPED - the activity was not performed because of a reason (it also can
+ * has OK or FAILED state)
+ * - EXCEPTION - the activity was abnormally terminated because of an
+ * unexpected exception. It always has a FAILED state.
+ * - EXCLUDED - the activity is expected to fail. The state represents how
+ * the state really completed: OK or FAILED.
+ * - other variants are not formalized now and can be represented by
+ * Status.failed() method. They always have a FAILED state.
+ */
+public class Status extends SimpleStatus {
+
+ /**
+ * Construct a status: use runState and state
+ * @param runState either COMPLETED, SKIPPED, etc.
+ * @param bSuccessful OK or FAILED.
+ */
+ public Status(RunState runState, boolean bSuccessful ) {
+ super(runState, bSuccessful);
+ }
+
+ /**
+ * Construct a status: use own message and state.
+ * @param message An own message for the status.
+ * @param bSuccessful OK or FAILED.
+ */
+ public Status(String message, boolean state) {
+ super( message, state );
+ }
+
+ /**
+ * This is a factory method for creating a Status representing normal
+ * activity termination.
+ *
+ * @param bSuccessful describes a test state (OK if state == true, FAILED
+ * otherwise).
+ */
+ public static Status passed( boolean bSuccessful ) {
+ return new Status(RunState.COMPLETED, bSuccessful );
+ }
+
+ /**
+ * This is a factory method for creating a Status representing an exception
+ * activity termination. The Status always has FAILED state.
+ *
+ * @param t the exception with that the activity completed.
+ */
+ public static Status exception( Throwable t ) {
+ return new ExceptionStatus( t );
+ }
+
+ /**
+ * This is a factory method for creating a Status representing a skipped
+ * activity.
+ *
+ * @param state describes a test state (OK if state == true, FAILED
+ * otherwise).
+ */
+ public static Status skipped( boolean bSuccessful ) {
+ return new Status( RunState.SKIPPED, bSuccessful );
+ }
+
+
+
+ /**
+ * Creates a Status representing an activity failed for an arbitrary reason.
+ * It always has FAILED state.
+ *
+ * @param reason describes why the activity failed
+ */
+ public static Status failed(final String reason) {
+ return new Status(reason, false/*bSuccessful*/);
+ }
+
+ /**
+ * The method returns a human-readable description of the status.
+ * The Status implementation of the method returns the status state
+ * description and appends to it the reason, for example:
+ * "FAILED.The getLabel works wrong", "COMPLETED.OK".
+ */
+ @Override
+ public String toString() {
+ String str = getRunStateString() + "." + getStateString();
+
+ return str;
+ }
+
+ /**
+ * Checks whether the status runstate is completed.
+ */
+ public boolean isCompleted() {
+ return getRunState() == RunState.COMPLETED;
+ }
+
+ /**
+ * Checks whether the status state is failed.
+ */
+ public boolean isFailed() {
+ return !isSuccessful();
+ }
+
+}
diff --git a/qadevOOo/runner/lib/StatusException.java b/qadevOOo/runner/lib/StatusException.java
new file mode 100644
index 000000000..98ca686af
--- /dev/null
+++ b/qadevOOo/runner/lib/StatusException.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package lib;
+
+/**
+ * StatusException is used to pass a Status object from a test code which is
+ * terminated abnormally. In many cases this is because of an exception thrown,
+ * but that can also be any other event that hinders the test execution.
+ */
+public class StatusException extends RuntimeException {
+ /**
+ * The Status contained in the StatusException.
+ */
+ private final Status status;
+
+ /**
+ * Constructs a StatusException containing an exception Status.
+ *
+ * @param message the message of the StatusException
+ * @param t the exception of the exception Status
+ */
+ public StatusException( String message, Throwable t ) {
+ super( message, t );
+ status = Status.exception( t );
+ }
+
+ /**
+ * Constructs a StatusException containing an exception Status.
+ */
+ public StatusException( Throwable t, Status st ) {
+ super( t );
+ this.status = st;
+ }
+
+ /**
+ * Creates a StatusException containing a Status.
+ */
+ public StatusException( Status st ) {
+ super( st.getRunStateString() );
+ status = st;
+ }
+
+ /**
+ * @return a status contained in the StatusException.
+ */
+ public Status getStatus() {
+ return status;
+ }
+}
diff --git a/qadevOOo/runner/lib/TestCase.java b/qadevOOo/runner/lib/TestCase.java
new file mode 100644
index 000000000..e5a628a2a
--- /dev/null
+++ b/qadevOOo/runner/lib/TestCase.java
@@ -0,0 +1,170 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package lib;
+
+import java.io.PrintWriter;
+
+/**
+ * <code>TestCase</code> represent a factory for <code>TestEnvironment</code>s
+ * creation and disposing for a given implementation object. The
+ * <code>TestEnvironment</code> contains an instance of the implementation
+ * object and all additional objects needed to perform tests on the object.
+ *
+ * <p>The <code>TestCase</code> provides four methods for its subclasses to
+ * define its functionality: <code>initialize()</code>, <code>cleanup()</code>,
+ * <code>createTestEnvironment()</code> and <code>disposeTestEnvironment()</code>.
+ * The first two are intended to initialize and cleanup common objects shared
+ * among all instances of <code>TestEnvironment</code> produced by the
+ * <code>TestCase</code>, and they are called at the beginning and at the end of
+ * the <code>TestCase</code> lifecycle accordingly.
+ *
+ * <p>The other two are intended to produce and dispose
+ * <code>TestEnvironment</code> instances. The
+ * <code>createTestEnvironment()</code> is called to create a
+ * <code>TestEnvironment</code> instance and the
+ * <code>disposeTestEnvironment()</code> is called when the instance is not used
+ * anymore.
+ *
+ * @see lib.TestEnvironment
+ */
+public abstract class TestCase {
+
+ /**
+ * Specifies the PrintWriter to log information.
+ */
+ protected PrintWriter log;
+
+ /**
+ * Sets the log to write information during testing.
+ */
+ public void setLogWriter( PrintWriter log ) {
+ this.log = log;
+ }
+
+ /**
+ * Initializes the <code>TestCase</code>. Calls <code>initialize()</code>
+ * method.
+ *
+ * @param tParam test parameters.
+ */
+ public final void initializeTestCase( TestParameters tParam ) throws Exception {
+ initialize( tParam, log );
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ }
+
+
+ /**
+ * Cleans up the <code>TestCase</code>. Calls <code>cleanup()</code>.
+ *
+ * @param tParam test parameters
+ */
+ public final void cleanupTestCase( TestParameters tParam ) {
+ cleanup( tParam, log );
+ }
+
+ /**
+ * Called while the <code>TestCase</code> cleanup. In the implementation
+ * does nothing. Subclasses can override to cleanup objects shared among
+ * all <code>TestEnvironment</code>s.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #cleanupTestCase
+ */
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ }
+
+ /**
+ * Creates a <code>TestEnvironment</code> containing an instance of the
+ * implementation object and related objects needed to perform test.
+ *
+ * @param tParam test parameters
+ *
+ * @return the created <code>TestEnvironment</code>
+ *
+ * @see #createTestEnvironment
+ * @see lib.TestEnvironment
+ */
+ public synchronized TestEnvironment getTestEnvironment( TestParameters tParam ) {
+ TestEnvironment tEnv = null;
+ try {
+ tEnv = createTestEnvironment( tParam, log );
+ System.out.println("Environment created");
+ if (tEnv != null) {
+ tEnv.setTestCase(this);
+ }
+ } catch (Exception e) {
+ String message = e.getMessage();
+ if (message == null)
+ message = e.toString();
+ System.out.println("Exception while getting Environment "+message);
+ e.printStackTrace();
+ cleanup(tParam, log);
+ }
+ return tEnv;
+ }
+
+ /**
+ * Disposes the <code>TestEnvironment</code> when it is not needed anymore.
+ *
+ * @param tEnv the environment to dispose
+ * @param tParam test parameters
+ */
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam ) {
+ cleanup( tParam, log );
+ }
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ protected abstract TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws Exception;
+
+ /**
+ * @return the name of the object
+ */
+ public String getObjectName() {
+ String clName = this.getClass().getName();
+ return clName.substring( clName.lastIndexOf('.') + 1 );
+ }
+
+}
diff --git a/qadevOOo/runner/lib/TestEnvironment.java b/qadevOOo/runner/lib/TestEnvironment.java
new file mode 100644
index 000000000..bba50c18f
--- /dev/null
+++ b/qadevOOo/runner/lib/TestEnvironment.java
@@ -0,0 +1,132 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package lib;
+import com.sun.star.uno.XInterface;
+
+import java.util.HashMap;
+
+
+/**
+ * The class contains an instance of a given implementation object and
+ * auxiliary objects associated with it and required for the object testing.
+ *
+ * @see TestCase
+ */
+
+public final class TestEnvironment {
+ /**
+ * Contains object relations - auxiliary objects associated with the
+ * tested object and required for testing.
+ */
+ private final HashMap<String, Object> relations = new HashMap<String, Object>(10);
+
+ /**
+ * An instance of the tested implementation object.
+ */
+ private final XInterface testObject;
+
+ /**
+ * Indicates that the testObject is in invalid state and should not be
+ * used for testing anymore.
+ */
+ private boolean disposed = false;
+
+ /**
+ * A reference to TestCase which has created the test environment.
+ */
+ private TestCase tCase;
+
+ /**
+ * Creates an instance of test environment with testObject.
+ *
+ * @param testObject object to test
+ *
+ * @throws java.lang.IllegalArgumentException if the testObject is
+ * <tt>null</tt>.
+ */
+ public TestEnvironment( XInterface testObject ) {
+ if (testObject == null) {
+ throw new IllegalArgumentException(
+ "Couldn't create a test object");
+ }
+ this.testObject = testObject;
+ }
+
+ /**
+ * @return the object to test.
+ */
+ public XInterface getTestObject() {
+ return testObject;
+ }
+
+ /**
+ * Adds to the environment an auxiliary object required for testing.
+ *
+ * @param name a name to reference the auxiliary object
+ *
+ * @param relation the auxiliary object related to the tested one
+ */
+ public void addObjRelation( String name, Object relation) {
+ relations.put( name, relation );
+ }
+
+ /**
+ * Returns an auxiliary object referenced by tname.
+ *
+ * @param name a name of the object relation
+ *
+ * @return the auxiliary object(object relation)
+ */
+ public Object getObjRelation( String name ) {
+ return relations.get( name );
+ }
+
+ /**
+ * Sets the <code>TestCase</code> that created the environment.
+ */
+ public void setTestCase( TestCase tCase) {
+ this.tCase = tCase;
+ }
+
+ /**
+ * @return the <code>TestCase</code> created the environment.
+ */
+ public TestCase getTestCase() {
+ return tCase;
+ }
+
+ /**
+ * Makes the environment invalid, i.e. it should not be used for
+ * testing anymore.
+ */
+ public void dispose() {
+ disposed = true;
+ }
+
+ /**
+ * Checks if the environment has been disposed.
+ *
+ * @return <tt>true</tt< if it has been disposed, <tt>false</tt> otherwise.
+ *
+ * @see #dispose()
+ */
+ public boolean isDisposed() {
+ return disposed;
+ }
+}
diff --git a/qadevOOo/runner/lib/TestParameters.java b/qadevOOo/runner/lib/TestParameters.java
new file mode 100644
index 000000000..04467a9c8
--- /dev/null
+++ b/qadevOOo/runner/lib/TestParameters.java
@@ -0,0 +1,206 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package lib;
+
+import java.util.HashMap;
+
+import util.PropertyName;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XComponentContext;
+
+/**
+ * TestParameters describes a parameters (in a form of pairs: name, value) to
+ * be passed to tests and which may affect the test behaviour. That can be,
+ * for example, standard paths, connection strings, etc. The TestParameters
+ * also provides XMultiServiceFactory for the test (tests).
+ */
+public class TestParameters extends HashMap<String,Object> {
+
+ /**
+ * The ConnectionString for Office Connection<br>
+ * default is 'socket,host=localhost,port=8100'
+ */
+ private static final String DefaultConnectionString = "socket,host=localhost,port=8100";
+
+ /**
+ * The Path to the test documents that are loaded during the test <br>
+ */
+ private static final String DefaultTestDocumentPath = "unknown";
+
+ /**
+ * 'true' is a debug information should be written, 'false' elsewhere
+ * these will be provided by the framework.<br>
+ * Debug information will always be written on standard out.<br>
+ * default is true
+ */
+ private static final boolean DebugIsActive = false;
+
+ /**
+ * Wrapper around "get()" with some debug output
+ * @param key A key of this table.
+ * @return The value of this key.
+ * @see java.util.HashMap
+ */
+ @Override
+ public Object get(Object key) {
+ Object val = super.get(key);
+ if (val == null && DebugIsActive) {
+ System.out.print("Have been asked for key \""+key.toString());
+ System.out.println("\" which is not part of params.");
+ }
+ return val;
+ }
+
+ /**
+ * Special get method for boolean values: for convenience.
+ * Will return 'false' if the value is not of "Boolean" type.
+ * @param key A key of this table.
+ * @return The value of this key, cast to a boolean type.
+ */
+ public boolean getBool(Object key) {
+ final Object val = super.get(key);
+ if (val == null) {
+ return false;
+ }
+ if (val instanceof String) {
+ String sVal = (String)val;
+ if (sVal.equalsIgnoreCase("true") ||
+ sVal.equalsIgnoreCase("yes")) {
+ return true;
+ }
+ else if (sVal.equalsIgnoreCase("false") ||
+ sVal.equalsIgnoreCase("no")) {
+ return false;
+ }
+ }
+ else if (val instanceof Boolean)
+ return ((Boolean)val).booleanValue();
+ return false;
+ }
+
+ /**
+ * Special get method for integer values: for convenience.
+ * Will return 0 if the value cannot be interpreted as Integer.
+ * @param key A key of this table.
+ * @return The value of this key, cast to an int type.
+ */
+ public int getInt(Object key) {
+ Object val = super.get(key);
+ if ( val != null ) {
+ if (val instanceof Integer) {
+ return ((Integer)val).intValue();
+ }
+ else {
+ try {
+ if ( val instanceof String ) {
+ Integer nr = Integer.valueOf((String)val);
+ if (nr.intValue() > 0) return nr.intValue();
+ }
+ } catch ( java.lang.NumberFormatException nfe) {}
+ }
+ }
+ return 0;
+ }
+
+
+ /**
+ * Wrapper around "put()"
+ * @param key A key of this table.
+ * @param val The value of the key.
+ * @return The value of this key.
+ * @see java.util.HashMap
+ */
+ @Override
+ public Object put(String key, Object val) {
+ return super.put(key,val);
+ }
+
+ /**
+ * Constructor, defaults for Parameters are set.
+ */
+ public TestParameters() {
+ //fill the propertyset
+ String user = System.getProperty("user.name");
+ if ( user != null)
+ {
+ String PipeConnectionString = "pipe,name=" + user;
+ put(PropertyName.PIPE_CONNECTION_STRING,PipeConnectionString);
+ put(PropertyName.USE_PIPE_CONNECTION, Boolean.TRUE);
+ }
+ put(PropertyName.CONNECTION_STRING, DefaultConnectionString);
+ put(PropertyName.TEST_BASE, "java_fat");
+ put(PropertyName.TEST_DOCUMENT_PATH, DefaultTestDocumentPath);
+ put(PropertyName.LOGGING_IS_ACTIVE, Boolean.TRUE);
+ put(PropertyName.DEBUG_IS_ACTIVE, Boolean.valueOf(DebugIsActive));
+ put(PropertyName.OUT_PRODUCER, "stats.SimpleOutProducer");
+ put(PropertyName.OFFICE_PROVIDER, "helper.OfficeProvider");
+ put(PropertyName.LOG_WRITER, "stats.SimpleLogWriter");
+ put(PropertyName.APP_EXECUTION_COMMAND, "");
+ put(PropertyName.TIME_OUT, Integer.valueOf(3000000));
+ put(PropertyName.THREAD_TIME_OUT, Integer.valueOf(3000000));
+ put(PropertyName.AUTO_RESTART, Boolean.FALSE);
+
+ // get the operating system
+ put(PropertyName.UNORC_NAME, getUnoRcName());
+
+ //For compatibility Reasons
+ System.setProperty("DOCPTH", DefaultTestDocumentPath);
+ }
+
+ /**
+ * @return a XMultiServiceFactory to be used by a test (tests).
+ */
+ public XMultiServiceFactory getMSF() {
+ Object ret = null;
+ ret = get("ServiceFactory");
+ return (XMultiServiceFactory) ret;
+ }
+
+ public XComponentContext getComponentContext() {
+ Object context = get( "ComponentContext" );
+ if ( context == null )
+ {
+ XPropertySet factoryProps = com.sun.star.uno.UnoRuntime.queryInterface(
+ XPropertySet.class, getMSF() );
+ try
+ {
+ context = com.sun.star.uno.UnoRuntime.queryInterface(
+ XComponentContext.class, factoryProps.getPropertyValue( "DefaultContext" ) );
+ put( "ComponentContext", context );
+ }
+ catch( com.sun.star.beans.UnknownPropertyException e ) { }
+ catch( com.sun.star.lang.WrappedTargetException e ) { }
+ }
+ return (XComponentContext)context;
+ }
+
+ /**
+ * @return The uno rc file name uno.ini for windows and unorc for everything else
+ */
+ private String getUnoRcName() {
+ String osname = System.getProperty ("os.name").toLowerCase ();
+ if (osname.indexOf ("windows")>-1) {
+ return "uno.ini";
+ }
+ return "unorc";
+ }
+
+}// finish class TestParameters
diff --git a/qadevOOo/runner/lib/TestResult.java b/qadevOOo/runner/lib/TestResult.java
new file mode 100644
index 000000000..5a1f4898b
--- /dev/null
+++ b/qadevOOo/runner/lib/TestResult.java
@@ -0,0 +1,88 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package lib;
+
+import java.util.HashMap;
+
+/**
+ * The class supports interface tests development and Status calculation.
+ */
+public class TestResult {
+ /**
+ * Contains methods having been tested and their results.
+ */
+ private HashMap<String, Status> testedMethods = new HashMap<String, Status>();
+
+ /**
+ * The method makes method tested with the result, i.e. it adds to its
+ * state OK (if result == true) or FAILED (if result == false) status
+ * and makes the state of the method completed. It's equal to
+ * tested(method, Status(result)) call.
+ *
+ * @param method refers to the method which was tested
+ * @param result the result of testing the method
+ *
+ * @return the result value
+ *
+ * @throw java.lang.IllegalArgumentException if the method is not
+ * available in the interface.
+ *
+ * @see #tested(String, Status)
+ */
+ public boolean tested( String method, boolean result) {
+ System.out.println("Method "+method+" finished with state "+(result?"OK":"FAILED"));
+ return tested( method, Status.passed( result ) );
+ }
+
+ /**
+ * The method makes the method tested with the status, i.e. it adds the
+ * status to its state and makes it completed.
+ *
+ * @param method refers to the method which was tested
+ * @param status describes the result of testing the method
+ * @return <tt>true</tt> if status is OK, <tt>false</tt> otherwise.
+ *
+ * @throw java.lang.IllegalArgumentException if the method is not
+ * available in the interface.
+ */
+ public boolean tested( String method, Status status ) {
+ testedMethods.put(method,status);
+ return true;
+ }
+
+ /**
+ * @return <tt>true</tt> if the method belongs to the interface tested,
+ * <tt>false</tt> otherwise.
+ */
+ public boolean hasMethod( String method ) {
+ return testedMethods.containsKey( method );
+ }
+
+ /**
+ * @return status of testing the method, if it is available (was set by
+ * the tested or assert method), <tt>null</tt> otherwise.
+ *
+ * @see #tested(String, boolean)
+ * @see #tested(String, Status)
+ */
+ public Status getStatusFor( String method ) {
+ return testedMethods.get( method );
+ }
+
+}
diff --git a/qadevOOo/runner/manifest b/qadevOOo/runner/manifest
new file mode 100644
index 000000000..9bebd71a2
--- /dev/null
+++ b/qadevOOo/runner/manifest
@@ -0,0 +1,2 @@
+RegistrationClassName: org.openoffice.RunnerService
+
diff --git a/qadevOOo/runner/org/openoffice/Runner.java b/qadevOOo/runner/org/openoffice/Runner.java
new file mode 100644
index 000000000..7f839bead
--- /dev/null
+++ b/qadevOOo/runner/org/openoffice/Runner.java
@@ -0,0 +1,196 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package org.openoffice;
+
+import helper.ClParser;
+
+import java.util.Enumeration;
+import java.util.Map;
+import java.util.Properties;
+import java.util.StringTokenizer;
+
+import lib.TestParameters;
+import util.DynamicClassLoader;
+import base.TestBase;
+
+/**
+ * The main class, will call ClParser and CfgParser to <br>
+ * fill the TestParameters.<br>
+ * Will then call the appropriate Testbase to run the tests.
+ */
+public class Runner
+{
+
+ private static String beautifyTime(long _nTime)
+ {
+ long sec = (_nTime / 1000) % 60;
+ long min = (_nTime / (60 * 1000)) % 60;
+ long hour = _nTime / (60 * 60 * 1000);
+ StringBuffer aTime = new StringBuffer();
+ aTime.append(helper.StringHelper.createValueString((int) hour, 2)).
+ append(':').
+ append(helper.StringHelper.createValueString((int) min, 2)).
+ append(':').
+ append(helper.StringHelper.createValueString((int) sec, 2));
+ return aTime.toString();
+ }
+
+ /**
+ * Helper to check if there are problems with Cygwin Path variables.
+ */
+ private static boolean checkVariableForCygwin(String _sVariable)
+ {
+ if (_sVariable == null)
+ {
+ return false;
+ }
+ return _sVariable.startsWith("/cygdrive");
+ }
+
+ private static boolean checkPathVariable(String _sPath, String delim)
+ {
+ String sPath = System.getProperty(_sPath);
+ if (sPath != null)
+ {
+ StringTokenizer aTokenEnum = new StringTokenizer(sPath, delim);
+ while (aTokenEnum.hasMoreElements())
+ {
+ String sToken = (String) aTokenEnum.nextElement();
+ if (checkVariableForCygwin(sToken))
+ {
+ System.err.println("ERROR: OOoRunner detect cygwin path in '" + _sPath + "'");
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private static void checkAllVariablesForCygwinPath(TestParameters _aParams)
+ {
+ // ----- check all System.getProperty(key) variables -----
+ String sOsName = System.getProperty("os.name");
+ if (!sOsName.toLowerCase().startsWith("windows"))
+ {
+ // we need to check only on windows
+ return;
+ }
+
+ Properties aProps = System.getProperties();
+ Enumeration<?> aEnum = aProps.propertyNames();
+ // Enumeration aEnum = aProps.elements(); // these are only the values
+ boolean bEmergencyStop = false;
+
+ while (aEnum.hasMoreElements())
+ {
+ String sKey = (String) aEnum.nextElement();
+ String sValue = System.getProperty(sKey);
+
+ if (checkVariableForCygwin(sValue))
+ {
+ System.err.println("ERROR: OOoRunner detect cygwin path in '" + sKey + ":=" + sValue + "'");
+ bEmergencyStop = true;
+ }
+ }
+
+ // ----- check path variables separately -----
+ String sDelim = System.getProperty("path.separator");
+ bEmergencyStop |= checkPathVariable("java.library.path", sDelim);
+ bEmergencyStop |= checkPathVariable("java.class.path", sDelim);
+ bEmergencyStop |= checkPathVariable("sun.boot.class.path", sDelim);
+
+ // ----- check all TestParameters -----
+ for (Map.Entry<String, Object> entry : _aParams.entrySet())
+ {
+ String sKey = entry.getKey();
+ if (entry.getValue() instanceof String)
+ {
+ String sValue = (String) entry.getValue();
+
+ if (checkVariableForCygwin(sValue))
+ {
+ System.err.println("ERROR: OOoRunner detect cygwin path in '" + sKey + ":=" + sValue + "'");
+ bEmergencyStop = true;
+ }
+ }
+ }
+
+ if (bEmergencyStop)
+ {
+ System.exit(-1);
+ }
+ }
+
+ public static boolean run(String... args) throws Exception
+ {
+ System.out.println("OOoRunner Main() version from 20101118 (yyyymmdd)");
+
+ final long nStartTime = System.currentTimeMillis();
+
+ DynamicClassLoader dcl = new DynamicClassLoader();
+
+ // get a class for test parameters
+ TestParameters param = new TestParameters();
+
+ ClParser cli = new ClParser();
+
+ //parse the commandline arguments
+ // TODO: no right error message, if no parameter given!
+ cli.getCommandLineParameter(param, args);
+
+ Object tj = param.get("TestJob");
+
+ if (tj == null)
+ {
+ System.out.println("==========================================================================");
+ System.out.println("No TestJob given, please make sure that you ");
+ System.out.println("a.) called the OOoRunner with the parameter -o <job> or -sce <scenarioFile>");
+ System.out.println("or");
+ System.out.println("b.) have an entry called TestJob in your used properties file");
+ System.out.println("==========================================================================");
+ System.exit(-1);
+ }
+
+ System.out.println("TestJob: " + tj);
+ String sName = "base." + (String) param.get("TestBase");
+ TestBase toExecute = (TestBase) dcl.getInstance(sName);
+
+ checkAllVariablesForCygwinPath(param);
+
+ boolean worked = toExecute.executeTest(param);
+ final long nTime = System.currentTimeMillis() - nStartTime;
+ final String sBeautifyTime = beautifyTime(nTime);
+
+ System.out.println("Job run took: " + nTime + "ms " + " [" + sBeautifyTime + "]");
+
+ if (!worked)
+ {
+ System.out.println("Job " + param.get("TestJob") + " failed");
+ }
+ else
+ {
+ System.out.println("Job " + param.get("TestJob") + " done");
+ }
+ return worked;
+ }
+
+ public static void main(String[] args) throws Exception
+ {
+ System.exit(run(args) ? 0 : -1);
+ }
+}
diff --git a/qadevOOo/runner/org/openoffice/RunnerService.java b/qadevOOo/runner/org/openoffice/RunnerService.java
new file mode 100644
index 000000000..f61638c47
--- /dev/null
+++ b/qadevOOo/runner/org/openoffice/RunnerService.java
@@ -0,0 +1,301 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package org.openoffice;
+
+import helper.ClParser;
+
+import java.util.ArrayList;
+import java.util.jar.JarEntry;
+
+import lib.TestParameters;
+import share.LogWriter;
+import stats.InternalLogWriter;
+import util.DynamicClassLoader;
+import util.PropertyName;
+import base.TestBase;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertyAccess;
+import com.sun.star.comp.loader.FactoryHelper;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.task.XJob;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.XInterface;
+
+/**
+ * The main class, will call ClParser and CfgParser to <br>
+ * fill the TestParameters.<br>
+ * Will then call the appropriate Testbase to run the tests.
+ */
+public class RunnerService implements XJob, XServiceInfo,
+ XTypeProvider, XPropertyAccess {
+
+ public static final String __serviceName = "org.openoffice.Runner";
+ public static final String __implName = "org.openoffice.RunnerService";
+ private static XMultiServiceFactory xMSF = null;
+
+ public Object execute(NamedValue[] args) {
+ // construct valid arguments from the given stuff
+ int arg_length=args.length;
+ String[] arguments = new String[arg_length*2];
+ for ( int i=0; i< arg_length; i++ ) {
+ arguments[i*2] = args[i].Name;
+ Object o = args[i].Value;
+ arguments[i*2+1] = o.toString();
+ }
+
+ TestParameters param = new TestParameters();
+ DynamicClassLoader dcl = new DynamicClassLoader();
+
+
+ // take the standard log writer
+ String standardLogWriter = (String) param.get(PropertyName.LOG_WRITER);
+ String standardOutProducer = (String) param.get(PropertyName.OUT_PRODUCER);
+
+ ClParser cli = new ClParser();
+
+ //parse the commandline arguments
+ cli.getCommandLineParameter(param,arguments);
+
+ // now compare the standard log writer with the parameters:
+ // if we have a new one, use the new, else use the internal
+ // log writer
+ if (((String)param.get("LogWriter")).equals(standardLogWriter))
+ param.put("LogWriter", "stats.InternalLogWriter");
+ if (((String)param.get("OutProducer")).equals(standardOutProducer))
+ param.put("OutProducer", "stats.InternalLogWriter");
+ LogWriter log = (LogWriter) dcl.getInstance(
+ (String)param.get("LogWriter"));
+
+ param.put("ServiceFactory", xMSF);
+
+ log.println("TestJob: "+param.get("TestJob"));
+
+ TestBase toExecute = (TestBase)dcl.getInstance("base.java_fat_service");
+
+ try {
+ boolean worked = toExecute.executeTest(param);
+ if (!worked)
+ log.println("Test did not execute correctly.");
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+
+ String returnString = "";
+ if (log instanceof InternalLogWriter)
+ returnString = ((InternalLogWriter)log).getLog();
+ return returnString;
+ }
+
+ /**
+ * This function provides the service name
+ * @return the service name
+ */
+ public String getServiceName() {
+ return __serviceName;
+ }
+
+ /**
+ * Get all implemented types of this class.
+ * @return An array of implemented interface types.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public Type[] getTypes() {
+ Type[] type = new Type[5];
+ type[0] = new Type(XInterface.class);
+ type[1] = new Type(XTypeProvider.class);
+ type[2] = new Type(XJob.class);
+ type[3] = new Type(XServiceInfo.class);
+ type[4] = new Type(XPropertyAccess.class);
+ return type;
+ }
+
+ /**
+ * Get the implementation id.
+ * @return An empty implementation id.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public byte[] getImplementationId() {
+ return new byte[0];
+ }
+ /**
+ * Function for reading the implementation name.
+ *
+ * @return the implementation name
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String getImplementationName() {
+ return __implName;
+ }
+
+ /**
+ * Does the implementation support this service?
+ *
+ * @param serviceName The name of the service in question
+ * @return true, if service is supported, false otherwise
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public boolean supportsService(String serviceName) {
+ return serviceName.equals(__serviceName);
+ }
+
+ /**
+ * Function for reading all supported services
+ *
+ * @return An aaray with all supported service names
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String[] getSupportedServiceNames() {
+ String[] supServiceNames = {__serviceName};
+ return supServiceNames;
+ }
+
+ /**
+ * Return all valid testcases from the object descriptions
+ * @return The valid testcases as property values
+ */
+ public PropertyValue[] getPropertyValues() {
+ PropertyValue[] pVal = null;
+ java.net.URL url = this.getClass().getResource("/objdsc");
+ if (url == null) {
+ pVal = new PropertyValue[1];
+ pVal[0] = new PropertyValue();
+ pVal[0].Name = "Error";
+ pVal[0].Value = "OOoRunner.jar file doesn't contain object " +
+ "descriptions: don't know what to test.";
+ return pVal;
+ }
+
+ ArrayList<String> v = new ArrayList<String>(600);
+ try {
+ // open connection to Jar
+ java.net.JarURLConnection con =
+ (java.net.JarURLConnection)url.openConnection();
+ // get Jar file from connection
+ java.util.jar.JarFile f = con.getJarFile();
+ // Enumerate over all entries
+ java.util.Enumeration<JarEntry> aEnum = f.entries();
+
+ while (aEnum.hasMoreElements()) {
+ String entry = aEnum.nextElement().toString();
+ if (entry.endsWith(".csv")) {
+
+ String module = null;
+ String object = null;
+
+ int startIndex = entry.indexOf("objdsc/") + 7;
+ int endIndex = entry.lastIndexOf('/');
+ module = entry.substring(startIndex, endIndex);
+
+ // special cases
+ if (entry.indexOf("/file/") != -1 || entry.indexOf("/xmloff/") != -1) {
+ endIndex = entry.indexOf(".csv");
+ object = entry.substring(0, endIndex);
+ endIndex = object.lastIndexOf('.');
+ startIndex = object.indexOf('.');
+ while (startIndex != endIndex) {
+ object = object.substring(startIndex+1);
+ startIndex = object.indexOf('.');
+ endIndex = object.lastIndexOf('.');
+ }
+ }
+ else {
+ startIndex = 0;
+ endIndex = entry.indexOf(".csv");
+ object = entry.substring(startIndex, endIndex);
+ startIndex = object.lastIndexOf('.');
+ object = object.substring(startIndex+1);
+ }
+ v.add(module+"."+object);
+ }
+ }
+ }
+ catch(java.io.IOException e) {
+ e.printStackTrace();
+ }
+
+ int size = v.size();
+
+ String[] sTestCases = new String[size];
+ v.toArray(sTestCases);
+ java.util.Arrays.sort(sTestCases);
+
+ pVal = new PropertyValue[size];
+ for (int i=0; i<size; i++) {
+ pVal[i] = new PropertyValue();
+ pVal[i].Name = "TestCase"+i;
+ pVal[i].Value = sTestCases[i];
+ }
+ return pVal;
+ }
+
+
+ /**
+ *
+ * Gives a factory for creating the service.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns a <code>XSingleServiceFactory</code> for creating the component
+ * @param implName the name of the implementation for which a service is desired
+ * @param multiFactory the service manager to be used if needed
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static XSingleServiceFactory __getServiceFactory(String implName,
+ XMultiServiceFactory multiFactory, XRegistryKey regKey)
+ {
+ XSingleServiceFactory xSingleServiceFactory = null;
+
+ if (implName.equals(RunnerService.class.getName()))
+ xSingleServiceFactory = FactoryHelper.getServiceFactory(
+ RunnerService.class, __serviceName, multiFactory, regKey);
+ xMSF = multiFactory;
+ return xSingleServiceFactory;
+ }
+
+ /**
+ * Writes the service information into the given registry key.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns true if the operation succeeded
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
+ return FactoryHelper.writeRegistryServiceInfo(RunnerService.class.getName(),
+ __serviceName, regKey);
+ }
+
+ /**
+ * empty: not needed here.
+ */
+ public void setPropertyValues(PropertyValue[] propertyValue)
+ throws com.sun.star.beans.UnknownPropertyException,
+ com.sun.star.beans.PropertyVetoException,
+ com.sun.star.lang.IllegalArgumentException,
+ com.sun.star.lang.WrappedTargetException {
+ // empty implementation
+ }
+
+}
diff --git a/qadevOOo/runner/share/ComplexTest.java b/qadevOOo/runner/share/ComplexTest.java
new file mode 100644
index 000000000..d5eea53a1
--- /dev/null
+++ b/qadevOOo/runner/share/ComplexTest.java
@@ -0,0 +1,28 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package share;
+
+/**
+ * Interface for complex tests.
+ */
+public interface ComplexTest {
+
+ String[] getTestMethodNames();
+
+}
+
diff --git a/qadevOOo/runner/share/DescEntry.java b/qadevOOo/runner/share/DescEntry.java
new file mode 100644
index 000000000..927715342
--- /dev/null
+++ b/qadevOOo/runner/share/DescEntry.java
@@ -0,0 +1,88 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+
+package share;
+
+/**
+ *
+ * Structure to describe the entries to be tested
+ *
+ */
+public class DescEntry {
+
+ /**
+ * Contains the name used inside the framework
+ */
+ public String entryName;
+ /**
+ * Contains the name that may be used by state writers
+ */
+ public String longName;
+ /**
+ * Contains information if this entry is Optional
+ */
+ public boolean isOptional;
+ /**
+ * Contains information if this entry should be tested
+ */
+ public boolean isToTest;
+ /**
+ * Contains the information about the number of SubEntries
+ */
+ public int SubEntryCount;
+ /**
+ * Contains the SubEntries
+ */
+ public DescEntry[] SubEntries;
+
+ /**
+ * Contains information about the Type of the entry<br>
+ * possible 'component', 'interface', 'service', 'method', 'property', 'unit'
+ */
+ public String EntryType;
+
+ /**
+ * Contains the ErrorMsg is something went wrong while gaining<br>
+ * the description
+ */
+ public String ErrorMsg;
+
+ /**
+ * Contains information if errors occurred while gaining the Description
+ */
+ public boolean hasErrorMsg;
+
+ /**
+ * Contains the state for this entry
+ */
+ public String State = "UNKNOWN";
+
+ /**
+ * Contains the LogWriter to be used by the entry-test
+ */
+
+ public share.LogWriter Logger;
+
+ /**
+ * Contains an arbitrary set of parameters
+ */
+
+ public java.util.HashMap<String,Object> UserDefinedParams = new java.util.HashMap<String,Object>();
+
+}
diff --git a/qadevOOo/runner/share/DescGetter.java b/qadevOOo/runner/share/DescGetter.java
new file mode 100644
index 000000000..172dcacf5
--- /dev/null
+++ b/qadevOOo/runner/share/DescGetter.java
@@ -0,0 +1,182 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package share;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.StringTokenizer;
+
+/**
+ *
+ * Base Interface to get a description for a given TestJob
+ *
+ */
+public abstract class DescGetter
+{
+
+ public abstract DescEntry[] getDescriptionFor(String entry,
+ String DescPath,
+ boolean debug);
+
+ protected abstract DescEntry getDescriptionForSingleJob(String job,
+ String descPath,
+ boolean debug);
+
+ protected abstract String[] createScenario(String descPath, String job,
+ boolean debug);
+
+ protected DescEntry[] getScenario(String url, String descPath,
+ boolean debug)
+ {
+ ArrayList<DescEntry> entryList = new ArrayList<DescEntry>();
+ String line = "";
+ BufferedReader scenario = null;
+ DescEntry[] entries = null;
+
+ try
+ {
+ scenario = new BufferedReader(new FileReader(url));
+ }
+ catch (java.io.FileNotFoundException fnfe)
+ {
+ System.out.println("Couldn't find file " + url);
+
+ return entries;
+ }
+
+ while (line != null)
+ {
+ try
+ {
+ if (line.startsWith("-o"))
+ {
+ String job = line.substring(3, line.length()).trim();
+ DescEntry aEntry;
+ // special in case several Interfaces are given comma separated
+ if (job.indexOf(',') < 0)
+ {
+ aEntry = getDescriptionForSingleJob(job, descPath,
+ debug);
+ }
+ else
+ {
+ ArrayList<String> subs = getSubInterfaces(job);
+ String partjob = job.substring(0, job.indexOf(',')).trim();
+ aEntry = getDescriptionForSingleJob(partjob, descPath,
+ debug);
+
+ if (aEntry != null)
+ {
+ for (int i = 0; i < aEntry.SubEntryCount; i++)
+ {
+ String subEntry = aEntry.SubEntries[i].longName;
+ int cpLength = aEntry.longName.length();
+ subEntry = subEntry.substring(cpLength + 2,
+ subEntry.length());
+
+ if (subs.contains(subEntry))
+ {
+ aEntry.SubEntries[i].isToTest = true;
+ }
+ }
+ }
+ }
+ if (aEntry != null)
+ {
+ entryList.add(aEntry);
+ }
+ }
+ else if (line.startsWith("-sce"))
+ {
+ DescEntry[] subs = getScenario(line.substring(5,
+ line.length()).trim(), descPath,
+ debug);
+
+ entryList.addAll(Arrays.asList(subs));
+ }
+ else if (line.startsWith("-p"))
+ {
+ String[] perModule = createScenario(descPath,
+ line.substring(3).trim(), debug);
+
+ for (int i = 0; i < perModule.length; i++)
+ {
+ DescEntry aEntry = getDescriptionForSingleJob(
+ perModule[i].substring(3).trim(),
+ descPath, debug);
+ if (aEntry != null)
+ {
+ entryList.add(aEntry);
+ }
+ }
+ }
+
+ line = scenario.readLine();
+ }
+ catch (java.io.IOException ioe)
+ {
+ if (debug)
+ {
+ System.out.println("Exception while reading scenario");
+ }
+ }
+ }
+
+ try
+ {
+ scenario.close();
+ }
+ catch (java.io.IOException ioe)
+ {
+ if (debug)
+ {
+ System.out.println("Exception while closing scenario");
+ }
+ }
+
+ if (entryList.isEmpty())
+ {
+ return null;
+ }
+ entries = new DescEntry[entryList.size()];
+ entries = entryList.toArray(entries);
+
+ return entries;
+ }
+
+ protected ArrayList<String> getSubInterfaces(String job)
+ {
+ ArrayList<String> namesList = new ArrayList<String>();
+ StringTokenizer st = new StringTokenizer(job, ",");
+
+ while (st.hasMoreTokens())
+ {
+ String token = st.nextToken();
+
+ if (token.indexOf('.') < 0)
+ {
+ namesList.add(token);
+ }
+ }
+
+ return namesList;
+ }
+}
diff --git a/qadevOOo/runner/share/LogWriter.java b/qadevOOo/runner/share/LogWriter.java
new file mode 100644
index 000000000..44d4a2b7d
--- /dev/null
+++ b/qadevOOo/runner/share/LogWriter.java
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package share;
+
+public interface LogWriter {
+
+ /**
+ * Method to print
+ */
+ void println(String msg);
+
+ /**
+ * initialization
+ *
+ */
+ boolean initialize(share.DescEntry entry, boolean active);
+
+ /**
+ * will mostly be used by outproducers to sum up
+ * the information, maybe write them to a db
+ */
+ boolean summary(share.DescEntry entry);
+
+
+
+
+ /**
+ * Set a <CODE>Watcher</CODE> to the <CODE>LogWriter</CODE>
+ * This is useful if a test starts a new office instance by itself. In this cases
+ * the <CODE>LogWriter</CODE> could retrigger the <CODE>Watcher</CODE>
+ * @see share.Watcher
+ * @param watcher the new <CODE>Watcher</CODE>
+ */
+ void setWatcher(Object watcher);
+
+}
diff --git a/qadevOOo/runner/share/Watcher.java b/qadevOOo/runner/share/Watcher.java
new file mode 100644
index 000000000..07e8e6562
--- /dev/null
+++ b/qadevOOo/runner/share/Watcher.java
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package share;
+
+public interface Watcher {
+
+ /**
+ * pings the watcher to check for changes
+ */
+ void ping();
+
+ /**
+ * returns the amount of pings
+ */
+ int getPing();
+
+}
diff --git a/qadevOOo/runner/stats/InternalLogWriter.java b/qadevOOo/runner/stats/InternalLogWriter.java
new file mode 100644
index 000000000..a39e372a6
--- /dev/null
+++ b/qadevOOo/runner/stats/InternalLogWriter.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package stats;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+/**
+ * Write all logs into a java.io.PrintWriter, i.e. a StringBuffer.
+ * Log is gathered there.
+ */
+public class InternalLogWriter implements share.LogWriter {
+ /** log active **/
+ private boolean active;
+ /** write all output to a StringBuffer **/
+ private StringWriter writer = new StringWriter();
+ private PrintWriter printWriter;
+
+ /**
+ * c'*tor
+ */
+ public InternalLogWriter() {
+ printWriter = new PrintWriter(writer);
+ active = true;
+ }
+
+ /**
+ * Initialization.
+ * @param entry The description entry.
+ * @param active Logging is active.
+ * @return True, if initialize worked.
+ */
+ public boolean initialize(share.DescEntry entry, boolean active) {
+ this.active = active;
+ return true;
+ }
+
+ /**
+ * Method to print a line that is added to the StringBuffer.
+ * @param msg The message that is printed.
+ */
+ public void println(String msg) {
+ if (active)
+ printWriter.println(msg);
+ }
+
+ /**
+ * Is used to sum up the information.
+ * The summary is also added to the StringBuffer.
+ * @param entry The description entry.
+ * @return True, if a summary could be created.
+ */
+ public boolean summary(share.DescEntry entry) {
+// linePrefix = "";
+ String header = "***** State for "+entry.longName+" ******";
+ printWriter.println(header);
+ if (entry.hasErrorMsg) {
+ printWriter.println(entry.ErrorMsg);
+ printWriter.println("Whole "+entry.EntryType+": "+entry.State);
+ } else {
+ printWriter.println("Whole "+entry.EntryType+": "+entry.State);
+ }
+ for (int i=0;i<header.length();i++) {
+ printWriter.print("*");
+ }
+ printWriter.println("");
+ return true;
+ }
+
+ /**
+ * Return all the written stuff.
+ * @return All that was written to the StringBuffer with the
+ * 'println()', 'print()' and 'summarize()' methods.
+ * The StringBuffer is emptied afterwards.
+ **/
+ public String getLog() {
+ String message = writer.getBuffer().toString();
+ writer = new StringWriter();
+ return message;
+ }
+
+ public void setWatcher(Object watcher) {
+ }
+
+}
+
diff --git a/qadevOOo/runner/stats/OutProducerFactory.java b/qadevOOo/runner/stats/OutProducerFactory.java
new file mode 100644
index 000000000..cb907a490
--- /dev/null
+++ b/qadevOOo/runner/stats/OutProducerFactory.java
@@ -0,0 +1,121 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package stats;
+
+import share.LogWriter;
+import java.util.HashMap;
+import util.DynamicClassLoader;
+
+/**
+ * A factory class for creating out producers.
+ */
+public class OutProducerFactory {
+
+ /**
+ * Create an out producer. The type that is created depends on the
+ * parameters given. These are:
+ * <ul>
+ * <li>DataBaseOut - If set to true, a database outproducer is created.
+ * <li>OutProducer - The value of this parameter names the class that is created.
+ * </ul>
+ * @param param Parameters of the test.
+ * @return The created out producer.
+ */
+ public static LogWriter createOutProducer(HashMap<String,Object> param) {
+ LogWriter dbOut = null;
+ boolean getDatabase = convertToBool(param.get("DataBaseOut"));
+ if (getDatabase) {
+ dbOut = createDataBaseOutProducer(param);
+ }
+ if (dbOut == null) {
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ String outProducerName = (String)param.get("OutProducer");
+ if (outProducerName != null) {
+ try {
+ dbOut = (LogWriter)dcl.getInstance(outProducerName);
+ }
+ catch(IllegalArgumentException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ if (dbOut == null) {
+ dbOut = createSimpleOutProducer();
+ }
+ return dbOut;
+ }
+
+ /**
+ * Create a database out producer.
+ * @param param The test parameters
+ * @return The database out producer, or null if it couldn't be created.
+ */
+ private static LogWriter createDataBaseOutProducer(HashMap<String,Object> param) {
+ String dataProducerName = (String)param.get("DataBaseOutProducer");
+ if (dataProducerName == null) {
+ String testBaseName = (String)param.get("TestBase");
+ dataProducerName = testBaseName.substring(testBaseName.indexOf('_')+1);
+ dataProducerName = "stats." + makeFirstCharUpperCase(dataProducerName)
+ + "DataBaseOutProducer";
+ }
+ DynamicClassLoader dcl = new DynamicClassLoader();
+ LogWriter dbOut = null;
+ try {
+ dbOut = (LogWriter)dcl.getInstance(dataProducerName,
+ new Class[]{HashMap.class}, new Object[]{param});
+ }
+ catch(IllegalArgumentException e) {
+ e.printStackTrace();
+ }
+ return dbOut;
+ }
+
+ /**
+ * As a fallback, create a simple out producer, if all else failed.
+ * @return A simple out producer, writing to the screen.
+ */
+ private static LogWriter createSimpleOutProducer() {
+ return new SimpleOutProducer();
+ }
+
+ private static boolean convertToBool(Object val) {
+ if(val != null) {
+ if ( val instanceof String ) {
+ String sVal = (String)val;
+ if ( sVal.equalsIgnoreCase("true") || sVal.equalsIgnoreCase("yes") ) {
+ return true;
+ }
+
+ }
+ else if (val instanceof Boolean) {
+ return ((Boolean)val).booleanValue();
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Make the first character to an upper case char.
+ * @param name The String to change
+ * @return The String with an upper case first char.
+ */
+ private static String makeFirstCharUpperCase(String name) {
+ return name.substring(0,1).toUpperCase() + name.substring(1);
+ }
+
+}
diff --git a/qadevOOo/runner/stats/SimpleLogWriter.java b/qadevOOo/runner/stats/SimpleLogWriter.java
new file mode 100644
index 000000000..46e18527b
--- /dev/null
+++ b/qadevOOo/runner/stats/SimpleLogWriter.java
@@ -0,0 +1,94 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package stats;
+
+import share.LogWriter;
+
+import java.io.PrintWriter;
+import java.text.DecimalFormat;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
+public class SimpleLogWriter extends PrintWriter implements LogWriter {
+
+ private boolean m_bLogging = false;
+ private share.DescEntry entry = null;
+ private share.Watcher ow = null;
+
+ public SimpleLogWriter() {
+ super(System.out);
+ Calendar cal = new GregorianCalendar();
+ DecimalFormat dfmt = new DecimalFormat("00");
+ super.println("LOG> Log started " +
+ dfmt.format(cal.get(Calendar.DAY_OF_MONTH)) + "." +
+ dfmt.format(cal.get(Calendar.MONTH)) + "." +
+ dfmt.format(cal.get(Calendar.YEAR)) + " - " +
+ dfmt.format(cal.get(Calendar.HOUR_OF_DAY)) + ":" +
+ dfmt.format(cal.get(Calendar.MINUTE)) + ":" +
+ dfmt.format(cal.get(Calendar.SECOND)));
+ super.flush();
+ }
+
+ public boolean initialize(share.DescEntry _entry, boolean _bLogging) {
+ m_bLogging = _bLogging;
+ entry = _entry;
+
+ return true;
+ }
+
+ @Override
+ public void println(String msg) {
+ if ((ow == null) && (entry != null))
+ {
+ this.ow = (share.Watcher) entry.UserDefinedParams.get("Watcher");
+ if (this.ow != null)
+ {
+ this.ow.ping();
+ }
+ }
+ else
+ {
+ if (ow != null)
+ {
+ this.ow.ping();
+ }
+ else
+ {
+ // special case: ow == null && entry == null
+ System.out.println(msg);
+ }
+ }
+
+ if (m_bLogging) {
+ super.println("LOG> " + msg);
+ super.flush();
+ }
+ }
+
+ public boolean summary(share.DescEntry entry) {
+ return true;
+ }
+
+ public void setWatcher(Object watcher)
+ {
+ if (watcher != null)
+ {
+ entry.UserDefinedParams.put("Watcher", watcher);
+ }
+ }
+}
diff --git a/qadevOOo/runner/stats/SimpleOutProducer.java b/qadevOOo/runner/stats/SimpleOutProducer.java
new file mode 100644
index 000000000..93ca0503c
--- /dev/null
+++ b/qadevOOo/runner/stats/SimpleOutProducer.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package stats;
+
+import share.LogWriter;
+
+public class SimpleOutProducer implements LogWriter {
+
+
+ /** initialization, here a filename might be given
+ * or a dbUrL
+ */
+ public boolean initialize(share.DescEntry entry, boolean active) {
+ return true;
+ }
+
+ /** Method to print
+ */
+ public void println(String msg) {
+
+ }
+
+ /** will mostly be used by outproducers to sum up
+ * the information, maybe write them to a db
+ */
+ public boolean summary(share.DescEntry entry) {
+ String header = "***** State for "+entry.longName+" ******";
+ System.out.println(header);
+ if (entry.hasErrorMsg) {
+ System.out.println(entry.ErrorMsg);
+ System.out.println("Whole "+entry.EntryType+": "+entry.State);
+ } else {
+ System.out.println("Whole "+entry.EntryType+": "+entry.State);
+ }
+ for (int i=0;i<header.length();i++) {
+ System.out.print("*");
+ }
+ System.out.println("");
+ return true;
+ }
+
+ public void setWatcher(Object watcher) {
+ }
+
+}
diff --git a/qadevOOo/runner/stats/Summarizer.java b/qadevOOo/runner/stats/Summarizer.java
new file mode 100644
index 000000000..36addd5e6
--- /dev/null
+++ b/qadevOOo/runner/stats/Summarizer.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package stats;
+
+import java.util.ArrayList;
+
+import share.DescEntry;
+
+/**
+ *
+ * this class adds up the results of the subentries of a given DescEntry
+ * and fills the subentries in cases of SKIPPED states
+ */
+public class Summarizer
+{
+
+ /**
+ *
+ * gets the state for a SuperEntry according to its subentries
+ */
+ public void summarizeUp(DescEntry entry)
+ {
+ if ((entry.State != null) && !entry.State.equals("UNKNOWN"))
+ {
+ return;
+ }
+ int count = entry.SubEntryCount;
+ int knownIssues = 0;
+ ArrayList<String> failures = new ArrayList<String>();
+ ArrayList<String> states = new ArrayList<String>();
+ for (int i = 0; i < count; i++)
+ {
+ if (entry.SubEntries[i].State == null)
+ {
+ entry.SubEntries[i].State = "COMPLETED.FAILED";
+ }
+ if (entry.SubEntries[i].State.equals("known issue"))
+ {
+ entry.SubEntries[i].State = "COMPLETED.OK";
+ knownIssues++;
+ }
+ if (!entry.SubEntries[i].State.endsWith("OK"))
+ {
+ String sFailure = "[" + entry.SubEntries[i].longName + "]" + " is testcode: [" + entry.SubEntries[i].entryName + "]";
+ failures.add(sFailure);
+ states.add(entry.SubEntries[i].State);
+ }
+ }
+ if (failures.size() > 0)
+ {
+ StringBuilder errMsg = new StringBuilder();
+ String state = "COMPLETED.FAILED";
+ for (int j = 0; j < failures.size(); j++)
+ {
+ if (states.get(j).equals("not part of the job"))
+ {
+ state = "COMPLETED(some interfaces/services not tested).OK";
+ }
+ else
+ {
+ errMsg.append(failures.get(j)).append(" - ").append(states.get(j)).append("\r\n");
+ }
+ }
+ entry.hasErrorMsg = true;
+ entry.ErrorMsg = errMsg.toString();
+ entry.State = state;
+ }
+ else if (entry.EntryType.equals("component") && knownIssues > 0)
+ {
+ entry.State = "COMPLETED(with known issues).OK";
+ }
+ else
+ {
+ entry.State = "COMPLETED.OK";
+ }
+ }
+
+ public static void summarizeDown(DescEntry entry, String state)
+ {
+ if ((entry.State == null) || entry.State.equals("UNKNOWN"))
+ {
+ entry.State = state;
+ }
+ for (int i = 0; i < entry.SubEntryCount; i++)
+ {
+ summarizeDown(entry.SubEntries[i], entry.State);
+ }
+ }
+}
diff --git a/qadevOOo/runner/util/AccessibilityTools.java b/qadevOOo/runner/util/AccessibilityTools.java
new file mode 100644
index 000000000..4426af496
--- /dev/null
+++ b/qadevOOo/runner/util/AccessibilityTools.java
@@ -0,0 +1,383 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package util;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+
+public class AccessibilityTools {
+ public static XAccessible SearchedAccessible = null;
+ private static boolean debug = false;
+
+ private AccessibilityTools() {}
+
+ public static XAccessible getAccessibleObject(XInterface xObject) {
+ return UnoRuntime.queryInterface(XAccessible.class, xObject);
+ }
+
+ public static XWindow getCurrentContainerWindow(XModel xModel) {
+ return getWindow(xModel, true);
+ }
+
+ public static XWindow getCurrentWindow(XModel xModel) {
+ return getWindow(xModel, false);
+ }
+
+ private static XWindow getWindow(XModel xModel,
+ boolean containerWindow) {
+ XWindow xWindow = null;
+
+ try {
+ XController xController = xModel.getCurrentController();
+ XFrame xFrame = xController.getFrame();
+
+ if (xFrame == null) {
+ System.out.println("can't get frame from controller");
+ } else {
+ if (containerWindow)
+ xWindow = xFrame.getContainerWindow();
+ else
+ xWindow = xFrame.getComponentWindow();
+ }
+
+ if (xWindow == null) {
+ System.out.println("can't get window from frame");
+ }
+ } catch (Exception e) {
+ System.out.println("caught exception while getting current window" + e);
+ }
+
+ return xWindow;
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRole(XAccessible xacc,
+ short role) {
+ SearchedAccessible = null;
+ return getAccessibleObjectForRole_(xacc, role);
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRole(XAccessible xacc,
+ short role,
+ boolean ignoreShowing) {
+ SearchedAccessible = null;
+
+ if (ignoreShowing) {
+ return getAccessibleObjectForRoleIgnoreShowing_(xacc, role);
+ } else {
+ return getAccessibleObjectForRole_(xacc, role);
+ }
+ }
+
+ private static XAccessibleContext getAccessibleObjectForRoleIgnoreShowing_(XAccessible xacc,
+ short role) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ if (ac == null) {
+ return null;
+ }
+ if (ac.getAccessibleRole() == role) {
+ SearchedAccessible = xacc;
+ return ac;
+ } else {
+ int k = ac.getAccessibleChildCount();
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = 50;
+ }
+
+ for (int i = 0; i < k; i++) {
+ try {
+ XAccessibleContext ac2 = getAccessibleObjectForRoleIgnoreShowing_(
+ ac.getAccessibleChild(i), role);
+
+ if (ac2 != null) {
+ return ac2;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ return null;
+ }
+ }
+
+ private static XAccessibleContext getAccessibleObjectForRole_(XAccessible xacc,
+ short role) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ boolean isShowing = ac.getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SHOWING);
+
+ if ((ac.getAccessibleRole() == role) && isShowing) {
+ SearchedAccessible = xacc;
+ return ac;
+ } else {
+ int k = ac.getAccessibleChildCount();
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = 50;
+ }
+
+ for (int i = 0; i < k; i++) {
+ try {
+ XAccessibleContext ac2 = getAccessibleObjectForRole_(ac.getAccessibleChild(i), role);
+
+ if (ac2 != null) {
+ return ac2;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ return null;
+ }
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRole(XAccessible xacc,
+ short role,
+ String name) {
+ return getAccessibleObjectForRole(xacc, role, name, "");
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRole(XAccessible xacc,
+ short role,
+ String name,
+ boolean ignoreShowing) {
+ if (ignoreShowing) {
+ return getAccessibleObjectForRoleIgnoreShowing(xacc, role, name,
+ "");
+ } else {
+ return getAccessibleObjectForRole(xacc, role, name, "");
+ }
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRoleIgnoreShowing(XAccessible xacc,
+ short role,
+ String name,
+ String implName) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ if ((ac.getAccessibleRole() == role) &&
+ (ac.getAccessibleName().indexOf(name) > -1) &&
+ (utils.getImplName(ac).indexOf(implName) > -1)) {
+ SearchedAccessible = xacc;
+
+ return ac;
+ } else {
+ int k = ac.getAccessibleChildCount();
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = 50;
+ }
+
+ for (int i = 0; i < k; i++) {
+ try {
+ XAccessibleContext ac1 = getAccessibleObjectForRoleIgnoreShowing(
+ ac.getAccessibleChild(i),
+ role, name, implName);
+
+ if (ac1 != null) {
+ return ac1;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+
+ return null;
+ }
+
+ public static XAccessibleContext getAccessibleObjectForRole(XAccessible xacc,
+ short role,
+ String name,
+ String implName) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ boolean isShowing = ac.getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SHOWING);
+
+ // hotfix for i91828:
+ // if role to search is 0 then ignore the role.
+ if ( (role == 0 || ac.getAccessibleRole() == role) &&
+ (ac.getAccessibleName().indexOf(name) > -1) &&
+ (utils.getImplName(ac).indexOf(implName) > -1) &&
+ isShowing) {
+ SearchedAccessible = xacc;
+ return ac;
+ } else {
+ int k = ac.getAccessibleChildCount();
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = 50;
+ }
+
+ for (int i = 0; i < k; i++) {
+ try {
+ XAccessibleContext ac1 = getAccessibleObjectForRole(
+ ac.getAccessibleChild(i),
+ role, name, implName);
+
+ if (ac1 != null) {
+ return ac1;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+
+ return null;
+ }
+
+ public static void printAccessibleTree(PrintWriter log, XAccessible xacc, boolean debugIsActive) {
+ debug = debugIsActive;
+ if (debug) printAccessibleTree(log, xacc, "");
+ }
+
+ public static void printAccessibleTree(PrintWriter log, XAccessible xacc) {
+ printAccessibleTree(log, xacc, "");
+ }
+
+ private static void printAccessibleTree(PrintWriter log,
+ XAccessible xacc, String indent) {
+
+ XAccessibleContext ac = xacc.getAccessibleContext();
+
+ logging(log,indent + ac.getAccessibleRole() + "," +
+ ac.getAccessibleName() + "(" +
+ ac.getAccessibleDescription() + "):" +
+ utils.getImplName(ac));
+
+ XAccessibleComponent aComp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class, xacc);
+
+ if (aComp != null) {
+ String bounds = "(" + aComp.getBounds().X + "," +
+ aComp.getBounds().Y + ")" + " (" +
+ aComp.getBounds().Width + "," +
+ aComp.getBounds().Height + ")";
+ bounds = "The boundary Rectangle is " + bounds;
+ logging(log,indent + indent + bounds);
+ }
+
+ boolean isShowing = ac.getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SHOWING);
+ logging(log,indent + indent + "StateType contains SHOWING: " +
+ isShowing);
+
+ int k = ac.getAccessibleChildCount();
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = 50;
+ }
+
+ for (int i = 0; i < k; i++) {
+ try {
+ printAccessibleTree(log, ac.getAccessibleChild(i),
+ indent + " ");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+
+ if (ac.getAccessibleChildCount() > 100) {
+ k = ac.getAccessibleChildCount();
+
+ int st = ac.getAccessibleChildCount() - 50;
+ logging(log,indent + " " + " ...... [skipped] ......");
+
+ for (int i = st; i < k; i++) {
+ try {
+ printAccessibleTree(log, ac.getAccessibleChild(i),
+ indent + " ");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+ }
+
+ public static String accessibleToString(Object AC) {
+ XAccessibleContext xAC = UnoRuntime.queryInterface(
+ XAccessibleContext.class, AC);
+
+ if (xAC != null) {
+ return xAC.getAccessibleRole() + "," +
+ xAC.getAccessibleName() + "(" +
+ xAC.getAccessibleDescription() + "):";
+ }
+
+ XAccessible xA = UnoRuntime.queryInterface(
+ XAccessible.class, AC);
+
+ if (xA == null) {
+ return "(Not supported)";
+ }
+
+ xAC = xA.getAccessibleContext();
+
+ return xAC.getAccessibleRole() + "," + xAC.getAccessibleName() +
+ "(" + xAC.getAccessibleDescription() + ")";
+ }
+
+ public static boolean equals(XAccessible c1, XAccessible c2) {
+ if ((c1 == null) || (c2 == null)) {
+ return c1 == c2;
+ }
+
+ return AccessibilityTools.equals(c1.getAccessibleContext(),
+ c2.getAccessibleContext());
+ }
+
+ public static boolean equals(XAccessibleContext c1, XAccessibleContext c2) {
+ if ((c1 == null) || (c2 == null)) {
+ return c1 == c2;
+ }
+
+ if (c1.getAccessibleRole() != c2.getAccessibleRole()) {
+ return false;
+ }
+
+ if (!c1.getAccessibleName().equals(c2.getAccessibleName())) {
+ return false;
+ }
+
+ if (!c1.getAccessibleDescription()
+ .equals(c2.getAccessibleDescription())) {
+ return false;
+ }
+
+ if (c1.getAccessibleChildCount() != c2.getAccessibleChildCount()) {
+ return false;
+ }
+
+ return AccessibilityTools.equals(c1.getAccessibleParent(),
+ c2.getAccessibleParent());
+ }
+
+ private static void logging(PrintWriter log, String content){
+ if (debug) log.println(content);
+ }
+}
diff --git a/qadevOOo/runner/util/BookmarkDsc.java b/qadevOOo/runner/util/BookmarkDsc.java
new file mode 100644
index 000000000..02736c9ba
--- /dev/null
+++ b/qadevOOo/runner/util/BookmarkDsc.java
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextContent;
+
+/**
+ * describes a Bookmark to be inserted in a container
+ */
+public class BookmarkDsc extends InstDescr {
+
+ private static final String service = "com.sun.star.text.Bookmark";
+ private static final String ifcName = "com.sun.star.text.XTextContent";
+
+
+ public BookmarkDsc() {
+ initBookmark();
+ }
+
+ @Override
+ public String getName() {
+ return null;
+ }
+
+ @Override
+ public String getIfcName() {
+ return ifcName;
+ }
+
+ @Override
+ public String getService() {
+ return service;
+ }
+
+ private void initBookmark() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ @Override
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object ServiceObj = null;
+
+ try {
+ ServiceObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+ XTextContent BM = (XTextContent)UnoRuntime.queryInterface( ifcClass,
+ ServiceObj );
+ return BM;
+ }
+}
diff --git a/qadevOOo/runner/util/CalcTools.java b/qadevOOo/runner/util/CalcTools.java
new file mode 100644
index 000000000..e9a84cdbc
--- /dev/null
+++ b/qadevOOo/runner/util/CalcTools.java
@@ -0,0 +1,127 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.IndexOutOfBoundsException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XCellRangeData;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * This class contains some useful methods to handle Calc documents
+ * and its sheets.
+ */
+public class CalcTools {
+
+ /**
+ * fills a range of a calc sheet with computed data of type
+ * <CODE>Double</CODE>.
+ * @param xSheetDoc the Calc documents which should be filled
+ * @param sheetNumber the number of the sheet of <CODE>xSheetDoc</CODE>
+ * @param startCellX the cell number of the X start point (row) of the range to fill
+ * @param startCellY the cell number of the Y start point (column) of the range to fill
+ * @param rangeLengthX the size of the range expansion in X-direction
+ * @param rangeLengthY the size of the range expansion in Y-direction
+ * @throws java.lang.Exception on any error an <CODE>java.lang.Exception</CODE> was thrown
+ */
+ public static void fillCalcSheetWithContent(XComponent xSheetDoc, int sheetNumber,
+ int startCellX, int startCellY, int rangeLengthX, int rangeLengthY)
+ throws java.lang.Exception {
+ XSpreadsheet xSheet = getSpreadSheetFromSheetDoc(xSheetDoc, sheetNumber);
+
+ fillCalcSheetWithContent(xSheet, startCellX, startCellY, rangeLengthX, rangeLengthY);
+ }
+
+ /**
+ * fills a range of a calc sheet with computed data of type
+ * <CODE>Double</CODE>.
+ * @param xSheet the sheet to fill with content
+ * @param startCellX the cell number of the X start point (row) of the range to fill
+ * @param startCellY the cell number of the Y start point (column) of the range to fill
+ * @param rangeLengthX the size of the range expansion in X-direction
+ * @param rangeLengthY the size of the range expansion in Y-direction
+ * @throws java.lang.Exception on any error an <CODE>java.lang.Exception</CODE> was thrown
+ */
+ public static void fillCalcSheetWithContent(XSpreadsheet xSheet,
+ int startCellX, int startCellY, int rangeLengthX, int rangeLengthY)
+ throws java.lang.Exception {
+ // create a range with content
+ Object[][] newData = new Object[rangeLengthY][rangeLengthX];
+ for (int i=0; i<rangeLengthY; i++) {
+ for (int j=0; j<rangeLengthX; j++) {
+ newData[i][j] = new Double(10*i +j);
+ }
+ }
+ XCellRange xRange = null;
+ try {
+ xRange = xSheet.getCellRangeByPosition(startCellX, startCellY,
+ startCellX+rangeLengthX-1, startCellY+rangeLengthY-1);
+ } catch ( IndexOutOfBoundsException ex){
+ throw new Exception(ex, "Couldn't get CellRange from sheet");
+ }
+
+ XCellRangeData xRangeData = UnoRuntime.queryInterface(XCellRangeData.class, xRange);
+
+ xRangeData.setDataArray(newData);
+ }
+
+ /**
+ *
+ * returns an <CODE>XSpreadsheet</CODE> from a Calc document.
+ * @param xSheetDoc the Calc document which contains the sheet
+ * @param sheetNumber the number of the sheet to return
+ * @throws java.lang.Exception on any error an <CODE>java.lang.Exception</CODE> was thrown
+ * @return calc sheet
+ * @see com.sun.star.sheet.XSpreadsheet
+ */
+ private static XSpreadsheet getSpreadSheetFromSheetDoc(XComponent xSheetDoc, int sheetNumber)
+ throws java.lang.Exception {
+
+ XSpreadsheet xSheet = null;
+
+ try{
+ XSpreadsheetDocument xSpreadsheetDoc = UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+
+ XSpreadsheets xSpreadsheets = xSpreadsheetDoc.getSheets();
+
+ XIndexAccess xSheetsIndexArray = UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+
+ xSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),xSheetsIndexArray.getByIndex(sheetNumber));
+
+ } catch (IllegalArgumentException ex){
+ throw new Exception(ex, "Couldn't get sheet '" +sheetNumber + "'");
+ } catch (IndexOutOfBoundsException ex){
+ throw new Exception(ex, "Couldn't get sheet '" +sheetNumber + "'");
+ } catch (WrappedTargetException ex) {
+ throw new Exception(ex, "Couldn't get sheet '" +sheetNumber + "'");
+ }
+ return xSheet;
+ }
+}
diff --git a/qadevOOo/runner/util/DBTools.java b/qadevOOo/runner/util/DBTools.java
new file mode 100644
index 000000000..387ba57e8
--- /dev/null
+++ b/qadevOOo/runner/util/DBTools.java
@@ -0,0 +1,409 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.uno.Exception;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.sdbc.XConnection ;
+import com.sun.star.util.Date ;
+import com.sun.star.uno.XNamingService ;
+import com.sun.star.task.XInteractionHandler ;
+import com.sun.star.sdb.XCompletedConnection ;
+import com.sun.star.frame.XStorable;
+import com.sun.star.sdb.XDocumentDataSource;
+import java.sql.Statement;
+import java.sql.Connection;
+import java.sql.DriverManager;
+
+/**
+* Provides useful methods for working with SOffice databases.
+* Database creation, data transferring, outputting information.
+*/
+public class DBTools {
+
+ private final XMultiServiceFactory xMSF;
+ private XNamingService dbContext;
+ //JDBC driver
+ public static final String TST_JDBC_DRIVER = "org.gjt.mm.mysql.Driver";
+
+ // constants for TestDB table column indexes
+ public static final int TST_STRING = 1 ;
+ public static final int TST_INT = 2 ;
+ private static final int TST_DOUBLE = 5 ;
+ private static final int TST_DATE = 6 ;
+ private static final int TST_BOOLEAN = 10 ;
+ private static final int TST_CHARACTER_STREAM = 11 ;
+ private static final int TST_BINARY_STREAM = 12 ;
+
+ // constants for TestDB columns names
+ public static final String TST_STRING_F = "_TEXT" ;
+ public static final String TST_INT_F = "_INT" ;
+ public static final String TST_DOUBLE_F = "_DOUBLE" ;
+ public static final String TST_DATE_F = "_DATE" ;
+ private static final String TST_BOOLEAN_F = "_BOOL" ;
+ private static final String TST_CHARACTER_STREAM_F = "_MEMO1" ;
+ public static final String TST_BINARY_STREAM_F = "_MEMO2" ;
+
+ /**
+ * Values for filling test table.
+ */
+ public static final Object[][] TST_TABLE_VALUES = new Object[][] {
+ {"String1", Integer.valueOf(1), null, null, new Double(1.1),
+ new Date((short) 1,(short) 1, (short) 2001), null, null, null,
+ Boolean.TRUE, null, null},
+ {"String2", Integer.valueOf(2), null, null, new Double(1.2),
+ new Date((short) 2, (short) 1,(short) 2001), null, null, null,
+ Boolean.FALSE, null, null},
+ {null, null, null, null, null,
+ null, null, null, null,
+ null, null, null}
+ } ;
+
+ /**
+ * It's just a structure with some useful methods for representing
+ * <code>com.sun.star.sdb.DataSource</code> service. All this
+ * service's properties are stored in appropriate class fields.
+ * Class also allows to construct its instances using service
+ * information, and create new service instance upon class
+ * fields.
+ * @see com.sun.star.sdb.DataSource
+ */
+ public class DataSourceInfo {
+ /**
+ * Representation of <code>'Name'</code> property.
+ */
+ public String Name = null ;
+ /**
+ * Representation of <code>'URL'</code> property.
+ */
+ public String URL = null ;
+ /**
+ * Representation of <code>'Info'</code> property.
+ */
+ public PropertyValue[] Info = null ;
+ /**
+ * Representation of <code>'User'</code> property.
+ */
+ public String User = null ;
+ /**
+ * Representation of <code>'Password'</code> property.
+ */
+ public String Password = null ;
+ /**
+ * Representation of <code>'IsPasswordRequired'</code> property.
+ */
+ public Boolean IsPasswordRequired = null ;
+
+ /**
+ * Creates new <code>com.sun.star.sdb.DataSource</code> service
+ * instance and copies all fields (which are not null) to
+ * appropriate service properties.
+ * @return <code>com.sun.star.sdb.DataSource</code> service.
+ */
+ public Object getDataSourceService() throws Exception
+ {
+ Object src = xMSF.createInstance("com.sun.star.sdb.DataSource") ;
+
+ XPropertySet props = UnoRuntime.queryInterface
+ (XPropertySet.class, src) ;
+
+ if (Name != null) props.setPropertyValue("Name", Name) ;
+ if (URL != null) props.setPropertyValue("URL", URL) ;
+ if (Info != null) props.setPropertyValue("Info", Info) ;
+ if (User != null) props.setPropertyValue("User", User) ;
+ if (Password != null) props.setPropertyValue("Password", Password) ;
+ if (IsPasswordRequired != null) props.setPropertyValue("IsPasswordRequired", IsPasswordRequired) ;
+ return src ;
+ }
+ }
+
+ /**
+ * Creates class instance.
+ * @param xMSF <code>XMultiServiceFactory</code>.
+ */
+ public DBTools(XMultiServiceFactory xMSF )
+ {
+ this.xMSF = xMSF ;
+ try {
+ Object cont = xMSF.createInstance("com.sun.star.sdb.DatabaseContext") ;
+
+ dbContext = UnoRuntime.queryInterface
+ (XNamingService.class, cont) ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ System.out.println("caught exception: " + e);
+ }
+ }
+
+ /**
+ * Returns new instance of <code>DataSourceInfo</code> class.
+ */
+ public DataSourceInfo newDataSourceInfo() { return new DataSourceInfo() ;}
+
+
+
+ /**
+ * Registers the datasource on the specified name in
+ * <code>DatabaseContext</code> service.
+ * @param name Name which dataSource will have in global context.
+ * @param dataSource <code>DataSource</code> object which is to
+ * be registered.
+ */
+ private void registerDB(String name, Object dataSource)
+ throws com.sun.star.uno.Exception {
+
+ dbContext.registerObject(name, dataSource) ;
+ }
+
+
+ /**
+ * First tries to revoke the datasource with the specified
+ * name and then registers a new one.
+ * @param name Name which dataSource will have in global context.
+ * @param dataSource <code>DataSource</code> object which is to
+ * be registered.
+ */
+ public void reRegisterDB(String name, Object dataSource)
+ throws com.sun.star.uno.Exception {
+
+ try {
+ revokeDB(name) ;
+ } catch (com.sun.star.uno.Exception e) {}
+
+ XDocumentDataSource xDDS = UnoRuntime.queryInterface(XDocumentDataSource.class, dataSource);
+ XStorable store = UnoRuntime.queryInterface(XStorable.class,
+ xDDS.getDatabaseDocument());
+ String aFile = utils.getOfficeTemp(xMSF) + name + ".odb";
+ store.storeAsURL(aFile, new PropertyValue[] { });
+
+ registerDB(name, dataSource) ;
+ }
+
+
+
+
+
+ /**
+ * Performs connection to DataSource specified.
+ * @param dbSource <code>com.sun.star.sdb.DataSource</code> service
+ * specified data source which must be already registered in the
+ * <code>DatabaseContext</code> service.
+ * @return Connection to the data source.
+ */
+ public XConnection connectToSource(Object dbSource)
+ throws com.sun.star.uno.Exception {
+
+ Object handler = xMSF.createInstance("com.sun.star.sdb.InteractionHandler");
+ XInteractionHandler xHandler = UnoRuntime.queryInterface(XInteractionHandler.class, handler) ;
+
+ XCompletedConnection xSrcCon = UnoRuntime.queryInterface(XCompletedConnection.class, dbSource) ;
+
+ return xSrcCon.connectWithCompletion(xHandler) ;
+ }
+
+ /**
+ * Convert system pathname to SOffice URL string
+ * (for example 'C:\Temp\DBDir\' -> 'file:///C|/Temp/DBDir/').
+ * (for example '\\server\Temp\DBDir\' -> 'file://server/Temp/DBDir/').
+ * Already converted string returned unchanged.
+ */
+ public static String dirToUrl(String dir) {
+ String retVal = null;
+ if (dir.startsWith("file:/")) retVal = dir;
+ else {
+ retVal = dir.replace(':', '|').replace('\\', '/');
+
+ if (dir.startsWith("\\\\")) {
+ retVal = "file:" + retVal;
+ }
+
+ else retVal = "file:///" + retVal ;
+ }
+ return retVal;
+ }
+
+ /**
+ * Revokes datasource from global DB context.
+ * @param name DataSource name to be revoked.
+ */
+ public void revokeDB(String name) throws com.sun.star.uno.Exception
+ {
+ dbContext.revokeObject(name) ;
+ }
+
+ /**
+ * Initializes test table specified of the connection specified
+ * using JDBC driver. Drops table with the name <code>tbl_name</code>,
+ * creates new table with this name and then inserts data from
+ * <code>TST_TABLE_VALUES</code> constant array. <p>
+ * Test table has some predefined format which includes as much
+ * field types as possible. For every column type constants
+ * {@link #TST_STRING TST_STRING}, {@link #TST_INT TST_INT}, etc.
+ * are declared for column index fast find.
+ * @param tbl_name Test table name.
+ */
+ public void initTestTableUsingJDBC(String tbl_name, DataSourceInfo dsi)
+ throws java.sql.SQLException,
+ ClassNotFoundException {
+
+ //register jdbc driver
+ if ( dsi.Info[0].Name.equals("JavaDriverClass") ) {
+ Class.forName((String)dsi.Info[0].Value);
+ } else {
+ Class.forName(TST_JDBC_DRIVER);
+ }
+
+ Connection connection = null;
+ Statement statement = null;
+ try {
+ //getting connection
+ connection = DriverManager.getConnection(dsi.URL, dsi.User, dsi.Password);
+ try {
+ statement = connection.createStatement();
+
+ //drop table
+ dropMySQLTable(statement, tbl_name);
+
+ //create table
+ createMySQLTable(statement, tbl_name);
+
+ //insert some content
+ insertContentMySQLTable(statement, tbl_name);
+ } finally {
+ if (statement != null)
+ statement.close();
+ }
+ } finally {
+ if (connection != null)
+ connection.close();
+ }
+ }
+
+ /**
+ * Inserts data from <code>TST_TABLE_VALUES</code> constant array
+ * to test table <code>tbl_name</code>.
+ * @param statement object used for executing a static SQL
+ * statement and obtaining the results produced by it.
+ * @param tbl_name Test table name.
+ */
+ private void insertContentMySQLTable(Statement statement, String tbl_name)
+ throws java.sql.SQLException {
+
+
+ for(int i = 0; i < DBTools.TST_TABLE_VALUES.length; i++) {
+ StringBuilder query = new StringBuilder("insert into " + tbl_name + " values (");
+ int j = 0;
+ while(j < DBTools.TST_TABLE_VALUES[i].length) {
+ if (j > 0) {
+ query.append(", ");
+ }
+ Object value = DBTools.TST_TABLE_VALUES[i][j];
+ if (value instanceof String ||
+ value instanceof Date) {
+ query.append("'");
+ }
+ if (value instanceof Date) {
+ Date date = (Date)value;
+ query.append(date.Year).append("-").append(date.Month).append(
+ "-").append(date.Day);
+ } else if (value instanceof Boolean) {
+ query.append((((Boolean)value).booleanValue())
+ ? "1" : "0");
+ } else {
+ query.append(value);
+ }
+
+ if (value instanceof String ||
+ value instanceof Date) {
+ query.append("'");
+ }
+ j++;
+ }
+ query.append(")");
+ statement.executeUpdate(query.toString());
+ }
+ }
+
+ /**
+ * Creates test table specified.
+ * Test table has some predefined format which includes as much
+ * field types as possible. For every column type constants
+ * {@link #TST_STRING TST_STRING}, {@link #TST_INT TST_INT}, etc.
+ * are declared for column index fast find.
+ * @param statement object used for executing a static SQL
+ * statement and obtaining the results produced by it.
+ * @param tbl_name Test table name.
+ */
+ private void createMySQLTable(Statement statement, String tbl_name)
+ throws java.sql.SQLException {
+
+ final String empty_col_name = "Column";
+ int c = 0;
+ String query = "create table " + tbl_name + " (";
+ for (int i = 0; i < TST_TABLE_VALUES[0].length; i++) {
+ if (i > 0) query += ",";
+
+ switch(i + 1) {
+ case TST_BINARY_STREAM:
+ query += TST_BINARY_STREAM_F + " BLOB";
+ break;
+ case TST_BOOLEAN:
+ query += TST_BOOLEAN_F + " TINYINT";
+ break;
+ case TST_CHARACTER_STREAM:
+ query += TST_CHARACTER_STREAM_F + " TEXT";
+ break;
+ case TST_DATE:
+ query += TST_DATE_F + " DATE";
+ break;
+ case TST_DOUBLE:
+ query += TST_DOUBLE_F + " DOUBLE";
+ break;
+ case TST_INT:
+ query += TST_INT_F + " INT";
+ break;
+ case TST_STRING:
+ query += TST_STRING_F + " TEXT";
+ break;
+ default: query += empty_col_name + (c++) + " INT";
+ if (c == 1) {
+ query += " NOT NULL AUTO_INCREMENT";
+ }
+ }
+ }
+ query += ", PRIMARY KEY (" + empty_col_name + "0)";
+ query += ")";
+ statement.execute(query);
+ }
+
+ /**
+ * Drops table.
+ * @param statement object used for executing a static SQL
+ * statement and obtaining the results produced by it.
+ * @param tbl_name Test table name.
+ */
+ private void dropMySQLTable(Statement statement, String tbl_name)
+ throws java.sql.SQLException {
+ statement.executeUpdate("drop table if exists " + tbl_name);
+ }
+}
diff --git a/qadevOOo/runner/util/DefaultDsc.java b/qadevOOo/runner/util/DefaultDsc.java
new file mode 100644
index 000000000..9c270007c
--- /dev/null
+++ b/qadevOOo/runner/util/DefaultDsc.java
@@ -0,0 +1,75 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * This descriptor is useful for instances in default values.
+ */
+public class DefaultDsc extends InstDescr {
+
+ private final String name = null;
+ private final String ifcName;
+ private final String service;
+
+ public DefaultDsc( String Interface, String kind ) {
+ service = kind;
+ ifcName = Interface;
+ initDefault();
+ }
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public String getIfcName() {
+ return ifcName;
+ }
+ @Override
+ public String getService() {
+ return service;
+ }
+
+ private void initDefault() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ @Override
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+
+ Object SrvObj = null;
+ try {
+ SrvObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+
+ XInterface Default = (XInterface)UnoRuntime.queryInterface(ifcClass, SrvObj );
+
+ return Default;
+
+ }
+}
diff --git a/qadevOOo/runner/util/DesktopTools.java b/qadevOOo/runner/util/DesktopTools.java
new file mode 100644
index 000000000..1c1b04402
--- /dev/null
+++ b/qadevOOo/runner/util/DesktopTools.java
@@ -0,0 +1,516 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package util;
+
+import helper.ConfigHelper;
+
+import java.io.BufferedInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.ArrayList;
+
+import lib.StatusException;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.WindowDescriptor;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XTopWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lib.uno.adapter.ByteArrayToXInputStreamAdapter;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.util.XModifiable;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+ * contains helper methods for the Desktop
+ */
+public class DesktopTools
+{
+
+ /**
+ * Queries the XComponentLoader
+ *
+ * @param xMSF the MultiServiceFactory
+ * @return the gained XComponentLoader
+ */
+ private static XComponentLoader getCLoader(XMultiServiceFactory xMSF)
+ {
+ XComponentLoader oCLoader = UnoRuntime.queryInterface(
+ XComponentLoader.class, createDesktop(xMSF));
+
+ return oCLoader;
+ }
+
+ /**
+ * Creates an Instance of the Desktop service
+ *
+ * @param xMSF the MultiServiceFactory
+ * @return the gained XDesktop object
+ */
+ public static XDesktop createDesktop(XMultiServiceFactory xMSF)
+ {
+ XDesktop xDesktop;
+
+ try
+ {
+ xDesktop = UnoRuntime.queryInterface(
+ XDesktop.class, xMSF.createInstance("com.sun.star.comp.framework.Desktop"));
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ throw new IllegalArgumentException("Desktop Service not available", e);
+ }
+
+ return xDesktop;
+ }
+
+ /**
+ * returns a XEnumeration containing all components containing on the desktop
+ * @param xMSF the XMultiServiceFactory
+ * @return XEnumeration of all components on the desktop
+ */
+ public static XEnumeration getAllComponents(XMultiServiceFactory xMSF)
+ {
+ return createDesktop(xMSF).getComponents().createEnumeration();
+ }
+
+
+
+ /**
+ * returns the current component on the desktop
+ * @param xMSF the XMultiServiceFactory
+ * @return XComponent of the current component on the desktop
+ */
+ public static XFrame getCurrentFrame(XMultiServiceFactory xMSF)
+ {
+ return createDesktop(xMSF).getCurrentFrame();
+ }
+
+ /**
+ * returns an object array of all open documents
+ * @param xMSF the MultiServiceFactory
+ * @return returns an Array of document kinds like ["swriter"]
+ */
+ public static Object[] getAllOpenDocuments(XMultiServiceFactory xMSF)
+ {
+ ArrayList<XComponent> components = new ArrayList<XComponent>();
+
+ XEnumeration allComp = getAllComponents(xMSF);
+
+ while (allComp.hasMoreElements())
+ {
+ try
+ {
+ XComponent xComponent = UnoRuntime.queryInterface(
+ XComponent.class, allComp.nextElement());
+
+ if (getDocumentType(xComponent) != null)
+ {
+ components.add(xComponent);
+ }
+
+ }
+ catch (com.sun.star.container.NoSuchElementException e)
+ {
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ }
+ }
+ return components.toArray();
+ }
+
+ /**
+ * Returns the document type for the given XComponent of a document
+ * @param xComponent the document to query for its type
+ * @return possible:
+ * <ul>
+ * <li>swriter</li>
+ * <li>scalc</li>
+ * <li>sdraw</li>
+ * <li>smath</li>
+ * </ul>
+ * or <CODE>null</CODE>
+ */
+ private static String getDocumentType(XComponent xComponent)
+ {
+ XServiceInfo sInfo = UnoRuntime.queryInterface(
+ XServiceInfo.class, xComponent);
+
+ if (sInfo == null)
+ {
+ return "";
+ }
+ else if (sInfo.supportsService("com.sun.star.sheet.SpreadsheetDocument"))
+ {
+ return "scalc";
+ }
+ else if (sInfo.supportsService("com.sun.star.text.TextDocument"))
+ {
+ return "swriter";
+ }
+ else if (sInfo.supportsService("com.sun.star.drawing.DrawingDocument"))
+ {
+ return "sdraw";
+ }
+ else if (sInfo.supportsService("com.sun.star.presentation.PresentationDocument"))
+ {
+ return "simpress";
+ }
+ else if (sInfo.supportsService("com.sun.star.formula.FormulaProperties"))
+ {
+ return "smath";
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * Opens a new document of a given kind
+ * with arguments
+ * @return the XComponent Interface of the document
+ * @param kind the kind of document to load.<br>
+ * possible:
+ * <ul>
+ * <li>swriter</li>
+ * <li>scalc</li>
+ * <li>sdaw</li>
+ * <li>smath</li>
+ * </ul>
+ * @param Args arguments which passed to the document to load
+ * @param xMSF the MultiServiceFactory
+ */
+ public static XComponent openNewDoc(XMultiServiceFactory xMSF, String kind,
+ PropertyValue[] Args)
+ {
+ XComponent oDoc = null;
+
+ try
+ {
+ oDoc = getCLoader(xMSF).loadComponentFromURL("private:factory/" + kind,
+ "_blank", 0, Args);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ throw new IllegalArgumentException("Document could not be opened", e);
+ }
+
+ return oDoc;
+ }
+
+ /**
+ * loads a document of from a given url
+ * with arguments
+ * @return the XComponent Interface of the document
+ * @param url the URL of the document to load.
+ * @param Args arguments which passed to the document to load
+ * @param xMSF the MultiServiceFactory
+ */
+ public static XComponent loadDoc(XMultiServiceFactory xMSF, String url,
+ PropertyValue[] Args)
+ {
+ XComponent oDoc = null;
+ if (Args == null)
+ {
+ Args = new PropertyValue[0];
+ }
+ try
+ {
+ oDoc = getCLoader(xMSF).loadComponentFromURL(url, "_blank", 0, Args);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ throw new IllegalArgumentException("Document could not be loaded", e);
+ }
+
+ bringWindowToFront(oDoc);
+ return oDoc;
+ }
+
+ /**
+ * loads a document of from a given path using an input stream
+ *
+ * @param xMSF the MultiServiceFactory
+ * @param filePath the path of the document to load.
+ * @return the XComponent Interface of the document
+ */
+ public static XComponent loadDocUsingStream(XMultiServiceFactory xMSF, String filePath)
+ {
+ XInputStream inputStream = null;
+ try {
+ final InputStream inputFile = new BufferedInputStream(
+ new FileInputStream(filePath));
+ try {
+ final ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+ final byte[] byteBuffer = new byte[4096];
+ int byteBufferLength = 0;
+ while ((byteBufferLength = inputFile.read(byteBuffer)) > 0)
+ bytes.write(byteBuffer, 0, byteBufferLength);
+ inputStream = new ByteArrayToXInputStreamAdapter(
+ bytes.toByteArray());
+ } finally {
+ inputFile.close();
+ }
+ } catch (java.io.IOException e) {
+ e.printStackTrace();
+ }
+
+ PropertyValue[] loadProps = new PropertyValue[1];
+ loadProps[0] = new PropertyValue();
+ loadProps[0].Name = "InputStream";
+ loadProps[0].Value = inputStream;
+
+ XComponent oDoc = null;
+ try
+ {
+ oDoc = getCLoader(xMSF).loadComponentFromURL("private:stream", "_blank", 0, loadProps);
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ throw new IllegalArgumentException("Document could not be loaded", e);
+ }
+ return oDoc;
+ }
+
+ /**
+ * closes a given document
+ * @param DocumentToClose the document to close
+ */
+ public static void closeDoc(XInterface DocumentToClose)
+ {
+ if (DocumentToClose == null)
+ {
+ return;
+ }
+
+ String kd = System.getProperty("KeepDocument");
+ if (kd != null)
+ {
+ System.out.println("The property 'KeepDocument' is set and so the document won't be disposed");
+ return;
+ }
+ XModifiable modified = UnoRuntime.queryInterface(XModifiable.class, DocumentToClose);
+ XCloseable closer = UnoRuntime.queryInterface(XCloseable.class, DocumentToClose);
+
+ try
+ {
+ if (modified != null)
+ {
+ modified.setModified(false);
+ }
+ closer.close(true);
+ }
+ catch (com.sun.star.util.CloseVetoException e)
+ {
+ System.out.println("Couldn't close document");
+ }
+ catch (com.sun.star.lang.DisposedException e)
+ {
+ System.out.println("Couldn't close document");
+ }
+ catch (NullPointerException e)
+ {
+ System.out.println("Couldn't close document");
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ System.out.println("Couldn't close document");
+ }
+ }
+
+ /**
+ * Creates a floating XWindow with the size of X=500 Y=100 width=400 height=600
+ * @param xMSF the MultiServiceFactory
+ * @throws lib.StatusException if it is not possible to create a floating window a lib.StatusException was thrown
+ * @return a floating XWindow
+ */
+ public static XWindowPeer createFloatingWindow(XMultiServiceFactory xMSF)
+ throws StatusException
+ {
+ return createFloatingWindow(xMSF, 500, 100, 400, 600);
+ }
+
+ /**
+ * Creates a floating XWindow on the given position and size.
+ * @return a floating XWindow
+ * @param X the X-Position of the floating XWindow
+ * @param Y the Y-Position of the floating XWindow
+ * @param width the width of the floating XWindow
+ * @param height the height of the floating XWindow
+ * @param xMSF the MultiServiceFactory
+ * @throws lib.StatusException if it is not possible to create a floating window a lib.StatusException was thrown
+ */
+ public static XWindowPeer createFloatingWindow(XMultiServiceFactory xMSF, int X, int Y, int width, int height)
+ throws StatusException
+ {
+
+ XInterface oObj = null;
+
+ try
+ {
+ oObj = (XInterface) xMSF.createInstance("com.sun.star.awt.Toolkit");
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XToolkit tk = UnoRuntime.queryInterface(
+ XToolkit.class, oObj);
+
+ WindowDescriptor descriptor = new com.sun.star.awt.WindowDescriptor();
+
+ descriptor.Type = com.sun.star.awt.WindowClass.TOP;
+ descriptor.WindowServiceName = "modelessdialog";
+ descriptor.ParentIndex = -1;
+
+ Rectangle bounds = new com.sun.star.awt.Rectangle();
+ bounds.X = X;
+ bounds.Y = Y;
+ bounds.Width = width;
+ bounds.Height = height;
+
+ descriptor.Bounds = bounds;
+ descriptor.WindowAttributes = (com.sun.star.awt.WindowAttribute.BORDER +
+ com.sun.star.awt.WindowAttribute.MOVEABLE +
+ com.sun.star.awt.WindowAttribute.SIZEABLE +
+ com.sun.star.awt.WindowAttribute.CLOSEABLE +
+ com.sun.star.awt.VclWindowPeerAttribute.CLIPCHILDREN);
+
+ XWindowPeer xWindow = null;
+
+ try
+ {
+ xWindow = tk.createWindow(descriptor);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ throw new StatusException("Could not create window", e);
+ }
+
+ return xWindow;
+
+ }
+
+ /**
+ * zoom to have a view over the whole page
+ * @param xDoc the document to zoom
+ */
+ public static void zoomToEntirePage(XMultiServiceFactory xMSF, XInterface xDoc)
+ {
+ try
+ {
+ XModel xMod = UnoRuntime.queryInterface(XModel.class, xDoc);
+ XInterface oCont = xMod.getCurrentController();
+ XViewSettingsSupplier oVSSupp = UnoRuntime.queryInterface(XViewSettingsSupplier.class, oCont);
+
+ XInterface oViewSettings = oVSSupp.getViewSettings();
+ XPropertySet oViewProp = UnoRuntime.queryInterface(XPropertySet.class, oViewSettings);
+ oViewProp.setPropertyValue("ZoomType",
+ Short.valueOf(com.sun.star.view.DocumentZoomType.ENTIRE_PAGE));
+
+ util.utils.waitForEventIdle(xMSF);
+ }
+ catch (Exception e)
+ {
+ System.out.println("Could not zoom to entire page: " + e.toString());
+ }
+
+ }
+
+ /**
+ * This function docks the Navigator onto the right side of the window.</p>
+ * Note:<P>
+ * Since the svt.viewoptions cache the view configuration at start up
+ * the change of the docking will be effective at a restart.
+ * @param xMSF the XMultiServiceFactory
+ */
+ public static void dockNavigator(XMultiServiceFactory xMSF)
+ {
+ // prepare Window settings
+ try
+ {
+ ConfigHelper aConfig = new ConfigHelper(xMSF,
+ "org.openoffice.Office.Views", false);
+
+ aConfig.getOrInsertGroup("Windows", "10366");
+
+ aConfig.updateGroupProperty(
+ "Windows", "10366", "WindowState", "952,180,244,349;1;0,0,0,0;");
+
+ aConfig.insertOrUpdateExtensibleGroupProperty(
+ "Windows", "10366", "UserData", "Data", "V2,V,0,AL:(5,16,0/0/244/349,244;610)");
+
+ // Is node "SplitWindow2" available? If not, insert it.
+ aConfig.getOrInsertGroup("Windows", "SplitWindow2");
+
+ aConfig.insertOrUpdateExtensibleGroupProperty(
+ "Windows", "SplitWindow2", "UserData", "UserItem", "V1,2,1,0,10366");
+
+ aConfig.flush();
+ aConfig = null;
+
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * This function brings a document to the front.<P>
+ * NOTE: it is not possible to change the window order of your Window-Manager!!
+ * Only the order of Office documents are changeable.
+ * @param xModel the XModel of the document to bring to top
+ */
+ public static void bringWindowToFront(XModel xModel)
+ {
+ XTopWindow xTopWindow =
+ UnoRuntime.queryInterface(
+ XTopWindow.class,
+ xModel.getCurrentController().getFrame().getContainerWindow());
+
+ xTopWindow.toFront();
+ }
+
+ public static void bringWindowToFront(XComponent xComponent)
+ {
+ XModel xModel = UnoRuntime.queryInterface(XModel.class, xComponent);
+ if (xModel != null)
+ {
+ bringWindowToFront(xModel);
+ }
+ }
+}
diff --git a/qadevOOo/runner/util/DrawTools.java b/qadevOOo/runner/util/DrawTools.java
new file mode 100644
index 000000000..a8f416312
--- /dev/null
+++ b/qadevOOo/runner/util/DrawTools.java
@@ -0,0 +1,103 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+// access the implementations via names
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XComponent;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * contains helper methods for draw documents
+ */
+
+
+public class DrawTools {
+
+ /**
+ * Opens a new draw document
+ * with arguments
+ * @param xMSF the MultiServiceFactory
+ * @return the XComponent Interface of the document
+ */
+
+ public static XComponent createDrawDoc( XMultiServiceFactory xMSF ) {
+ PropertyValue[] Args = new PropertyValue [0];
+ XComponent DrawDoc = DesktopTools.openNewDoc( xMSF, "sdraw", Args );
+ return DrawDoc;
+ } // finish createDrawDoc
+
+ /**
+ * gets the XDrawPages container of a draw document
+ *
+ * @param aDoc the draw document
+ * @return the XDrawpages container of the document
+ */
+
+ public static XDrawPages getDrawPages ( XComponent aDoc ) {
+ XDrawPages oDPn = null;
+ try {
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class,aDoc);
+
+ oDPn = oDPS.getDrawPages();
+ } catch ( Exception e ) {
+ throw new IllegalArgumentException( "Couldn't get drawpages", e );
+ }
+ return oDPn;
+ } // finish getDrawPages
+
+ /**
+ * gets the specified XDrawPage of a draw document
+ *
+ * @param aDoc the draw document
+ * @param nr the index of the DrawPage
+ * @return the XDrawpage with index nr of the document
+ */
+
+ public static XDrawPage getDrawPage ( XComponent aDoc, int nr ) {
+ XDrawPage oDP = null;
+ try {
+ oDP = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),getDrawPages( aDoc ).getByIndex( nr ));
+ } catch ( Exception e ) {
+ throw new IllegalArgumentException( "Couldn't get drawpage", e );
+ }
+ return oDP;
+ }
+
+ /**
+ * gets the XShapes container of a draw page
+ *
+ * @param oDP the draw page
+ * @return the XDrawShape container of the drawpage
+ */
+
+ public static XShapes getShapes ( XDrawPage oDP ) {
+ return UnoRuntime.queryInterface(XShapes.class,oDP);
+ }
+
+}
diff --git a/qadevOOo/runner/util/DynamicClassLoader.java b/qadevOOo/runner/util/DynamicClassLoader.java
new file mode 100644
index 000000000..e2bab1f9d
--- /dev/null
+++ b/qadevOOo/runner/util/DynamicClassLoader.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import java.lang.reflect.Constructor;
+
+public class DynamicClassLoader {
+
+ /**
+ * This method returns a class created by its name
+ * created by call to <code>Class.forName()</code>.<p>
+ * This method must be overridden if another loading
+ * policy is required for Component and Interface
+ * testing classes.
+ * @param className The name of the class to create.
+ * @return The created class.
+ */
+ private static Class<?> forName(String className)
+ throws ClassNotFoundException {
+
+ return Class.forName(className) ;
+ }
+
+ /**
+ * Get an instance of a class. The empty constructor is used.
+ * @param className The class to instantiate.
+ * @return The instance of the class.
+ */
+ public Object getInstance(String className)
+ throws IllegalArgumentException {
+ try {
+ Class<?> cls = DynamicClassLoader.forName(className);
+ return cls.newInstance();
+ } catch ( ClassNotFoundException e ) {
+ throw new IllegalArgumentException("Couldn't find " + className
+ + " " + e);
+ } catch ( IllegalAccessException e ) {
+ throw new IllegalArgumentException("Couldn't access " + className
+ + " " + e);
+ } catch ( InstantiationException e ) {
+ throw new IllegalArgumentException("Couldn't instantiate " +
+ className + " " + e);
+ }
+ }
+
+ /**
+ * Get an instance of a class. The constructor matching to the
+ * given calls types is used and the instance is created using the arguments
+ * for the constructor.
+ * @param className The class to instantiate.
+ * @param ctorClassTypes The class types matching to the constructor.
+ * @param ctorArgs Arguments for the constructor.
+ * @return The instance of the class.
+ */
+ public Object getInstance(String className, Class<?>[]ctorClassTypes, Object[] ctorArgs)
+ throws IllegalArgumentException {
+ try {
+ Class<?> cls = DynamicClassLoader.forName(className);
+ Constructor<?> ctor = cls.getConstructor(ctorClassTypes);
+ System.out.println("ctor: " + ctor.getName() + " " + ctor.getModifiers());
+
+ return ctor.newInstance(ctorArgs);
+ } catch ( ClassNotFoundException e ) {
+ throw new IllegalArgumentException("Couldn't find " + className
+ + " " + e);
+ } catch ( IllegalAccessException e ) {
+ throw new IllegalArgumentException("Couldn't access " + className
+ + " " + e);
+ } catch ( NoSuchMethodException e ) {
+ throw new IllegalArgumentException("Couldn't find constructor for " + className
+ + " " + e);
+ } catch ( java.lang.reflect.InvocationTargetException e ) {
+ e.printStackTrace();
+ throw new IllegalArgumentException("Couldn't invoke " +
+ className + " " + e);
+ } catch ( InstantiationException e ) {
+ throw new IllegalArgumentException("Couldn't instantiate " +
+ className + " " + e);
+ }
+ }
+}
diff --git a/qadevOOo/runner/util/FootnoteDsc.java b/qadevOOo/runner/util/FootnoteDsc.java
new file mode 100644
index 000000000..b14f70bf8
--- /dev/null
+++ b/qadevOOo/runner/util/FootnoteDsc.java
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextContent;
+
+/**
+ * describes a Footnote to be inserted in a container
+ */
+public class FootnoteDsc extends InstDescr {
+
+ private static final String service = "com.sun.star.text.Footnote";
+ private static final String ifcName = "com.sun.star.text.XTextContent";
+
+ public FootnoteDsc() {
+ initFootnote();
+ }
+
+ @Override
+ public String getName() {
+ return null;
+ }
+
+ @Override
+ public String getIfcName() {
+ return ifcName;
+ }
+
+ @Override
+ public String getService() {
+ return service;
+ }
+
+ private void initFootnote() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ @Override
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object ServiceObj = null;
+
+ try {
+ ServiceObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+ XTextContent FN = (XTextContent)UnoRuntime.queryInterface( ifcClass,
+ ServiceObj );
+ return FN;
+ }
+}
diff --git a/qadevOOo/runner/util/FormTools.java b/qadevOOo/runner/util/FormTools.java
new file mode 100644
index 000000000..2189612cd
--- /dev/null
+++ b/qadevOOo/runner/util/FormTools.java
@@ -0,0 +1,287 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+// access the implementations via names
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.lang.XComponent;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.form.XFormsSupplier;
+import com.sun.star.form.XForm;
+import com.sun.star.form.XLoadable;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * contains helper methods forms
+ */
+
+public class FormTools {
+
+
+ /**
+ * creates a XControlShape
+ *
+ * @param oDoc the document
+ * @param height the height of the shape
+ * @param width the width of the shape
+ * @param x the x-position of the shape
+ * @param y the y-position of the shape
+ * @param kind the kind of the shape
+ * @return the created XControlShape
+ */
+ public static XControlShape createControlShape( XComponent oDoc, int height,
+ int width, int x, int y, String kind )
+ throws com.sun.star.uno.Exception
+ {
+
+ Size size = new Size();
+ Point position = new Point();
+ XControlShape oCShape = null;
+ XControlModel aControl = null;
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface( XMultiServiceFactory.class, oDoc );
+
+ Object oInt = oDocMSF.createInstance("com.sun.star.drawing.ControlShape");
+ Object aCon = oDocMSF.createInstance("com.sun.star.form.component."+kind);
+ XPropertySet model_props = UnoRuntime.queryInterface(XPropertySet.class,aCon);
+ model_props.setPropertyValue("DefaultControl","com.sun.star.form.control."+kind);
+ aControl = UnoRuntime.queryInterface( XControlModel.class, aCon );
+ oCShape = UnoRuntime.queryInterface( XControlShape.class, oInt );
+ size.Height = height;
+ size.Width = width;
+ position.X = x;
+ position.Y = y;
+ oCShape.setSize(size);
+ oCShape.setPosition(position);
+
+ oCShape.setControl(aControl);
+
+ return oCShape;
+ } // finish createControlShape
+
+ public static XControlShape createUnoControlShape( XComponent oDoc, int height,
+ int width, int x, int y, String kind, String defControl )
+ throws com.sun.star.uno.Exception
+ {
+
+ Size size = new Size();
+ Point position = new Point();
+ XControlShape oCShape = null;
+ XControlModel aControl = null;
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface( XMultiServiceFactory.class, oDoc );
+
+ Object oInt = oDocMSF.createInstance("com.sun.star.drawing.ControlShape");
+ Object aCon = oDocMSF.createInstance("com.sun.star.form.component."+kind);
+ XPropertySet model_props = UnoRuntime.queryInterface(XPropertySet.class,aCon);
+ model_props.setPropertyValue("DefaultControl","com.sun.star.awt."+defControl);
+ aControl = UnoRuntime.queryInterface( XControlModel.class, aCon );
+ oCShape = UnoRuntime.queryInterface( XControlShape.class, oInt );
+ size.Height = height;
+ size.Width = width;
+ position.X = x;
+ position.Y = y;
+ oCShape.setSize(size);
+ oCShape.setPosition(position);
+
+ oCShape.setControl(aControl);
+
+ return oCShape;
+ } // finish createControlShape
+
+ public static XControlShape createControlShapeWithDefaultControl( XComponent oDoc, int height,
+ int width, int x, int y, String kind )
+ throws com.sun.star.uno.Exception
+ {
+
+ Size size = new Size();
+ Point position = new Point();
+ XControlShape oCShape = null;
+ XControlModel aControl = null;
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface( XMultiServiceFactory.class, oDoc );
+
+ Object oInt = oDocMSF.createInstance("com.sun.star.drawing.ControlShape");
+ Object aCon = oDocMSF.createInstance("com.sun.star.form.component."+kind);
+
+ aControl = UnoRuntime.queryInterface( XControlModel.class, aCon );
+ oCShape = UnoRuntime.queryInterface( XControlShape.class, oInt );
+ size.Height = height;
+ size.Width = width;
+ position.X = x;
+ position.Y = y;
+ oCShape.setSize(size);
+ oCShape.setPosition(position);
+
+ oCShape.setControl(aControl);
+
+ return oCShape;
+ } // finish createControlShape
+
+ public static XInterface createControl( XComponent oDoc, String kind )
+ throws com.sun.star.uno.Exception
+ {
+ XInterface oControl = null;
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface( XMultiServiceFactory.class, oDoc );
+
+ oControl = (XInterface) oDocMSF.createInstance(
+ "com.sun.star.form.component."+kind);
+ return oControl;
+ } // finish createControl
+
+ public static XNameContainer getForms ( XDrawPage oDP )
+ {
+ XFormsSupplier oFS = UnoRuntime.queryInterface(
+ XFormsSupplier.class,oDP);
+ return oFS.getForms();
+ } //finish getForms
+
+ private static XIndexContainer getIndexedForms ( XDrawPage oDP )
+ {
+ XFormsSupplier oFS = UnoRuntime.queryInterface(
+ XFormsSupplier.class,oDP);
+ return UnoRuntime.queryInterface( XIndexContainer.class,
+ oFS.getForms() );
+ } //finish getIndexedForms
+
+ public static void insertForm ( XComponent aDoc, XNameContainer Forms,
+ String aName )
+ throws com.sun.star.uno.Exception
+ {
+ XInterface oControl = createControl(aDoc, "Form");
+ XForm oForm = UnoRuntime.queryInterface(XForm.class, oControl);
+ Forms.insertByName(aName,oForm);
+ }
+
+ public static XControlShape insertControlShape( XComponent oDoc, int height,
+ int width, int x, int y, String kind )
+ throws com.sun.star.uno.Exception
+ {
+ XControlShape aShape = createControlShape(oDoc,height,width,x,y,kind);
+ XDrawPage oDP = DrawTools.getDrawPage(oDoc,0);
+ DrawTools.getShapes(oDP).add(aShape);
+ return aShape;
+ }
+
+ public static XLoadable bindForm( XTextDocument aDoc )
+ throws com.sun.star.uno.Exception
+ {
+ XLoadable formLoader = null;
+
+ Object aForm = FormTools.getIndexedForms(WriterTools.getDrawPage(aDoc)).getByIndex(0);
+ XForm the_form = null;
+ the_form = (XForm) AnyConverter.toObject(new Type(XForm.class), aForm);
+ XPropertySet formProps = UnoRuntime.queryInterface(XPropertySet.class, the_form);
+ formProps.setPropertyValue("DataSourceName","Bibliography");
+ formProps.setPropertyValue("Command","biblio");
+ formProps.setPropertyValue("CommandType",Integer.valueOf(com.sun.star.sdb.CommandType.TABLE));
+ formLoader = UnoRuntime.queryInterface(XLoadable.class, the_form);
+
+ return formLoader;
+ }
+
+ /**
+ * Binds <code>'Standard'</code> form of <code>aDoc</code> Writer document
+ * to the <code>tableName</code> table of <code>sourceName</code>
+ * Data Source.
+ * @param aDoc Writer document where DB controls are added.
+ * @param sourceName The name of DataSource in the <code>DatabaseContext</code>.
+ * @param tableName The name of the table to which controls are bound.
+ * @return <code>com.sun.star.form.component.DatabaseForm</code> service
+ * implementation which is the bound form inside the document.
+ */
+ public static XLoadable bindForm( XTextDocument aDoc, String sourceName, String tableName )
+ throws com.sun.star.uno.Exception {
+
+ XForm the_form = (XForm) AnyConverter.toObject(new Type(XForm.class),
+ FormTools.getIndexedForms(WriterTools.getDrawPage(aDoc)).getByIndex(0));
+ XPropertySet formProps = UnoRuntime.queryInterface(XPropertySet.class, the_form);
+ formProps.setPropertyValue("DataSourceName",sourceName);
+ formProps.setPropertyValue("Command",tableName);
+ formProps.setPropertyValue("CommandType",Integer.valueOf(com.sun.star.sdb.CommandType.TABLE));
+
+ return UnoRuntime.queryInterface(XLoadable.class, the_form);
+ }
+
+
+
+ /**
+ * Binds the form with the name specified of <code>aDoc</code> Writer document
+ * to the <code>tableName</code> table of <code>sourceName</code>
+ * Data Source.
+ * @param aDoc Writer document where DB controls are added.
+ * @param formName The name of the form to be bound.
+ * @param sourceName The name of DataSource in the <code>DatabaseContext</code>.
+ * @param tableName The name of the table to which controls are bound.
+ * @return <code>com.sun.star.form.component.DatabaseForm</code> service
+ * implementation which is the bound form inside the document.
+ */
+ public static XLoadable bindForm( XTextDocument aDoc, String formName, String sourceName,
+ String tableName) throws com.sun.star.uno.Exception {
+
+ XForm the_form = (XForm) AnyConverter.toObject(new Type(XForm.class),
+ FormTools.getForms(WriterTools.getDrawPage(aDoc)).getByName(formName));
+ XPropertySet formProps = UnoRuntime.queryInterface(XPropertySet.class, the_form);
+ formProps.setPropertyValue("DataSourceName",sourceName);
+ formProps.setPropertyValue("Command",tableName);
+ formProps.setPropertyValue("CommandType",Integer.valueOf(com.sun.star.sdb.CommandType.TABLE));
+
+ return UnoRuntime.queryInterface(XLoadable.class, the_form);
+ }
+
+ public static void switchDesignOf(XMultiServiceFactory xMSF, XTextDocument aDoc)
+ throws com.sun.star.uno.Exception
+ {
+ com.sun.star.frame.XController aController = aDoc.getCurrentController();
+ com.sun.star.frame.XFrame aFrame = aController.getFrame();
+ com.sun.star.frame.XDispatchProvider aDispProv = UnoRuntime.queryInterface(com.sun.star.frame.XDispatchProvider.class,aFrame);
+ com.sun.star.util.URL aURL = new com.sun.star.util.URL();
+ aURL.Complete = ".uno:SwitchControlDesignMode";
+
+ Object instance = xMSF.createInstance("com.sun.star.util.URLTransformer");
+ com.sun.star.util.XURLTransformer atrans =
+ UnoRuntime.queryInterface(
+ com.sun.star.util.XURLTransformer.class,instance);
+ com.sun.star.util.URL[] aURLA = new com.sun.star.util.URL[1];
+ aURLA[0] = aURL;
+ atrans.parseStrict(aURLA);
+ aURL = aURLA[0];
+
+ com.sun.star.frame.XDispatch aDisp = aDispProv.queryDispatch(aURL, "",
+ com.sun.star.frame.FrameSearchFlag.SELF |
+ com.sun.star.frame.FrameSearchFlag.CHILDREN);
+
+ com.sun.star.beans.PropertyValue[] noArgs = new com.sun.star.beans.PropertyValue[0];
+ aDisp.dispatch(aURL, noArgs);
+ util.utils.waitForEventIdle(xMSF); // async dispatch
+ }
+
+}
diff --git a/qadevOOo/runner/util/FrameDsc.java b/qadevOOo/runner/util/FrameDsc.java
new file mode 100644
index 000000000..b2e690282
--- /dev/null
+++ b/qadevOOo/runner/util/FrameDsc.java
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.drawing.XShape;
+import com.sun.star.awt.Size;
+import com.sun.star.beans.XPropertySet;
+/**
+ * the class FrameDsc
+ */
+public class FrameDsc extends InstDescr {
+
+ private int height = 2000;
+ private int width = 2000;
+ private static final String ifcName = "com.sun.star.text.XTextFrame";
+ private static final String service = "com.sun.star.text.TextFrame";
+
+ public FrameDsc() {
+ initFrame();
+ }
+
+ public FrameDsc( int nHeight, int nWidth ) {
+ height = nHeight;
+ width = nWidth;
+ initFrame();
+ }
+
+ @Override
+ public String getName() {
+ return null;
+ }
+ @Override
+ public String getIfcName() {
+ return ifcName;
+ }
+ @Override
+ public String getService() {
+ return service;
+ }
+
+ private void initFrame() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ @Override
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object SrvObj = null;
+
+ Size size = new Size();
+ size.Height = height;
+ size.Width = width;
+
+ try {
+ SrvObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+ XShape shape = UnoRuntime.queryInterface( XShape.class, SrvObj );
+ try {
+ shape.setSize(size);
+ }
+ catch( com.sun.star.beans.PropertyVetoException pvE ){
+ }
+
+ XTextFrame TF = (XTextFrame)UnoRuntime.queryInterface( ifcClass, SrvObj );
+
+ XPropertySet oPropSet = UnoRuntime.queryInterface( XPropertySet.class, SrvObj );
+
+
+ try {
+ oPropSet.setPropertyValue("AnchorType", Integer.valueOf(2));
+ }
+ catch( com.sun.star.beans.UnknownPropertyException upE ){
+ }
+ catch( com.sun.star.beans.PropertyVetoException pvE ){
+ }
+ catch( com.sun.star.lang.IllegalArgumentException iaE ){
+ }
+ catch( com.sun.star.lang.WrappedTargetException wtE ){
+ }
+
+
+
+ return TF;
+ }
+}
diff --git a/qadevOOo/runner/util/InstCreator.java b/qadevOOo/runner/util/InstCreator.java
new file mode 100644
index 000000000..d517f0cd1
--- /dev/null
+++ b/qadevOOo/runner/util/InstCreator.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.text.XTextTablesSupplier;
+import com.sun.star.text.XTextFramesSupplier;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XBookmarksSupplier;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XIndexAccess;
+
+
+public class InstCreator implements XInstCreator {
+ private final XInterface xParent;
+ private final XMultiServiceFactory xMSF;
+ private final XInterface xInstance;
+ private final XIndexAccess xIA;
+ private final InstDescr iDsc;
+
+ public InstCreator( XInterface xParent, InstDescr iDsc ) {
+ this.xParent = xParent;
+ this.iDsc = iDsc;
+
+ xMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xParent );
+
+ xInstance = createInstance();
+ xIA = createCollection();
+ }
+ public XInterface getInstance() {
+ return xInstance;
+ }
+
+ public XInterface createInstance() {
+ XInterface xIfc = null;
+ xIfc = iDsc.createInstance( xMSF );
+
+ return xIfc;
+ }
+
+ public XIndexAccess getCollection() {
+ return xIA;
+ }
+
+ private XIndexAccess createCollection() {
+ XNameAccess oNA = null;
+
+ if ( iDsc instanceof TableDsc ) {
+ XTextTablesSupplier oTTS = UnoRuntime.queryInterface(
+ XTextTablesSupplier.class, xParent );
+
+ oNA = oTTS.getTextTables();
+ }
+ if ( iDsc instanceof FrameDsc ) {
+ XTextFramesSupplier oTTS = UnoRuntime.queryInterface(
+ XTextFramesSupplier.class, xParent );
+
+ oNA = oTTS.getTextFrames();
+ }
+ if ( iDsc instanceof BookmarkDsc ) {
+ XBookmarksSupplier oTTS = UnoRuntime.queryInterface(
+ XBookmarksSupplier.class, xParent );
+
+ oNA = oTTS.getBookmarks();
+ }
+
+ if ( iDsc instanceof FootnoteDsc ) {
+ XFootnotesSupplier oTTS = UnoRuntime.queryInterface(
+ XFootnotesSupplier.class, xParent );
+
+ return oTTS.getFootnotes();
+ }
+
+ if ( iDsc instanceof TextSectionDsc ) {
+ XTextSectionsSupplier oTSS = UnoRuntime.queryInterface(
+ XTextSectionsSupplier.class, xParent );
+
+ oNA = oTSS.getTextSections();
+ }
+
+ return UnoRuntime.queryInterface(
+ XIndexAccess.class, oNA);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/InstDescr.java b/qadevOOo/runner/util/InstDescr.java
new file mode 100644
index 000000000..7b7098be6
--- /dev/null
+++ b/qadevOOo/runner/util/InstDescr.java
@@ -0,0 +1,38 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+/**
+ * the class InstDescr
+ */
+abstract public class InstDescr {
+
+ protected Class<?> ifcClass = null;
+
+ protected abstract String getIfcName();
+ protected abstract String getName();
+
+ /**
+ * the method getService
+ */
+ protected abstract String getService();
+ protected abstract XInterface createInstance( XMultiServiceFactory docMSF );
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/ParagraphDsc.java b/qadevOOo/runner/util/ParagraphDsc.java
new file mode 100644
index 000000000..12ec3bf12
--- /dev/null
+++ b/qadevOOo/runner/util/ParagraphDsc.java
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextContent;
+
+/**
+ * the class ParagraphDsc
+ */
+public class ParagraphDsc extends InstDescr {
+
+ private static final String service = "com.sun.star.text.Paragraph";
+ private static final String ifcName = "com.sun.star.text.XTextContent";
+
+ public ParagraphDsc() {
+ initParagraph();
+ }
+
+ @Override
+ public String getName() {
+ return null;
+ }
+
+ @Override
+ public String getIfcName() {
+ return ifcName;
+ }
+
+ @Override
+ public String getService() {
+ return service;
+ }
+
+ private void initParagraph() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ @Override
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object ServiceObj = null;
+
+ try {
+ ServiceObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+ XTextContent PG = (XTextContent)UnoRuntime.queryInterface( ifcClass,
+ ServiceObj );
+ return PG;
+ }
+}
diff --git a/qadevOOo/runner/util/PropertyName.java b/qadevOOo/runner/util/PropertyName.java
new file mode 100644
index 000000000..4812bd7f6
--- /dev/null
+++ b/qadevOOo/runner/util/PropertyName.java
@@ -0,0 +1,117 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package util;
+
+/**
+ * This interfaces describes some key names which are used in <CODE>lib.TestParameters</CODE>.
+ */
+
+public interface PropertyName {
+ /**
+ * parameter name: "AppExecutionCommand"
+ * The AppExecutionCmd contains the full qualified<br>
+ * command to an Application to be started.
+ */
+ String APP_EXECUTION_COMMAND = "AppExecutionCommand";
+ /**
+ * parameter name: "ConnectionString"
+ */
+ String CONNECTION_STRING = "ConnectionString";
+ String PIPE_CONNECTION_STRING = "PipeConnectionString";
+ String USE_PIPE_CONNECTION = "UsePipeConnection";
+
+ /**
+ * parameter name: "TestBase"
+ * The Testbase to be executed by the runner<br>
+ * default is 'java_fat'
+ */
+ String TEST_BASE = "TestBase";
+ /**
+ * parameter name: "TestDocumentPath"
+ */
+ String TEST_DOCUMENT_PATH = "TestDocumentPath";
+ /**
+ * parameter name: "LoggingIsActive"
+ * 'true' is a log should be written, 'false' elsewhere <br>
+ * these will be provided by the testcases<br>
+ * default is true
+ */
+ String LOGGING_IS_ACTIVE = "LoggingIsActive";
+ /**
+ * parameter name: "DebugIsActive"
+ */
+ String DEBUG_IS_ACTIVE = "DebugIsActive";
+ /**
+ * parameter name: "OutProducer"
+ * This parameter contains the class used<br>
+ * for Logging
+ */
+ String OUT_PRODUCER = "OutProducer";
+ /**
+ * internal only, no parameter
+ * The OfficeProvider contains the full qualified
+ * class that provides a connection to StarOffice<br>
+ * default is helper.OfficeProvider
+ */
+ String OFFICE_PROVIDER = "OfficeProvider";
+ /**
+ * internal only, no parameter
+ */
+ String OFFICE_WATCHER = "Watcher";
+ /**
+ * internal only, no parameter
+ * This parameter contains the class used<br>
+ * for Logging
+ */
+ String LOG_WRITER = "LogWriter";
+ /**
+ * parameter name: "TimeOut"<p>
+ * time out given in milliseconds
+ * This parameter contains the timeout used<br>
+ * by the watcher
+ */
+ String TIME_OUT = "TimeOut";
+ /**
+ * parameter name: "ThreadTimeOut"
+ * This parameter contains the timeout used<br>
+ * by the complex tests
+ */
+ String THREAD_TIME_OUT = "ThreadTimeOut";
+ /**
+ * parameter name: "UnoRcName"
+ */
+ String UNORC_NAME = "UnoRcName";
+ /**
+ * parameter name: "AutoRestart"
+ * If this parameter is <CODE>true</CODE> the <CODE>OfficeProvider</CODE> tries
+ * to get the URL to the binary of the office and to fill the
+ * <CODE>AppExecutionCommand</CODE> with useful content if needed.
+ * Default is false.
+ */
+ String AUTO_RESTART = "AutoRestart";
+ /**
+ * parameter name: "NewOfficeInstance"
+ */
+ String NEW_OFFICE_INSTANCE = "NewOfficeInstance";
+
+ /**
+ * parameter name: "SRC_ROOT"<p>
+ * path to the source root of OpenOffice.org
+ */
+ String SRC_ROOT = "SRC_ROOT";
+}
diff --git a/qadevOOo/runner/util/RegistryTools.java b/qadevOOo/runner/util/RegistryTools.java
new file mode 100644
index 000000000..72ef5e743
--- /dev/null
+++ b/qadevOOo/runner/util/RegistryTools.java
@@ -0,0 +1,359 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+// access the implementations via names
+import com.sun.star.uno.UnoRuntime;
+import java.io.PrintWriter ;
+
+import com.sun.star.registry.XRegistryKey ;
+import com.sun.star.registry.XSimpleRegistry ;
+import com.sun.star.registry.RegistryKeyType ;
+import com.sun.star.registry.RegistryValueType ;
+import com.sun.star.registry.InvalidRegistryException ;
+import com.sun.star.lang.XMultiServiceFactory ;
+import com.sun.star.uno.Exception;
+
+public class RegistryTools {
+
+ /**
+ * Creates 'com.sun.star.registry.SimpleRegistry'
+ * service.
+ * @param xMSF Multiservice factory.
+ * @return Service created.
+ */
+ public static XSimpleRegistry createRegistryService
+ (XMultiServiceFactory xMSF) throws com.sun.star.uno.Exception {
+
+ Object oInterface = xMSF.createInstance
+ ("com.sun.star.registry.SimpleRegistry");
+ return UnoRuntime.queryInterface (
+ XSimpleRegistry.class, oInterface) ;
+ }
+
+ /**
+ * Opens registry file for reading/writing. If file doesn't
+ * exist a new one created.
+ * @param file Registry file name.
+ * @param xMSF Multiservice factory.
+ * @return Opened registry.
+ */
+ public static XSimpleRegistry openRegistry
+ (String file, XMultiServiceFactory xMSF)
+ throws com.sun.star.uno.Exception {
+
+ XSimpleRegistry reg = createRegistryService(xMSF) ;
+
+ reg.open(file, false, true) ;
+
+ return reg ;
+ }
+
+ /**
+ * Compares two registry keys, their names, value
+ * types and values.
+ * return <code>true</code> if key names, value types
+ * and values are equal, else returns <code>false</code>.
+ */
+ private static boolean compareKeys
+ (XRegistryKey key1, XRegistryKey key2) {
+
+ if (key1 == null || key2 == null ||
+ !key1.isValid() || !key2.isValid())
+
+ return false ;
+
+ String keyName1 = getShortKeyName(key1.getKeyName()) ;
+ String keyName2 = getShortKeyName(key2.getKeyName()) ;
+
+ if (!keyName1.equals(keyName2)) return false ;
+
+ try {
+ if (key1.getValueType() != key2.getValueType()) return false ;
+ } catch (InvalidRegistryException e) {
+ return false ;
+ }
+
+ RegistryValueType type ;
+ try {
+ type = key1.getValueType() ;
+
+ if (type.equals(RegistryValueType.ASCII)) {
+ if (!key1.getAsciiValue().equals(key2.getAsciiValue()))
+ return false ;
+ } else
+ if (type.equals(RegistryValueType.STRING)) {
+ if (!key1.getStringValue().equals(key2.getStringValue()))
+ return false ;
+ } else
+ if (type.equals(RegistryValueType.LONG)) {
+ if (key1.getLongValue() != key2.getLongValue())
+ return false ;
+ } else
+ if (type.equals(RegistryValueType.BINARY)) {
+ byte[] bin1 = key1.getBinaryValue() ;
+ byte[] bin2 = key2.getBinaryValue() ;
+ if (bin1.length != bin2.length)
+ return false ;
+ for (int i = 0; i < bin1.length; i++)
+ if (bin1[i] != bin2[i]) return false ;
+ } else
+ if (type.equals(RegistryValueType.ASCIILIST)) {
+ String[] list1 = key1.getAsciiListValue() ;
+ String[] list2 = key2.getAsciiListValue() ;
+ if (list1.length != list2.length)
+ return false ;
+ for (int i = 0; i < list1.length; i++)
+ if (!list1[i].equals(list2[i])) return false ;
+ } else
+ if (type.equals(RegistryValueType.STRINGLIST)) {
+ String[] list1 = key1.getStringListValue() ;
+ String[] list2 = key2.getStringListValue() ;
+ if (list1.length != list2.length)
+ return false ;
+ for (int i = 0; i < list1.length; i++)
+ if (!list1[i].equals(list2[i])) return false ;
+ } else
+ if (type.equals(RegistryValueType.LONGLIST)) {
+ int[] list1 = key1.getLongListValue() ;
+ int[] list2 = key2.getLongListValue() ;
+ if (list1.length != list2.length)
+ return false ;
+ for (int i = 0; i < list1.length; i++)
+ if (list1[i] != list2[i]) return false ;
+ }
+ } catch (Exception e) {
+ return false ;
+ }
+
+ return true ;
+ }
+
+ /**
+ * Gets name of the key relative to its parent.
+ * For example if full name of key is '/key1/subkey'
+ * short key name is 'subkey'
+ * @param keyName Full key name.
+ * @return Short key name.
+ */
+ private static String getShortKeyName(String keyName) {
+ if (keyName == null) return null ;
+ int idx = keyName.lastIndexOf('/') ;
+ if (idx < 0) return keyName ;
+ else return keyName.substring(idx + 1) ;
+ }
+
+ /**
+ * Compare all child keys.
+ * @param compareRoot If <code>true</code> method also
+ * compare root keys, if <code>false</code> it begins recursive
+ * comparing from children of root keys.
+ * @return <code>true</code> if keys and their sub keys are equal.
+ */
+ private static boolean compareKeyTrees
+ (XRegistryKey tree1, XRegistryKey tree2, boolean compareRoot) {
+
+ if (compareRoot && !compareKeys(tree1, tree2)) return false ;
+
+ try {
+ String[] keyNames1 = tree1.getKeyNames() ;
+ String[] keyNames2 = tree2.getKeyNames() ;
+
+ if (keyNames1 == null && keyNames2 == null) return true ;
+
+ if (keyNames1 == null || keyNames2 == null ||
+ keyNames2.length != keyNames1.length)
+ return false ;
+
+ for (int i = 0; i < keyNames1.length; i++) {
+
+ String keyName = getShortKeyName(keyNames1[i]) ;
+ XRegistryKey key2 = tree2.openKey(keyName) ;
+
+ if (key2 == null)
+ // key with the same name doesn't exist in the second tree
+ return false ;
+
+ if (!tree1.getKeyType(keyName).equals(
+ tree2.getKeyType(keyName)))
+ return false ;
+
+ if (tree1.getKeyType(keyName).equals(
+ RegistryKeyType.LINK)) {
+
+ if (!getShortKeyName(tree1.getLinkTarget(keyName)).equals(
+ getShortKeyName(tree2.getLinkTarget(keyName))))
+
+ return false ;
+ } else {
+
+ if (!compareKeyTrees(tree1.openKey(keyName),
+ tree2.openKey(keyName), true)) return false ;
+ }
+ }
+ } catch (InvalidRegistryException e) {
+ return false ;
+ }
+
+ return true ;
+ }
+
+ /**
+ * Compare keys specified and all their child keys.
+ * @return <code>true</code> if keys and their sub keys are equal.
+ */
+ public static boolean compareKeyTrees
+ (XRegistryKey tree1, XRegistryKey tree2) {
+
+ return compareKeyTrees(tree1, tree2, false) ;
+ }
+
+ /**
+ * Prints to a specified output about all keys and subkeys information
+ * (key name, type, value, link target, attributes) recursively.
+ * @param reg Registry for which information is needed.
+ * @param out Output stream.
+ */
+ public static void printRegistryInfo(XSimpleRegistry reg, PrintWriter out) {
+ try {
+ printRegistryInfo(reg.getRootKey(), out) ;
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ out.println("!!! Can't open root registry key for info printing") ;
+ }
+ }
+
+ /**
+ * Prints to a specified output about all keys and subkeys information
+ * (key name, type, value, link target, attributes) recursively.
+ * @param root Key for which subkeys (and further) information is required.
+ * @param out Output stream.
+ */
+ public static void printRegistryInfo(XRegistryKey root, PrintWriter out) {
+ if (root == null) {
+ out.println("/(null)") ;
+ return ;
+ }
+
+ out.println("/") ;
+ try {
+ printTreeInfo(root, out, " ") ;
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ out.println("Exception accessing registry :") ;
+ e.printStackTrace(out) ;
+ }
+ }
+
+ private static void printTreeInfo(XRegistryKey key,
+ PrintWriter out, String margin)
+ throws com.sun.star.registry.InvalidRegistryException {
+
+ String[] subKeys = key.getKeyNames() ;
+
+ if (subKeys == null || subKeys.length == 0) return ;
+
+ for (int i = 0; i < subKeys.length; i++) {
+ printKeyInfo(key, subKeys[i], out, margin) ;
+ XRegistryKey subKey = key.openKey
+ (getShortKeyName(subKeys[i])) ;
+ printTreeInfo(subKey, out, margin + " ") ;
+ subKey.closeKey() ;
+ }
+ }
+
+ private static void printKeyInfo(XRegistryKey parentKey,
+ String keyName, PrintWriter out, String margin)
+ throws com.sun.star.registry.InvalidRegistryException {
+
+ out.print(margin) ;
+ keyName = getShortKeyName(keyName) ;
+ XRegistryKey key = parentKey.openKey(keyName) ;
+ if (key != null)
+ out.print("/" + getShortKeyName(key.getKeyName()) + " ") ;
+ else {
+ out.println("(null)") ;
+ return ;
+ }
+
+ if (!key.isValid()) {
+ out.println("(not valid)") ;
+ return ;
+ }
+
+ if (key.isReadOnly()) {
+ out.print("(read only) ") ;
+ }
+
+ if (parentKey.getKeyType(keyName) == RegistryKeyType.LINK) {
+ out.println("(link to " + parentKey.getLinkTarget(keyName) + ")") ;
+ return ;
+ }
+
+ RegistryValueType type ;
+ try {
+ type = key.getValueType() ;
+
+ if (type.equals(RegistryValueType.ASCII)) {
+ out.println("[ASCII] = '" + key.getAsciiValue() + "'") ;
+ } else
+ if (type.equals(RegistryValueType.STRING)) {
+ out.println("[STRING] = '" + key.getStringValue() + "'") ;
+ } else
+ if (type.equals(RegistryValueType.LONG)) {
+ out.println("[LONG] = " + key.getLongValue()) ;
+ } else
+ if (type.equals(RegistryValueType.BINARY)) {
+ out.print("[BINARY] = {") ;
+ byte[] bin = key.getBinaryValue() ;
+ for (int i = 0; i < bin.length; i++)
+ out.print(bin[i] + ",") ;
+ out.println("}") ;
+ } else
+ if (type.equals(RegistryValueType.ASCIILIST)) {
+ out.print("[ASCIILIST] = {") ;
+ String[] list = key.getAsciiListValue() ;
+ for (int i = 0; i < list.length; i++)
+ out.print("'" + list[i] + "',") ;
+ out.println("}") ;
+ } else
+ if (type.equals(RegistryValueType.STRINGLIST)) {
+ out.print("[STRINGLIST] = {") ;
+ String[] list = key.getStringListValue() ;
+ for (int i = 0; i < list.length; i++)
+ out.print("'" + list[i] + "',") ;
+ out.println("}") ;
+ } else
+ if (type.equals(RegistryValueType.LONGLIST)) {
+ out.print("[LONGLIST] = {") ;
+ int[] list = key.getLongListValue() ;
+ for (int i = 0; i < list.length; i++)
+ out.print(list[i] + ",") ;
+ out.println("}") ;
+ } else {
+ out.println("") ;
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ out.println("Exception occurred : ") ;
+ e.printStackTrace(out) ;
+ } finally {
+ key.closeKey() ;
+ }
+ }
+
+
+}
diff --git a/qadevOOo/runner/util/SOfficeFactory.java b/qadevOOo/runner/util/SOfficeFactory.java
new file mode 100644
index 000000000..43667d15d
--- /dev/null
+++ b/qadevOOo/runner/util/SOfficeFactory.java
@@ -0,0 +1,443 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package util;
+
+import java.util.HashMap;
+// access the implementations via names
+import com.sun.star.uno.XInterface;
+import com.sun.star.lang.XMultiServiceFactory;
+
+import com.sun.star.uno.UnoRuntime;
+// staroffice interfaces to provide desktop and componentloader
+// and components i.e. spreadsheets, writerdocs etc.
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.lang.XComponent;
+// name - value pair
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.PropertyState;
+
+// additional classes required for testcase
+import com.sun.star.sheet.*;
+import com.sun.star.text.*;
+import com.sun.star.container.*;
+import com.sun.star.chart.*;
+import com.sun.star.drawing.*;
+
+public class SOfficeFactory {
+
+ private static HashMap<String, SOfficeFactory> lookup = new HashMap<String, SOfficeFactory>(10);
+ private final XComponentLoader oCLoader;
+
+ private SOfficeFactory(XMultiServiceFactory xMSF) {
+ // get XInterface of Desktop service
+ Object oInterface;
+ try {
+ oInterface = xMSF.createInstance("com.sun.star.frame.Desktop");
+ } catch (com.sun.star.uno.Exception e) {
+ throw new IllegalArgumentException("Desktop Service not available", e);
+ }
+
+ // query the desktop interface and then it's componentloader
+ XDesktop oDesktop = UnoRuntime.queryInterface(
+ XDesktop.class, oInterface);
+
+ oCLoader = UnoRuntime.queryInterface(
+ XComponentLoader.class, oDesktop);
+ }
+
+ public static SOfficeFactory getFactory(XMultiServiceFactory xMSF) {
+
+ SOfficeFactory soFactory = lookup.get(Integer.toString(xMSF.hashCode()));
+
+ if (soFactory == null) {
+ soFactory = new SOfficeFactory(xMSF);
+ lookup.put(Integer.toString(xMSF.hashCode()), soFactory);
+ }
+
+ return soFactory;
+ }
+
+ // *********************************************************
+ // Document creation. The documents needed are created here.
+ // *********************************************************
+ /**
+ * method which opens a new TextDocument
+ *
+ * @see XTextDocument
+ */
+ public XTextDocument createTextDoc(String frameName)
+ throws com.sun.star.uno.Exception {
+
+ XComponent oDoc = openDoc("swriter", frameName);
+
+ if (oDoc != null) {
+ DesktopTools.bringWindowToFront(oDoc);
+ return UnoRuntime.queryInterface(XTextDocument.class, oDoc);
+ } else {
+ return null;
+ }
+
+ } // finished createTextDoc
+
+
+
+ /**
+ * method which opens a new SpreadsheetDocument
+ *
+ * @see XSpreadsheetDocument
+ */
+ public XSpreadsheetDocument createCalcDoc(String frameName)
+ throws com.sun.star.uno.Exception {
+
+ XComponent oDoc = openDoc("scalc", frameName);
+
+ if (oDoc != null) {
+ DesktopTools.bringWindowToFront(oDoc);
+ return UnoRuntime.queryInterface(XSpreadsheetDocument.class, oDoc);
+ } else {
+ return null;
+ }
+ } // finished createCalcDoc
+
+
+
+ /**
+ * method which opens a new DrawDocument
+ */
+ public XComponent createDrawDoc(String frameName)
+ throws com.sun.star.uno.Exception {
+
+ return openDoc("sdraw", frameName);
+ } // finished createDrawDoc
+
+
+
+ /**
+ * method which opens a new ImpressDocument
+ */
+ public XComponent createImpressDoc(String frameName)
+ throws com.sun.star.uno.Exception {
+
+ return openDoc("simpress", frameName);
+ } // finished createImpressDoc
+
+
+
+ /**
+ * method which opens a new MathDocument
+ */
+ public XComponent createMathDoc(String frameName)
+ throws com.sun.star.uno.Exception {
+
+ return openDoc("smath", frameName);
+ } // finished createMathDoc
+
+
+
+ /**
+ * method which opens a new ChartDocument
+ *
+ * @see XChartDocument
+ */
+ public XChartDocument createChartDoc()
+ throws com.sun.star.uno.Exception {
+
+ XComponent oDoc = loadDocument("private:factory/schart");
+
+ if (oDoc != null) {
+ DesktopTools.bringWindowToFront(oDoc);
+ XChartDocument xChartDoc = UnoRuntime.queryInterface(XChartDocument.class, oDoc);
+ // Create a default chart which many chart tests rely on.
+ com.sun.star.chart2.XChartDocument xCD2 =
+ UnoRuntime.queryInterface(com.sun.star.chart2.XChartDocument.class, oDoc);
+ xCD2.createDefaultChart();
+ return xChartDoc;
+ } else {
+ return null;
+ }
+
+ } // finished createChartDoc
+
+ /**
+ * creates a simple TextTable defaulted to 2 rows and 2 columns
+ */
+ public static XTextTable createTextTable(XTextDocument xTextDoc)
+ {
+
+ TableDsc tDsc = new TableDsc();
+ InstCreator instCreate = new InstCreator(xTextDoc, tDsc);
+
+ XTextTable oTable = (XTextTable) instCreate.getInstance();
+ return oTable;
+ }
+
+ /**
+ * creates a TextTable with a specified count of rows and columns
+ */
+ public static XTextTable createTextTable(XTextDocument xTextDoc,
+ int rows, int columns)
+ {
+
+ TableDsc tDsc = new TableDsc(rows, columns);
+ InstCreator instCreate = new InstCreator(xTextDoc, tDsc);
+
+ XTextTable oTable = (XTextTable) instCreate.getInstance();
+ return oTable;
+ }
+
+
+
+ /**
+ * creates a simple TextFrame
+ * ... to be continued
+ */
+ public static XTextFrame createTextFrame(XTextDocument xTextDoc,
+ int height, int width) {
+
+ FrameDsc tDsc = new FrameDsc(height, width);
+ InstCreator instCreate = new InstCreator(xTextDoc, tDsc);
+
+ XTextFrame oFrame = (XTextFrame) instCreate.getInstance();
+ return oFrame;
+ }
+
+
+
+ public static void insertTextContent(XTextDocument xTextDoc,
+ XTextContent xCont)
+ throws com.sun.star.lang.IllegalArgumentException {
+ XText xText = xTextDoc.getText();
+ XText oText = UnoRuntime.queryInterface(
+ XText.class, xText);
+
+ XTextCursor oCursor = oText.createTextCursor();
+ oText.insertTextContent(oCursor, xCont, false);
+ }
+
+ public static com.sun.star.table.XCell getFirstTableCell(
+ XTextContent oTable) {
+
+ String CellNames[] = ((XTextTable) oTable).getCellNames();
+
+ com.sun.star.table.XCell oCell = ((XTextTable) oTable).getCellByName(
+ CellNames[0]);
+ return oCell;
+
+ }
+
+ /**
+ * the method createBookmark
+ */
+ public static XTextContent createBookmark(XTextDocument xTextDoc)
+ {
+
+ BookmarkDsc tDsc = new BookmarkDsc();
+ InstCreator instCreate = new InstCreator(xTextDoc, tDsc);
+
+ XTextContent oBookmark = (XTextContent) instCreate.getInstance();
+ return oBookmark;
+
+ } /// finish createBookmark
+
+
+
+
+
+ /**
+ * the method create Index
+ */
+ public static XTextContent createIndex(XTextDocument xTextDoc, String kind)
+ throws com.sun.star.uno.Exception {
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class,
+ xTextDoc);
+
+ Object oInt = oDocMSF.createInstance(kind);
+
+ XTextContent xTC = UnoRuntime.queryInterface(XDocumentIndex.class, oInt);
+
+ return xTC;
+
+ }
+
+ public static XSpreadsheet createSpreadsheet(XSpreadsheetDocument oDoc)
+ throws com.sun.star.uno.Exception {
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+
+ Object oInt = oDocMSF.createInstance(
+ "com.sun.star.sheet.Spreadsheet");
+
+ XSpreadsheet oSpreadsheet = UnoRuntime.queryInterface(XSpreadsheet.class, oInt);
+
+ return oSpreadsheet;
+ }
+
+ public static XIndexAccess getTableCollection(XTextDocument oDoc) {
+
+ XTextTablesSupplier oTTS = UnoRuntime.queryInterface(XTextTablesSupplier.class, oDoc);
+
+ XNameAccess oNA = oTTS.getTextTables();
+ XIndexAccess oIA = UnoRuntime.queryInterface(XIndexAccess.class, oNA);
+
+ return oIA;
+ }
+
+
+
+ public XShape createShape(XComponent oDoc, int height, int width, int x, int y, String kind) {
+ //possible values for kind are 'Ellipse', 'Line' and 'Rectangle'
+
+ ShapeDsc sDsc = new ShapeDsc(height, width, x, y, kind);
+ InstCreator instCreate = new InstCreator(oDoc, sDsc);
+
+ XShape oShape = (XShape) instCreate.getInstance();
+
+ return oShape;
+
+ }
+
+ /**
+ * creates a Diagram as specified in kind
+ */
+ public XDiagram createDiagram(XComponent oDoc, String kind) {
+ XInterface oInterface = null;
+ XDiagram oDiagram = null;
+
+ //get LineDiagram
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+
+ try {
+ oInterface = (XInterface) oDocMSF.createInstance("com.sun.star.chart." + kind);
+ oDiagram = UnoRuntime.queryInterface(XDiagram.class, oInterface);
+ } catch (Exception e) {
+ // Some exception occurs.FAILED
+ System.out.println("Couldn't create " + kind + "-Diagram " + e);
+ }
+ return oDiagram;
+ }
+
+ /**
+ * creates a control instance as specified in kind
+ */
+ public XInterface createControl(XComponent oDoc, String kind) {
+
+ XInterface oControl = null;
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+
+ try {
+ oControl = (XInterface) oDocMSF.createInstance("com.sun.star.form.component." + kind);
+ } catch (Exception e) {
+ // Some exception occurs.FAILED
+ System.out.println("Couldn't create instance " + kind + ": " + e);
+ }
+ return oControl;
+ }
+
+ /**
+ * create an Instance as specified in kind
+ */
+ public Object createInstance(XComponent oDoc, String kind) {
+
+ Object oInstance = null;
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+
+ try {
+ oInstance = oDocMSF.createInstance(kind);
+ } catch (Exception e) {
+ // Some exception occurs.FAILED
+ System.out.println("Couldn't create instance " + kind + ": " + e);
+ }
+ return oInstance;
+ }
+
+
+
+ public XComponent loadDocument(String fileName)
+ throws com.sun.star.lang.IllegalArgumentException,
+ com.sun.star.io.IOException,
+ com.sun.star.uno.Exception {
+
+ // that noargs thing for load attributes
+ PropertyValue[] szEmptyArgs = new PropertyValue[0];
+ String frameName = "_blank";
+
+ XComponent oDoc = oCLoader.loadComponentFromURL(
+ fileName, frameName, 0, szEmptyArgs);
+
+ if (oDoc == null) {
+ return null;
+ }
+ DesktopTools.bringWindowToFront(oDoc);
+ return oDoc;
+ }
+
+ public XComponent loadDocument(String fileName, PropertyValue[] Args)
+ throws com.sun.star.lang.IllegalArgumentException,
+ com.sun.star.io.IOException,
+ com.sun.star.uno.Exception {
+
+ // that noargs thing for load attributes
+ String frameName = "_blank";
+
+ XComponent oDoc = oCLoader.loadComponentFromURL(
+ fileName, frameName, 0, Args);
+
+ if (oDoc == null) {
+ return null;
+ }
+ DesktopTools.bringWindowToFront(oDoc);
+
+ return oDoc;
+ }
+
+ public XComponent openDoc(String kind, String frameName)
+ throws com.sun.star.lang.IllegalArgumentException,
+ com.sun.star.io.IOException,
+ com.sun.star.uno.Exception {
+
+ // that noargs thing for load attributes
+ PropertyValue[] Args = null;
+ if (kind.equals("simpress")) {
+ Args = new PropertyValue[1];
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "OpenFlags";
+ Arg.Value = "S";
+ Arg.Handle = -1;
+ Arg.State = PropertyState.DEFAULT_VALUE;
+ Args[0] = Arg;
+ } else {
+ Args = new PropertyValue[0];
+ }
+
+ if (frameName == null) {
+ frameName = "_blank";
+ }
+ // load a blank a doc
+ XComponent oDoc = oCLoader.loadComponentFromURL("private:factory/" + kind, frameName, 40, Args);
+ DesktopTools.bringWindowToFront(oDoc);
+
+ return oDoc;
+
+ } // finished openDoc
+
+
+}
diff --git a/qadevOOo/runner/util/ShapeDsc.java b/qadevOOo/runner/util/ShapeDsc.java
new file mode 100644
index 000000000..e47128172
--- /dev/null
+++ b/qadevOOo/runner/util/ShapeDsc.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.drawing.*;
+import com.sun.star.awt.*;
+/**
+ * the class TableDsc
+ */
+public class ShapeDsc extends InstDescr {
+
+ private final int x;
+ private final int y;
+ private final int height;
+ private final int width;
+ private static final String name = null;
+ private static final String ifcName = "com.sun.star.drawing.XShape";
+ private final String service;
+
+ public ShapeDsc(int nheight, int nwidth, int nx, int ny, String kind) {
+ x = nx;
+ y = ny;
+ height = nheight;
+ width = nwidth;
+ service = "com.sun.star.drawing." + kind + "Shape";
+ initShape();
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public String getIfcName() {
+ return ifcName;
+ }
+ @Override
+ public String getService() {
+ return service;
+ }
+
+ private void initShape() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ @Override
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+
+
+ Object SrvObj = null;
+ try {
+ SrvObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+
+ XShape Sh = (XShape)UnoRuntime.queryInterface(ifcClass, SrvObj );
+ Size size = new Size();
+ Point position = new Point();
+ size.Height = height;
+ size.Width = width;
+ position.X = x;
+ position.Y = y;
+ try {
+ Sh.setSize(size);
+ Sh.setPosition(position);
+ }
+ catch ( com.sun.star.beans.PropertyVetoException e) {
+ }
+
+ return Sh;
+
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/SysUtils.java b/qadevOOo/runner/util/SysUtils.java
new file mode 100644
index 000000000..2b02fd79b
--- /dev/null
+++ b/qadevOOo/runner/util/SysUtils.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.datatransfer.clipboard.*;
+import com.sun.star.datatransfer.*;
+
+public class SysUtils {
+
+ /**
+ * Tries to obtain text data from clipboard if such one exists.
+ * The method iterates through all 'text/plain' supported data
+ * flavors and returns the first non-null String value.
+ *
+ * @param msf MultiserviceFactory
+ * @return First found string clipboard contents or null if no
+ * text contents were found.
+ * @throws com.sun.star.uno.Exception if system clipboard is not accessible.
+ */
+ public static String getSysClipboardText(XMultiServiceFactory msf)
+ throws com.sun.star.uno.Exception {
+
+ XClipboard xCB = UnoRuntime.queryInterface
+ (XClipboard.class, msf.createInstance
+ ("com.sun.star.datatransfer.clipboard.SystemClipboard"));
+
+ XTransferable xTrans = xCB.getContents();
+
+ DataFlavor[] dfs = xTrans.getTransferDataFlavors();
+
+ for (int i = 0; i < dfs.length; i++) {
+ if (dfs[i].MimeType.startsWith("text/plain")) {
+ Object data = xTrans.getTransferData(dfs[i]);
+ if (data instanceof String) {
+ return (String) data;
+ }
+ }
+ }
+
+ return null;
+ }
+}
diff --git a/qadevOOo/runner/util/TableDsc.java b/qadevOOo/runner/util/TableDsc.java
new file mode 100644
index 000000000..3fef4ebd5
--- /dev/null
+++ b/qadevOOo/runner/util/TableDsc.java
@@ -0,0 +1,84 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextTable;
+/**
+ * the class TableDsc
+ */
+public class TableDsc extends InstDescr {
+
+ private int rows = 0;
+ private int columns = 0;
+ private static final String ifcName = "com.sun.star.text.XTextTable";
+ private static final String service = "com.sun.star.text.TextTable";
+
+ public TableDsc() {
+ initTable();
+ }
+
+ public TableDsc( int nRows, int nColumns ) {
+ rows = nRows;
+ columns = nColumns;
+ initTable();
+ }
+
+ @Override
+ public String getName() {
+ return null;
+ }
+ @Override
+ public String getIfcName() {
+ return ifcName;
+ }
+ @Override
+ public String getService() {
+ return service;
+ }
+
+ private void initTable() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ @Override
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object SrvObj = null;
+ try {
+ SrvObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+
+ XTextTable TT = (XTextTable)UnoRuntime.queryInterface(
+ ifcClass, SrvObj );
+
+ if ( rows > 0 && columns > 0 ) {
+ TT.initialize( rows, columns );
+ }
+
+ return TT;
+
+ }
+}
diff --git a/qadevOOo/runner/util/TextSectionDsc.java b/qadevOOo/runner/util/TextSectionDsc.java
new file mode 100644
index 000000000..3a6cce51d
--- /dev/null
+++ b/qadevOOo/runner/util/TextSectionDsc.java
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.text.XTextContent;
+
+/**
+ * the class TextSectionDsc
+ */
+public class TextSectionDsc extends InstDescr {
+
+ private static final String service = "com.sun.star.text.TextSection";
+ private static final String ifcName = "com.sun.star.text.XTextContent";
+
+ public TextSectionDsc() {
+ initTextSection();
+ }
+
+ @Override
+ public String getName() {
+ return null;
+ }
+
+ @Override
+ public String getIfcName() {
+ return ifcName;
+ }
+
+ @Override
+ public String getService() {
+ return service;
+ }
+
+ private void initTextSection() {
+ try {
+ ifcClass = Class.forName( ifcName );
+ }
+ catch( ClassNotFoundException cnfE ) {
+ }
+ }
+ @Override
+ public XInterface createInstance( XMultiServiceFactory docMSF ) {
+ Object ServiceObj = null;
+
+ try {
+ ServiceObj = docMSF.createInstance( service );
+ }
+ catch( com.sun.star.uno.Exception cssuE ){
+ }
+ XTextContent PG = (XTextContent)UnoRuntime.queryInterface( ifcClass,
+ ServiceObj );
+ return PG;
+ }
+}
diff --git a/qadevOOo/runner/util/UITools.java b/qadevOOo/runner/util/UITools.java
new file mode 100644
index 000000000..c9969d355
--- /dev/null
+++ b/qadevOOo/runner/util/UITools.java
@@ -0,0 +1,218 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleEditableText;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.accessibility.XAccessibleValue;
+import com.sun.star.awt.XWindow;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * This class supports some functions to handle easily accessible objects
+ */
+public class UITools {
+
+ private final XAccessible mXRoot;
+
+ public UITools(XWindow xWindow)
+ {
+ mXRoot = makeRoot(xWindow);
+ }
+
+ private static String getString(XInterface xInt)
+ {
+ XAccessibleText oText = UnoRuntime.queryInterface(XAccessibleText.class, xInt);
+ return oText.getText();
+ }
+
+ private static void setString(XInterface xInt, String cText)
+ {
+ XAccessibleEditableText oText = UnoRuntime.queryInterface(XAccessibleEditableText.class, xInt);
+
+ oText.setText(cText);
+ }
+
+ private static XAccessible makeRoot(XWindow xWindow)
+ {
+ return AccessibilityTools.getAccessibleObject(xWindow);
+ }
+
+ /**
+ * get the root element of the accessible tree
+ * @return the root element
+ */
+ public XAccessible getRoot()
+ {
+ return mXRoot;
+ }
+
+ /**
+ * Helper method: set a text into AccessibleEdit field
+ * @param textfiledName is the name of the text field
+ * @param stringToSet is the string to set
+ * @throws java.lang.Exception if something fail
+ */
+ public void setTextEditFiledText(String textfiledName, String stringToSet)
+ throws java.lang.Exception
+ {
+ XInterface oTextField = AccessibilityTools.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.TEXT, textfiledName);
+ setString(oTextField, stringToSet);
+ }
+
+ /**
+ * returns the button by the given name
+ * @param buttonName is the name of the button to get
+ * @return a XAccessibleContext of the button
+ * @throws java.lang.Exception if something fail
+ */
+ public XAccessibleContext getButton(String buttonName) throws java.lang.Exception
+ {
+ return AccessibilityTools.getAccessibleObjectForRole
+ (mXRoot, AccessibleRole.PUSH_BUTTON, buttonName);
+ }
+
+ /**
+ * Helper method: gets button via accessibility and 'click' it</code>
+ * @param buttonName is the name of the button to click
+ * @throws java.lang.Exception if something fail
+ */
+ public void clickButton(String buttonName) throws java.lang.Exception
+ {
+
+ XAccessibleContext oButton =AccessibilityTools.getAccessibleObjectForRole
+ (mXRoot, AccessibleRole.PUSH_BUTTON, buttonName);
+ if (oButton == null){
+ throw new Exception("Could not get button '" + buttonName + "'");
+ }
+ XAccessibleAction oAction = UnoRuntime.queryInterface(XAccessibleAction.class, oButton);
+
+ // "click" the button
+ try{
+ oAction.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new Exception("Could not do accessible action with '" +
+ buttonName + "'", e);
+ }
+ }
+
+ /**
+ * Helper method: returns the entry manes of a List-Box
+ * @param ListBoxName the name of the listbox
+ * @return the listbox entry names
+ * @throws java.lang.Exception if something fail
+ */
+ public String[] getListBoxItems(String ListBoxName)
+ throws java.lang.Exception
+ {
+ ArrayList<String> Items = new ArrayList<String>();
+ try {
+ XAccessibleContext xListBox = null;
+ XAccessibleContext xList = null;
+
+ xListBox =AccessibilityTools.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.COMBO_BOX, ListBoxName);
+ if (xListBox == null){
+ xListBox =AccessibilityTools.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.PANEL, ListBoxName);
+ }
+
+ if (xListBox == null){
+ // get the list of TreeListBox
+ xList =AccessibilityTools.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.TREE, ListBoxName);
+
+ // all other list boxes have a children of kind of LIST
+ } else {
+
+ XAccessible xListBoxAccess = UnoRuntime.queryInterface(XAccessible.class, xListBox);
+ // if a List is not pulled to be open all entries are not visible, therefore the
+ // boolean argument
+ xList =AccessibilityTools.getAccessibleObjectForRole(
+ xListBoxAccess, AccessibleRole.LIST, true);
+ }
+
+ for (int i=0;i<xList.getAccessibleChildCount();i++) {
+ try {
+ XAccessible xChild = xList.getAccessibleChild(i);
+ XAccessibleContext xChildCont =
+ xChild.getAccessibleContext();
+ XInterface xChildInterface = UnoRuntime.queryInterface(XInterface.class, xChildCont);
+ Items.add(getString(xChildInterface));
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new Exception("Could not get child form list of '"
+ + ListBoxName + "'", e);
+ }
+ }
+
+ } catch (Exception e) {
+ throw new Exception("Could not get list of items from '"
+ + ListBoxName + "'", e);
+ }
+ String[]ret = new String[Items.size()];
+ return Items.toArray(ret);
+ }
+
+ /**
+ * set a value to a named check box
+ * @param CheckBoxName the name of the check box
+ * @param Value the value to set
+ *<ul>
+ * <li>0: not checked </li>
+ * <li>1: checked </li>
+ * <li>2: don't know </li>
+ *</ul>
+ * @throws java.lang.Exception if something fail
+ */
+ public void setCheckBoxValue(String CheckBoxName, Integer Value)
+ throws java.lang.Exception
+ {
+ try {
+ XInterface xCheckBox =AccessibilityTools.getAccessibleObjectForRole(mXRoot,
+ AccessibleRole.CHECK_BOX, CheckBoxName);
+ XAccessibleValue xCheckBoxValue = UnoRuntime.queryInterface(XAccessibleValue.class, xCheckBox);
+ xCheckBoxValue.setCurrentValue(Value);
+
+ } catch (Exception e) {
+ throw new Exception("Could not set value to CheckBox '"
+ + CheckBoxName + "'", e);
+ }
+ }
+
+ /**
+ * Prints the accessible tree to the <CODE>logWriter</CODE> only if <CODE>debugIsActive</CODE>
+ * is set to <CODE>true</CODE>
+ * @param log logWriter
+ * @param debugIsActive prints only if this parameter is set to TRUE
+ */
+ public void printAccessibleTree(PrintWriter log, boolean debugIsActive) {
+ AccessibilityTools.printAccessibleTree(log, mXRoot, debugIsActive);
+ }
+
+}
diff --git a/qadevOOo/runner/util/ValueChanger.java b/qadevOOo/runner/util/ValueChanger.java
new file mode 100644
index 000000000..8a6c51936
--- /dev/null
+++ b/qadevOOo/runner/util/ValueChanger.java
@@ -0,0 +1,1102 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.awt.Point;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.drawing.PolygonFlags;
+import com.sun.star.uno.Enum;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.lang.reflect.Array;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+public class ValueChanger {
+
+ // Method to change a Value, thought for properties
+ public static Object changePValue(Object oldValue, String name) {
+
+ Object newValue = null;
+
+ if (oldValue instanceof com.sun.star.uno.Any) {
+ try {
+ oldValue = AnyConverter.toObject(((Any) oldValue).getType(),
+ oldValue);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ }
+ }
+
+ if (oldValue == null)
+ return null;
+
+ if (oldValue instanceof Boolean) {
+ boolean oldbool = ((Boolean) oldValue).booleanValue();
+ newValue = Boolean.valueOf(!oldbool);
+ } else if (oldValue instanceof Integer) {
+ int oldint = ((Integer) oldValue).intValue();
+ newValue = Integer.valueOf(oldint + 5);
+ } else if (oldValue instanceof Long) {
+ long oldlong = ((Long) oldValue).longValue();
+ newValue = Long.valueOf(oldlong + 15);
+ } else if (oldValue instanceof Short) {
+ short n = ((Short) oldValue).shortValue();
+ if ("DefaultState".equals(name) && n == 2) {
+ // css.form.component.{CheckBox,RadioButton} DefaultState
+ // properties must have values in the range 0--2:
+ --n;
+ } else if ("LinkUpdateMode".equals(name) && n >= 2) {
+ // css.document.Settings LinkUpdateMode property must have
+ // values in the css.document.LinkUpdateModes range (0--3),
+ // while css.sheet.XGlobalSheetSettings LinkUpdateMode property
+ // must have values in the range 0--2:
+ --n;
+ } else {
+ ++n;
+ }
+ newValue = Short.valueOf(n);
+ } else if (oldValue instanceof Byte) {
+ byte oldbyte = ((Byte) oldValue).byteValue();
+ newValue = Byte.valueOf((byte) (oldbyte + 1));
+ } else if (oldValue instanceof Float) {
+ float oldfloat = ((Float) oldValue).floatValue();
+ newValue = new Float((float) (oldfloat + 16.7));
+ } else if (oldValue instanceof Double) {
+ double olddouble = ((Double) oldValue).doubleValue();
+ newValue = new Double(olddouble + 17.8);
+ } else if (oldValue instanceof String) {
+ String oldString = (String) oldValue;
+ newValue = oldString + "New";
+ } else if (oldValue instanceof com.sun.star.chart.ChartAxisArrangeOrderType) {
+ Object AO1 = com.sun.star.chart.ChartAxisArrangeOrderType.AUTO;
+ Object AO2 = com.sun.star.chart.ChartAxisArrangeOrderType.SIDE_BY_SIDE;
+ Object AO3 = com.sun.star.chart.ChartAxisArrangeOrderType.STAGGER_EVEN;
+ Object AO4 = com.sun.star.chart.ChartAxisArrangeOrderType.STAGGER_ODD;
+
+ if (oldValue.equals(AO1))
+ newValue = AO2;
+ if (oldValue.equals(AO2))
+ newValue = AO3;
+ if (oldValue.equals(AO3))
+ newValue = AO4;
+ if (oldValue.equals(AO4))
+ newValue = AO1;
+ } else if (oldValue instanceof com.sun.star.view.PaperOrientation) {
+ Object OR1 = com.sun.star.view.PaperOrientation.LANDSCAPE;
+ Object OR2 = com.sun.star.view.PaperOrientation.PORTRAIT;
+
+ if (oldValue.equals(OR1))
+ newValue = OR2;
+ else
+ newValue = OR1;
+ } else if (oldValue instanceof com.sun.star.lang.Locale) {
+ com.sun.star.lang.Locale Loc1 = new com.sun.star.lang.Locale(
+ "en", "US", "");
+ com.sun.star.lang.Locale Loc2 = new com.sun.star.lang.Locale(
+ "de", "DE", "");
+ com.sun.star.lang.Locale old = (com.sun.star.lang.Locale) oldValue;
+ if (old.Language.equals(Loc1.Language)
+ && old.Country.equals(Loc1.Country)
+ && old.Variant.equals(Loc1.Variant))
+ newValue = Loc2;
+ else
+ newValue = Loc1;
+ } else if (oldValue instanceof com.sun.star.style.ParagraphAdjust) {
+ Object PA1 = com.sun.star.style.ParagraphAdjust.LEFT;
+ Object PA2 = com.sun.star.style.ParagraphAdjust.CENTER;
+
+ if (oldValue.equals(PA1))
+ newValue = PA2;
+ else
+ newValue = PA1;
+ } else if (oldValue instanceof com.sun.star.style.LineSpacing) {
+ com.sun.star.style.LineSpacing LS = new com.sun.star.style.LineSpacing();
+ com.sun.star.style.LineSpacing LSold = (com.sun.star.style.LineSpacing) oldValue;
+ LS.Height = (short) ((LSold.Height) + 1);
+ LS.Mode = (short) ((LSold.Mode) + 1);
+ newValue = LS;
+ } else if (oldValue instanceof com.sun.star.drawing.Direction3D) {
+ com.sun.star.drawing.Direction3D D3D = new com.sun.star.drawing.Direction3D();
+ com.sun.star.drawing.Direction3D D3Dold = (com.sun.star.drawing.Direction3D) oldValue;
+ D3D.DirectionX = D3Dold.DirectionX + .5;
+ D3D.DirectionY = D3Dold.DirectionY + .5;
+ D3D.DirectionZ = D3Dold.DirectionZ + .5;
+ newValue = D3D;
+ } else if (oldValue instanceof com.sun.star.style.GraphicLocation) {
+ Object GL1 = com.sun.star.style.GraphicLocation.AREA;
+ Object GL2 = com.sun.star.style.GraphicLocation.LEFT_BOTTOM;
+
+ if (oldValue.equals(GL1))
+ newValue = GL2;
+ else
+ newValue = GL1;
+ } else if (oldValue instanceof com.sun.star.style.TabStop) {
+ com.sun.star.style.TabStop TS = new com.sun.star.style.TabStop();
+ com.sun.star.style.TabStop TSold = (com.sun.star.style.TabStop) oldValue;
+ com.sun.star.style.TabAlign TA1 = com.sun.star.style.TabAlign.CENTER;
+ com.sun.star.style.TabAlign TA2 = com.sun.star.style.TabAlign.RIGHT;
+
+ if (TSold.Alignment.equals(TA1))
+ TS.Alignment = TA2;
+ else
+ TS.Alignment = TA1;
+
+ TS.Position = ((TSold.Position) + 1);
+
+ newValue = TS;
+ } else if (oldValue instanceof com.sun.star.style.DropCapFormat) {
+ com.sun.star.style.DropCapFormat DCF = new com.sun.star.style.DropCapFormat();
+ com.sun.star.style.DropCapFormat DCFold = (com.sun.star.style.DropCapFormat) oldValue;
+ DCF.Count = (byte) ((DCFold.Count) + 1);
+ DCF.Distance = (short) ((DCFold.Distance) + 1);
+ DCF.Lines = (byte) ((DCFold.Lines) + 1);
+ newValue = DCF;
+ } else if (oldValue instanceof com.sun.star.text.TextContentAnchorType) {
+ com.sun.star.text.TextContentAnchorType TCAT1 = com.sun.star.text.TextContentAnchorType.AS_CHARACTER;
+ com.sun.star.text.TextContentAnchorType TCAT2 = com.sun.star.text.TextContentAnchorType.AT_CHARACTER;
+ com.sun.star.text.TextContentAnchorType TCAT3 = com.sun.star.text.TextContentAnchorType.AT_FRAME;
+ com.sun.star.text.TextContentAnchorType TCAT4 = com.sun.star.text.TextContentAnchorType.AT_PAGE;
+ com.sun.star.text.TextContentAnchorType TCAT5 = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH;
+ if (oldValue.equals(TCAT1))
+ newValue = TCAT2;
+ if (oldValue.equals(TCAT2))
+ newValue = TCAT3;
+ if (oldValue.equals(TCAT3))
+ newValue = TCAT4;
+ if (oldValue.equals(TCAT4))
+ newValue = TCAT5;
+ if (oldValue.equals(TCAT5))
+ newValue = TCAT1;
+ } else if (oldValue instanceof com.sun.star.text.WrapTextMode) {
+ com.sun.star.text.WrapTextMode WTM1 = com.sun.star.text.WrapTextMode.DYNAMIC;
+ com.sun.star.text.WrapTextMode WTM2 = com.sun.star.text.WrapTextMode.LEFT;
+ com.sun.star.text.WrapTextMode WTM3 = com.sun.star.text.WrapTextMode.NONE;
+ com.sun.star.text.WrapTextMode WTM4 = com.sun.star.text.WrapTextMode.PARALLEL;
+ com.sun.star.text.WrapTextMode WTM5 = com.sun.star.text.WrapTextMode.RIGHT;
+ com.sun.star.text.WrapTextMode WTM6 = com.sun.star.text.WrapTextMode.THROUGH;
+ if (oldValue.equals(WTM1))
+ newValue = WTM2;
+ if (oldValue.equals(WTM2))
+ newValue = WTM3;
+ if (oldValue.equals(WTM3))
+ newValue = WTM4;
+ if (oldValue.equals(WTM4))
+ newValue = WTM5;
+ if (oldValue.equals(WTM5))
+ newValue = WTM6;
+ if (oldValue.equals(WTM6))
+ newValue = WTM1;
+ } else if (oldValue instanceof com.sun.star.awt.Size) {
+ com.sun.star.awt.Size oldSize = (com.sun.star.awt.Size) oldValue;
+ com.sun.star.awt.Size newSize = new com.sun.star.awt.Size();
+ newSize.Height = oldSize.Height + 1;
+ newSize.Width = oldSize.Width + 1;
+ newValue = newSize;
+ } else if (oldValue instanceof com.sun.star.awt.Rectangle) {
+ com.sun.star.awt.Rectangle oldRectangle = (com.sun.star.awt.Rectangle) oldValue;
+ com.sun.star.awt.Rectangle newRectangle = new com.sun.star.awt.Rectangle();
+ newRectangle.Height = oldRectangle.Height + 1;
+ newRectangle.Width = oldRectangle.Width + 1;
+ newRectangle.X = oldRectangle.Y + 1;
+ newRectangle.Y = oldRectangle.X + 1;
+ newValue = newRectangle;
+ } else if (oldValue instanceof com.sun.star.awt.Point) {
+ com.sun.star.awt.Point oldPoint = (com.sun.star.awt.Point) oldValue;
+ com.sun.star.awt.Point newPoint = new com.sun.star.awt.Point();
+ newPoint.X = oldPoint.X + 1;
+ newPoint.Y = oldPoint.Y + 1;
+ newValue = newPoint;
+ } else if (oldValue instanceof com.sun.star.table.ShadowFormat) {
+ com.sun.star.table.ShadowFormat SF = new com.sun.star.table.ShadowFormat();
+ com.sun.star.table.ShadowFormat SFold = (com.sun.star.table.ShadowFormat) oldValue;
+ SF.IsTransparent = (!SFold.IsTransparent);
+ SF.ShadowWidth = (short) ((SFold.ShadowWidth) + 1);
+ newValue = SF;
+ } else if (oldValue instanceof com.sun.star.awt.FontSlant) {
+ com.sun.star.awt.FontSlant FS1 = com.sun.star.awt.FontSlant.DONTKNOW;
+ com.sun.star.awt.FontSlant FS2 = com.sun.star.awt.FontSlant.ITALIC;
+ com.sun.star.awt.FontSlant FS3 = com.sun.star.awt.FontSlant.NONE;
+ com.sun.star.awt.FontSlant FS4 = com.sun.star.awt.FontSlant.OBLIQUE;
+ com.sun.star.awt.FontSlant FS5 = com.sun.star.awt.FontSlant.REVERSE_ITALIC;
+ com.sun.star.awt.FontSlant FS6 = com.sun.star.awt.FontSlant.REVERSE_OBLIQUE;
+ if (oldValue.equals(FS1))
+ newValue = FS2;
+ if (oldValue.equals(FS2))
+ newValue = FS3;
+ if (oldValue.equals(FS3))
+ newValue = FS4;
+ if (oldValue.equals(FS4))
+ newValue = FS5;
+ if (oldValue.equals(FS5))
+ newValue = FS6;
+ if (oldValue.equals(FS6))
+ newValue = FS1;
+ } else if (oldValue instanceof com.sun.star.table.CellHoriJustify) {
+ com.sun.star.table.CellHoriJustify CHJ1 = com.sun.star.table.CellHoriJustify.BLOCK;
+ com.sun.star.table.CellHoriJustify CHJ2 = com.sun.star.table.CellHoriJustify.CENTER;
+ com.sun.star.table.CellHoriJustify CHJ3 = com.sun.star.table.CellHoriJustify.LEFT;
+ com.sun.star.table.CellHoriJustify CHJ4 = com.sun.star.table.CellHoriJustify.REPEAT;
+ com.sun.star.table.CellHoriJustify CHJ5 = com.sun.star.table.CellHoriJustify.RIGHT;
+ com.sun.star.table.CellHoriJustify CHJ6 = com.sun.star.table.CellHoriJustify.STANDARD;
+ if (oldValue.equals(CHJ1))
+ newValue = CHJ2;
+ if (oldValue.equals(CHJ2))
+ newValue = CHJ3;
+ if (oldValue.equals(CHJ3))
+ newValue = CHJ4;
+ if (oldValue.equals(CHJ4))
+ newValue = CHJ5;
+ if (oldValue.equals(CHJ5))
+ newValue = CHJ6;
+ if (oldValue.equals(CHJ6))
+ newValue = CHJ1;
+ } else if (oldValue instanceof com.sun.star.table.CellVertJustify) {
+ com.sun.star.table.CellVertJustify CVJ1 = com.sun.star.table.CellVertJustify.BOTTOM;
+ com.sun.star.table.CellVertJustify CVJ2 = com.sun.star.table.CellVertJustify.CENTER;
+ com.sun.star.table.CellVertJustify CVJ3 = com.sun.star.table.CellVertJustify.STANDARD;
+ com.sun.star.table.CellVertJustify CVJ4 = com.sun.star.table.CellVertJustify.TOP;
+ if (oldValue.equals(CVJ1))
+ newValue = CVJ2;
+ if (oldValue.equals(CVJ2))
+ newValue = CVJ3;
+ if (oldValue.equals(CVJ3))
+ newValue = CVJ4;
+ if (oldValue.equals(CVJ4))
+ newValue = CVJ1;
+ } else if (oldValue instanceof com.sun.star.table.CellOrientation) {
+ com.sun.star.table.CellOrientation CO1 = com.sun.star.table.CellOrientation.BOTTOMTOP;
+ com.sun.star.table.CellOrientation CO2 = com.sun.star.table.CellOrientation.STACKED;
+ com.sun.star.table.CellOrientation CO3 = com.sun.star.table.CellOrientation.STANDARD;
+ com.sun.star.table.CellOrientation CO4 = com.sun.star.table.CellOrientation.TOPBOTTOM;
+ if (oldValue.equals(CO1))
+ newValue = CO2;
+ if (oldValue.equals(CO2))
+ newValue = CO3;
+ if (oldValue.equals(CO3))
+ newValue = CO4;
+ if (oldValue.equals(CO4))
+ newValue = CO1;
+ } else if (oldValue instanceof com.sun.star.util.CellProtection) {
+ com.sun.star.util.CellProtection CP = new com.sun.star.util.CellProtection();
+ com.sun.star.util.CellProtection CPold = (com.sun.star.util.CellProtection) oldValue;
+ CP.IsFormulaHidden = (!CPold.IsFormulaHidden);
+ CP.IsHidden = (!CPold.IsHidden);
+ CP.IsLocked = (!CPold.IsLocked);
+ CP.IsPrintHidden = (!CPold.IsPrintHidden);
+ newValue = CP;
+ } else if (oldValue instanceof com.sun.star.table.TableBorder) {
+ com.sun.star.table.TableBorder TBold = (com.sun.star.table.TableBorder) oldValue;
+ com.sun.star.table.TableBorder TB = new com.sun.star.table.TableBorder();
+ TB.IsBottomLineValid = (!TBold.IsBottomLineValid);
+ TB.IsDistanceValid = (!TBold.IsDistanceValid);
+ TB.IsRightLineValid = (!TBold.IsRightLineValid);
+ TB.IsTopLineValid = (!TBold.IsTopLineValid);
+ newValue = TB;
+ } else if (oldValue instanceof com.sun.star.drawing.FillStyle) {
+ /*
+ * if (oldValue instanceof com.sun.star.awt.XBitmap) { newValue =
+ * new BitmapLoader(); }
+ */
+ com.sun.star.drawing.FillStyle FS1 = com.sun.star.drawing.FillStyle.NONE;
+ com.sun.star.drawing.FillStyle FS2 = com.sun.star.drawing.FillStyle.SOLID;
+ com.sun.star.drawing.FillStyle FS3 = com.sun.star.drawing.FillStyle.GRADIENT;
+ com.sun.star.drawing.FillStyle FS4 = com.sun.star.drawing.FillStyle.HATCH;
+ com.sun.star.drawing.FillStyle FS5 = com.sun.star.drawing.FillStyle.BITMAP;
+ if (oldValue.equals(FS1))
+ newValue = FS2;
+ if (oldValue.equals(FS2))
+ newValue = FS3;
+ if (oldValue.equals(FS3))
+ newValue = FS4;
+ if (oldValue.equals(FS4))
+ newValue = FS5;
+ if (oldValue.equals(FS5))
+ newValue = FS1;
+ } else if (oldValue instanceof com.sun.star.awt.Gradient) {
+ com.sun.star.awt.Gradient _newValue = copyStruct(
+ (com.sun.star.awt.Gradient) oldValue);
+ _newValue.Angle += 10;
+ _newValue.Border += 1;
+ _newValue.EndColor += 1000;
+ _newValue.EndIntensity -= 10;
+ _newValue.StartColor += 500;
+ _newValue.StartIntensity += 10;
+ _newValue.StepCount += 50;
+ _newValue.Style = com.sun.star.awt.GradientStyle.RADIAL;
+ _newValue.XOffset += 10;
+ _newValue.YOffset += 10;
+ newValue = _newValue;
+ } else if (oldValue instanceof com.sun.star.text.GraphicCrop) {
+ com.sun.star.text.GraphicCrop _newValue = copyStruct(
+ (com.sun.star.text.GraphicCrop) oldValue);
+ _newValue.Bottom += 10;
+ _newValue.Left += 10;
+ _newValue.Right += 10;
+ _newValue.Top += 10;
+ newValue = _newValue;
+ } else if (oldValue instanceof com.sun.star.drawing.BitmapMode) {
+ com.sun.star.drawing.BitmapMode bm1 = com.sun.star.drawing.BitmapMode.NO_REPEAT;
+ com.sun.star.drawing.BitmapMode bm2 = com.sun.star.drawing.BitmapMode.REPEAT;
+ com.sun.star.drawing.BitmapMode bm3 = com.sun.star.drawing.BitmapMode.STRETCH;
+ if (oldValue.equals(bm1))
+ newValue = bm2;
+ if (oldValue.equals(bm2))
+ newValue = bm3;
+ if (oldValue.equals(bm3))
+ newValue = bm1;
+ } else if (oldValue instanceof com.sun.star.drawing.TextAdjust) {
+ com.sun.star.drawing.TextAdjust TA1 = com.sun.star.drawing.TextAdjust.BLOCK;
+ com.sun.star.drawing.TextAdjust TA2 = com.sun.star.drawing.TextAdjust.CENTER;
+ com.sun.star.drawing.TextAdjust TA3 = com.sun.star.drawing.TextAdjust.LEFT;
+ com.sun.star.drawing.TextAdjust TA4 = com.sun.star.drawing.TextAdjust.RIGHT;
+ com.sun.star.drawing.TextAdjust TA5 = com.sun.star.drawing.TextAdjust.STRETCH;
+ if (oldValue.equals(TA1))
+ newValue = TA2;
+ if (oldValue.equals(TA2))
+ newValue = TA3;
+ if (oldValue.equals(TA3))
+ newValue = TA4;
+ if (oldValue.equals(TA4))
+ newValue = TA5;
+ if (oldValue.equals(TA5))
+ newValue = TA1;
+ } else if (oldValue instanceof com.sun.star.drawing.TextFitToSizeType) {
+ com.sun.star.drawing.TextFitToSizeType TF1 = com.sun.star.drawing.TextFitToSizeType.ALLLINES;
+ com.sun.star.drawing.TextFitToSizeType TF2 = com.sun.star.drawing.TextFitToSizeType.NONE;
+ com.sun.star.drawing.TextFitToSizeType TF3 = com.sun.star.drawing.TextFitToSizeType.PROPORTIONAL;
+ com.sun.star.drawing.TextFitToSizeType TF4 = com.sun.star.drawing.TextFitToSizeType.AUTOFIT;
+ if (oldValue.equals(TF1))
+ newValue = TF2;
+ if (oldValue.equals(TF2))
+ newValue = TF3;
+ if (oldValue.equals(TF3))
+ newValue = TF4;
+ if (oldValue.equals(TF4))
+ newValue = TF1;
+ } else if (oldValue instanceof com.sun.star.drawing.TextAnimationKind) {
+ com.sun.star.drawing.TextAnimationKind AK1 = com.sun.star.drawing.TextAnimationKind.NONE;
+ com.sun.star.drawing.TextAnimationKind AK2 = com.sun.star.drawing.TextAnimationKind.SLIDE;
+ com.sun.star.drawing.TextAnimationKind AK3 = com.sun.star.drawing.TextAnimationKind.SCROLL;
+ com.sun.star.drawing.TextAnimationKind AK4 = com.sun.star.drawing.TextAnimationKind.BLINK;
+ com.sun.star.drawing.TextAnimationKind AK5 = com.sun.star.drawing.TextAnimationKind.ALTERNATE;
+
+ if (oldValue.equals(AK1))
+ newValue = AK2;
+ if (oldValue.equals(AK2))
+ newValue = AK3;
+ if (oldValue.equals(AK3))
+ newValue = AK4;
+ if (oldValue.equals(AK4))
+ newValue = AK5;
+ if (oldValue.equals(AK5))
+ newValue = AK1;
+ } else if (oldValue instanceof com.sun.star.drawing.TextAnimationDirection) {
+ com.sun.star.drawing.TextAnimationDirection AD1 = com.sun.star.drawing.TextAnimationDirection.LEFT;
+ com.sun.star.drawing.TextAnimationDirection AD2 = com.sun.star.drawing.TextAnimationDirection.RIGHT;
+ com.sun.star.drawing.TextAnimationDirection AD3 = com.sun.star.drawing.TextAnimationDirection.DOWN;
+ com.sun.star.drawing.TextAnimationDirection AD4 = com.sun.star.drawing.TextAnimationDirection.UP;
+ if (oldValue.equals(AD1))
+ newValue = AD2;
+ if (oldValue.equals(AD2))
+ newValue = AD3;
+ if (oldValue.equals(AD3))
+ newValue = AD4;
+ if (oldValue.equals(AD4))
+ newValue = AD1;
+ } else if (oldValue instanceof com.sun.star.drawing.LineStyle) {
+ com.sun.star.drawing.LineStyle LS1 = com.sun.star.drawing.LineStyle.NONE;
+ com.sun.star.drawing.LineStyle LS2 = com.sun.star.drawing.LineStyle.DASH;
+ com.sun.star.drawing.LineStyle LS3 = com.sun.star.drawing.LineStyle.SOLID;
+ if (oldValue.equals(LS1))
+ newValue = LS2;
+ if (oldValue.equals(LS2))
+ newValue = LS3;
+ if (oldValue.equals(LS3))
+ newValue = LS1;
+ } else if (oldValue instanceof com.sun.star.drawing.LineJoint) {
+ com.sun.star.drawing.LineJoint LJ1 = com.sun.star.drawing.LineJoint.BEVEL;
+ com.sun.star.drawing.LineJoint LJ2 = com.sun.star.drawing.LineJoint.MIDDLE;
+ com.sun.star.drawing.LineJoint LJ3 = com.sun.star.drawing.LineJoint.MITER;
+ com.sun.star.drawing.LineJoint LJ4 = com.sun.star.drawing.LineJoint.NONE;
+ com.sun.star.drawing.LineJoint LJ5 = com.sun.star.drawing.LineJoint.ROUND;
+ if (oldValue.equals(LJ1))
+ newValue = LJ2;
+ if (oldValue.equals(LJ2))
+ newValue = LJ3;
+ if (oldValue.equals(LJ3))
+ newValue = LJ4;
+ if (oldValue.equals(LJ4))
+ newValue = LJ5;
+ if (oldValue.equals(LJ5))
+ newValue = LJ1;
+ } else if (oldValue instanceof com.sun.star.drawing.LineDash) {
+ com.sun.star.drawing.LineDash _newValue = copyStruct(
+ (com.sun.star.drawing.LineDash) oldValue);
+ _newValue.Dashes += 1;
+ _newValue.DashLen += 10;
+ _newValue.Distance += 20;
+ _newValue.DotLen += 10;
+ _newValue.Dots += 10;
+ _newValue.Style = com.sun.star.drawing.DashStyle.RECT;
+ newValue = _newValue;
+ } else if (oldValue instanceof com.sun.star.drawing.Hatch) {
+ com.sun.star.drawing.Hatch _newValue = copyStruct(
+ (com.sun.star.drawing.Hatch) oldValue);
+ _newValue.Angle += 10;
+ _newValue.Color += 1000;
+ _newValue.Distance += 10;
+ _newValue.Style = com.sun.star.drawing.HatchStyle.DOUBLE;
+ } else if (oldValue instanceof com.sun.star.drawing.RectanglePoint) {
+ com.sun.star.drawing.RectanglePoint RP1 = com.sun.star.drawing.RectanglePoint.LEFT_BOTTOM;
+ com.sun.star.drawing.RectanglePoint RP2 = com.sun.star.drawing.RectanglePoint.LEFT_MIDDLE;
+ com.sun.star.drawing.RectanglePoint RP3 = com.sun.star.drawing.RectanglePoint.LEFT_TOP;
+ com.sun.star.drawing.RectanglePoint RP4 = com.sun.star.drawing.RectanglePoint.MIDDLE_BOTTOM;
+ com.sun.star.drawing.RectanglePoint RP5 = com.sun.star.drawing.RectanglePoint.MIDDLE_MIDDLE;
+ com.sun.star.drawing.RectanglePoint RP6 = com.sun.star.drawing.RectanglePoint.MIDDLE_TOP;
+ com.sun.star.drawing.RectanglePoint RP7 = com.sun.star.drawing.RectanglePoint.RIGHT_BOTTOM;
+ com.sun.star.drawing.RectanglePoint RP8 = com.sun.star.drawing.RectanglePoint.RIGHT_MIDDLE;
+ com.sun.star.drawing.RectanglePoint RP9 = com.sun.star.drawing.RectanglePoint.RIGHT_TOP;
+
+ if (oldValue.equals(RP1))
+ newValue = RP2;
+ if (oldValue.equals(RP2))
+ newValue = RP3;
+ if (oldValue.equals(RP3))
+ newValue = RP4;
+ if (oldValue.equals(RP4))
+ newValue = RP5;
+ if (oldValue.equals(RP5))
+ newValue = RP6;
+ if (oldValue.equals(RP6))
+ newValue = RP7;
+ if (oldValue.equals(RP7))
+ newValue = RP8;
+ if (oldValue.equals(RP8))
+ newValue = RP9;
+ if (oldValue.equals(RP9))
+ newValue = RP1;
+
+ } else if (oldValue instanceof com.sun.star.chart.ChartErrorCategory) {
+ com.sun.star.chart.ChartErrorCategory CC1 = com.sun.star.chart.ChartErrorCategory.CONSTANT_VALUE;
+ com.sun.star.chart.ChartErrorCategory CC2 = com.sun.star.chart.ChartErrorCategory.ERROR_MARGIN;
+ com.sun.star.chart.ChartErrorCategory CC3 = com.sun.star.chart.ChartErrorCategory.NONE;
+ com.sun.star.chart.ChartErrorCategory CC4 = com.sun.star.chart.ChartErrorCategory.PERCENT;
+ com.sun.star.chart.ChartErrorCategory CC5 = com.sun.star.chart.ChartErrorCategory.STANDARD_DEVIATION;
+ com.sun.star.chart.ChartErrorCategory CC6 = com.sun.star.chart.ChartErrorCategory.VARIANCE;
+ if (oldValue.equals(CC1))
+ newValue = CC2;
+ if (oldValue.equals(CC2))
+ newValue = CC3;
+ if (oldValue.equals(CC3))
+ newValue = CC4;
+ if (oldValue.equals(CC4))
+ newValue = CC5;
+ if (oldValue.equals(CC5))
+ newValue = CC6;
+ if (oldValue.equals(CC6))
+ newValue = CC1;
+ } else if (oldValue instanceof com.sun.star.chart.ChartErrorIndicatorType) {
+ com.sun.star.chart.ChartErrorIndicatorType IT1 = com.sun.star.chart.ChartErrorIndicatorType.LOWER;
+ com.sun.star.chart.ChartErrorIndicatorType IT2 = com.sun.star.chart.ChartErrorIndicatorType.NONE;
+ com.sun.star.chart.ChartErrorIndicatorType IT3 = com.sun.star.chart.ChartErrorIndicatorType.TOP_AND_BOTTOM;
+ com.sun.star.chart.ChartErrorIndicatorType IT4 = com.sun.star.chart.ChartErrorIndicatorType.UPPER;
+ if (oldValue.equals(IT1))
+ newValue = IT2;
+ if (oldValue.equals(IT2))
+ newValue = IT3;
+ if (oldValue.equals(IT3))
+ newValue = IT4;
+ if (oldValue.equals(IT4))
+ newValue = IT1;
+ } else if (oldValue instanceof com.sun.star.chart.ChartRegressionCurveType) {
+ com.sun.star.chart.ChartRegressionCurveType CT1 = com.sun.star.chart.ChartRegressionCurveType.EXPONENTIAL;
+ com.sun.star.chart.ChartRegressionCurveType CT2 = com.sun.star.chart.ChartRegressionCurveType.LINEAR;
+ com.sun.star.chart.ChartRegressionCurveType CT3 = com.sun.star.chart.ChartRegressionCurveType.LOGARITHM;
+ com.sun.star.chart.ChartRegressionCurveType CT4 = com.sun.star.chart.ChartRegressionCurveType.NONE;
+ com.sun.star.chart.ChartRegressionCurveType CT5 = com.sun.star.chart.ChartRegressionCurveType.POLYNOMIAL;
+ com.sun.star.chart.ChartRegressionCurveType CT6 = com.sun.star.chart.ChartRegressionCurveType.POWER;
+ if (oldValue.equals(CT1))
+ newValue = CT2;
+ if (oldValue.equals(CT2))
+ newValue = CT3;
+ if (oldValue.equals(CT3))
+ newValue = CT4;
+ if (oldValue.equals(CT4))
+ newValue = CT5;
+ if (oldValue.equals(CT5))
+ newValue = CT6;
+ if (oldValue.equals(CT6))
+ newValue = CT1;
+
+ } else if (oldValue instanceof com.sun.star.chart.ChartDataRowSource) {
+ com.sun.star.chart.ChartDataRowSource RS1 = com.sun.star.chart.ChartDataRowSource.COLUMNS;
+ com.sun.star.chart.ChartDataRowSource RS2 = com.sun.star.chart.ChartDataRowSource.ROWS;
+ if (oldValue.equals(RS1))
+ newValue = RS2;
+ if (oldValue.equals(RS2))
+ newValue = RS1;
+ } else if (oldValue instanceof com.sun.star.awt.FontDescriptor) {
+ com.sun.star.awt.FontDescriptor _newValue = copyStruct(
+ (com.sun.star.awt.FontDescriptor) oldValue);
+ _newValue.CharacterWidth += 5;
+ _newValue.CharSet = com.sun.star.awt.CharSet.ANSI;
+ _newValue.Family = com.sun.star.awt.FontFamily.DECORATIVE;
+ _newValue.Height += 2;
+ _newValue.Kerning = !_newValue.Kerning;
+ _newValue.Name = "Courier";
+ _newValue.Orientation += 45;
+ _newValue.Pitch = com.sun.star.awt.FontPitch.VARIABLE;
+ _newValue.Slant = com.sun.star.awt.FontSlant.REVERSE_ITALIC;
+ _newValue.Strikeout = com.sun.star.awt.FontStrikeout.X;
+ _newValue.StyleName = "Bold";
+ _newValue.Type = com.sun.star.awt.FontType.SCALABLE;
+ _newValue.Underline = com.sun.star.awt.FontUnderline.BOLDDASHDOTDOT;
+ _newValue.Weight += 5;
+ _newValue.Width += 6;
+ _newValue.WordLineMode = !_newValue.WordLineMode;
+
+ newValue = _newValue;
+ } else if (oldValue instanceof com.sun.star.form.NavigationBarMode) {
+ com.sun.star.form.NavigationBarMode BM1 = com.sun.star.form.NavigationBarMode.CURRENT;
+ com.sun.star.form.NavigationBarMode BM2 = com.sun.star.form.NavigationBarMode.NONE;
+ com.sun.star.form.NavigationBarMode BM3 = com.sun.star.form.NavigationBarMode.PARENT;
+ if (oldValue.equals(BM1))
+ newValue = BM2;
+ if (oldValue.equals(BM2))
+ newValue = BM3;
+ if (oldValue.equals(BM3))
+ newValue = BM1;
+ } else if (oldValue instanceof com.sun.star.form.FormSubmitEncoding) {
+ com.sun.star.form.FormSubmitEncoding SE1 = com.sun.star.form.FormSubmitEncoding.MULTIPART;
+ com.sun.star.form.FormSubmitEncoding SE2 = com.sun.star.form.FormSubmitEncoding.TEXT;
+ com.sun.star.form.FormSubmitEncoding SE3 = com.sun.star.form.FormSubmitEncoding.URL;
+ if (oldValue.equals(SE1))
+ newValue = SE2;
+ if (oldValue.equals(SE2))
+ newValue = SE3;
+ if (oldValue.equals(SE3))
+ newValue = SE1;
+ } else if (oldValue instanceof com.sun.star.form.FormSubmitMethod) {
+ com.sun.star.form.FormSubmitMethod FM1 = com.sun.star.form.FormSubmitMethod.GET;
+ com.sun.star.form.FormSubmitMethod FM2 = com.sun.star.form.FormSubmitMethod.POST;
+ if (oldValue.equals(FM1))
+ newValue = FM2;
+ if (oldValue.equals(FM2))
+ newValue = FM1;
+ } else if (oldValue instanceof com.sun.star.text.SectionFileLink) {
+ com.sun.star.text.SectionFileLink _newValue = new com.sun.star.text.SectionFileLink();
+
+ _newValue.FileURL = util.utils.getFullTestURL("SwXTextSection.sdw");
+ newValue = _newValue;
+ } else if (oldValue instanceof com.sun.star.table.BorderLine) {
+ com.sun.star.table.BorderLine _newValue = copyStruct(
+ (com.sun.star.table.BorderLine) oldValue);
+ _newValue.Color += 2;
+ _newValue.InnerLineWidth += 2;
+ _newValue.LineDistance += 2;
+ _newValue.OuterLineWidth += 3;
+ if (_newValue instanceof com.sun.star.table.BorderLine2) {
+ ((com.sun.star.table.BorderLine2) _newValue).LineStyle
+ = com.sun.star.table.BorderLineStyle.DOUBLE;
+ }
+ newValue = _newValue;
+ } else if (oldValue instanceof com.sun.star.text.XTextColumns) {
+ com.sun.star.text.XTextColumns _newValue = (com.sun.star.text.XTextColumns) oldValue;
+ _newValue.setColumnCount((short) 1);
+ newValue = _newValue;
+ } else if (oldValue instanceof com.sun.star.form.FormButtonType) {
+ com.sun.star.form.FormButtonType BT1 = com.sun.star.form.FormButtonType.PUSH;
+ com.sun.star.form.FormButtonType BT2 = com.sun.star.form.FormButtonType.RESET;
+ com.sun.star.form.FormButtonType BT3 = com.sun.star.form.FormButtonType.SUBMIT;
+ com.sun.star.form.FormButtonType BT4 = com.sun.star.form.FormButtonType.URL;
+
+ if (oldValue.equals(BT1))
+ newValue = BT2;
+ if (oldValue.equals(BT2))
+ newValue = BT3;
+ if (oldValue.equals(BT3))
+ newValue = BT4;
+ if (oldValue.equals(BT4))
+ newValue = BT1;
+
+ } else if (oldValue instanceof com.sun.star.form.ListSourceType) {
+ com.sun.star.form.ListSourceType ST1 = com.sun.star.form.ListSourceType.QUERY;
+ com.sun.star.form.ListSourceType ST2 = com.sun.star.form.ListSourceType.SQL;
+ com.sun.star.form.ListSourceType ST3 = com.sun.star.form.ListSourceType.SQLPASSTHROUGH;
+ com.sun.star.form.ListSourceType ST4 = com.sun.star.form.ListSourceType.TABLE;
+ com.sun.star.form.ListSourceType ST5 = com.sun.star.form.ListSourceType.TABLEFIELDS;
+ com.sun.star.form.ListSourceType ST6 = com.sun.star.form.ListSourceType.VALUELIST;
+ if (oldValue.equals(ST1))
+ newValue = ST2;
+ if (oldValue.equals(ST2))
+ newValue = ST3;
+ if (oldValue.equals(ST3))
+ newValue = ST4;
+ if (oldValue.equals(ST4))
+ newValue = ST5;
+ if (oldValue.equals(ST5))
+ newValue = ST6;
+ if (oldValue.equals(ST6))
+ newValue = ST1;
+ } else if (oldValue instanceof com.sun.star.sheet.DataPilotFieldOrientation) {
+ com.sun.star.sheet.DataPilotFieldOrientation FO1 = com.sun.star.sheet.DataPilotFieldOrientation.PAGE;
+ com.sun.star.sheet.DataPilotFieldOrientation FO2 = com.sun.star.sheet.DataPilotFieldOrientation.COLUMN;
+ com.sun.star.sheet.DataPilotFieldOrientation FO3 = com.sun.star.sheet.DataPilotFieldOrientation.DATA;
+ com.sun.star.sheet.DataPilotFieldOrientation FO4 = com.sun.star.sheet.DataPilotFieldOrientation.HIDDEN;
+ com.sun.star.sheet.DataPilotFieldOrientation FO5 = com.sun.star.sheet.DataPilotFieldOrientation.ROW;
+ if (oldValue.equals(FO1))
+ newValue = FO2;
+ if (oldValue.equals(FO2))
+ newValue = FO3;
+ if (oldValue.equals(FO3))
+ newValue = FO4;
+ if (oldValue.equals(FO4))
+ newValue = FO5;
+ if (oldValue.equals(FO5))
+ newValue = FO1;
+ } else if (oldValue instanceof com.sun.star.sheet.GeneralFunction) {
+ com.sun.star.sheet.GeneralFunction GF1 = com.sun.star.sheet.GeneralFunction.NONE;
+ com.sun.star.sheet.GeneralFunction GF2 = com.sun.star.sheet.GeneralFunction.AVERAGE;
+ com.sun.star.sheet.GeneralFunction GF3 = com.sun.star.sheet.GeneralFunction.COUNT;
+ com.sun.star.sheet.GeneralFunction GF4 = com.sun.star.sheet.GeneralFunction.COUNTNUMS;
+ com.sun.star.sheet.GeneralFunction GF5 = com.sun.star.sheet.GeneralFunction.MAX;
+ com.sun.star.sheet.GeneralFunction GF6 = com.sun.star.sheet.GeneralFunction.MIN;
+ com.sun.star.sheet.GeneralFunction GF7 = com.sun.star.sheet.GeneralFunction.AUTO;
+ com.sun.star.sheet.GeneralFunction GF8 = com.sun.star.sheet.GeneralFunction.PRODUCT;
+ com.sun.star.sheet.GeneralFunction GF9 = com.sun.star.sheet.GeneralFunction.STDEV;
+ com.sun.star.sheet.GeneralFunction GF10 = com.sun.star.sheet.GeneralFunction.STDEVP;
+ com.sun.star.sheet.GeneralFunction GF11 = com.sun.star.sheet.GeneralFunction.SUM;
+ com.sun.star.sheet.GeneralFunction GF12 = com.sun.star.sheet.GeneralFunction.VAR;
+ com.sun.star.sheet.GeneralFunction GF13 = com.sun.star.sheet.GeneralFunction.VARP;
+
+ if (oldValue.equals(GF1))
+ newValue = GF2;
+ if (oldValue.equals(GF2))
+ newValue = GF3;
+ if (oldValue.equals(GF3))
+ newValue = GF4;
+ if (oldValue.equals(GF4))
+ newValue = GF5;
+ if (oldValue.equals(GF5))
+ newValue = GF6;
+ if (oldValue.equals(GF6))
+ newValue = GF7;
+ if (oldValue.equals(GF7))
+ newValue = GF8;
+ if (oldValue.equals(GF8))
+ newValue = GF9;
+ if (oldValue.equals(GF9))
+ newValue = GF10;
+ if (oldValue.equals(GF10))
+ newValue = GF11;
+ if (oldValue.equals(GF11))
+ newValue = GF12;
+ if (oldValue.equals(GF12))
+ newValue = GF13;
+ if (oldValue.equals(GF13))
+ newValue = GF1;
+ } else if (oldValue instanceof com.sun.star.table.CellAddress) {
+ com.sun.star.table.CellAddress _newValue = copyStruct(
+ (com.sun.star.table.CellAddress) oldValue);
+ _newValue.Column += 1;
+ _newValue.Row += 1;
+ newValue = _newValue;
+ } else if (oldValue instanceof com.sun.star.table.TableOrientation) {
+ com.sun.star.table.TableOrientation TO1 = com.sun.star.table.TableOrientation.COLUMNS;
+ com.sun.star.table.TableOrientation TO2 = com.sun.star.table.TableOrientation.ROWS;
+ if (oldValue.equals(TO1))
+ newValue = TO2;
+ else
+ newValue = TO1;
+ } else if (oldValue instanceof com.sun.star.sheet.DataImportMode) {
+ com.sun.star.sheet.DataImportMode DIM1 = com.sun.star.sheet.DataImportMode.NONE;
+ com.sun.star.sheet.DataImportMode DIM2 = com.sun.star.sheet.DataImportMode.QUERY;
+ com.sun.star.sheet.DataImportMode DIM3 = com.sun.star.sheet.DataImportMode.SQL;
+ com.sun.star.sheet.DataImportMode DIM4 = com.sun.star.sheet.DataImportMode.TABLE;
+
+ if (oldValue.equals(DIM1))
+ newValue = DIM2;
+ if (oldValue.equals(DIM2))
+ newValue = DIM3;
+ if (oldValue.equals(DIM3))
+ newValue = DIM4;
+ if (oldValue.equals(DIM4))
+ newValue = DIM1;
+
+ } else if (oldValue instanceof com.sun.star.style.BreakType) {
+ com.sun.star.style.BreakType BT1 = com.sun.star.style.BreakType.COLUMN_AFTER;
+ com.sun.star.style.BreakType BT2 = com.sun.star.style.BreakType.COLUMN_BEFORE;
+ com.sun.star.style.BreakType BT3 = com.sun.star.style.BreakType.COLUMN_BOTH;
+ com.sun.star.style.BreakType BT4 = com.sun.star.style.BreakType.PAGE_AFTER;
+ com.sun.star.style.BreakType BT5 = com.sun.star.style.BreakType.PAGE_BEFORE;
+ com.sun.star.style.BreakType BT6 = com.sun.star.style.BreakType.PAGE_BOTH;
+ com.sun.star.style.BreakType BT7 = com.sun.star.style.BreakType.NONE;
+ if (oldValue.equals(BT1))
+ newValue = BT2;
+ if (oldValue.equals(BT2))
+ newValue = BT3;
+ if (oldValue.equals(BT3))
+ newValue = BT4;
+ if (oldValue.equals(BT4))
+ newValue = BT5;
+ if (oldValue.equals(BT5))
+ newValue = BT6;
+ if (oldValue.equals(BT6))
+ newValue = BT7;
+ if (oldValue.equals(BT7))
+ newValue = BT1;
+ } else if (oldValue instanceof PropertyValue) {
+ PropertyValue newVal = new PropertyValue();
+ newVal.Name = ((PropertyValue) oldValue).Name;
+ newVal.Value = changePValue(((PropertyValue) oldValue).Value);
+ newValue = newVal;
+ } else if (oldValue instanceof com.sun.star.sheet.ValidationAlertStyle) {
+ com.sun.star.sheet.ValidationAlertStyle VAS1 = com.sun.star.sheet.ValidationAlertStyle.INFO;
+ com.sun.star.sheet.ValidationAlertStyle VAS2 = com.sun.star.sheet.ValidationAlertStyle.MACRO;
+ com.sun.star.sheet.ValidationAlertStyle VAS3 = com.sun.star.sheet.ValidationAlertStyle.STOP;
+ com.sun.star.sheet.ValidationAlertStyle VAS4 = com.sun.star.sheet.ValidationAlertStyle.WARNING;
+
+ if (oldValue.equals(VAS1))
+ newValue = VAS2;
+ if (oldValue.equals(VAS2))
+ newValue = VAS3;
+ if (oldValue.equals(VAS3))
+ newValue = VAS4;
+ if (oldValue.equals(VAS4))
+ newValue = VAS1;
+
+ } else if (oldValue instanceof com.sun.star.sheet.ValidationType) {
+ com.sun.star.sheet.ValidationType VT1 = com.sun.star.sheet.ValidationType.ANY;
+ com.sun.star.sheet.ValidationType VT2 = com.sun.star.sheet.ValidationType.CUSTOM;
+ com.sun.star.sheet.ValidationType VT3 = com.sun.star.sheet.ValidationType.DATE;
+ com.sun.star.sheet.ValidationType VT4 = com.sun.star.sheet.ValidationType.DECIMAL;
+ com.sun.star.sheet.ValidationType VT5 = com.sun.star.sheet.ValidationType.LIST;
+ com.sun.star.sheet.ValidationType VT6 = com.sun.star.sheet.ValidationType.TEXT_LEN;
+ com.sun.star.sheet.ValidationType VT7 = com.sun.star.sheet.ValidationType.TIME;
+ com.sun.star.sheet.ValidationType VT8 = com.sun.star.sheet.ValidationType.WHOLE;
+
+ if (oldValue.equals(VT1))
+ newValue = VT2;
+ if (oldValue.equals(VT2))
+ newValue = VT3;
+ if (oldValue.equals(VT3))
+ newValue = VT4;
+ if (oldValue.equals(VT4))
+ newValue = VT5;
+ if (oldValue.equals(VT5))
+ newValue = VT6;
+ if (oldValue.equals(VT6))
+ newValue = VT7;
+ if (oldValue.equals(VT7))
+ newValue = VT8;
+ if (oldValue.equals(VT8))
+ newValue = VT1;
+
+ } else if (oldValue instanceof com.sun.star.text.WritingMode) {
+ if (oldValue.equals(com.sun.star.text.WritingMode.LR_TB)) {
+ newValue = com.sun.star.text.WritingMode.TB_RL;
+ } else {
+ newValue = com.sun.star.text.WritingMode.LR_TB;
+ }
+ } else if (oldValue instanceof com.sun.star.uno.Enum) {
+ // universal changer for Enumerations
+ try {
+ Class<?> enumClass = oldValue.getClass();
+ Field[] flds = enumClass.getFields();
+
+ for (int i = 0; i < flds.length; i++) {
+ if (Enum.class.equals(flds[i].getType().getSuperclass())) {
+
+ Enum value = (Enum) flds[i].get(null);
+ if (!value.equals(oldValue)) {
+ newValue = value;
+ break;
+ }
+ }
+ }
+ } catch (Exception e) {
+ System.err
+ .println("Exception occurred while changing Enumeration value:");
+ e.printStackTrace(System.err);
+ }
+ if (newValue == null)
+ newValue = oldValue;
+
+ } else if (oldValue instanceof com.sun.star.style.TabStop[]) {
+ com.sun.star.style.TabStop[] old = (com.sun.star.style.TabStop[])
+ oldValue;
+ com.sun.star.style.TabStop[] _newValue
+ = new com.sun.star.style.TabStop[old.length];
+ for (int i = 0; i != old.length; ++i) {
+ _newValue[i] = copyStruct(old[i]);
+ }
+ if (_newValue.length == 0) {
+ _newValue = new com.sun.star.style.TabStop[1];
+ }
+ com.sun.star.style.TabStop sep = new com.sun.star.style.TabStop();
+ sep.Position += 1;
+ _newValue[0] = sep;
+ newValue = _newValue;
+ } else if (oldValue instanceof short[]) {
+ short[] oldArr = (short[]) oldValue;
+ int len = oldArr.length;
+ short[] newArr = new short[len + 1];
+ for (int i = 0; i < len; i++) {
+ newArr[i] = (short) (oldArr[i] + 1);
+ }
+ newArr[len] = 5;
+ newValue = newArr;
+ } else if (oldValue instanceof String[]) {
+ String[] oldArr = (String[]) oldValue;
+ int len = oldArr.length;
+ String[] newArr = new String[len + 1];
+ for (int i = 0; i < len; i++) {
+ newArr[i] = "_" + oldArr[i];
+ }
+ newArr[len] = "_dummy";
+ newValue = newArr;
+ } else if (oldValue instanceof PropertyValue) {
+ PropertyValue newVal = new PropertyValue();
+ newVal.Name = ((PropertyValue) oldValue).Name;
+ newVal.Value = changePValue(((PropertyValue) oldValue).Value);
+ newValue = newVal;
+ } else if (oldValue instanceof com.sun.star.util.Date) {
+ com.sun.star.util.Date oldD = (com.sun.star.util.Date) oldValue;
+ com.sun.star.util.Date newD = new com.sun.star.util.Date();
+ newD.Day = (short) (oldD.Day + (short) 1);
+ newValue = newD;
+ } else if (oldValue instanceof com.sun.star.util.DateTime) {
+ com.sun.star.util.DateTime oldDT = (com.sun.star.util.DateTime) oldValue;
+ com.sun.star.util.DateTime newDT = new com.sun.star.util.DateTime();
+ newDT.Day = (short) (oldDT.Day + (short) 1);
+ newDT.Hours = (short) (oldDT.Hours + (short) 1);
+ newValue = newDT;
+ } else if (oldValue instanceof com.sun.star.util.Time) {
+ com.sun.star.util.Time oldT = (com.sun.star.util.Time) oldValue;
+ com.sun.star.util.Time newT = new com.sun.star.util.Time();
+ newT.Hours = (short) (oldT.Hours + (short) 1);
+ newValue = newT;
+ } else if (oldValue instanceof com.sun.star.text.TableColumnSeparator) {
+ com.sun.star.text.TableColumnSeparator oldTCS = (com.sun.star.text.TableColumnSeparator) oldValue;
+ com.sun.star.text.TableColumnSeparator newTCS = new com.sun.star.text.TableColumnSeparator();
+ newTCS.IsVisible = oldTCS.IsVisible;
+ newTCS.Position = (short) (oldTCS.Position - 1);
+ newValue = newTCS;
+ } else if (oldValue instanceof com.sun.star.drawing.HomogenMatrix3) {
+ com.sun.star.drawing.HomogenMatrix3 oldHM = (com.sun.star.drawing.HomogenMatrix3) oldValue;
+ com.sun.star.drawing.HomogenMatrix3 newHM = new com.sun.star.drawing.HomogenMatrix3();
+ newHM.Line1.Column1 = oldHM.Line1.Column1 + 1;
+ newHM.Line2.Column2 = oldHM.Line2.Column2 + 1;
+ newHM.Line3.Column3 = oldHM.Line3.Column3 + 1;
+ newValue = newHM;
+ } else if (oldValue instanceof com.sun.star.drawing.PolyPolygonBezierCoords) {
+ com.sun.star.drawing.PolyPolygonBezierCoords oldPPC = (com.sun.star.drawing.PolyPolygonBezierCoords) oldValue;
+ com.sun.star.drawing.PolyPolygonBezierCoords newPPC = new com.sun.star.drawing.PolyPolygonBezierCoords();
+ newPPC.Coordinates = oldPPC.Coordinates;
+ newPPC.Flags = oldPPC.Flags;
+ PolygonFlags[][] fArray = new PolygonFlags[1][1];
+ PolygonFlags[] flags = new PolygonFlags[1];
+ flags[0] = PolygonFlags.NORMAL;
+ fArray[0] = flags;
+ Point[][] pArray = new Point[1][1];
+ Point[] points = new Point[1];
+ Point aPoint = new Point();
+ aPoint.X = 1;
+ aPoint.Y = 2;
+ points[0] = aPoint;
+ pArray[0] = points;
+ if (oldPPC.Coordinates.length == 0) {
+ newPPC.Coordinates = pArray;
+ newPPC.Flags = fArray;
+ } else {
+ if (oldPPC.Coordinates[0].length == 0) {
+ newPPC.Coordinates = pArray;
+ newPPC.Flags = fArray;
+ } else {
+ newPPC.Coordinates[0][0].X = oldPPC.Coordinates[0][0].X + 1;
+ newPPC.Coordinates[0][0].Y = oldPPC.Coordinates[0][0].Y + 1;
+ }
+ }
+ newValue = newPPC;
+ } else if (oldValue.getClass().isArray()) {
+ // changer for arrays : changes all elements
+ Class<?> arrType = oldValue.getClass().getComponentType();
+ int oldLen = Array.getLength(oldValue);
+ if (oldLen == 0 && "TypedItemList".equals(name) && !arrType.isPrimitive()) {
+ // This case is needed to make the Sequence<Any> property pass
+ // the addPropertyChangeListener tests, where the property has
+ // to be changed (and not stay empty ...)
+ newValue = Array.newInstance(arrType, 1);
+ Object elem = new Any(new Type(String.class), "_Any");
+ Array.set(newValue, 0, elem);
+ } else {
+ newValue = Array.newInstance(arrType, oldLen);
+ for (int i = 0; i < Array.getLength(newValue); i++) {
+ if (!arrType.isPrimitive()) {
+ Object elem = changePValue(Array.get(oldValue, i));
+ Array.set(newValue, i, elem);
+ } else {
+ if (Boolean.TYPE.equals(arrType)) {
+ Array.setBoolean(newValue, i,
+ !Array.getBoolean(oldValue, i));
+ } else if (Byte.TYPE.equals(arrType)) {
+ Array.setByte(newValue, i,
+ (byte) (Array.getByte(oldValue, i) + 1));
+ } else if (Character.TYPE.equals(arrType)) {
+ Array.setChar(newValue, i,
+ (char) (Array.getChar(oldValue, i) + 1));
+ } else if (Double.TYPE.equals(arrType)) {
+ Array.setDouble(newValue, i,
+ Array.getDouble(oldValue, i) + 1);
+ } else if (Float.TYPE.equals(arrType)) {
+ Array.setFloat(newValue, i,
+ Array.getFloat(oldValue, i) + 1);
+ } else if (Integer.TYPE.equals(arrType)) {
+ Array.setInt(newValue, i, Array.getInt(oldValue, i) + 1);
+ } else if (Long.TYPE.equals(arrType)) {
+ Array.setLong(newValue, i,
+ Array.getLong(oldValue, i) + 1);
+ } else if (Short.TYPE.equals(arrType)) {
+ Array.setShort(newValue, i,
+ (short) (Array.getShort(oldValue, i) + 1));
+ }
+ }
+ }
+ }
+ } else if (isStructure(oldValue)) {
+ // universal changer for structures
+ Class<?> clazz = oldValue.getClass();
+ try {
+ newValue = clazz.newInstance();
+ Field[] fields = clazz.getFields();
+ for (int i = 0; i < fields.length; i++) {
+ if ((fields[i].getModifiers() & Modifier.STATIC) == 0) {
+ Class<?> fType = fields[i].getType();
+ Field field = fields[i];
+ if (!fType.isPrimitive()) {
+ field.set(newValue,
+ changePValue(field.get(oldValue)));
+ } else {
+ if (Boolean.TYPE.equals(fType)) {
+ field.setBoolean(newValue,
+ !field.getBoolean(oldValue));
+ } else if (Byte.TYPE.equals(fType)) {
+ field.setByte(newValue,
+ (byte) (field.getByte(oldValue) + 1));
+ } else if (Character.TYPE.equals(fType)) {
+ field.setChar(newValue,
+ (char) (field.getChar(oldValue) + 1));
+ } else if (Double.TYPE.equals(fType)) {
+ field.setDouble(newValue,
+ field.getDouble(oldValue) + 1);
+ } else if (Float.TYPE.equals(fType)) {
+ field.setFloat(newValue,
+ field.getFloat(oldValue) + 1);
+ } else if (Integer.TYPE.equals(fType)) {
+ field.setInt(newValue,
+ field.getInt(oldValue) + 1);
+ } else if (Long.TYPE.equals(fType)) {
+ field.setLong(newValue,
+ field.getLong(oldValue) + 1);
+ } else if (Short.TYPE.equals(fType)) {
+ field.setShort(newValue,
+ (short) (field.getShort(oldValue) + 1));
+ }
+ }
+ }
+ }
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ } catch (InstantiationException e) {
+ e.printStackTrace();
+ }
+
+ } else {
+ System.out.println("ValueChanger don't know type "
+ + oldValue.getClass());
+ }
+
+ return newValue;
+
+ } // end of Change PValue
+
+ public static Object changePValue(Object oldValue) {
+ return changePValue(oldValue, null);
+ }
+
+ /**
+ * Checks if the passed value is the API structure. The value assumed to be
+ * a structure if there are no public methods, and all public fields are not
+ * static or final.
+ *
+ * @param val
+ * the value to be checked.
+ * @return <code>true</code> if the value is assumed to be a structure.
+ */
+ public static boolean isStructure(Object val) {
+ boolean result = true;
+
+ Class<?> clazz = val.getClass();
+
+ Method[] meth = clazz.getDeclaredMethods();
+ for (int i = 0; i < meth.length; i++) {
+ result &= (meth[i].getModifiers() & Modifier.PUBLIC) == 0;
+ }
+
+ Field[] fields = clazz.getDeclaredFields();
+ for (int i = 0; i < fields.length; i++) {
+ int mod = fields[i].getModifiers();
+ if (mod == (Modifier.PUBLIC | Modifier.STATIC | Modifier.FINAL)
+ && fields[i].getName().equals("UNOTYPEINFO"))
+ {
+ continue;
+ }
+ // If the field is PUBLIC it must not be STATIC or FINAL
+ result &= ((mod & Modifier.PUBLIC) == 0)
+ || (((mod & Modifier.STATIC) == 0) && ((mod & Modifier.FINAL) == 0));
+ }
+
+ return result;
+ }
+
+ private static <T> T copyStruct(T value) {
+ Class<T> clazz = (Class<T>) value.getClass();
+ T newValue;
+ try {
+ newValue = clazz.newInstance();
+ } catch (IllegalAccessException e) {
+ throw new RuntimeException("unexpected " + e, e);
+ } catch (InstantiationException e) {
+ throw new RuntimeException("unexpected " + e, e);
+ }
+ Field[] fields = clazz.getFields();
+ for (int i = 0; i != fields.length; ++i) {
+ if ((fields[i].getModifiers() & Modifier.STATIC) == 0) {
+ try {
+ fields[i].set(newValue, fields[i].get(value));
+ } catch (IllegalAccessException e) {
+ throw new RuntimeException("unexpected " + e, e);
+ }
+ }
+ }
+ return newValue;
+ }
+}
diff --git a/qadevOOo/runner/util/ValueComparer.java b/qadevOOo/runner/util/ValueComparer.java
new file mode 100644
index 000000000..a581ad3cb
--- /dev/null
+++ b/qadevOOo/runner/util/ValueComparer.java
@@ -0,0 +1,231 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.beans.PropertyValue;
+import java.lang.reflect.Array;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.Enum;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+import java.util.HashMap;
+
+
+public class ValueComparer {
+
+ // Method to change a Value, thought for properties
+ public static boolean equalValue( Object first, Object second ) {
+
+ if (first instanceof com.sun.star.uno.Any) {
+ try {
+ first = AnyConverter.toObject(((Any) first).getType(),first);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ }
+ }
+ if (second instanceof com.sun.star.uno.Any) {
+ try {
+ second = AnyConverter.toObject(((Any) second).getType(),second);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ }
+ }
+ boolean eq = false;
+ try {
+ if ( (first==null) || (second == null) ) {
+ eq = (first == second);
+ }
+ else {
+ if ( util.utils.isVoid(first) && util.utils.isVoid(second) ) {
+ eq=true;
+ } else if ( util.utils.isVoid(first) || util.utils.isVoid(second) ) {
+ eq = (first == second);
+ } else {
+ eq = compareObjects(first, second);
+ }
+ }
+ }
+ catch (Exception e) {
+ System.out.println("Exception occurred while comparing Objects");
+ e.printStackTrace();
+ }
+ return eq;
+ } // end of equalValue
+
+ private static boolean compareArrayOfPropertyValue(PropertyValue[] pv1, PropertyValue[] pv2){
+ if ( pv1.length != pv2.length) {
+ return false;
+ }
+ HashMap<String, Object> hm1 = new HashMap<String, Object>();
+ boolean result = true;
+ int i = 0;
+
+ for (i = 0; i < pv1.length; i++){
+ hm1.put(pv1[i].Name, pv1[i].Value);
+ }
+
+ i = 0;
+ while (i < pv2.length && result) {
+ result &= equalValue(hm1.get(pv2[i].Name),pv2[i].Value);
+ i++;
+ }
+ return result;
+ }
+
+ private static boolean compareArrays(Object op1, Object op2) throws Exception {
+
+ if (op1 instanceof PropertyValue[] && op2 instanceof PropertyValue[]) {
+ return compareArrayOfPropertyValue((PropertyValue[])op1,(PropertyValue[])op2);
+ }
+ boolean result = true;
+ if((op1.getClass().getComponentType() == op2.getClass().getComponentType())
+ && (Array.getLength(op1) == Array.getLength(op2)))
+ {
+ for(int i = 0; i < Array.getLength(op1); ++ i)
+ result = result & compareObjects(Array.get(op1, i), Array.get(op2, i));
+ } else {
+ result = false ;
+ }
+
+ return result;
+ }
+
+ private static boolean compareInterfaces(XInterface op1, XInterface op2) {
+ return op1 == op2;
+ }
+
+ private static boolean compareUntil(Class<?> zClass, Class<?> untilClass, Object op1, Object op2) throws Exception {
+ boolean result = true;
+
+ // write inherited members first
+ Class<?> superClass = zClass.getSuperclass();
+ if(superClass != null && superClass != untilClass)
+ result = result & compareUntil(superClass, untilClass, op1, op2);
+
+ Field fields[] = zClass.getDeclaredFields();
+
+ for(int i = 0; i < fields.length && result; ++ i) {
+ if((fields[i].getModifiers() & (Modifier.STATIC | Modifier.TRANSIENT)) == 0) { // neither static nor transient ?
+ Object obj1 = fields[i].get(op1);
+ Object obj2 = fields[i].get(op2);
+ if (obj1 instanceof com.sun.star.uno.Any) {
+ try {
+ if (utils.isVoid(obj1)) {
+ obj1 = null;
+ } else {
+ obj1 = AnyConverter.toObject(((Any) obj1).getType(),obj1);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ }
+ }
+ if (obj2 instanceof com.sun.star.uno.Any) {
+ try {
+ if (utils.isVoid(obj2)) {
+ obj2 = null;
+ } else {
+ obj2 = AnyConverter.toObject(((Any) obj2).getType(),obj2);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ }
+ }
+
+ result = result & compareObjects(obj1, obj2);
+
+ }
+ }
+
+ return result;
+ }
+
+ private static boolean compareStructs(Object op1, Object op2) throws Exception {
+ boolean result = true;
+
+ if(op1.getClass() != op2.getClass())
+ result = false;
+ else {
+ result = compareUntil(op1.getClass(), Object.class, op1, op2);
+ }
+
+ return result;
+ }
+
+ private static boolean compareThrowable(Throwable op1, Throwable op2) throws Exception {
+ boolean result = true;
+
+ if(op1.getClass() != op2.getClass())
+ result = false;
+ else {
+ result = compareUntil(op1.getClass(), Throwable.class, op1, op2);
+
+ result = result & op1.getMessage().equals(op2.getMessage());
+ }
+
+ return result;
+ }
+
+ private static boolean compareEnums(Enum en1, Enum en2) {
+ return en1.getValue() == en2.getValue();
+ }
+
+ private static boolean compareObjects(Object op1, Object op2) throws Exception {
+ if(op1 == op2)
+ return true;
+ else if(op1==null || op2 == null)
+ return op1 == op2;
+ else if(op1.getClass().isPrimitive() && op2.getClass().isPrimitive())
+ return op1.equals(op2);
+ else if(op1.getClass() == Byte.class && op2.getClass() == Byte.class)
+ return op1.equals(op2);
+ else if(op1.getClass() == Type.class && op2.getClass() == Type.class)
+ return op1.equals(op2);
+ else if(op1.getClass() == Boolean.class && op2.getClass() == Boolean.class)
+ return op1.equals(op2);
+ else if(op1.getClass() == Short.class && op2.getClass() == Short.class)
+ return op1.equals(op2);
+ else if(Throwable.class.isAssignableFrom(op1.getClass()) && Throwable.class.isAssignableFrom(op2.getClass()))
+ return compareThrowable((Throwable)op1, (Throwable)op2);
+ else if(op1.getClass() == Integer.class && op2.getClass() == Integer.class)
+ return op1.equals(op2);
+ else if(op1.getClass() == Character.class && op2.getClass() == Character.class)
+ return op1.equals(op2);
+ else if(op1.getClass() == Long.class && op2.getClass() == Long.class)
+ return op1.equals(op2);
+ else if(op1.getClass() == Void.class && op2.getClass() == Void.class)
+ return op1.equals(op2);
+ else if(op1.getClass() == Float.class && op2.getClass() == Float.class)
+ return op1.equals(op2);
+ else if(op1.getClass() == Double.class && op2.getClass() == Double.class)
+ return op1.equals(op2);
+ else if(op1.getClass().isArray() && op2.getClass().isArray())
+ return compareArrays(op1, op2);
+ else if(op1.getClass() == Void.class || op2.getClass() == void.class) // write nothing ?
+ return true;
+ else if(XInterface.class.isAssignableFrom(op1.getClass()) && XInterface.class.isAssignableFrom(op2.getClass()))
+ return compareInterfaces((XInterface)op1, (XInterface)op2);
+ else if(Enum.class.isAssignableFrom(op1.getClass()) && Enum.class.isAssignableFrom(op2.getClass()))
+ return compareEnums((Enum)op1, (Enum)op2);
+ else if(op1.getClass() == String.class && op2.getClass() == String.class) // is it a String ?
+ return ((String)op1).equals(op2);
+ else // otherwise it must be a struct
+ return compareStructs(op1, op2);
+ }
+
+
+}
diff --git a/qadevOOo/runner/util/WaitUnreachable.java b/qadevOOo/runner/util/WaitUnreachable.java
new file mode 100644
index 000000000..f90fa6552
--- /dev/null
+++ b/qadevOOo/runner/util/WaitUnreachable.java
@@ -0,0 +1,119 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import java.lang.ref.PhantomReference;
+import java.lang.ref.ReferenceQueue;
+
+/**
+ * Wait until an object has become unreachable.
+ *
+ * <p>Instances of this class will typically be used as either:</p>
+ * <pre>
+ * SomeType o = new SomeType(...);
+ * ... // use "o"
+ * WaitUnreachable u = new WaitUnreachable(o);
+ * o = null;
+ * u.waitUnreachable();
+ * </pre>
+ * <p>or:</p>
+ * <pre>
+ * WaitUnreachable u = new WaitUnreachable(new SomeType(...));
+ * ... // use "(SomeType) u.get()"
+ * u.waitUnreachable();
+ * </pre>
+ */
+public final class WaitUnreachable {
+ /**
+ * Creates a new waiter.
+ *
+ * @param obj the object on which to wait
+ */
+ public WaitUnreachable(Object obj) {
+ this.obj = obj;
+ queue = new ReferenceQueue<Object>();
+ ref = new PhantomReference<Object>(obj, queue);
+ }
+
+ /**
+ * Gets the object on which to wait.
+ *
+ * @return the object on which to wait, or <code>null</code> if
+ * <code>waitUnreachable</code> has already been called
+ */
+ public synchronized Object get() {
+ return obj;
+ }
+
+ /**
+ * Starts waiting for the object to become unreachable.
+ *
+ * <p>This blocks the current thread until the object has become
+ * unreachable.</p>
+ *
+ * <p>Actually, this method waits until the JVM has <em>detected</em> that
+ * the object has become unreachable. This is not deterministic, but this
+ * methods makes a best effort to cause the JVM to eventually detect the
+ * situation. With a typical JVM, this should suffice.</p>
+ */
+ public void waitUnreachable() {
+ synchronized (this) {
+ obj = null;
+ }
+ System.out.println("waiting for gc");
+ while (queue.poll() == null) {
+ System.gc();
+ System.runFinalization();
+ }
+ }
+
+ /**
+ * Ensures that an object will be finalized as soon as possible.
+ *
+ * <p>This does not block the current thread. Instead, a new thread is
+ * spawned that busy waits for the given object to become unreachable.</p>
+ *
+ * <p>This method cannot guarantee that the given object is eventually
+ * finalized, but it makes a best effort. With a typical JVM, this should
+ * suffice.</p>
+ *
+ * @param obj the object of which to ensure finalization
+ */
+ public static void ensureFinalization(final Object obj) {
+ final class WaitThread extends Thread {
+ private WaitThread(Object obj) {
+ super("ensureFinalization");
+ unreachable = new WaitUnreachable(obj);
+ }
+
+ @Override
+ public void run() {
+ unreachable.waitUnreachable();
+ }
+
+ private final WaitUnreachable unreachable;
+ }
+ new WaitThread(obj).start();
+ }
+
+ private Object obj;
+ private final ReferenceQueue<Object> queue;
+ @SuppressWarnings("unused")
+ private final PhantomReference<Object> ref;
+}
diff --git a/qadevOOo/runner/util/WriterTools.java b/qadevOOo/runner/util/WriterTools.java
new file mode 100644
index 000000000..cdff65557
--- /dev/null
+++ b/qadevOOo/runner/util/WriterTools.java
@@ -0,0 +1,128 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package util;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+
+import com.sun.star.container.XNamed;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+
+import com.sun.star.graphic.XGraphic;
+import com.sun.star.graphic.XGraphicProvider;
+
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+
+public class WriterTools {
+ public static XTextDocument createTextDoc(XMultiServiceFactory xMSF) {
+ PropertyValue[] Args = new PropertyValue[0];
+ XComponent comp = DesktopTools.openNewDoc(xMSF, "swriter", Args);
+ XTextDocument WriterDoc = UnoRuntime.queryInterface(
+ XTextDocument.class, comp);
+
+ return WriterDoc;
+ } // finish createTextDoc
+
+ public static XTextDocument loadTextDoc(XMultiServiceFactory xMSF,
+ String url) {
+ PropertyValue[] Args = new PropertyValue[0];
+ XTextDocument WriterDoc = loadTextDoc(xMSF, url, Args);
+
+ return WriterDoc;
+ } // finish createTextDoc
+
+ private static XTextDocument loadTextDoc(XMultiServiceFactory xMSF,
+ String url, PropertyValue[] Args) {
+ XComponent comp = DesktopTools.loadDoc(xMSF, url, Args);
+ XTextDocument WriterDoc = UnoRuntime.queryInterface(
+ XTextDocument.class, comp);
+
+ return WriterDoc;
+ } // finish createTextDoc
+
+ public static XDrawPage getDrawPage(XTextDocument aDoc) {
+ XDrawPage oDP = null;
+
+ try {
+ XDrawPageSupplier oDPS = UnoRuntime.queryInterface(
+ XDrawPageSupplier.class, aDoc);
+ oDP = oDPS.getDrawPage();
+ } catch (Exception e) {
+ throw new IllegalArgumentException("Couldn't get drawpage", e);
+ }
+
+ return oDP;
+ }
+
+ public static void insertTextGraphic(XTextDocument aDoc,
+ XMultiServiceFactory xMSF, XComponentContext xContext, int hpos,
+ int vpos, int width, int height,
+ String pic, String name) {
+ try {
+ Object oGObject = xMSF.createInstance(
+ "com.sun.star.text.GraphicObject");
+
+ XGraphicProvider xGraphicProvider = UnoRuntime.queryInterface(
+ XGraphicProvider.class,
+ xContext.getServiceManager().createInstanceWithContext(
+ "com.sun.star.graphic.GraphicProvider", xContext));
+
+ String fullURL = util.utils.getFullTestURL(pic);
+
+ PropertyValue[] aMediaProps = new PropertyValue[] { new PropertyValue() };
+ aMediaProps[0].Name = "URL";
+ aMediaProps[0].Value = fullURL;
+
+ XGraphic xGraphic = UnoRuntime.queryInterface(XGraphic.class,
+ xGraphicProvider.queryGraphic(aMediaProps));
+
+ XText the_text = aDoc.getText();
+ XTextCursor the_cursor = the_text.createTextCursor();
+ XTextContent the_content = UnoRuntime.queryInterface(
+ XTextContent.class, oGObject);
+ the_text.insertTextContent(the_cursor, the_content, true);
+
+ XPropertySet oProps = UnoRuntime.queryInterface(
+ XPropertySet.class, oGObject);
+
+ oProps.setPropertyValue("Graphic", xGraphic);
+ oProps.setPropertyValue("HoriOrientPosition", Integer.valueOf(hpos));
+ oProps.setPropertyValue("VertOrientPosition", Integer.valueOf(vpos));
+ oProps.setPropertyValue("Width", Integer.valueOf(width));
+ oProps.setPropertyValue("Height", Integer.valueOf(height));
+
+ XNamed the_name = UnoRuntime.queryInterface(XNamed.class,
+ oGObject);
+ the_name.setName(name);
+ } catch (Exception ex) {
+ System.out.println("Exception while inserting TextGraphic");
+ ex.printStackTrace();
+ }
+ }
+}
diff --git a/qadevOOo/runner/util/XInstCreator.java b/qadevOOo/runner/util/XInstCreator.java
new file mode 100644
index 000000000..c0fe76837
--- /dev/null
+++ b/qadevOOo/runner/util/XInstCreator.java
@@ -0,0 +1,29 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.uno.XInterface;
+import com.sun.star.container.XIndexAccess;
+
+public interface XInstCreator {
+
+ XInterface getInstance();
+ XInterface createInstance();
+ XIndexAccess getCollection();
+}
diff --git a/qadevOOo/runner/util/XLayerHandlerImpl.java b/qadevOOo/runner/util/XLayerHandlerImpl.java
new file mode 100644
index 000000000..399db9a24
--- /dev/null
+++ b/qadevOOo/runner/util/XLayerHandlerImpl.java
@@ -0,0 +1,110 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package util;
+
+public class XLayerHandlerImpl
+ implements com.sun.star.configuration.backend.XLayerHandler {
+ private String calls = "";
+ private final String ls = System.getProperty("line.separator");
+
+ public void addOrReplaceNode(String str, short param)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addOrReplace(" + str + "," + param + ");" + ls);
+ }
+
+ public void addOrReplaceNodeFromTemplate(String str,
+ com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier,
+ short param)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addOrReplaceNodeFromTemplate(" + str + "," + templateIdentifier + ");" + ls);
+ }
+
+ public void addProperty(String str, short param,
+ com.sun.star.uno.Type type)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addProperty(" + str + "," + param + "," + type + ");" + ls);
+ }
+
+ public void addPropertyWithValue(String str, short param, Object obj)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addPropertyWithValue(" + str + "," + param + "," + obj + ");" + ls);
+ }
+
+ public void dropNode(String str)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("dropNode(" + str + ");" + ls);
+ }
+
+ public void endLayer()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endLayer();" + ls);
+ }
+
+ public void endNode()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endNode();" + ls);
+ }
+
+ public void endProperty()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endProperty();" + ls);
+ }
+
+ public void overrideNode(String str, short param, boolean param2)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("overrideNode(" + str + "," + param + "," + param2 + ");" + ls);
+ }
+
+ public void overrideProperty(String str, short param,
+ com.sun.star.uno.Type type, boolean param3)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("overrideProperty(" + str + "," + param + "," + type + "," + param3 + ");" + ls);
+ }
+
+ public void setPropertyValue(Object obj)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("setPropertyValue(" + obj + ");" + ls);
+ }
+
+ public void setPropertyValueForLocale(Object obj, String str)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("setPropertyValueForLocale(" + obj + "," + str + ");" + ls);
+ }
+
+ public void startLayer()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls = "startLayer();" + ls;
+ }
+
+ public String getCalls() {
+ return calls;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/XLayerImpl.java b/qadevOOo/runner/util/XLayerImpl.java
new file mode 100644
index 000000000..3b2ac9ca4
--- /dev/null
+++ b/qadevOOo/runner/util/XLayerImpl.java
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+public class XLayerImpl implements com.sun.star.configuration.backend.XLayer {
+
+ private boolean wasCalled = false;
+
+ public void readData(com.sun.star.configuration.backend.XLayerHandler xLayerHandler) throws com.sun.star.lang.NullPointerException, com.sun.star.lang.WrappedTargetException, com.sun.star.configuration.backend.MalformedDataException {
+ wasCalled = true;
+ }
+
+ public boolean hasBeenCalled() {
+ return wasCalled;
+ }
+
+}
diff --git a/qadevOOo/runner/util/XMLTools.java b/qadevOOo/runner/util/XMLTools.java
new file mode 100644
index 000000000..fc821b9ff
--- /dev/null
+++ b/qadevOOo/runner/util/XMLTools.java
@@ -0,0 +1,669 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.xml.sax.XAttributeList;
+import com.sun.star.xml.sax.XDocumentHandler;
+import com.sun.star.xml.sax.XLocator;
+
+
+public class XMLTools {
+
+ /**
+ * The implementation of <code>com.sun.star.xml.sax.XAttributeList</code>
+ * where attributes and their values can be added.
+ */
+ public static class AttributeList implements XAttributeList {
+ private static class Attribute {
+ public String Name ;
+ public String Type ;
+ public String Value ;
+ }
+ private final HashMap<String, Attribute> attrByName = new HashMap<String, Attribute>() ;
+ private final ArrayList<Attribute> attributes = new ArrayList<Attribute>() ;
+
+ /**
+ * Creates a class instance.
+ */
+ public AttributeList() {}
+
+ private AttributeList(XAttributeList list) {
+ if (list == null) return ;
+ for (short i = 0; i < list.getLength(); i++) {
+ add(list.getNameByIndex(i), list.getTypeByIndex(i),
+ list.getValueByIndex(i)) ;
+ }
+ }
+
+ /**
+ * Adds an attribute with type and value specified.
+ * @param name The attribute name.
+ * @param type Value type (usually 'CDATA' used).
+ * @param value Attribute value.
+ */
+ public void add(String name, String type, String value) {
+ Attribute attr = new Attribute() ;
+ attr.Name = name ;
+ attr.Type = type ;
+ attr.Value = value ;
+ attributes.add(attr) ;
+ attrByName.put(attr.Name, attr) ;
+ }
+
+
+
+
+
+ /***************************************
+ * XAttributeList methods
+ ****************************************/
+
+ public short getLength() {
+ return (short) attributes.size() ;
+ }
+
+ public String getNameByIndex(short idx) {
+ String name = attributes.get(idx).Name ;
+ return name ;
+ }
+
+ public String getTypeByIndex(short idx) {
+ String type = attributes.get(idx).Type ;
+ return type;
+ }
+
+ public String getTypeByName(String name) {
+ String type = attrByName.get(name).Type ;
+ return type;
+ }
+ public String getValueByIndex(short idx) {
+ String value = attributes.get(idx).Value ;
+ return value;
+ }
+
+ public String getValueByName(String name) {
+ String value = attrByName.get(name).Value ;
+ return value;
+ }
+ }
+
+ /**
+ * This class writes all XML data handled into a stream specified
+ * in the constructor.
+ */
+ private static class XMLWriter implements XDocumentHandler {
+ private PrintWriter _log = null ;
+ private String align = "" ;
+
+ /**
+ * Creates a SAX handler which writes all XML data
+ * handled into a <code>log</code> stream specified.
+ */
+ private XMLWriter(PrintWriter log) {
+ _log = log ;
+ }
+
+ /**
+ * Creates a SAX handler which does nothing.
+ */
+ public XMLWriter() {
+ }
+
+ public void processingInstruction(String appl, String data) {
+ if (_log == null) return ;
+ _log.println(align + "<?" + appl + " " + data + "?>") ;
+ }
+ public void startDocument() {
+ if (_log == null) return ;
+ _log.println("START DOCUMENT:") ;
+ }
+ public void endDocument() {
+ if (_log == null) return ;
+ _log.println("END DOCUMENT:") ;
+ }
+ public void setDocumentLocator(XLocator loc) {
+ if (_log == null) return ;
+ _log.println("DOCUMENT LOCATOR: ('" + loc.getPublicId() +
+ "','" + loc.getSystemId() + "')") ;
+ }
+ public void startElement(String name, XAttributeList attr) {
+ if (_log == null) return ;
+ _log.print(align + "<" + name + " ") ;
+ if (attr != null) {
+ short attrLen = attr.getLength() ;
+ for (short i = 0; i < attrLen; i++) {
+ if (i != 0) _log.print(align + " ") ;
+ _log.print(attr.getNameByIndex(i) + "[" +
+ attr.getTypeByIndex(i) + "]=\"" +
+ attr.getValueByIndex(i) + "\"") ;
+ if (i+1 != attrLen) {
+ _log.println() ;
+ }
+ }
+ }
+ _log.println(">") ;
+
+ align += " " ;
+ }
+
+ public void endElement(String name) {
+ if (_log == null) return ;
+ align = align.substring(3) ;
+ _log.println(align + "</" + name + ">") ;
+ }
+
+ public void characters(String chars) {
+ if (_log == null) return ;
+ _log.println(align + chars) ;
+ }
+ public void ignorableWhitespace(String sp) {
+ if (_log == null) return ;
+ _log.println(sp) ;
+ }
+ }
+
+ /**
+ * Checks if the XML structure is well formed (i.e. all tags opened must be
+ * closed and all tags opened inside a tag must be closed
+ * inside the same tag). It also checks parameters passed.
+ * If any collisions found appropriate error message is
+ * output into a stream specified. No XML data output, i.e.
+ * no output will be performed if no errors occur.<p>
+ * After document is completed there is a way to check
+ * if the XML data and structure was valid.
+ */
+ private static class XMLWellFormChecker extends XMLWriter {
+ private boolean docStarted = false ;
+ private boolean docEnded = false ;
+ ArrayList<String> tagStack = new ArrayList<String>() ;
+ private boolean wellFormed = true ;
+ private boolean noOtherErrors = true ;
+ PrintWriter log = null ;
+ private boolean printXMLData = false ;
+
+ private XMLWellFormChecker(PrintWriter log) {
+ super() ;
+ this.log = log ;
+ }
+
+ private XMLWellFormChecker(PrintWriter log_, boolean printXMLData) {
+ super(printXMLData ? log_ : null) ;
+ this.printXMLData = printXMLData ;
+ this.log = log_ ;
+ }
+
+ /**
+ * Reset all values. This is important e.g. for test of XFilter
+ * interface, where 'filter()' method is started twice.
+ */
+ void reset() {
+ docStarted = false ;
+ docEnded = false ;
+ tagStack = new ArrayList<String>() ;
+ wellFormed = true ;
+ noOtherErrors = true ;
+ printXMLData = false ;
+ }
+
+ @Override
+ public void startDocument() {
+ super.startDocument();
+
+ if (docStarted) {
+ printError("Document is started twice.") ;
+ wellFormed = false ;
+ }
+
+ docStarted = true ;
+ }
+ @Override
+ public void endDocument() {
+ super.endDocument();
+ if (!docStarted) {
+ wellFormed = false ;
+ printError("Document ended but not started.") ;
+ }
+ docEnded = true ;
+ }
+ @Override
+ public void startElement(String name, XAttributeList attr) {
+ super.startElement(name, attr);
+ if (attr == null) {
+ printError("attribute list passed as parameter to startElement()"+
+ " method has null value for tag <" + name + ">") ;
+ noOtherErrors = false ;
+ }
+ tagStack.add(0, name) ;
+ }
+ @Override
+ public void endElement(String name) {
+ super.endElement(name);
+ if (wellFormed) {
+ if (tagStack.isEmpty()) {
+ wellFormed = false ;
+ printError("No tags to close (bad closing tag </" + name + ">)") ;
+ } else {
+ String startTag = tagStack.get(0) ;
+ tagStack.remove(0) ;
+ if (!startTag.equals(name)) {
+ wellFormed = false ;
+ printError("Bad closing tag: </" + name +
+ ">; tag expected: </" + startTag + ">");
+ }
+ }
+ }
+ }
+
+ /**
+ * Checks if there were no errors during document handling.
+ * I.e. startDocument() and endDocument() must be called,
+ * XML must be well formed, parameters must be valid.
+ */
+ public boolean isWellFormed() {
+ if (!docEnded) {
+ printError("Document was not ended.") ;
+ wellFormed = false ;
+ }
+
+ return wellFormed && noOtherErrors ;
+ }
+
+ /**
+ * Prints error message and all tags where error occurred inside.
+ * Also prints "Tag trace" in case if the full XML data isn't
+ * printed.
+ */
+ void printError(String msg) {
+ log.println("!!! Error: " + msg) ;
+ if (printXMLData) return ;
+ log.println(" Tag trace :") ;
+ for (int i = 0; i < tagStack.size(); i++) {
+ String tag = tagStack.get(i) ;
+ log.println(" <" + tag + ">") ;
+ }
+ }
+ }
+
+ /**
+ * Beside structure of XML this class also can check existence
+ * of tags, inner tags, and character data. After document
+ * completion there is a way to check if required tags and
+ * character data was found. If there any error occurs an
+ * appropriate message is output.
+ */
+ public static class XMLTagsChecker extends XMLWellFormChecker {
+ private final HashMap<String,String> tags = new HashMap<String,String>() ;
+ private final HashMap<String,String> chars = new HashMap<String,String>() ;
+ private boolean allOK = true ;
+
+ public XMLTagsChecker(PrintWriter log) {
+ super(log) ;
+ }
+
+ /**
+ * Adds a tag name which must be contained in the XML data.
+ */
+ public void addTag(String tag) {
+ tags.put(tag, "") ;
+ }
+ /**
+ * Adds a tag name which must be contained in the XML data and
+ * must be inside the tag with name <code>outerTag</code>.
+ */
+ public void addTagEnclosed(String tag, String outerTag) {
+ tags.put(tag, outerTag) ;
+ }
+
+ /**
+ * Adds a character data which must be contained in the XML data and
+ * must be inside the tag with name <code>outerTag</code>.
+ */
+ public void addCharactersEnclosed(String ch, String outerTag) {
+ chars.put(ch, outerTag) ;
+ }
+
+ @Override
+ public void startElement(String name, XAttributeList attrs) {
+ super.startElement(name, attrs) ;
+ if (tags.containsKey(name)) {
+ String outerTag = tags.get(name);
+ if (outerTag.length() != 0) {
+ boolean isInTag = false ;
+ for (int i = 0; i < tagStack.size(); i++) {
+ if (outerTag.equals(tagStack.get(i))) {
+ isInTag = true ;
+ break ;
+ }
+ }
+ if (!isInTag) {
+ printError("Required tag <" + name + "> found, but is not enclosed in tag <" +
+ outerTag + ">") ;
+ allOK = false ;
+ }
+ }
+ tags.remove(name) ;
+ }
+ }
+
+ @Override
+ public void characters(String ch) {
+ super.characters(ch) ;
+
+ if (chars.containsKey(ch)) {
+ String outerTag = chars.get(ch);
+ if (outerTag.length() != 0) {
+ boolean isInTag = false ;
+ for (int i = 0; i < tagStack.size(); i++) {
+ if (outerTag.equals(tagStack.get(i))) {
+ isInTag = true ;
+ break ;
+ }
+ }
+ if (!isInTag) {
+ printError("Required characters '" + ch + "' found, but are not enclosed in tag <" +
+ outerTag + ">") ;
+ allOK = false ;
+ }
+ }
+ chars.remove(ch) ;
+ }
+ }
+
+ /**
+ * Checks if the XML data was valid and well formed and if
+ * all necessary tags and character data was found.
+ */
+ public boolean checkTags() {
+ if (!isWellFormed())
+ allOK = false ;
+
+ Iterator<String> badTags = tags.keySet().iterator() ;
+ Iterator<String> badChars = chars.keySet().iterator() ;
+
+ if (badTags.hasNext()) {
+ allOK = false ;
+ log.println("Required tags were not found in export :") ;
+ while(badTags.hasNext()) {
+ log.println(" <" + badTags.next() + ">") ;
+ }
+ }
+ if (badChars.hasNext()) {
+ allOK = false ;
+ log.println("Required characters were not found in export :") ;
+ while(badChars.hasNext()) {
+ log.println(" <" + badChars.next() + ">") ;
+ }
+ }
+ reset();
+ return allOK ;
+ }
+ }
+
+ /**
+ * Represents an XML tag which must be found in XML data written.
+ * This tag can contain only its name or tag name and attribute
+ * name, or attribute value additionally.
+ */
+ public static class Tag {
+ private final String name;
+ private String[][] attrList = new String[0][3] ;
+
+ /**
+ * Creates tag which has only a name. Attributes don't make sense.
+ * @param tagName The name of the tag.
+ */
+ public Tag(String tagName) {
+ name = tagName ;
+ }
+
+ /**
+ * Creates a tag with the name specified, which must have an
+ * attribute with the value specified. The type of value
+ * assumed to be 'CDATA'.
+ * @param tagName The name of the tag.
+ * @param attrName The name of attribute which must be contained
+ * in the tag.
+ * @param attrValue Attribute value.
+ */
+ public Tag(String tagName, String attrName, String attrValue) {
+ name = tagName ;
+ attrList = new String[1][3] ;
+ attrList[0][0] = attrName ;
+ attrList[0][1] = "CDATA" ;
+ attrList[0][2] = attrValue ;
+ }
+
+ /**
+ * Gets tag String description.
+ */
+ @Override
+ public String toString() {
+ StringBuffer ret = new StringBuffer("<" + name);
+ for (int i = 0; i < attrList.length; i++) {
+ ret.append(" ").append(attrList[i][0]).append("=");
+ if (attrList[i][2] == null) {
+ ret.append("(not specified)");
+ } else {
+ ret.append("\"").append(attrList[i][2]).append("\"");
+ }
+ }
+ ret.append(">");
+
+ return ret.toString();
+ }
+
+ private boolean checkAttr(int attrListIdx, XAttributeList list) {
+ short j = 0 ;
+ int listLen = list.getLength();
+ while(j < listLen) {
+ if (attrList[attrListIdx][0].equals(list.getNameByIndex(j))) {
+ if (attrList[attrListIdx][2] == null) return true ;
+ return attrList[attrListIdx][2].equals(list.getValueByIndex(j)) ;
+ }
+ j++ ;
+ }
+ return false ;
+ }
+
+ /**
+ * Checks if this tag matches tag passed in parameters.
+ * I.e. if tag specifies only its name it matches if names
+ * are equal (attributes don't make sense). If there are
+ * some attributes names specified in this tag method checks
+ * if all names present in attribute list <code>list</code>
+ * (attributes' values don't make sense). If attributes specified
+ * with values method checks if these attributes exist and
+ * have appropriate values.
+ */
+ private boolean isMatchTo(String tagName, XAttributeList list) {
+ if (!name.equals(tagName)) return false;
+ boolean result = true ;
+ for (int i = 0; i < attrList.length; i++) {
+ result &= checkAttr(i, list) ;
+ }
+ return result ;
+ }
+ }
+
+ /**
+ * Class realises extended XML data checking. It has possibilities
+ * to check if a tag exists, if it has some attributes with
+ * values, and if this tag is contained in another tag (which
+ * also can specify any attributes). It can check if some
+ * character data exists inside any tag specified.
+ */
+ public static class XMLChecker extends XMLWellFormChecker {
+ private final HashSet<String> tagSet = new HashSet<String>() ;
+ private final ArrayList<Tag[]> tags = new ArrayList<Tag[]>() ;
+ private final ArrayList<Object[]> chars = new ArrayList<Object[]>() ;
+ private final ArrayList<String> tagStack = new ArrayList<String>() ;
+ private final ArrayList<AttributeList> attrStack = new ArrayList<AttributeList>() ;
+
+ public XMLChecker(PrintWriter log, boolean writeXML) {
+ super(log, writeXML) ;
+ }
+
+ public void addTag(Tag tag) {
+ tags.add(new Tag[] {tag, null}) ;
+ tagSet.add(tag.name) ;
+ }
+
+ public void addTagEnclosed(Tag tag, Tag outerTag) {
+ tags.add(new Tag[] {tag, outerTag}) ;
+ tagSet.add(tag.name) ;
+ }
+
+
+
+ public void addCharactersEnclosed(String ch, Tag outerTag) {
+ chars.add(new Object[] {ch.trim(), outerTag}) ;
+ }
+
+ @Override
+ public void startElement(String name, XAttributeList attr) {
+ try {
+ super.startElement(name, attr);
+
+ if (tagSet.contains(name)) {
+ for (int i = 0; i < tags.size(); i++) {
+ Tag[] tag = tags.get(i);
+ if (tag[0].isMatchTo(name, attr)) {
+ if (tag[1] == null) {
+ tags.remove(i--);
+ } else {
+ boolean isInStack = false ;
+ for (int j = 0; j < tagStack.size(); j++) {
+ if (tag[1].isMatchTo(tagStack.get(j),
+ attrStack.get(j))) {
+
+ isInStack = true ;
+ break ;
+ }
+ }
+ if (isInStack) {
+ tags.remove(i--) ;
+ }
+ }
+ }
+ }
+ }
+
+ tagStack.add(0, name) ;
+ attrStack.add(0, new AttributeList(attr));
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ @Override
+ public void characters(String ch) {
+ super.characters(ch) ;
+ for (int i = 0; i < chars.size(); i++) {
+ Object[] chr = chars.get(i);
+ if (((String) chr[0]).equals(ch)) {
+ if (chr[1] == null) {
+ chars.remove(i--);
+ } else {
+ boolean isInStack = false ;
+ for (int j = 0; j < tagStack.size(); j++) {
+ if (((Tag) chr[1]).isMatchTo(tagStack.get(j),
+ attrStack.get(j))) {
+
+ isInStack = true ;
+ break ;
+ }
+ }
+ if (isInStack) {
+ chars.remove(i--) ;
+ }
+ }
+ }
+ }
+ }
+
+ @Override
+ public void endElement(String name) {
+ try {
+ super.endElement(name);
+
+ if (tagStack.size() > 0) {
+ tagStack.remove(0) ;
+ attrStack.remove(0) ;
+ }
+ } catch(Exception e) {
+ e.printStackTrace(log) ;
+ }
+ }
+
+ public boolean check() {
+ if (tags.size()> 0) {
+ log.println("!!! Error: Some tags were not found :") ;
+ for (int i = 0; i < tags.size(); i++) {
+ Tag[] tag = tags.get(i) ;
+ log.println(" Tag " + tag[0] + " was not found");
+ if (tag[1] != null)
+ log.println(" inside tag " + tag[1]) ;
+ }
+ }
+ if (chars.size() > 0) {
+ log.println("!!! Error: Some character data blocks were not found :") ;
+ for (int i = 0; i < chars.size(); i++) {
+ Object[] ch = chars.get(i) ;
+ log.println(" Character data \"" + ch[0] + "\" was not found ") ;
+ if (ch[1] != null)
+ log.println(" inside tag " + ch[1]) ;
+ }
+ }
+
+ if (!isWellFormed())
+ log.println("!!! Some errors were found in XML structure") ;
+
+ boolean result = tags.isEmpty() && chars.isEmpty() && isWellFormed();
+ reset();
+ return result;
+ }
+ }
+
+
+
+ public static PropertyValue[] createMediaDescriptor(String[] propNames, Object[] values) {
+ PropertyValue[] props = new PropertyValue[propNames.length] ;
+
+ for (int i = 0; i < props.length; i++) {
+ props[i] = new PropertyValue() ;
+ props[i].Name = propNames[i] ;
+ if (values != null && i < values.length) {
+ props[i].Value = values[i] ;
+ }
+ }
+
+ return props ;
+ }
+
+
+
+
+}
diff --git a/qadevOOo/runner/util/XSchemaHandlerImpl.java b/qadevOOo/runner/util/XSchemaHandlerImpl.java
new file mode 100644
index 000000000..cd72fd6ed
--- /dev/null
+++ b/qadevOOo/runner/util/XSchemaHandlerImpl.java
@@ -0,0 +1,128 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package util;
+
+public class XSchemaHandlerImpl
+ implements com.sun.star.configuration.backend.XSchemaHandler {
+ private String calls = "";
+ private final String ls = System.getProperty("line.separator");
+
+ public void addInstance(String str,
+ com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addInstance();" + ls);
+ }
+
+ public void addItemType(com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addItemType();" + ls);
+ }
+
+ public void addProperty(String str, short param,
+ com.sun.star.uno.Type type)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addProperty();" + ls);
+ }
+
+ public void addPropertyWithDefault(String str, short param, Object obj)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("addPropertyWithDefault();" + ls);
+ }
+
+ public void endComponent()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endComponent();" + ls);
+ }
+
+ public void endNode()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endNode();" + ls);
+ }
+
+ public void endSchema()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endSchema();" + ls);
+ }
+
+ public void endTemplate()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("endTemplate();" + ls);
+ }
+
+ public void importComponent(String str)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("importComponent();" + ls);
+ }
+
+ public void startComponent(String str)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startComponent();" + ls);
+ }
+
+ public void startGroup(String str, short param)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startGroup();" + ls);
+ }
+
+ public void startGroupTemplate(com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier,
+ short param)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startGroupTemplate();" + ls);
+ }
+
+ public void startSchema()
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startSchema();" + ls);
+ }
+
+ public void startSet(String str, short param,
+ com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startSet();" + ls);
+ }
+
+ public void startSetTemplate(com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier,
+ short param,
+ com.sun.star.configuration.backend.TemplateIdentifier templateIdentifier2)
+ throws com.sun.star.configuration.backend.MalformedDataException,
+ com.sun.star.lang.WrappedTargetException {
+ calls += ("startSetTemplate();" + ls);
+ }
+
+ public String getCalls() {
+ return calls;
+ }
+
+ public void cleanCalls() {
+ calls = "";
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/runner/util/db/DataSource.java b/qadevOOo/runner/util/db/DataSource.java
new file mode 100644
index 000000000..b9f41c332
--- /dev/null
+++ b/qadevOOo/runner/util/db/DataSource.java
@@ -0,0 +1,146 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util.db;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.XDataSource;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XNamingService;
+import lib.StatusException;
+
+/** wraps a com.sun.star.sdb.DataSource
+ */
+public class DataSource
+{
+ protected DataSource( XMultiServiceFactory _orb, DataSourceDescriptor _descriptor )
+ {
+ m_orb = _orb;
+ try
+ {
+ m_dataSource = UnoRuntime.queryInterface( XDataSource.class,
+ m_orb.createInstance( "com.sun.star.sdb.DataSource" ) );
+ m_properties = UnoRuntime.queryInterface( XPropertySet.class,
+ m_dataSource );
+
+ Object[] descriptorProperties = new Object[] {
+ null, _descriptor.URL, _descriptor.Info, _descriptor.User, _descriptor.Password,
+ _descriptor.IsPasswordRequired };
+ String[] propertyNames = new String[] {
+ "Name", "URL", "Info", "User", "Password", "IsPasswordRequired" };
+ for ( int i=0; i < descriptorProperties.length; ++i )
+ if ( descriptorProperties[i] != null )
+ m_properties.setPropertyValue( propertyNames[i], descriptorProperties[i] );
+ }
+ catch ( Exception e )
+ {
+ throw new StatusException( "could not create/fill a css.sdb.DataSource object", e );
+ }
+ }
+
+ public XDataSource getDataSource()
+ {
+ return m_dataSource;
+ }
+
+ /**
+ * retrieves the css.sdb.OfficeDatabaseDocument associated with the data source
+ */
+ public synchronized DatabaseDocument getDatabaseDocument()
+ {
+ if ( m_document == null )
+ m_document = new DatabaseDocument( this );
+ return m_document;
+ }
+
+ public void revokeRegistration()
+ {
+ String dataSourceName = "";
+ try
+ {
+ dataSourceName = (String)m_properties.getPropertyValue( "Name" );
+ XNamingService dbContext = UnoRuntime.queryInterface( XNamingService.class,
+ m_orb.createInstance( "com.sun.star.sdb.DatabaseContext" ) );
+ dbContext.revokeObject( dataSourceName );
+ }
+ catch ( Exception e )
+ {
+ throw new StatusException( "DataSource.revokeRegistration: could not revoke the object (" + dataSourceName + ")", e );
+ }
+ }
+
+ public void registerAs( final String _registrationName, final boolean _revokeIfRegistered )
+ {
+ String doing = null;
+ try
+ {
+ doing = "creating database context";
+ XNamingService dbContext = UnoRuntime.queryInterface( XNamingService.class,
+ m_orb.createInstance( "com.sun.star.sdb.DatabaseContext" ) );
+
+ if ( _revokeIfRegistered )
+ {
+ doing = "revoking previously registered data source";
+ try
+ {
+ dbContext.revokeObject( _registrationName );
+ }
+ catch( NoSuchElementException e )
+ { /* allowed here */ }
+ }
+
+ // if the document associated with the database document has not yet been saved, then we need to do so
+ DatabaseDocument doc = getDatabaseDocument();
+ String docURL = doc.getURL();
+ if ( docURL.length() == 0 )
+ {
+ final java.io.File tempFile = java.io.File.createTempFile( _registrationName + "_", ".odb" );
+ if ( tempFile.exists() ) {
+ // we did not really want to create that file, we just wanted its local name, but
+ // createTempFile actually creates it => throw it away
+ // (This is necessary since some JVM/platform combinations seem to actually lock the file)
+ boolean bDeleteOk = tempFile.delete();
+ if (!bDeleteOk) {
+ System.out.println("delete failed");
+ }
+ }
+ String localPart = tempFile.toURI().toURL().toString();
+ localPart = localPart.substring( localPart.lastIndexOf( '/' ) + 1 );
+ docURL = util.utils.getOfficeTemp( m_orb ) + localPart;
+ doing = "storing database document to temporary location (" + docURL + ")";
+ doc.storeAsURL( docURL );
+ }
+
+ // register the data source
+ doing = "registering the data source at the database context";
+ dbContext.registerObject( _registrationName, m_dataSource );
+ }
+ catch( final java.lang.Exception e )
+ {
+ throw new StatusException( "DataSource.registerAs: error during " + doing, e );
+ }
+ }
+
+ private final XMultiServiceFactory m_orb;
+ private final XDataSource m_dataSource;
+ private final XPropertySet m_properties;
+ private DatabaseDocument m_document = null;
+}
diff --git a/qadevOOo/runner/util/db/DataSourceDescriptor.java b/qadevOOo/runner/util/db/DataSourceDescriptor.java
new file mode 100644
index 000000000..6b699445f
--- /dev/null
+++ b/qadevOOo/runner/util/db/DataSourceDescriptor.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util.db;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+
+/** a descriptor for creating a com.sun.star.sdb.DataSource
+ */
+public class DataSourceDescriptor
+{
+ /**
+ * Representation of <code>'URL'</code> property.
+ */
+ public String URL = null ;
+ /**
+ * Representation of <code>'Info'</code> property.
+ */
+ public PropertyValue[] Info = null ;
+ /**
+ * Representation of <code>'User'</code> property.
+ */
+ public String User = null ;
+ /**
+ * Representation of <code>'Password'</code> property.
+ */
+ public String Password = null ;
+ /**
+ * Representation of <code>'IsPasswordRequired'</code> property.
+ */
+ public Boolean IsPasswordRequired = null ;
+
+ public DataSourceDescriptor( XMultiServiceFactory _orb )
+ {
+ m_orb = _orb;
+ }
+
+ public DataSource createDataSource()
+ {
+ return new DataSource( m_orb, this );
+ }
+
+ private final XMultiServiceFactory m_orb;
+}
diff --git a/qadevOOo/runner/util/db/DatabaseDocument.java b/qadevOOo/runner/util/db/DatabaseDocument.java
new file mode 100644
index 000000000..f9c4913e7
--- /dev/null
+++ b/qadevOOo/runner/util/db/DatabaseDocument.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util.db;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XStorable;
+import com.sun.star.io.IOException;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdb.XOfficeDatabaseDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * encapsulates a css.sdb.DatabaseDocument
+ */
+public class DatabaseDocument
+{
+ protected DatabaseDocument( final DataSource _dataSource )
+ {
+ XDocumentDataSource docDataSource = UnoRuntime.queryInterface(
+ XDocumentDataSource.class, _dataSource.getDataSource() );
+ m_databaseDocument = UnoRuntime.queryInterface(XOfficeDatabaseDocument.class,
+ docDataSource.getDatabaseDocument() );
+
+ m_model = UnoRuntime.queryInterface( XModel.class, m_databaseDocument );
+ m_storeDoc = UnoRuntime.queryInterface( XStorable.class, m_databaseDocument );
+ }
+
+ public XOfficeDatabaseDocument getDatabaseDocument()
+ {
+ return m_databaseDocument;
+ }
+
+ /**
+ * passes through to XModel.getURL.
+ */
+ public String getURL()
+ {
+ return m_model.getURL();
+ }
+
+ /**
+ * simplified version (taking no arguments except the target URL) of XStorage.storeAsURL
+ * @param _url
+ * specifies the location to where to store the document
+ */
+ public void storeAsURL( final String _url ) throws IOException
+ {
+ m_storeDoc.storeAsURL( _url, new PropertyValue[] { } );
+ }
+
+ private final XOfficeDatabaseDocument m_databaseDocument;
+ private final XModel m_model;
+ private final XStorable m_storeDoc;
+}
diff --git a/qadevOOo/runner/util/dbg.java b/qadevOOo/runner/util/dbg.java
new file mode 100644
index 000000000..5416e92f6
--- /dev/null
+++ b/qadevOOo/runner/util/dbg.java
@@ -0,0 +1,274 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package util;
+
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.Type;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.lang.XServiceInfo;
+import java.io.PrintWriter;
+import java.io.OutputStreamWriter;
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.Method;
+
+/**
+ * This class accumulates all kinds of methods for accessing debug information
+ * from UNO implementations.
+ */
+public class dbg {
+
+ /**
+ * Prints information about the supported interfaces of an implementation
+ * to standard out.
+ * @param xTarget The implementation which should be analysed.
+ * @see com.sun.star.uno.XInterface
+ */
+ public static void printInterfaces(XInterface xTarget) {
+ printInterfaces(xTarget, false);
+ }
+
+ /**
+ * Prints information about the supported interfaces of an implementation
+ * to standard out. Extended information can be printed.
+ * @param xTarget The implementation which should be analysed.
+ * @param extendedInfo Should extended information be printed?
+ * @see com.sun.star.uno.XInterface
+ */
+ private static void printInterfaces(XInterface xTarget,
+ boolean extendedInfo){
+ Type[] types = getInterfaceTypes(xTarget);
+ if( null != types ) {
+ int nLen = types.length;
+ for( int i = 0; i < nLen ; i++ ) {
+ System.out.println(types[i].getTypeName());
+ if (extendedInfo) {
+ printInterfaceInfo(types[i]);
+ System.out.println();
+ }
+ }
+ }
+ }
+
+ /**
+ * Returns all interface types of an implementation as a type array.
+ * @param xTarget The implementation which should be analyzed.
+ * @return An array with all interface types; null if there are none.
+ * @see com.sun.star.uno.XInterface
+ */
+ private static Type[] getInterfaceTypes(XInterface xTarget) {
+ Type[] types = null;
+ XTypeProvider xTypeProvider = UnoRuntime.queryInterface( XTypeProvider.class, xTarget);
+ if( xTypeProvider != null )
+ types = xTypeProvider.getTypes();
+ return types;
+ }
+
+
+
+ /**
+ * Prints information about an interface type.
+ *
+ * @param aType The type of the given interface.
+ * @see com.sun.star.uno.Type
+ */
+ private static void printInterfaceInfo(Type aType) {
+ try {
+ Class<?> zClass = aType.getZClass();
+ Method[] methods = zClass.getDeclaredMethods();
+ for (int i=0; i<methods.length; i++) {
+ System.out.println("\t" + methods[i].getReturnType().getName()
+ + " " + methods[i].getName() + "()");
+ }
+ }
+ catch (Exception ex) {
+ System.out.println("Exception occurred while printing InterfaceInfo");
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * Prints a string array to standard out.
+ *
+ * @param entries : The array to be printed.
+ */
+ public static void printArray( String [] entries ) {
+ for ( int i=0; i< entries.length;i++ ) {
+ System.out.println(entries[i]);
+ }
+ }
+
+ /**
+ * Print all information about the property <code>name</code> from
+ * the property set <code>PS</code> to standard out.
+ * @param PS The property set which should contain a property called
+ * <code>name</code>.
+ * @param name The name of the property.
+ * @see com.sun.star.beans.XPropertySet
+ */
+ public static void printPropertyInfo(XPropertySet PS, String name) throws UnsupportedEncodingException {
+ printPropertyInfo(PS, name, new PrintWriter(new OutputStreamWriter(System.out, "UTF-8")));
+ }
+
+ /**
+ * Print all information about the property <code>name</code> from
+ * the property set <code>PS</code> to a print writer.
+ * @param PS The property set which should contain a property called
+ * <code>name</code>.
+ * @param name The name of the property.
+ * @param out The print writer which is used as output.
+ * @see com.sun.star.beans.XPropertySet
+ */
+ public static void printPropertyInfo(XPropertySet PS, String name,
+ PrintWriter out) {
+ try {
+ XPropertySetInfo PSI = PS.getPropertySetInfo();
+ PSI.getProperties();
+ Property prop = PSI.getPropertyByName(name);
+ out.println("Property name is " + prop.Name);
+ out.println("Property handle is " + prop.Handle);
+ out.println("Property type is " + prop.Type.getTypeName());
+ out.println("Property current value is " +
+ PS.getPropertyValue(name));
+ out.println("Attributes :");
+ short attr = prop.Attributes;
+
+ if ((attr & PropertyAttribute.BOUND) != 0)
+ out.println("\t-BOUND");
+
+ if ((attr & PropertyAttribute.CONSTRAINED) != 0)
+ out.println("\t-CONSTRAINED");
+
+ if ((attr & PropertyAttribute.MAYBEAMBIGUOUS) != 0)
+ out.println("\t-MAYBEAMBIGUOUS");
+
+ if ((attr & PropertyAttribute.MAYBEDEFAULT) != 0)
+ out.println("\t-MAYBEDEFAULT");
+
+ if ((attr & PropertyAttribute.MAYBEVOID) != 0)
+ out.println("\t-MAYBEVOID");
+
+ if ((attr & PropertyAttribute.READONLY) != 0)
+ out.println("\t-READONLY");
+
+ if ((attr & PropertyAttribute.REMOVABLE) != 0)
+ out.println("\t-REMOVABLE");
+
+ if ((attr & PropertyAttribute.TRANSIENT) != 0)
+ out.println("\t-TRANSIENT");
+ } catch(com.sun.star.uno.Exception e) {
+ out.println("Exception!!!!");
+ e.printStackTrace(out);
+ }
+ }
+
+
+
+ /**
+ * Print the names and the values of a sequence of <code>PropertyValue</code>
+ * to a print writer.
+ * @param ps The property which should displayed
+ * @param out The print writer which is used as output.
+ * @see com.sun.star.beans.PropertyValue
+ */
+ private static void printPropertyValueSequencePairs(PropertyValue[] ps, PrintWriter out){
+ for( int i = 0; i < ps.length; i++){
+ printPropertyValuePairs(ps[i], out);
+ }
+ }
+
+
+
+ /**
+ * Print the name and the value of a <code>PropertyValue</code> to a print writer.
+ * @param ps The property which should displayed
+ * @param out The print writer which is used as output.
+ * @see com.sun.star.beans.PropertyValue
+ */
+ private static void printPropertyValuePairs(PropertyValue ps, PrintWriter out){
+
+ if (ps.Value instanceof String[] ){
+ String[] values = (String[]) ps.Value;
+ StringBuilder oneValue = new StringBuilder("value is an empty String[]");
+ if (values.length > 0){
+ oneValue.append("['");
+ for( int i=0; i < values.length; i++){
+ oneValue.append(values[i]);
+ if (i+1 < values.length) oneValue.append("';'");
+ }
+ oneValue.append("']");
+ }
+ out.println("--------");
+ out.println(" Name: '" + ps.Name + "' contains String[]:");
+ out.println(oneValue.toString());
+ out.println("--------");
+
+ } else if (ps.Value instanceof PropertyValue){
+ out.println("--------");
+ out.println(" Name: '" + ps.Name + "' contains PropertyValue:");
+ printPropertyValuePairs((PropertyValue)ps.Value, out);
+ out.println("--------");
+
+ } else if (ps.Value instanceof PropertyValue[]){
+ out.println("--------");
+ out.println(" Name: '" + ps.Name + "' contains PropertyValue[]:");
+ printPropertyValueSequencePairs((PropertyValue[])ps.Value, out);
+ out.println("--------");
+
+ } else {
+ out.println("Name: '" + ps.Name + "' Value: '" + ps.Value.toString() + "'");
+ }
+ }
+
+ /**
+ * Print the names of all properties inside this property set
+ * @param ps The property set which is printed.
+ * @see com.sun.star.beans.XPropertySet
+ */
+ public static void printPropertiesNames(XPropertySet ps) {
+ XPropertySetInfo psi = ps.getPropertySetInfo();
+ Property[] props = psi.getProperties();
+ for (int i = 0; i < props.length; i++)
+ System.out.println(i + ". " + props[i].Name);
+ }
+
+ /**
+ * Print the supported services of a UNO object.
+ * @param aObject A UNO object.
+ */
+ public static void getSuppServices (Object aObject) {
+ XServiceInfo xSI = UnoRuntime.queryInterface(XServiceInfo.class,aObject);
+ printArray(xSI.getSupportedServiceNames());
+ StringBuilder str = new StringBuilder("Therein not Supported Service");
+ boolean notSupportedServices = false;
+ for (int i=0;i<xSI.getSupportedServiceNames().length;i++) {
+ if (! xSI.supportsService(xSI.getSupportedServiceNames()[i])) {
+ notSupportedServices = true;
+ str.append("\n").append(xSI.getSupportedServiceNames()[i]);
+ }
+ }
+ if (notSupportedServices)
+ System.out.println(str.toString());
+ }
+}
diff --git a/qadevOOo/runner/util/utils.java b/qadevOOo/runner/util/utils.java
new file mode 100644
index 000000000..1e6901fca
--- /dev/null
+++ b/qadevOOo/runner/util/utils.java
@@ -0,0 +1,846 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package util;
+
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+
+import java.util.StringTokenizer;
+import java.io.*;
+import java.util.ArrayList;
+import java.net.Socket;
+import java.net.ServerSocket;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Arrays;
+
+import com.sun.star.awt.XToolkitExperimental;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.ucb.InteractiveAugmentedIOException;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.XMacroExpander;
+
+import java.text.DecimalFormat;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.GregorianCalendar;
+
+public class utils {
+
+ /**
+ *
+ * This method adds the DOCPTH to a given file
+ *
+ * @param sDocName the file which should be completed to the test doc path
+ * @return $TESTDOCPATH/sDocName
+ */
+ public static String getFullTestDocName(String sDocName) {
+ String docpth = System.getProperty("DOCPTH");
+ if (docpth.endsWith("\\") || docpth.endsWith("/")) {
+ docpth = docpth.substring(0, docpth.length() - 1);
+ }
+
+ System.out.println("docpth:" + docpth);
+
+ String pthSep = System.getProperty("file.separator");
+
+ if (docpth.equals("unknown")) {
+ System.out.println("try to get tDoc from $SRC_ROOT/qadevOOo");
+ String srcRoot = System.getProperty(PropertyName.SRC_ROOT);
+ if (srcRoot != null) {
+ File srcR = new File(srcRoot);
+ String[] list = srcR.list(new FilenameFilter() {
+
+ public boolean accept(File dir, String name) {
+ return name.startsWith("qadevOOo");
+ }
+ });
+
+ if (list != null && list[0] != null) {
+ String tDoc = srcRoot.concat(pthSep).concat(list[0]).concat(pthSep).concat("testdocs");
+
+ if (new File(tDoc).exists()) {
+ docpth = tDoc;
+ }
+ }
+ }
+ }
+
+ if (docpth.startsWith("http:")) {
+ return docpth + "/" + sDocName;
+ }
+ String testdocPth = "";
+
+ if (docpth.equals("unknown")) {
+ System.out.println("try to get tDoc from OBJDSCS");
+ String objdscPth = System.getProperty("OBJDSCS");
+ if (objdscPth != null) {
+ int i = objdscPth.indexOf("objdsc");
+ String arcPth = objdscPth.substring(0, i - 1);
+ testdocPth = arcPth + pthSep + "doc" + pthSep + "java" +
+ pthSep + "testdocs" + pthSep + sDocName;
+ }
+ } else {
+ testdocPth = docpth + pthSep + sDocName;
+ }
+ return testdocPth;
+ }
+
+ /**
+ *
+ * This method adds the DOCPTH to a given file
+ * and changes the format to an file URL
+ *
+ */
+ public static String getFullTestURL(String sDocName) {
+ String fullDocPath = getFullTestDocName(sDocName);
+ if (fullDocPath.startsWith("http:")) {
+ return fullDocPath;
+ }
+ if (fullDocPath.startsWith("file:")) {
+ return fullDocPath;
+ }
+ String prefix = null;
+
+ // Windows: \\\\margritte\\qaapi\\workspace\\qadev\\testdocs/emptyChart.sds
+ if (fullDocPath.startsWith("\\\\")) {
+ prefix = "file:";
+ }
+
+ fullDocPath = fullDocPath.replace('\\', '/');
+ if (prefix == null) {
+ if (fullDocPath.startsWith("//")) {
+ prefix = "file:/";
+ } else if (fullDocPath.startsWith("/")) {
+ prefix = "file://";
+ } else {
+ prefix = "file:///";
+ }
+ }
+ if (!fullDocPath.endsWith("/")) {
+ File aFile = new File(fullDocPath);
+ if (aFile.isDirectory()) {
+ fullDocPath += "/";
+ }
+ }
+ String fulldocURL = prefix + fullDocPath;
+ return fulldocURL;
+ }
+
+ /**
+ *
+ * This method changes a given URL to a valid file URL
+ *
+ */
+ public static String getFullURL(String sDocName) {
+ String fullDocPath = sDocName;
+ fullDocPath = fullDocPath.replace('\\', '/');
+
+ if (fullDocPath.startsWith("http:")) {
+ return fullDocPath;
+ }
+ if (fullDocPath.startsWith("ftp:")) {
+ return fullDocPath;
+ }
+ String prefix = "";
+ if (!fullDocPath.startsWith("file:///")) {
+ if (fullDocPath.startsWith("//")) {
+ prefix = "file:";
+ } else {
+ if (fullDocPath.startsWith("/")) {
+ prefix = "file://";
+ }
+ else
+ {
+ prefix = "file:///";
+ }
+ }
+ }
+ if (!fullDocPath.endsWith("/")) {
+ File aFile = new File(fullDocPath);
+ if (aFile.isDirectory()) {
+ fullDocPath += "/";
+ }
+ }
+ String fulldocURL = prefix + fullDocPath;
+
+ return fulldocURL;
+ }
+
+ /**
+ *
+ * This method gets the user dir of the connected office
+ *
+ */
+ public static String getOfficeUserPath(XMultiServiceFactory msf) {
+ // get a folder located in the user dir
+ String userPath = getOfficeSettingsValue(msf, "UserConfig");
+
+ // strip the returned folder to the user dir
+ if (userPath.charAt(userPath.length() - 1) == '/') {
+ userPath = userPath.substring(0, userPath.length() - 1);
+ }
+ int index = userPath.lastIndexOf('/');
+ if (index != -1) {
+ userPath = userPath.substring(0, index);
+ }
+
+ return userPath;
+ }
+
+ /**
+ * In the office there are some settings available. This function
+ * returns the value of the given setting name. For Example the setting name "Temp"
+ * "Temp" returns the temp folder of the office instance.
+ * @param msf a XMultiServiceFactory
+ * @param setting the name of the setting the value should be returned.
+ * For example "Temp" returns the temp folder of the current office instance.
+ * @see com.sun.star.util.PathSettings
+ * @return the value as String
+ */
+ private static String getOfficeSettingsValue(XMultiServiceFactory msf, String setting) {
+ try {
+ Object settings = msf.createInstance("com.sun.star.comp.framework.PathSettings");
+ XPropertySet pthSettings = (XPropertySet) AnyConverter.toObject(
+ new Type(XPropertySet.class), settings);
+ return (String) pthSettings.getPropertyValue(setting);
+ } catch (com.sun.star.uno.Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ /**
+ * This method returns the temp directory of the user.
+ * Since Java 1.4 it is not possible to read environment variables. To workaround
+ * this, the Java parameter -D could be used.
+ */
+ public static String getUsersTempDir() {
+ String tempDir = System.getProperty("my.temp");
+ if (tempDir == null) {
+ tempDir = System.getProperty("my.tmp");
+ if (tempDir == null) {
+ tempDir = System.getProperty("java.io.tmpdir");
+ }
+ }
+ // remove ending file separator
+ if (tempDir.endsWith(System.getProperty("file.separator"))) {
+ tempDir = tempDir.substring(0, tempDir.length() - 1);
+ }
+
+ return tempDir;
+ }
+
+ /**
+ *
+ * This method gets the temp dir of the connected office
+ *
+ */
+ public static String getOfficeTemp(XMultiServiceFactory msf) {
+ String url = getOfficeUserPath(msf) + "/test-temp/";
+ try {
+ new File(new URI(url)).mkdir();
+ } catch (URISyntaxException e) {
+ throw new RuntimeException(e);
+ }
+ return url;
+ }
+
+ /**
+ * Gets StarOffice temp directory without 'file:///' prefix.
+ * For example is useful for Registry URL specifying.
+ * @msf Office factory for accessing its settings.
+ * @return SOffice temporary directory in form for example
+ * 'd:/Office60/user/temp/'.
+ */
+ public static String getOfficeTempDir(XMultiServiceFactory msf) {
+
+ String dir = getOfficeTemp(msf);
+
+ int idx = dir.indexOf("file:///");
+
+ if (idx < 0) {
+ return dir;
+ }
+
+ dir = dir.substring("file:///".length());
+
+ idx = dir.indexOf(':');
+
+ // is the last character a '/' or a '\'?
+ boolean lastCharSet = dir.endsWith("/") || dir.endsWith("\\");
+
+ if (idx < 0) { // linux or solaris
+ dir = "/" + dir;
+ dir += lastCharSet ? "" : "/";
+ } else { // windows
+ dir += lastCharSet ? "" : "\\";
+ }
+
+ return dir;
+ }
+
+ /**
+ * Gets StarOffice temp directory without 'file:///' prefix.
+ * and System dependent file separator
+ */
+ public static String getOfficeTempDirSys(XMultiServiceFactory msf) {
+
+ String dir = getOfficeTemp(msf);
+ String sysDir = "";
+
+ int idx = dir.indexOf("file://");
+
+ // remove leading 'file://'
+ if (idx < 0) {
+ sysDir = dir;
+ } else {
+ sysDir = dir.substring("file://".length());
+ }
+
+ // append '/' if not there (e.g. linux)
+ if (sysDir.charAt(sysDir.length() - 1) != '/') {
+ sysDir += "/";
+ }
+
+ // remove leading '/' and replace others with '\' on windows machines
+ if (sysDir.indexOf(':') != -1) {
+ sysDir = sysDir.substring(1);
+ sysDir = sysDir.replace('/', '\\');
+ }
+ return sysDir;
+ }
+
+ /**
+ * converts a fileURL to a system URL
+ * @param fileURL a file URL
+ * @return a system URL
+ */
+ public static String getSystemURL(String fileURL) {
+ String sysDir = "";
+
+ int idx = fileURL.indexOf("file://");
+
+ // remove leading 'file://'
+ if (idx < 0) {
+ sysDir = fileURL;
+ } else {
+ sysDir = fileURL.substring("file://".length());
+ }
+
+ // remove leading '/' and replace others with '\' on windows machines
+ if (sysDir.indexOf(':') != -1) {
+ sysDir = sysDir.substring(1);
+ sysDir = sysDir.replace('/', '\\');
+ }
+ return sysDir;
+ }
+
+ /**
+ * This method check via Office the existence of the given file URL
+ * @param msf the multiservice factory
+ * @param fileURL the file which existence should be checked
+ * @return true if the file exists, else false
+ */
+ public static boolean fileExists(XMultiServiceFactory msf, String fileURL) throws com.sun.star.uno.Exception {
+ Object fileacc = msf.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess simpleAccess = UnoRuntime.queryInterface(XSimpleFileAccess.class,
+ fileacc);
+ return simpleAccess.exists(fileURL);
+ }
+
+ /**
+ * This method deletes via office the given file URL. It checks the existence
+ * of <CODE>fileURL</CODE>. If exists it will be deleted.
+ * @param xMsf the multiservice factory
+ * @param fileURL the file to delete
+ * @return true if the file could be deleted or the file does not exist
+ */
+ public static boolean deleteFile(XMultiServiceFactory xMsf, String fileURL) {
+ boolean delete = true;
+ try {
+
+ Object fileacc = xMsf.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess simpleAccess = UnoRuntime.queryInterface(XSimpleFileAccess.class,
+ fileacc);
+ if (simpleAccess.exists(fileURL)) {
+ simpleAccess.kill(fileURL);
+ }
+
+ } catch (Exception e) {
+ System.out.println("Couldn't delete file '" + fileURL + "'");
+ e.printStackTrace();
+ delete = false;
+ }
+ return delete;
+ }
+
+ /**
+ * This method copies via office a given file to a new one
+ * @param xMsf the multi service factory
+ * @param source the source file
+ * @param destination the destination file
+ * @return true at success
+ */
+ public static boolean copyFile(XMultiServiceFactory xMsf, String source, String destination) {
+ boolean res = false;
+ try {
+ Object fileacc = xMsf.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess simpleAccess = UnoRuntime.queryInterface(XSimpleFileAccess.class,
+ fileacc);
+ if (!simpleAccess.exists(destination)) {
+ simpleAccess.copy(source, destination);
+ }
+
+ res = true;
+ } catch (Exception e) {
+ System.out.println("Couldn't copy file '" + source + "' -> '" + destination + "'");
+ e.printStackTrace();
+ res = false;
+ }
+ return res;
+ }
+
+ private static void overwriteFile_impl(
+ XMultiServiceFactory xMsf, String oldF, String newF)
+ throws InteractiveAugmentedIOException
+ {
+ try {
+ Object fileacc = xMsf.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+
+ XSimpleFileAccess simpleAccess = UnoRuntime.queryInterface(XSimpleFileAccess.class,
+ fileacc);
+ if (simpleAccess.exists(newF)) {
+ simpleAccess.kill(newF);
+ }
+ simpleAccess.copy(oldF, newF);
+ } catch (InteractiveAugmentedIOException e) {
+ throw e;
+ } catch (com.sun.star.uno.Exception ex) {
+ throw new RuntimeException("Could not copy " + oldF + " to " + newF, ex);
+ }
+ }
+
+ /**
+ * Copies file to a new location using OpenOffice.org features. If the target
+ * file already exists, the file is deleted.
+ *
+ * @returns <code>true</code> if the file was successfully copied,
+ * <code>false</code> if some errors occurred (e.g. file is locked, used
+ * by another process).
+ */
+ public static boolean tryOverwriteFile(
+ XMultiServiceFactory xMsf, String oldF, String newF)
+ {
+ try {
+ overwriteFile_impl(xMsf, oldF, newF);
+ } catch (InteractiveAugmentedIOException e) {
+ return false;
+ }
+ return true;
+ }
+
+
+
+ public static boolean hasPropertyByName(XPropertySet props, String aName) {
+ Property[] list = props.getPropertySetInfo().getProperties();
+ boolean res = false;
+ for (int i = 0; i < list.length; i++) {
+ String the_name = list[i].Name;
+ if (aName.equals(the_name)) {
+ res = true;
+ }
+ }
+ return res;
+ }
+
+ /**
+ *
+ * This method returns the implementation name of a given object
+ *
+ */
+ public static String getImplName(Object aObject) {
+ XServiceInfo xSI = UnoRuntime.queryInterface(XServiceInfo.class, aObject);
+ return xSI == null ? "Unknown, does not implement XServiceInfo" : xSI.getImplementationName();
+ }
+
+ /**
+ *
+ * This method checks if an Object is void
+ *
+ */
+ public static boolean isVoid(Object aObject) {
+ if (aObject instanceof com.sun.star.uno.Any) {
+ com.sun.star.uno.Any oAny = (com.sun.star.uno.Any) aObject;
+ return oAny.getType().getTypeName().equals("void");
+ } else {
+ return false;
+ }
+
+ }
+
+ /**
+ * Scan localhost for the next free port-number from a starting port
+ * on. If the starting port is smaller than 1024, port number starts with
+ * 10000 as default, because numbers < 1024 are never free on unix machines.
+ * @param startPort The port where scanning starts.
+ * @return The next free port.
+ */
+ public static int getNextFreePort(int startPort) {
+ if (startPort < 1024) {
+ startPort = 10000;
+ }
+ for (int port = startPort; port < 65536; port++) {
+ System.out.println("Scan port " + port);
+ try {
+ // first trying to establish a server-socket on localhost
+ // fails if there is already a server running
+ ServerSocket sSock = new ServerSocket(port);
+ sSock.close();
+ } catch (IOException e) {
+ System.out.println(" -> server: occupied port " + port);
+ continue;
+ }
+ try {
+ Socket sock = new Socket("localhost", port);
+ System.out.println(" -> socket: occupied port: " + port);
+ try {
+ sock.close();
+ } catch (IOException ex) {
+ // ignore close exception
+ }
+ } catch (IOException e) {
+ System.out.println(" -> free port");
+ return port;
+ }
+ }
+ return 65535;
+ }
+
+ public static URL parseURL(XMultiServiceFactory xMSF, String url) {
+ URL[] rUrl = new URL[1];
+ rUrl[0] = new URL();
+ rUrl[0].Complete = url;
+
+ XURLTransformer xTrans = null;
+ try {
+ Object inst = xMSF.createInstance("com.sun.star.util.URLTransformer");
+ xTrans = UnoRuntime.queryInterface(XURLTransformer.class, inst);
+ } catch (com.sun.star.uno.Exception e) {
+ }
+
+ if (xTrans != null)
+ xTrans.parseStrict(rUrl);
+
+ return rUrl[0];
+ }
+
+ public static String getOfficeURL(XMultiServiceFactory msf) throws com.sun.star.uno.Exception {
+ Object settings = msf.createInstance("com.sun.star.util.PathSettings");
+ XPropertySet settingProps = UnoRuntime.queryInterface(XPropertySet.class, settings);
+ String path = (String) settingProps.getPropertyValue("Module");
+ return path;
+ }
+
+
+
+ /**
+ * Get an array of all property names from the property set. With the include
+ * and exclude parameters the properties can be filtered. <br>
+ * Set excludePropertyAttribute = 0 and includePropertyAttribute = 0
+ * to include all and exclude none.
+ * @param props The instance of XPropertySet
+ * @param includePropertyAttribute Properties without these attributes are filtered and will not be returned.
+ * @param excludePropertyAttribute Properties with these attributes are filtered and will not be returned.
+ * @param array of string names of properties that will be skipped
+ * @return A String array with all property names.
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.Property
+ * @see com.sun.star.beans.PropertyAttribute
+ */
+ public static String[] getFilteredPropertyNames(XPropertySet props, short includePropertyAttribute,
+ short excludePropertyAttribute, String[] skipList) {
+ Property[] the_props = props.getPropertySetInfo().getProperties();
+ ArrayList<String> l = new ArrayList<String>();
+ for (int i = 0; i < the_props.length; i++) {
+ if (Arrays.asList(skipList).contains(the_props[i].Name))
+ continue;
+ boolean exclude = ((the_props[i].Attributes & excludePropertyAttribute) != 0);
+ boolean include = (includePropertyAttribute == 0) ||
+ ((the_props[i].Attributes & includePropertyAttribute) != 0);
+ if (include && !exclude) {
+ l.add(the_props[i].Name);
+ }
+ }
+ Collections.sort(l);
+ String[] names = new String[l.size()];
+ names = l.toArray(names);
+ return names;
+ }
+
+ /** Causes the thread to sleep some time.
+ * This is the default call, which waits for 500ms.
+ */
+ public static void shortWait() {
+ pause(utils.DEFAULT_SHORT_WAIT_MS);
+ }
+
+ /** Causes the thread to sleep some time.
+ */
+ public static void pause(int milliseconds) {
+ try {
+ Thread.sleep(milliseconds);
+ } catch (InterruptedException e) {
+ System.out.println("While waiting :" + e);
+ }
+ }
+
+ public static void waitForEventIdle(XMultiServiceFactory xMSF) {
+ try {
+ XToolkitExperimental xToolkit = UnoRuntime.queryInterface(
+ XToolkitExperimental.class,
+ xMSF.createInstance("com.sun.star.awt.Toolkit"));
+ xToolkit.processEventsToIdle();
+ } catch (com.sun.star.uno.Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ /**
+ * Validate the AppExecutionCommand. Returned is an error message, starting
+ * with "Error:", or a warning, if the command might work.
+ * @param appExecCommand The application execution command that is checked.
+ * @param os The operating system where the check runs.
+ * @return The error message, or OK, if no error was detected.
+ */
+ public static String validateAppExecutionCommand(String appExecCommand, String os) {
+ String errorMessage = "OK";
+ appExecCommand = appExecCommand.replace("\"", "");
+ appExecCommand = appExecCommand.replace("'", "");
+ StringTokenizer commandTokens = new StringTokenizer(appExecCommand, " \t");
+ String officeExecCommand = "soffice";
+ StringBuilder sb = new StringBuilder();
+ // is there a 'soffice' in the command? 2do: eliminate case sensitivity on windows
+ int index = -1;
+ while (commandTokens.hasMoreTokens() && index == -1) {
+ sb.append(commandTokens.nextToken()).append(" ");
+ index = sb.indexOf(officeExecCommand);
+ }
+ if (index == -1) {
+ errorMessage = "Error: Your 'AppExecutionCommand' parameter does not " +
+ "contain '" + officeExecCommand + "'.";
+ } else {
+ String officeExecutable = sb.toString();
+ // does the directory exist?
+ officeExecutable = officeExecutable.trim();
+ String officePath = officeExecutable.substring(0, index);
+ File f = new File(officePath);
+ if (!f.exists() || !f.isDirectory()) {
+ errorMessage = "Error: Your 'AppExecutionCommand' parameter does not " +
+ "point to a valid system directory: " + officePath;
+ } else {
+ // is it an office installation?
+ f = new File(officeExecutable);
+ // one try for windows platform can't be wrong...
+ if (!f.exists() || !f.isFile()) {
+ f = new File(officeExecutable + ".exe");
+ }
+ if (!f.exists() || !f.isFile()) {
+ errorMessage = "Error: Your 'AppExecutionCommand' parameter does not " +
+ "point to a valid office installation.";
+ } else {
+ // do we have the accept parameter?
+ boolean gotNoAccept = true;
+ while (commandTokens.hasMoreElements()) {
+ String officeParam = commandTokens.nextToken();
+ if (officeParam.indexOf("--accept=") != -1) {
+ gotNoAccept = false;
+ errorMessage = validateConnectString(officeParam, true);
+ }
+ }
+ if (gotNoAccept) {
+ errorMessage = "Error: Your 'AppExecutionCommand' parameter does not " +
+ "contain a '--accept' parameter for connecting the office.";
+ }
+ }
+ }
+ }
+ return errorMessage;
+ }
+
+ /**
+ * Validate the connection string. Returned is an error message, starting
+ * with "Error:", or a warning, if the command might work.
+ * @param connectString The connection string that is checked.
+ * @param checkAppExecutionCommand If the AppExecutionCommand is checked, the error message is different.
+ * @return The error message, or OK, if no error was detected.
+ */
+ private static String validateConnectString(String connectString, boolean checkAppExecutionCommand) {
+ String acceptPrefix = "";
+ if (checkAppExecutionCommand) {
+ acceptPrefix = "--accept=";
+ }
+
+ String errorMessage = "OK";
+ // a warning, if an unknown connection method is used
+ if (connectString.indexOf("socket") != -1) {
+ if (connectString.indexOf(acceptPrefix + "socket,host=") == -1 ||
+ connectString.indexOf("port=") == -1) {
+ if (checkAppExecutionCommand) {
+ errorMessage = "Error: The '--accept' parameter contains a syntax error: It should be like: '--accept=socket,host=localhost,port=8100;urp;";
+ } else {
+ errorMessage = "Error: The 'ConnectionString' parameter contains a syntax error: It should be like: 'socket,host=localhost,port=8100'";
+ }
+ }
+ } else if (connectString.indexOf("pipe") != -1) {
+ if (connectString.indexOf(acceptPrefix + "pipe,name=") == -1) {
+ if (checkAppExecutionCommand) {
+ errorMessage = "Error: The '--accept' parameter contains a syntax error: It should be like: '--accept=pipe,name=myuniquename;urp;'";
+ } else {
+ errorMessage = "Error: The 'ConnectionString' parameter contains a syntax error: It should be like: 'pipe,name=myuniquename'";
+ }
+ }
+ } else {
+ if (checkAppExecutionCommand) {
+ errorMessage = "Warning: The '--accept' parameter contains an unknown connection method.";
+ } else {
+ errorMessage = "Warning: The 'ConnectionString' parameter contains an unknown connection method.";
+ }
+ }
+ return errorMessage;
+ }
+
+ /**
+ * expand macrofied strings like <CODE>${$ORIGIN/bootstrap.ini:UserInstallation}</CODE> or
+ * <CODE>$_OS</CODE>
+ * @param xMSF the MultiServiceFactory
+ * @param expand the string to expand
+ * @throws java.lang.Exception was thrown on any exception
+ * @return return the expanded string
+ * @see com.sun.star.util.XMacroExpander
+ */
+ public static String expandMacro(XMultiServiceFactory xMSF, String expand) {
+ try {
+ XPropertySet xPS = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ XComponentContext xContext = UnoRuntime.queryInterface(XComponentContext.class,
+ xPS.getPropertyValue("DefaultContext"));
+ XMacroExpander xME = UnoRuntime.queryInterface(XMacroExpander.class,
+ xContext.getValueByName("/singletons/com.sun.star.util.theMacroExpander"));
+ return xME.expandMacros(expand);
+ } catch (Exception e) {
+ throw new RuntimeException("could not expand macro", e);
+ }
+
+ }
+
+
+
+ /**
+ * dispatches given <CODE>URL</CODE> to the document <CODE>XComponent</CODE>
+ * @param xMSF the <CODE>XMultiServiceFactory</CODE>
+ * @param xDoc the document where to dispatch
+ * @param URL the <CODE>URL</CODE> to dispatch
+ * @throws java.lang.Exception throws <CODE>java.lang.Exception</CODE> on any error
+ */
+ public static void dispatchURL(XMultiServiceFactory xMSF, XComponent xDoc, String URL) throws java.lang.Exception {
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xDoc);
+
+ XController xCont = aModel.getCurrentController();
+
+ dispatchURL(xMSF, xCont, URL);
+
+ }
+
+ /**
+ * dispatches given <CODE>URL</CODE> to the <CODE>XController</CODE>
+ * @param xMSF the <CODE>XMultiServiceFactory</CODE>
+ * @param xCont the <CODE>XController</CODE> to query for a XDispatchProvider
+ * @param URL the <CODE>URL</CODE> to dispatch
+ */
+ private static void dispatchURL(XMultiServiceFactory xMSF, XController xCont, String URL) {
+ try {
+
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xCont);
+
+ XURLTransformer xParser = UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ xMSF.createInstance("com.sun.star.util.URLTransformer"));
+
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = URL;
+ xParser.parseStrict(aParseURL);
+
+ URL aURL = aParseURL[0];
+
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ xDispatcher.dispatch(aURL, null);
+
+ waitForEventIdle(xMSF);
+
+ } catch (Exception e) {
+ throw new RuntimeException("Could not dispatch URL '" + URL + "'", e);
+ }
+ }
+
+ /** returns a String which contains the current date and time<br>
+ * format: [DD.MM.YYYY - HH:MM:SS::mm]
+ *
+ ** @return a String which contains the current date and time
+ */
+ public static String getDateTime() {
+
+ Calendar cal = new GregorianCalendar();
+ DecimalFormat dfmt = new DecimalFormat("00");
+ String dateTime = dfmt.format(cal.get(Calendar.DAY_OF_MONTH)) + "." +
+ dfmt.format(cal.get(Calendar.MONTH) + 1) + "." +
+ dfmt.format(cal.get(Calendar.YEAR)) + " - " +
+ dfmt.format(cal.get(Calendar.HOUR_OF_DAY)) + ":" +
+ dfmt.format(cal.get(Calendar.MINUTE)) + ":" +
+ dfmt.format(cal.get(Calendar.SECOND)) + "," +
+ dfmt.format(cal.get(Calendar.MILLISECOND));
+ return "[" + dateTime + "]";
+ }
+
+ /**
+ * Default short wait time for the Office
+ */
+ public static final int DEFAULT_SHORT_WAIT_MS = 500;
+
+ /// see rtl/math.hxx
+ public static boolean approxEqual( double a, double b )
+ {
+ if( a == b )
+ return true;
+ double x = a - b;
+ return (x < 0.0 ? -x : x)
+ < ((a < 0.0 ? -a : a) * (1.0 / (16777216.0 * 16777216.0)));
+ }
+}
diff --git a/qadevOOo/testdocs/10test.csv b/qadevOOo/testdocs/10test.csv
new file mode 100644
index 000000000..dce6f0848
--- /dev/null
+++ b/qadevOOo/testdocs/10test.csv
@@ -0,0 +1,19 @@
+"SwXBodyText";"com::sun::star::text::XTextRangeMover#optional";"moveTextRange()"
+"SwXBodyText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionStarts()"
+"SwXBodyText";"com::sun::star::text::XTextRangeCompare#optional";"compareRegionEnds()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"createTextCursor()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"createTextCursorByRange()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"insertString()"
+"SwXBodyText";"com::sun::star::text::XSimpleText";"insertControlCharacter()"
+"SwXBodyText";"com::sun::star::container::XElementAccess";"getElementType()"
+"SwXBodyText";"com::sun::star::container::XElementAccess";"hasElements()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getText()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getStart()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getEnd()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"getString()"
+"SwXBodyText";"com::sun::star::text::XTextRange";"setString()"
+"SwXBodyText";"com::sun::star::container::XEnumerationAccess";"createEnumeration()"
+"SwXBodyText";"com::sun::star::text::XText";"insertTextContent()"
+"SwXBodyText";"com::sun::star::text::XText";"removeTextContent()"
+"SwXBodyText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentBefore()"
+"SwXBodyText";"com::sun::star::text::XRelativeTextContentInsert#optional";"insertTextContentAfter()"
diff --git a/qadevOOo/testdocs/BasicBridge.sxw b/qadevOOo/testdocs/BasicBridge.sxw
new file mode 100644
index 000000000..c28727c39
--- /dev/null
+++ b/qadevOOo/testdocs/BasicBridge.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/BasicDB/DBTest.dbf b/qadevOOo/testdocs/BasicDB/DBTest.dbf
new file mode 100644
index 000000000..03d737b28
--- /dev/null
+++ b/qadevOOo/testdocs/BasicDB/DBTest.dbf
Binary files differ
diff --git a/qadevOOo/testdocs/Calc_Link.sxc b/qadevOOo/testdocs/Calc_Link.sxc
new file mode 100644
index 000000000..086c04fe0
--- /dev/null
+++ b/qadevOOo/testdocs/Calc_Link.sxc
Binary files differ
diff --git a/qadevOOo/testdocs/ChXChartObject.sds b/qadevOOo/testdocs/ChXChartObject.sds
new file mode 100644
index 000000000..9804e2eaf
--- /dev/null
+++ b/qadevOOo/testdocs/ChXChartObject.sds
Binary files differ
diff --git a/qadevOOo/testdocs/FiexdTextDialog.sxw b/qadevOOo/testdocs/FiexdTextDialog.sxw
new file mode 100644
index 000000000..b514d8363
--- /dev/null
+++ b/qadevOOo/testdocs/FiexdTextDialog.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/FixedTextDialog.sxw b/qadevOOo/testdocs/FixedTextDialog.sxw
new file mode 100644
index 000000000..b514d8363
--- /dev/null
+++ b/qadevOOo/testdocs/FixedTextDialog.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/Iterator.sxw b/qadevOOo/testdocs/Iterator.sxw
new file mode 100644
index 000000000..9a7f8961b
--- /dev/null
+++ b/qadevOOo/testdocs/Iterator.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/JAJPIterator.sxw b/qadevOOo/testdocs/JAJPIterator.sxw
new file mode 100644
index 000000000..4effc0ed9
--- /dev/null
+++ b/qadevOOo/testdocs/JAJPIterator.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/MailMerge.sxw b/qadevOOo/testdocs/MailMerge.sxw
new file mode 100644
index 000000000..108840535
--- /dev/null
+++ b/qadevOOo/testdocs/MailMerge.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/ORowSet.dbf b/qadevOOo/testdocs/ORowSet.dbf
new file mode 100644
index 000000000..dd4e85951
--- /dev/null
+++ b/qadevOOo/testdocs/ORowSet.dbf
Binary files differ
diff --git a/qadevOOo/testdocs/RunnerStart.sxw b/qadevOOo/testdocs/RunnerStart.sxw
new file mode 100644
index 000000000..91831087f
--- /dev/null
+++ b/qadevOOo/testdocs/RunnerStart.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/ScAnnotationShapeObj.sxc b/qadevOOo/testdocs/ScAnnotationShapeObj.sxc
new file mode 100644
index 000000000..20d130da0
--- /dev/null
+++ b/qadevOOo/testdocs/ScAnnotationShapeObj.sxc
Binary files differ
diff --git a/qadevOOo/testdocs/ScDDELinksObj.sdc b/qadevOOo/testdocs/ScDDELinksObj.sdc
new file mode 100644
index 000000000..1abdbf460
--- /dev/null
+++ b/qadevOOo/testdocs/ScDDELinksObj.sdc
Binary files differ
diff --git a/qadevOOo/testdocs/ScSheetLinksObj.sdc b/qadevOOo/testdocs/ScSheetLinksObj.sdc
new file mode 100644
index 000000000..a7f43fe87
--- /dev/null
+++ b/qadevOOo/testdocs/ScSheetLinksObj.sdc
Binary files differ
diff --git a/qadevOOo/testdocs/SfxStandaloneDocInfoObject.sdw b/qadevOOo/testdocs/SfxStandaloneDocInfoObject.sdw
new file mode 100644
index 000000000..c4b5672f9
--- /dev/null
+++ b/qadevOOo/testdocs/SfxStandaloneDocInfoObject.sdw
Binary files differ
diff --git a/qadevOOo/testdocs/StrikeThrough.odt b/qadevOOo/testdocs/StrikeThrough.odt
new file mode 100644
index 000000000..e61d52e17
--- /dev/null
+++ b/qadevOOo/testdocs/StrikeThrough.odt
Binary files differ
diff --git a/qadevOOo/testdocs/SvxShape.sda b/qadevOOo/testdocs/SvxShape.sda
new file mode 100644
index 000000000..882480804
--- /dev/null
+++ b/qadevOOo/testdocs/SvxShape.sda
Binary files differ
diff --git a/qadevOOo/testdocs/SvxShape.sxd b/qadevOOo/testdocs/SvxShape.sxd
new file mode 100644
index 000000000..27f06d541
--- /dev/null
+++ b/qadevOOo/testdocs/SvxShape.sxd
Binary files differ
diff --git a/qadevOOo/testdocs/SwOLE.sxw b/qadevOOo/testdocs/SwOLE.sxw
new file mode 100644
index 000000000..9b9e6ff8e
--- /dev/null
+++ b/qadevOOo/testdocs/SwOLE.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/SwXTextEmbeddedObject.sdw b/qadevOOo/testdocs/SwXTextEmbeddedObject.sdw
new file mode 100644
index 000000000..4f5c2e39c
--- /dev/null
+++ b/qadevOOo/testdocs/SwXTextEmbeddedObject.sdw
Binary files differ
diff --git a/qadevOOo/testdocs/SwXTextEmbeddedObject.sxw b/qadevOOo/testdocs/SwXTextEmbeddedObject.sxw
new file mode 100644
index 000000000..75c6242f5
--- /dev/null
+++ b/qadevOOo/testdocs/SwXTextEmbeddedObject.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/SwXTextSection.sdw b/qadevOOo/testdocs/SwXTextSection.sdw
new file mode 100644
index 000000000..2d33e7aab
--- /dev/null
+++ b/qadevOOo/testdocs/SwXTextSection.sdw
Binary files differ
diff --git a/qadevOOo/testdocs/TestDB/testDB.dbf b/qadevOOo/testdocs/TestDB/testDB.dbf
new file mode 100644
index 000000000..c3af1e143
--- /dev/null
+++ b/qadevOOo/testdocs/TestDB/testDB.dbf
Binary files differ
diff --git a/qadevOOo/testdocs/TestDB/testDB.dbt b/qadevOOo/testdocs/TestDB/testDB.dbt
new file mode 100644
index 000000000..41cb9d24c
--- /dev/null
+++ b/qadevOOo/testdocs/TestDB/testDB.dbt
Binary files differ
diff --git a/qadevOOo/testdocs/TransparencyCalcChart.sxc b/qadevOOo/testdocs/TransparencyCalcChart.sxc
new file mode 100644
index 000000000..8f694027e
--- /dev/null
+++ b/qadevOOo/testdocs/TransparencyCalcChart.sxc
Binary files differ
diff --git a/qadevOOo/testdocs/TransparencyChart.sxs b/qadevOOo/testdocs/TransparencyChart.sxs
new file mode 100644
index 000000000..95d6d2245
--- /dev/null
+++ b/qadevOOo/testdocs/TransparencyChart.sxs
Binary files differ
diff --git a/qadevOOo/testdocs/TwoShapes.sxi b/qadevOOo/testdocs/TwoShapes.sxi
new file mode 100644
index 000000000..f3dc90f63
--- /dev/null
+++ b/qadevOOo/testdocs/TwoShapes.sxi
Binary files differ
diff --git a/qadevOOo/testdocs/Writer_link.sxw b/qadevOOo/testdocs/Writer_link.sxw
new file mode 100644
index 000000000..5e5c8bdcb
--- /dev/null
+++ b/qadevOOo/testdocs/Writer_link.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/XDocumentInsertable.sxw b/qadevOOo/testdocs/XDocumentInsertable.sxw
new file mode 100644
index 000000000..b1398769d
--- /dev/null
+++ b/qadevOOo/testdocs/XDocumentInsertable.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/XPageCursor.sdw b/qadevOOo/testdocs/XPageCursor.sdw
new file mode 100644
index 000000000..464dc439c
--- /dev/null
+++ b/qadevOOo/testdocs/XPageCursor.sdw
Binary files differ
diff --git a/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess.txt b/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess.txt
new file mode 100644
index 000000000..bffa6c96b
--- /dev/null
+++ b/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess.txt
@@ -0,0 +1 @@
+XSimpleFileAccess \ No newline at end of file
diff --git a/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess2.txt b/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess2.txt
new file mode 100644
index 000000000..bffa6c96b
--- /dev/null
+++ b/qadevOOo/testdocs/XSimpleFileAccess/XSimpleFileAccess2.txt
@@ -0,0 +1 @@
+XSimpleFileAccess \ No newline at end of file
diff --git a/qadevOOo/testdocs/XSimpleFileAccessBASIC/File1.txt b/qadevOOo/testdocs/XSimpleFileAccessBASIC/File1.txt
new file mode 100644
index 000000000..03f128cf4
--- /dev/null
+++ b/qadevOOo/testdocs/XSimpleFileAccessBASIC/File1.txt
@@ -0,0 +1 @@
+File1
diff --git a/qadevOOo/testdocs/XSimpleFileAccessBASIC/File2.txt b/qadevOOo/testdocs/XSimpleFileAccessBASIC/File2.txt
new file mode 100644
index 000000000..b973e6396
--- /dev/null
+++ b/qadevOOo/testdocs/XSimpleFileAccessBASIC/File2.txt
@@ -0,0 +1 @@
+File2
diff --git a/qadevOOo/testdocs/XTypeDetection.sxw b/qadevOOo/testdocs/XTypeDetection.sxw
new file mode 100644
index 000000000..b241f4ed8
--- /dev/null
+++ b/qadevOOo/testdocs/XTypeDetection.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/ZHCNIterator.sxw b/qadevOOo/testdocs/ZHCNIterator.sxw
new file mode 100644
index 000000000..14f16bfd4
--- /dev/null
+++ b/qadevOOo/testdocs/ZHCNIterator.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/ZHTWIterator.sxw b/qadevOOo/testdocs/ZHTWIterator.sxw
new file mode 100644
index 000000000..b94e53cee
--- /dev/null
+++ b/qadevOOo/testdocs/ZHTWIterator.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/_BasicBridge.sxw b/qadevOOo/testdocs/_BasicBridge.sxw
new file mode 100644
index 000000000..056a5e2e0
--- /dev/null
+++ b/qadevOOo/testdocs/_BasicBridge.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/backend/org/openoffice/JavaSystemBackend.java b/qadevOOo/testdocs/backend/org/openoffice/JavaSystemBackend.java
new file mode 100644
index 000000000..98aee0e1e
--- /dev/null
+++ b/qadevOOo/testdocs/backend/org/openoffice/JavaSystemBackend.java
@@ -0,0 +1,240 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package org.openoffice;
+
+import com.sun.star.comp.loader.FactoryHelper;
+import com.sun.star.configuration.backend.PropertyInfo;
+import com.sun.star.configuration.backend.XLayer;
+import com.sun.star.configuration.backend.XLayerContentDescriber;
+import com.sun.star.configuration.backend.XLayerHandler;
+import com.sun.star.configuration.backend.XSingleLayerStratum;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XTimeStamped;
+
+public class JavaSystemBackend implements XSingleLayerStratum, XTypeProvider,
+ XServiceInfo, XTimeStamped, XComponent {
+ public static final String __serviceName = "com.sun.star.configuration.backend.PlatformBackend";
+ public static final String __implName = "org.openoffice.JavaSystemBackend";
+ public static final String testComponent = "org.openoffice.Office.Common";
+ protected static XMultiServiceFactory msf = null;
+ protected XLayer aLayer = null;
+
+ /**
+ * Get the implementation id.
+ * @return An empty implementation id.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public byte[] getImplementationId() {
+ return new byte[0];
+ }
+
+ /**
+ * Function for reading the implementation name.
+ *
+ * @return the implementation name
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String getImplementationName() {
+ return __implName;
+ }
+
+ public com.sun.star.configuration.backend.XLayer getLayer(String str,
+ String str1)
+ throws com.sun.star.configuration.backend.BackendAccessException,
+ com.sun.star.lang.IllegalArgumentException {
+ if (aLayer == null) {
+ System.out.println("JavaSystemBackend::getLayer() called for " +
+ str);
+ aLayer = new CommonLayer();
+ }
+
+ return aLayer;
+ }
+
+ /**
+ * Function for reading all supported services
+ *
+ * @return An aaray with all supported service names
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String[] getSupportedServiceNames() {
+ String[] supServiceNames = { __serviceName };
+
+ return supServiceNames;
+ }
+
+ public String getTimestamp() {
+ //not really implemented
+ return "2004-03-31";
+ }
+
+ /**
+ * Get all implemented types of this class.
+ * @return An array of implemented interface types.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public Type[] getTypes() {
+ Type[] type = new Type[5];
+ type[0] = new Type(XInterface.class);
+ type[1] = new Type(XTypeProvider.class);
+ type[2] = new Type(XSingleLayerStratum.class);
+ type[3] = new Type(XServiceInfo.class);
+ type[4] = new Type(XTimeStamped.class);
+
+ return type;
+ }
+
+ public com.sun.star.configuration.backend.XUpdatableLayer getUpdatableLayer(String str)
+ throws com.sun.star.configuration.backend.BackendAccessException,
+ com.sun.star.lang.NoSupportException,
+ com.sun.star.lang.IllegalArgumentException {
+ throw new com.sun.star.lang.NoSupportException(
+ "Cannot write to test backend", this);
+ }
+
+ /**
+ * Does the implementation support this service?
+ *
+ * @param serviceName The name of the service in question
+ * @return true, if service is supported, false otherwise
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public boolean supportsService(String serviceName) {
+ return serviceName.equals(__serviceName);
+ }
+
+ /**
+ *
+ * Gives a factory for creating the service.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns a <code>XSingleServiceFactory</code> for creating the component
+ * @param implName the name of the implementation for which a service is desired
+ * @param multiFactory the service manager to be used if needed
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static XSingleServiceFactory __getServiceFactory(String implName,
+ XMultiServiceFactory multiFactory,
+ XRegistryKey regKey) {
+ XSingleServiceFactory xSingleServiceFactory = null;
+
+ msf = multiFactory;
+
+ if (implName.equals(JavaSystemBackend.class.getName())) {
+ xSingleServiceFactory = FactoryHelper.getServiceFactory(
+ JavaSystemBackend.class,
+ __serviceName, multiFactory,
+ regKey);
+ }
+
+ return xSingleServiceFactory;
+ }
+
+ /**
+ * Writes the service information into the given registry key.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns true if the operation succeeded
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
+ boolean success = FactoryHelper.writeRegistryServiceInfo(__implName,
+ __serviceName,
+ regKey);
+
+ if (success) {
+ try {
+ String keyName = "/" + __implName +
+ "/DATA/SupportedComponents";
+ XRegistryKey newKey = regKey.createKey(keyName);
+
+ String[] supportedComponents = { testComponent };
+ newKey.setAsciiListValue(supportedComponents);
+ } catch (Exception ex) {
+ success = false; // prevent startup loop
+ System.out.println("can't register component");
+ }
+ }
+
+ return success;
+ }
+
+ public void addEventListener(com.sun.star.lang.XEventListener xEventListener) {
+ }
+
+ public void dispose() {
+ System.out.println("JavaSystemBackend::dispose() called");
+ }
+
+ public void removeEventListener(com.sun.star.lang.XEventListener xEventListener) {
+ }
+
+ private class CommonLayer implements XLayer, XTimeStamped {
+ public void readData(XLayerHandler xLayerHandler)
+ throws com.sun.star.lang.NullPointerException,
+ com.sun.star.lang.WrappedTargetException,
+ com.sun.star.configuration.backend.MalformedDataException {
+ System.out.println("CommonLayer is read");
+
+ if (xLayerHandler == null) {
+ throw new com.sun.star.lang.NullPointerException(
+ "null is not a legal LayerHandler");
+ }
+
+ XLayerContentDescriber xLayerContentDescriber = null;
+
+ try {
+ xLayerContentDescriber = UnoRuntime.queryInterface(
+ XLayerContentDescriber.class,
+ msf.createInstance(
+ "com.sun.star.comp.configuration.backend.LayerDescriber"));
+ } catch (com.sun.star.uno.Exception e) {
+ throw new com.sun.star.lang.NullPointerException(e,
+ "exception while creating LayerDesccriber");
+ }
+
+ if (xLayerContentDescriber == null) {
+ throw new com.sun.star.lang.NullPointerException(
+ "created LayerDescriber isn't valid");
+ }
+
+ PropertyInfo[] pInfo = new PropertyInfo[1];
+ pInfo[0] = new PropertyInfo();
+ pInfo[0].Name = "org.openoffice.Office.Common/Undo/Steps";
+ pInfo[0].Value = Integer.valueOf(12);
+ pInfo[0].Type = "int";
+ pInfo[0].Protected = false;
+ xLayerContentDescriber.describeLayer(xLayerHandler, pInfo);
+ }
+
+ public String getTimestamp() {
+ //not really implemented
+ return "2004-03-31";
+ }
+ }
+}
diff --git a/qadevOOo/testdocs/backend/org/openoffice/makefile.mk b/qadevOOo/testdocs/backend/org/openoffice/makefile.mk
new file mode 100644
index 000000000..bf65be4b5
--- /dev/null
+++ b/qadevOOo/testdocs/backend/org/openoffice/makefile.mk
@@ -0,0 +1,55 @@
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This file incorporates work covered by the following license notice:
+#
+# 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 .
+#
+
+PRJ = ..$/..$/..$/..
+PRJNAME = JavaSystemBackend
+TARGET = $(PRJNAME)
+PACKAGE = test
+
+# --- Settings -----------------------------------------------------
+.INCLUDE: settings.mk
+
+#----- compile .java files -----------------------------------------
+
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
+JAVAFILES = JavaSystemBackend.java
+JAVACLASSFILES = $(CLASSDIR)$/$(PACKAGE)$/JavaSystemBackend.class
+
+#----- make a jar from compiled files ------------------------------
+
+MAXLINELENGTH = 100000
+
+JARCLASSDIRS = org/openoffice/JavaSystemBackend.class
+JARTARGET = $(TARGET).jar
+JARCOMPRESS = TRUE
+CUSTOMMANIFESTFILE = manifest
+
+
+# --- Files --------------------------------------------------------
+
+# --- Targets ------------------------------------------------------
+
+.IF "$(depend)" == ""
+ALL : \
+ ALLTAR
+.ELSE
+ALL: ALLDEP
+.ENDIF
+
+.INCLUDE : target.mk
+
diff --git a/qadevOOo/testdocs/backend/org/openoffice/manifest b/qadevOOo/testdocs/backend/org/openoffice/manifest
new file mode 100644
index 000000000..e085984b2
--- /dev/null
+++ b/qadevOOo/testdocs/backend/org/openoffice/manifest
@@ -0,0 +1 @@
+RegistrationClassName: org.openoffice.JavaSystemBackend
diff --git a/qadevOOo/testdocs/basDialog.odt b/qadevOOo/testdocs/basDialog.odt
new file mode 100644
index 000000000..2b0f8f596
--- /dev/null
+++ b/qadevOOo/testdocs/basDialog.odt
Binary files differ
diff --git a/qadevOOo/testdocs/calcshapes.sxc b/qadevOOo/testdocs/calcshapes.sxc
new file mode 100644
index 000000000..7f98b1a50
--- /dev/null
+++ b/qadevOOo/testdocs/calcshapes.sxc
Binary files differ
diff --git a/qadevOOo/testdocs/chinese.sxw b/qadevOOo/testdocs/chinese.sxw
new file mode 100644
index 000000000..53b242a29
--- /dev/null
+++ b/qadevOOo/testdocs/chinese.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/crazy-blue.jpg b/qadevOOo/testdocs/crazy-blue.jpg
new file mode 100644
index 000000000..001c88b63
--- /dev/null
+++ b/qadevOOo/testdocs/crazy-blue.jpg
Binary files differ
diff --git a/qadevOOo/testdocs/delete.cfg b/qadevOOo/testdocs/delete.cfg
new file mode 100644
index 000000000..31fef95a0
--- /dev/null
+++ b/qadevOOo/testdocs/delete.cfg
Binary files differ
diff --git a/qadevOOo/testdocs/emptyChart.sds b/qadevOOo/testdocs/emptyChart.sds
new file mode 100644
index 000000000..853a44a12
--- /dev/null
+++ b/qadevOOo/testdocs/emptyChart.sds
Binary files differ
diff --git a/qadevOOo/testdocs/filter.sxw b/qadevOOo/testdocs/filter.sxw
new file mode 100644
index 000000000..e4b077c65
--- /dev/null
+++ b/qadevOOo/testdocs/filter.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/lo_no_kashida.odt b/qadevOOo/testdocs/lo_no_kashida.odt
new file mode 100644
index 000000000..fc43a2326
--- /dev/null
+++ b/qadevOOo/testdocs/lo_no_kashida.odt
Binary files differ
diff --git a/qadevOOo/testdocs/lo_no_kashida_correct.png b/qadevOOo/testdocs/lo_no_kashida_correct.png
new file mode 100644
index 000000000..fde6c909d
--- /dev/null
+++ b/qadevOOo/testdocs/lo_no_kashida_correct.png
Binary files differ
diff --git a/qadevOOo/testdocs/lo_no_kashida_wrong.png b/qadevOOo/testdocs/lo_no_kashida_wrong.png
new file mode 100644
index 000000000..d32f9670f
--- /dev/null
+++ b/qadevOOo/testdocs/lo_no_kashida_wrong.png
Binary files differ
diff --git a/qadevOOo/testdocs/ok.wav b/qadevOOo/testdocs/ok.wav
new file mode 100644
index 000000000..4fe9c7bf0
--- /dev/null
+++ b/qadevOOo/testdocs/ok.wav
Binary files differ
diff --git a/qadevOOo/testdocs/poliball.gif b/qadevOOo/testdocs/poliball.gif
new file mode 100644
index 000000000..dda461bd3
--- /dev/null
+++ b/qadevOOo/testdocs/poliball.gif
Binary files differ
diff --git a/qadevOOo/testdocs/qadevlibs/JobExecutor.jar b/qadevOOo/testdocs/qadevlibs/JobExecutor.jar
new file mode 100644
index 000000000..9cc10280c
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/JobExecutor.jar
Binary files differ
diff --git a/qadevOOo/testdocs/qadevlibs/MyPersistObjectImpl.jar b/qadevOOo/testdocs/qadevlibs/MyPersistObjectImpl.jar
new file mode 100644
index 000000000..e67b6ef59
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/MyPersistObjectImpl.jar
Binary files differ
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java
new file mode 100644
index 000000000..7ce7a80b6
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java
@@ -0,0 +1,345 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package com.sun.star.cmp;
+
+import com.sun.star.io.XPersistObject;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.Property;
+import com.sun.star.beans.XPropertyChangeListener;
+import com.sun.star.beans.XVetoableChangeListener;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.XInterface;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.comp.loader.FactoryHelper;
+import com.sun.star.uno.Type;
+
+/**
+ * Class MyPersistObject implements an XPersistObject, XServiceInfo,
+ * XTypeProvider and XPropertySet.
+ *
+ * Warning: In XPropertySet only the following methods that are
+ * used for testing are really implemented:
+ *
+ * - public XPropertySetInfo getPropertySetInfo()
+ * - public void setPropertyValue(String property, Object value)
+ * - public Object getPropertyValue(String property)
+ */
+public class MyPersistObject implements XPersistObject, XTypeProvider,
+ XServiceInfo, XPropertySet {
+
+ private class MyPropertySetInfo implements XPropertySetInfo {
+ Property[] _props;
+ public MyPropertySetInfo(Property[] props) {
+ _props = props;
+ }
+ public Property[] getProperties() {
+ return _props;
+ }
+ public Property getPropertyByName(String name) {
+ int i = getPropertyIndexByName(name);
+ return i>0?_props[i]:null;
+ }
+ public int getPropertyIndexByName(String name) {
+ for ( int i=0; i<_props.length; i++ )
+ if (name.equals(_props[i].Name))
+ return i;
+ return -1;
+ }
+ public boolean hasPropertyByName(String name) {
+ int i = getPropertyIndexByName(name);
+ return i>0;
+ }
+ }
+
+ private static final boolean verbose = false;
+
+ public static final String __serviceName =
+ "com.sun.star.cmp.PersistObject";
+ public static final String __implName =
+ "com.sun.star.cmp.MyPersistObject";
+
+ // lots of props to write
+ Property[] props;
+ private byte by;
+ private int i;
+ private char c;
+ private double d;
+ private float f;
+ private short s;
+ private String st;
+ // property set info
+ XPropertySetInfo xInfo;
+
+ /**
+ * Constructor: sets all properties
+ **/
+ public MyPersistObject() {
+ int prop_count = 7;
+ props = new Property[prop_count];
+ for (int i=0; i<prop_count; i++ ) {
+ props[i] = new Property();
+ }
+ by = 1;
+ props[0].Name = "byte";
+ i = 3;
+ props[1].Name = "int";
+ c = 'c';
+ props[2].Name = "char";
+ d = 3.142;
+ props[3].Name = "double";
+ f = 2.718f;
+ props[4].Name = "float";
+ s = 1;
+ props[5].Name = "short";
+ st = "Though this be madness, yet there is method in 't.";
+ props[6].Name = "String";
+ xInfo = new MyPropertySetInfo(props);
+ }
+ /**
+ * This function provides the service name
+ * @return the service name
+ * @see com.sun.star.io.XPersistObject
+ */
+ public String getServiceName() {
+ if ( verbose ) {
+ System.out.println("get service name");
+ }
+ return __serviceName;
+ }
+
+ /**
+ * Function reads properties from this input stream
+ * @param inStream the input stream
+ * @see com.sun.star.io.XPersistObject
+ */
+ public void read(XObjectInputStream inStream)
+ throws com.sun.star.io.IOException {
+ s = inStream.readShort();
+ i = inStream.readLong();
+ by = inStream.readByte();
+ c = inStream.readChar();
+ d = inStream.readDouble();
+ f = inStream.readFloat();
+ st = inStream.readUTF();
+ if ( verbose )
+ System.out.println("read called" + s + " " + i + " " + st);
+ }
+
+ /**
+ * Function writes properties on this output stream
+ * @param outStream the output stream
+ * @see com.sun.star.io.XPersistObject
+ */
+ public void write(XObjectOutputStream outStream)
+ throws com.sun.star.io.IOException {
+ if ( verbose )
+ System.out.println("write called");
+ outStream.writeShort(s);
+ outStream.writeLong(i);
+ outStream.writeByte(by);
+ outStream.writeChar(c);
+ outStream.writeDouble(d);
+ outStream.writeFloat(f);
+ outStream.writeUTF(st);
+
+ }
+
+
+ /**
+ * Function to get information about the property set.
+ * @return The information
+ * @see com.sun.star.io.XPropertySet
+ */
+ public XPropertySetInfo getPropertySetInfo() {
+ return xInfo;
+ }
+
+ /**
+ * Set a property value
+ * @param property The name of the property.
+ * @param value The new value of the property.
+ * @see com.sun.star.io.XPropertySet
+ */
+ public void setPropertyValue(String property, Object value) {
+ if ( property.equals(props[0].Name))
+ by = ((Byte)value).byteValue();
+ if ( property.equals(props[1].Name))
+ i = ((Integer)value).intValue();
+ if ( property.equals(props[2].Name))
+ c = ((Character)value).charValue();
+ if ( property.equals(props[3].Name))
+ d = ((Double)value).doubleValue();
+ if ( property.equals(props[4].Name))
+ f = ((Float)value).floatValue();
+ if ( property.equals(props[5].Name))
+ s = ((Short)value).shortValue();
+ if ( property.equals(props[6].Name))
+ st = (String)value;
+ }
+
+ /**
+ * Get a property value
+ * @param property The property name.
+ * @return The value of the property.
+ * @see com.sun.star.io.XPropertySet
+ */
+ public Object getPropertyValue(String property) {
+ if ( property.equals(props[0].Name))
+ return Byte.valueOf(by);
+ if ( property.equals(props[1].Name))
+ return Integer.valueOf(i);
+ if ( property.equals(props[2].Name))
+ return new Character(c);
+ if ( property.equals(props[3].Name))
+ return new Double(d);
+ if ( property.equals(props[4].Name))
+ return new Float(f);
+ if ( property.equals(props[5].Name))
+ return Short.valueOf(s);
+ if ( property.equals(props[6].Name))
+ return st;
+ return new Object();
+ }
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void addPropertyChangeListener(String aPropertyName,
+ XPropertyChangeListener xListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void removePropertyChangeListener(String aPropertyName,
+ XPropertyChangeListener aListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void addVetoableChangeListener(String PropertyName,
+ XVetoableChangeListener aListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void removeVetoableChangeListener(String PropertyName,
+ XVetoableChangeListener aListener ) {}
+
+ /**
+ * Get all implemented types of this class.
+ * @return An array of implemented interface types.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public Type[] getTypes() {
+ Type[] type = new Type[5];
+ type[0] = new Type(XInterface.class);
+ type[1] = new Type(XTypeProvider.class);
+ type[2] = new Type(XPersistObject.class);
+ type[3] = new Type(XServiceInfo.class);
+ type[4] = new Type(XPropertySet.class);
+ return type;
+ }
+
+ /**
+ * Get the implementation id.
+ * @return An empty implementation id.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public byte[] getImplementationId() {
+ return new byte[0];
+ }
+ /**
+ * Function for reading the implementation name.
+ *
+ * @return the implementation name
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String getImplementationName() {
+ return __implName;
+ }
+
+ /**
+ * Does the implementation support this service?
+ *
+ * @param serviceName The name of the service in question
+ * @return true, if service is supported, false otherwise
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public boolean supportsService(String serviceName) {
+ return serviceName.equals(__serviceName);
+ }
+
+ /**
+ * Function for reading all supported services
+ *
+ * @return An aaray with all supported service names
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String[] getSupportedServiceNames() {
+ String[] supServiceNames = {__serviceName};
+ return supServiceNames;
+ }
+
+ /**
+ *
+ * Gives a factory for creating the service.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns a <code>XSingleServiceFactory</code> for creating the component
+ * @param implName the name of the implementation for which a service is desired
+ * @param multiFactory the service manager to be used if needed
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static XSingleServiceFactory __getServiceFactory(String implName,
+ XMultiServiceFactory multiFactory, XRegistryKey regKey)
+ {
+ XSingleServiceFactory xSingleServiceFactory = null;
+
+ if (implName.equals(MyPersistObject.class.getName()))
+ xSingleServiceFactory = FactoryHelper.getServiceFactory(
+ MyPersistObject.class, __serviceName, multiFactory, regKey);
+
+ return xSingleServiceFactory;
+ }
+
+ /**
+ * Writes the service information into the given registry key.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns true if the operation succeeded
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
+ return FactoryHelper.writeRegistryServiceInfo(MyPersistObject.class.getName(),
+ __serviceName, regKey);
+ }
+
+
+
+
+} // finish class MyPersistObject
+
+
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk
new file mode 100644
index 000000000..761a9bbca
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk
@@ -0,0 +1,55 @@
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This file incorporates work covered by the following license notice:
+#
+# 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 .
+#
+
+PRJ = ..$/..$/..$/..$/..$/..$/..
+PRJNAME = MyPersistObjectImpl
+TARGET = MyPersistObjectImpl
+PACKAGE = com$/sun$/star$/cmp
+
+# --- Settings -----------------------------------------------------
+.INCLUDE: settings.mk
+
+#----- compile .java files -----------------------------------------
+
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar
+JAVAFILES = MyPersistObject.java
+JAVACLASSFILES = $(CLASSDIR)$/$(PACKAGE)$/MyPersistObject.class
+
+#----- make a jar from compiled files ------------------------------
+
+MAXLINELENGTH = 100000
+
+JARCLASSDIRS = com/sun/star/cmp
+JARTARGET = $(TARGET).jar
+JARCOMPRESS = TRUE
+CUSTOMMANIFESTFILE = manifest
+
+
+# --- Files --------------------------------------------------------
+
+# --- Targets ------------------------------------------------------
+
+.IF "$(depend)" == ""
+ALL : \
+ ALLTAR
+.ELSE
+ALL: ALLDEP
+.ENDIF
+
+.INCLUDE : target.mk
+
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest
new file mode 100644
index 000000000..e52cdc9f7
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest
@@ -0,0 +1 @@
+RegistrationClassName: com.sun.star.cmp.MyPersistObject
diff --git a/qadevOOo/testdocs/qadevlibs/source/test/Job.java b/qadevOOo/testdocs/qadevlibs/source/test/Job.java
new file mode 100644
index 000000000..40d0c09c3
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/test/Job.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package test;
+
+import com.sun.star.task.XJob;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.beans.*;
+import com.sun.star.container.*;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.Type;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.comp.loader.FactoryHelper;
+
+public class Job {
+
+ public static class _Implementation implements XServiceInfo, XTypeProvider,
+ XJob, XNamed {
+ private static final String __serviceName = "test.Job";
+ Object oDoc = null;
+ String actionType = null;
+ String actionParm = null;
+
+ public _Implementation(XMultiServiceFactory xMSF) {
+ }
+
+ // XServiceInfo
+ public String getImplementationName()
+ throws com.sun.star.uno.RuntimeException {
+ return getClass().getName();
+ }
+
+ public boolean supportsService(String serviceName)
+ throws com.sun.star.uno.RuntimeException {
+ return __serviceName.equals(serviceName);
+ }
+
+ public String[] getSupportedServiceNames()
+ throws com.sun.star.uno.RuntimeException {
+ return new String[] { __serviceName };
+ }
+
+ private static int executed = 0;
+
+ public Object execute(NamedValue[] args) {
+ executed++;
+
+ return null;
+ }
+
+ public String getName() {
+ return "" + executed;
+ }
+
+ public void setName(String n) {
+ }
+
+ public byte[] getImplementationId() {
+ return new byte[0];
+ }
+
+ public Type[] getTypes() {
+ Class<?> interfaces[] = getClass().getInterfaces();
+ Type types[] = new Type[interfaces.length];
+ for (int i = 0; i < interfaces.length; ++i)
+ types[i] = new Type(interfaces[i]);
+ return types;
+ }
+
+ }
+
+ public static XSingleServiceFactory __getServiceFactory(
+ XMultiServiceFactory multiFactory, XRegistryKey regKey) {
+ XSingleServiceFactory xSingleServiceFactory = null;
+ xSingleServiceFactory = FactoryHelper.getServiceFactory(
+ _Implementation.class, _Implementation.__serviceName,
+ multiFactory, regKey);
+ return xSingleServiceFactory;
+ }
+
+ public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
+ boolean result = true;
+ result = FactoryHelper.writeRegistryServiceInfo(
+ _Implementation.class.getName(), _Implementation.__serviceName,
+ regKey);
+ return result;
+ }
+}
diff --git a/qadevOOo/testdocs/qadevlibs/source/test/makefile.mk b/qadevOOo/testdocs/qadevlibs/source/test/makefile.mk
new file mode 100644
index 000000000..27115c251
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/test/makefile.mk
@@ -0,0 +1,55 @@
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This file incorporates work covered by the following license notice:
+#
+# 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 .
+#
+
+PRJ = ..$/..$/..$/..
+PRJNAME = JobExecutor
+TARGET = $(PRJNAME)
+PACKAGE = test
+
+# --- Settings -----------------------------------------------------
+.INCLUDE: settings.mk
+
+#----- compile .java files -----------------------------------------
+
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar
+JAVAFILES = Job.java
+JAVACLASSFILES = $(CLASSDIR)$/$(PACKAGE)$/Job.class
+
+#----- make a jar from compiled files ------------------------------
+
+MAXLINELENGTH = 100000
+
+JARCLASSDIRS = test
+JARTARGET = $(TARGET).jar
+JARCOMPRESS = TRUE
+CUSTOMMANIFESTFILE = manifest
+
+
+# --- Files --------------------------------------------------------
+
+# --- Targets ------------------------------------------------------
+
+.IF "$(depend)" == ""
+ALL : \
+ ALLTAR
+.ELSE
+ALL: ALLDEP
+.ENDIF
+
+.INCLUDE : target.mk
+
diff --git a/qadevOOo/testdocs/qadevlibs/source/test/manifest b/qadevOOo/testdocs/qadevlibs/source/test/manifest
new file mode 100644
index 000000000..02f702337
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/test/manifest
@@ -0,0 +1,2 @@
+RegistrationClassName: test.Job
+ \ No newline at end of file
diff --git a/qadevOOo/testdocs/report.stw b/qadevOOo/testdocs/report.stw
new file mode 100644
index 000000000..5b8efafa1
--- /dev/null
+++ b/qadevOOo/testdocs/report.stw
Binary files differ
diff --git a/qadevOOo/testdocs/report2.stw b/qadevOOo/testdocs/report2.stw
new file mode 100644
index 000000000..9ee0a7ee0
--- /dev/null
+++ b/qadevOOo/testdocs/report2.stw
Binary files differ
diff --git a/qadevOOo/testdocs/sForm.sxw b/qadevOOo/testdocs/sForm.sxw
new file mode 100644
index 000000000..a4958930c
--- /dev/null
+++ b/qadevOOo/testdocs/sForm.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/setexpression.sxw b/qadevOOo/testdocs/setexpression.sxw
new file mode 100644
index 000000000..e895ff68c
--- /dev/null
+++ b/qadevOOo/testdocs/setexpression.sxw
Binary files differ
diff --git a/qadevOOo/testdocs/small_submit_test.sdw b/qadevOOo/testdocs/small_submit_test.sdw
new file mode 100644
index 000000000..51d97449b
--- /dev/null
+++ b/qadevOOo/testdocs/small_submit_test.sdw
Binary files differ
diff --git a/qadevOOo/testdocs/space-metal.jpg b/qadevOOo/testdocs/space-metal.jpg
new file mode 100644
index 000000000..d23344389
--- /dev/null
+++ b/qadevOOo/testdocs/space-metal.jpg
Binary files differ
diff --git a/qadevOOo/testdocs/vertical-testcase.odt b/qadevOOo/testdocs/vertical-testcase.odt
new file mode 100644
index 000000000..de564f828
--- /dev/null
+++ b/qadevOOo/testdocs/vertical-testcase.odt
Binary files differ
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessible.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessible.java
new file mode 100644
index 000000000..329ecc6ab
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessible.java
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.accessibility;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessible</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getAccessibleContext()</code></li>
+ * </ul> <p>
+ * @see com.sun.star.accessibility.XAccessible
+ */
+public class _XAccessible extends MultiMethodTest {
+
+
+ public XAccessible oObj = null;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if not null value returned.
+ */
+ public void _getAccessibleContext() {
+ XAccessibleContext ac = oObj.getAccessibleContext();
+ tRes.tested("getAccessibleContext()",ac != null);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleAction.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleAction.java
new file mode 100644
index 000000000..d83b231eb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleAction.java
@@ -0,0 +1,159 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.accessibility;
+
+import com.sun.star.accessibility.XAccessibleAction;
+
+public class _XAccessibleAction extends lib.MultiMethodTest {
+
+ public XAccessibleAction oObj = null;
+ public int count = 0;
+
+ /**
+ * calls the method and stores the result in the <br>
+ * variable count. It is OK if no exception occurs
+ */
+
+ public void _getAccessibleActionCount() {
+ count = oObj.getAccessibleActionCount();
+ tRes.tested("getAccessibleActionCount()",count > 0);
+ }
+
+ /**
+ * calls the method with invalid argument and check if the <br>
+ * expected Exception is thrown.<br>
+ * Calls the method afterwards the first valid parameter.<br>
+ * This is the last method called and the environment is disposed<br>
+ * afterwards.
+ */
+
+ public void _doAccessibleAction() {
+ requiredMethod("getAccessibleActionKeyBinding()");
+ boolean res = true;
+
+ log.println("Calling method with wrong argument");
+ try {
+ oObj.doAccessibleAction(count);
+ log.println("Exception expected -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Expected exception -- OK");
+ res &= true;
+ }
+
+ try {
+ boolean act = false;
+ for (int i = 0; i< count; i++) {
+ log.println("do Action "+ oObj.getAccessibleActionDescription(i));
+ act = oObj.doAccessibleAction(i);
+ log.println("Worked: "+act);
+ }
+ log.println("Did action: "+act);
+ res &= act ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Unexpected exception -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("doAccessibleAction()",res);
+ }
+
+ /**
+ * calls the method with invalid argument and check if the <br>
+ * expected Exception is thrown.<br>
+ * Calls the method afterwards all valid parameters.<br>
+ * Is ok if the exception is thrown and the resulting value
+ * for the calls with valid parameters aren't null.
+ */
+
+ public void _getAccessibleActionDescription() {
+ requiredMethod("getAccessibleActionCount()");
+ boolean res = true;
+
+ log.println("Calling method with wrong argument");
+ try {
+ oObj.getAccessibleActionDescription(count);
+ log.println("Exception expected -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Expected exception -- OK");
+ res &= true;
+ }
+
+ for (int i=0;i<count;i++) {
+ try {
+ String desc = oObj.getAccessibleActionDescription(i);
+ log.println("Found action: "+desc);
+ res &= desc!=null ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Unexpected exception -- FAILED");
+ res &= false;
+ }
+ }
+
+ tRes.tested("getAccessibleActionDescription()",res);
+ }
+
+ /**
+ * calls the method with invalid argument and check if the <br>
+ * expected Exception is thrown.<br>
+ * Calls the method afterwards all valid parameters.<br>
+ * Is ok if the exception is thrown and the resulting value
+ * for the calls with valid parameters aren't null.
+ */
+
+ public void _getAccessibleActionKeyBinding() {
+ requiredMethod("getAccessibleActionDescription()");
+ boolean res = true;
+
+ log.println("Calling method with wrong argument");
+ try {
+ oObj.getAccessibleActionKeyBinding(count);
+ log.println("Exception expected -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Expected exception -- OK");
+ res &= true;
+ }
+
+ for (int i=0;i<count;i++) {
+ try {
+ Object key = oObj.getAccessibleActionKeyBinding(i);
+ if (key != null ) {
+ log.println("Found key: "+key.toString());
+ }
+ res &= true;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Unexpected exception -- FAILED");
+ res &= false;
+ }
+ }
+
+ tRes.tested("getAccessibleActionKeyBinding()",res);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleComponent.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleComponent.java
new file mode 100644
index 000000000..52dad6801
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleComponent.java
@@ -0,0 +1,601 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.accessibility;
+
+import java.util.ArrayList;
+import lib.MultiMethodTest;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.Size;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleComponent</code>
+ * interface methods :
+ * <ul>
+ * <li><code> containsPoint()</code></li>
+ * <li><code> getAccessibleAtPoint()</code></li>
+ * <li><code> getBounds()</code></li>
+ * <li><code> getLocation()</code></li>
+ * <li><code> getLocationOnScreen()</code></li>
+ * <li><code> getSize()</code></li>
+ * <li><code> grabFocus()</code></li>
+ * <li><code> getAccessibleKeyBinding()</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ */
+public class _XAccessibleComponent extends MultiMethodTest {
+
+ public XAccessibleComponent oObj = null;
+ private final ArrayList<Rectangle> KnownBounds = new ArrayList<Rectangle>();
+
+
+ /**
+ * First checks 4 inner bounds (upper, lower, left and right)
+ * of component bounding box to contain
+ * at least one point of the component. Second 4 outer bounds
+ * are checked to not contain any component points.<p>
+ *
+ * Has <b> OK </b> status if inner bounds contain component points
+ * and outer bounds don't contain any component points. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getBounds() </code> : to have size of a component.</li>
+ * </ul>
+ */
+ public void _containsPoint() {
+ Rectangle bounds = oObj.getBounds();
+
+ boolean result = true;
+
+ int curX = 0;
+
+ while (!oObj.containsPoint(new Point(curX, 0)) &&
+ (curX < bounds.Width)) {
+ curX++;
+ }
+
+ if (curX < bounds.Width) {
+ log.println("Upper bound of box containsPoint point (" + curX +
+ ",0) - OK");
+ } else {
+ log.println(
+ "Upper bound of box containsPoint no component points - FAILED");
+ result = false;
+ }
+
+ curX = 0;
+
+ while (!oObj.containsPoint(new Point(curX, bounds.Height - 1)) &&
+ (curX < bounds.Width)) {
+ log.println("containsPoint returns false for (" + curX + "," +
+ bounds.Height + ")");
+ curX++;
+ }
+
+ if (curX < bounds.Width) {
+ log.println("Lower bound of box containsPoint point (" + curX +
+ "," + (bounds.Height - 1) + ") - OK");
+ } else {
+ log.println(
+ "Lower bound of box containsPoint no component points - FAILED");
+ result = false;
+ }
+
+ int curY = 0;
+
+ while (!oObj.containsPoint(new Point(0, curY)) &&
+ (curY < bounds.Height)) {
+ curY++;
+ }
+
+ if (curY < bounds.Height) {
+ log.println("Left bound of box containsPoint point (0," + curY +
+ ") - OK");
+ } else {
+ log.println(
+ "Left bound of box containsPoint no component points - FAILED");
+ result = false;
+ }
+
+ curY = 0;
+
+ while (!oObj.containsPoint(new Point(bounds.Width - 1, curY)) &&
+ (curY < bounds.Height)) {
+ curY++;
+ }
+
+ if (curY < bounds.Height) {
+ log.println("Right bound of box containsPoint point (" +
+ (bounds.Width - 1) + "," + curY + ") - OK");
+ } else {
+ log.println(
+ "Right bound of box containsPoint no component points - FAILED");
+ result = false;
+ }
+
+ boolean locRes = true;
+
+ for (int x = -1; x <= bounds.Width; x++) {
+ if (oObj.containsPoint(new Point(x, -1))) {
+ log.println(
+ "Outer upper and lower bounds CONTAIN some component point"
+ + " (" + x + ", -1) - FAILED");
+ locRes = false;
+ break;
+ }
+ if (oObj.containsPoint(new Point(x, bounds.Height + bounds.Y))) {
+ log.println(
+ "Outer upper and lower bounds CONTAIN some component point"
+ + " (" + x + ", " + (bounds.Height + bounds.Y)
+ + ") - FAILED");
+ locRes = false;
+ break;
+ }
+ }
+
+ if (locRes) {
+ log.println("Outer upper and lower bounds contain no component " +
+ "points - OK");
+ } else {
+ result = false;
+ }
+
+ locRes = true;
+
+ for (int y = -1; y <= bounds.Height; y++) {
+ if (oObj.containsPoint(new Point(-1, y))) {
+ log.println(
+ "Outer left and right bounds CONTAIN some component point"
+ + " (-1, " + y + ") - FAILED");
+ locRes = false;
+ break;
+ }
+ if (oObj.containsPoint(new Point(bounds.X + bounds.Width, y))) {
+ log.println(
+ "Outer left and right bounds CONTAIN some component point"
+ + " (" + (bounds.X + bounds.Width) + ", " + y + ") - FAILED");
+ locRes = false;
+ break;
+ }
+ }
+
+ if (locRes) {
+ log.println("Outer left and right bounds contain no component " +
+ "points - OK");
+ } else {
+ result = false;
+ }
+
+ tRes.tested("containsPoint()", result);
+ }
+
+ /**
+ * Iterates through all children which implement
+ * <code>XAccessibleComponent</code> (if they exist) determines their
+ * boundaries and tries to get each child by <code>getAccessibleAtPoint</code>
+ * passing point which belongs to the child.
+ * Also the point is checked which doesn't belong to child boundary
+ * box. <p>
+ *
+ * Has <b> OK </b> status if in the first cases the right children
+ * are returned, and in the second <code>null</code> or
+ * another child is returned.
+ */
+ public void _getAccessibleAtPoint() {
+ boolean result = true;
+ XAccessibleComponent[] children = getChildrenComponents();
+
+ if (children.length == 0) {
+ log.println("There are no children supporting XAccessibleComponent");
+ tRes.tested("getAccessibleAtPoint()", result);
+ return;
+ }
+
+ for (int i = 0; i < children.length; i++) {
+ Rectangle chBnd = children[i].getBounds();
+
+ if (chBnd.X == -1) {
+ continue;
+ }
+
+ log.println("Checking child with bounds " + "(" + chBnd.X +
+ "," + chBnd.Y + "),(" + chBnd.Width + "," +
+ chBnd.Height + "): " +
+ util.AccessibilityTools.accessibleToString(
+ children[i]));
+
+ XAccessibleContext xAc = UnoRuntime.queryInterface(
+ XAccessibleContext.class,
+ children[i]);
+
+ boolean MightBeCovered = false;
+ boolean isShowing = xAc.getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SHOWING);
+ log.println("\tStateType containsPoint SHOWING: " +
+ isShowing);
+
+ if (!isShowing) {
+ log.println("Child is invisible - OK");
+ continue;
+ }
+
+ log.println("finding the point which lies on the component");
+
+ int curX = chBnd.Width / 2;
+ int curY = chBnd.Height / 2;
+
+ while (!children[i].containsPoint(new Point(curX, curY)) &&
+ (curX > 0) && (curY > 0)) {
+ curX--;
+ curY--;
+ }
+
+ if (curX == chBnd.Width) {
+ log.println("Couldn't find a point with containsPoint");
+
+ continue;
+ }
+
+ // trying the point laying on child
+ XAccessible xAcc = oObj.getAccessibleAtPoint(
+ new Point(chBnd.X + curX,
+ chBnd.Y + curY));
+
+
+ Point p = new Point(chBnd.X + curX,chBnd.Y + curY);
+
+ if (isCovered(p)) {
+ log.println(
+ "Child might be covered by another and can't be reached");
+ MightBeCovered = true;
+ }
+
+ KnownBounds.add(chBnd);
+
+ if (xAcc == null) {
+ log.println("The child not found at point (" +
+ (chBnd.X + curX) + "," + (chBnd.Y + curY) +
+ ") - FAILED");
+
+ result = false;
+ } else {
+ XAccessible xAccCh = UnoRuntime.queryInterface(
+ XAccessible.class,
+ children[i]);
+ XAccessibleContext xAccC = UnoRuntime.queryInterface(
+ XAccessibleContext.class,
+ children[i]);
+ log.println("Child found at point (" + (chBnd.X + curX) +
+ "," + (chBnd.Y + curY) + ") - OK");
+
+ boolean res = false;
+ int expIndex;
+ String expName;
+ String expDesc;
+
+ if (xAccCh != null) {
+ res = util.AccessibilityTools.equals(xAccCh, xAcc);
+ expIndex = xAccCh.getAccessibleContext()
+ .getAccessibleIndexInParent();
+ expName = xAccCh.getAccessibleContext()
+ .getAccessibleName();
+ expDesc = xAccCh.getAccessibleContext()
+ .getAccessibleDescription();
+ } else {
+ res = xAccC.getAccessibleName()
+ .equals(xAcc.getAccessibleContext()
+ .getAccessibleName());
+ expIndex = xAccC.getAccessibleIndexInParent();
+ expName = xAccC.getAccessibleName();
+ expDesc = xAccC.getAccessibleDescription();
+ }
+
+ if (!res) {
+ int gotIndex = xAcc.getAccessibleContext()
+ .getAccessibleIndexInParent();
+
+ if (expIndex < gotIndex) {
+ log.println("The children found is not the same");
+ log.println("The expected child " + expName);
+ log.print("is hidden behind the found Child ");
+ log.println(xAcc.getAccessibleContext()
+ .getAccessibleName() + " - OK");
+ } else {
+ log.println(
+ "The children found is not the same");
+ log.println("Expected: " + expName);
+ log.println("Description: " + expDesc);
+ log.println("Found: " +
+ xAcc.getAccessibleContext()
+ .getAccessibleName());
+ log.println("Description: " +
+ xAcc.getAccessibleContext()
+ .getAccessibleDescription());
+ if (MightBeCovered) {
+ log.println("... Child is covered by another - OK");
+ } else {
+ log.println("... FAILED");
+ result = false;
+ }
+
+ }
+ }
+ }
+
+
+ // trying the point NOT laying on child
+ xAcc = oObj.getAccessibleAtPoint(
+ new Point(chBnd.X - 1, chBnd.Y - 1));
+
+ if (xAcc == null) {
+ log.println("No children found at point (" +
+ (chBnd.X - 1) + "," + (chBnd.Y - 1) +
+ ") - OK");
+ result &= true;
+ } else {
+ XAccessible xAccCh = UnoRuntime.queryInterface(
+ XAccessible.class,
+ children[i]);
+ boolean res = util.AccessibilityTools.equals(xAccCh, xAcc);
+
+ if (res) {
+ log.println("The same child found outside " +
+ "its bounds at (" + (chBnd.X - 1) + "," +
+ (chBnd.Y - 1) + ") - FAILED");
+ result = false;
+ }
+ }
+ }
+
+ tRes.tested("getAccessibleAtPoint()", result);
+ }
+
+ /**
+ * Retrieves the component bounds and discards it. <p>
+ *
+ * Has <b> OK </b> status if boundary position (x,y) is not negative
+ * and size (Width, Height) is greater than 0.
+ */
+ public void _getBounds() {
+ boolean result = true;
+
+ Rectangle bounds = oObj.getBounds();
+ result &= ((bounds != null) && (bounds.X >= 0) && (bounds.Y >= 0) && (bounds.Width > 0) && (bounds.Height > 0));
+
+ log.println("Bounds = " +
+ ((bounds != null)
+ ? ("(" + bounds.X + "," + bounds.Y + "),(" +
+ bounds.Width + "," + bounds.Height + ")") : "null"));
+
+ tRes.tested("getBounds()", result);
+ }
+
+ /**
+ * Gets the location. <p>
+ *
+ * Has <b> OK </b> status if the location is the same as location
+ * of boundary obtained by <code>getBounds()</code> method.
+ */
+ public void _getLocation() {
+ Rectangle bounds = oObj.getBounds();
+ Point loc = oObj.getLocation();
+ boolean result = loc.X == bounds.X && loc.Y == bounds.Y;
+ log.println(
+ "loc.X=" + loc.X + " vs. bounds.X=" + bounds.X + ", loc.Y="
+ + loc.Y + " vs. bounds.Y=" + bounds.Y);
+ tRes.tested("getLocation()", result);
+ }
+
+ /**
+ * Get the screen location of the component and its parent
+ * (if it exists and supports <code>XAccessibleComponent</code>). <p>
+ *
+ * Has <b> OK </b> status if component screen location equals
+ * to screen location of its parent plus location of the component
+ * relative to the parent. <p>
+ */
+ public void _getLocationOnScreen() {
+ XAccessibleComponent parent = getParentComponent();
+
+ boolean result = true;
+ Rectangle bounds = oObj.getBounds();
+ Point loc = oObj.getLocationOnScreen();
+ log.println("Location is (" + loc.X + "," + loc.Y + ")");
+
+ if (parent != null) {
+ Point parLoc = parent.getLocationOnScreen();
+ log.println("Parent location is (" + parLoc.X + "," + parLoc.Y +
+ ")");
+
+ result &= ((parLoc.X + bounds.X) == loc.X);
+ result &= ((parLoc.Y + bounds.Y) == loc.Y);
+ }
+
+ tRes.tested("getLocationOnScreen()", result);
+ }
+
+ /**
+ * Obtains the size of the component. <p>
+ *
+ * Has <b> OK </b> status if the size is the same as in bounds. <p>
+ */
+ public void _getSize() {
+ requiredMethod("getBounds()");
+
+ boolean result = true;
+ Rectangle bounds = oObj.getBounds();
+ Size size = oObj.getSize();
+
+ result &= (size.Width == bounds.Width);
+ result &= (size.Height == bounds.Height);
+
+ tRes.tested("getSize()", result);
+ }
+
+ /**
+ * Just calls the method. <p>
+ *
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _grabFocus() {
+ boolean result = true;
+ oObj.grabFocus();
+
+ tRes.tested("grabFocus()", result);
+ }
+
+ /**
+ * Retrieves all children (not more than 50) of the current
+ * component which support <code>XAccessibleComponent</code>.
+ *
+ * @return The array of children. Empty array returned if
+ * such children were not found or some error occurred.
+ */
+ private XAccessibleComponent[] getChildrenComponents() {
+ XAccessible xAcc = UnoRuntime.queryInterface(
+ XAccessible.class, oObj);
+
+ if (xAcc == null) {
+ log.println("Component doesn't support XAccessible.");
+
+ return new XAccessibleComponent[0];
+ }
+
+ XAccessibleContext xAccCon = xAcc.getAccessibleContext();
+ int cnt = xAccCon.getAccessibleChildCount();
+
+ // for cases when too many children exist checking only first 50
+ if (cnt > 50) {
+ cnt = 50;
+ }
+
+ ArrayList<XAccessibleComponent> childComp = new ArrayList<XAccessibleComponent>();
+
+ for (int i = 0; i < cnt; i++) {
+ try {
+ XAccessible child = xAccCon.getAccessibleChild(i);
+ XAccessibleContext xAccConCh = child.getAccessibleContext();
+ XAccessibleComponent xChAccComp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ xAccConCh);
+
+ if (xChAccComp != null) {
+ childComp.add(xChAccComp);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+
+ return childComp.toArray(
+ new XAccessibleComponent[childComp.size()]);
+ }
+
+ /**
+ * Gets the parent of the current component which support
+ * <code>XAccessibleComponent</code>.
+ *
+ * @return The parent or <code>null</code> if the component
+ * has no parent or some errors occurred.
+ */
+ private XAccessibleComponent getParentComponent() {
+ XAccessible xAcc = UnoRuntime.queryInterface(
+ XAccessible.class, oObj);
+
+ if (xAcc == null) {
+ log.println("Component doesn't support XAccessible.");
+
+ return null;
+ }
+
+ XAccessibleContext xAccCon = xAcc.getAccessibleContext();
+ XAccessible xAccPar = xAccCon.getAccessibleParent();
+
+ if (xAccPar == null) {
+ log.println("Component has no accessible parent.");
+
+ return null;
+ }
+
+ XAccessibleContext xAccConPar = xAccPar.getAccessibleContext();
+ XAccessibleComponent parent = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ xAccConPar);
+
+ if (parent == null) {
+ log.println(
+ "Accessible parent doesn't support XAccessibleComponent");
+
+ return null;
+ }
+
+ return parent;
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getForeground() {
+ int forColor = oObj.getForeground();
+ log.println("getForeground(): " + forColor);
+ tRes.tested("getForeground()", true);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getBackground() {
+ int backColor = oObj.getBackground();
+ log.println("getBackground(): " + backColor);
+ tRes.tested("getBackground()", true);
+ }
+
+ /**
+ * Restores initial component text.
+ */
+ @Override
+ protected void after() {
+ if (tEnv.getObjRelation("Destroy") != null) {
+ disposeEnvironment();
+ }
+ }
+
+ private boolean isCovered(Point p) {
+ int elements = KnownBounds.size();
+ boolean Covered = false;
+ for (int k=0;k<elements;k++) {
+ Rectangle known = KnownBounds.get(k);
+ Covered = (known.X < p.X);
+ Covered &= (known.Y < p.Y);
+ Covered &= (p.Y < known.Y+known.Height);
+ Covered &= (p.X < known.X+known.Width);
+
+ if (Covered) {
+ break;
+ }
+ }
+ return Covered;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleContext.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleContext.java
new file mode 100644
index 000000000..cabf818af
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleContext.java
@@ -0,0 +1,342 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.accessibility;
+
+import com.sun.star.accessibility.IllegalAccessibleComponentStateException;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleStateSet;
+import com.sun.star.lang.Locale;
+
+import lib.MultiMethodTest;
+
+import util.AccessibilityTools;
+
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleContext</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getAccessibleChildCount()</code></li>
+ * <li><code> getAccessibleChild()</code></li>
+ * <li><code> getAccessibleParent()</code></li>
+ * <li><code> getAccessibleIndexInParent()</code></li>
+ * <li><code> getAccessibleRole()</code></li>
+ * <li><code> getAccessibleDescription()</code></li>
+ * <li><code> getAccessibleName()</code></li>
+ * <li><code> getAccessibleRelationSet()</code></li>
+ * <li><code> getAccessibleStateSet()</code></li>
+ * <li><code> getLocale()</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleContext
+ */
+public class _XAccessibleContext extends MultiMethodTest {
+ private static final String className = "com.sun.star.accessibility.XAccessibleContext";
+ public XAccessibleContext oObj = null;
+ private int childCount = 0;
+ private XAccessible parent = null;
+
+ // temporary while accessibility package is in com.sun.star
+ @Override
+ protected String getTestedClassName() {
+ return className;
+ }
+
+ /**
+ * Calls the method and stores the number of children. <p>
+ * Has <b> OK </b> status if non-negative number rutrned.
+ */
+ public void _getAccessibleChildCount() {
+ childCount = oObj.getAccessibleChildCount();
+ log.println(childCount + " children found.");
+ tRes.tested("getAccessibleChildCount()", childCount > -1);
+ }
+
+ /**
+ * Tries to get every child and checks its parent. <p>
+ *
+ * Has <b> OK </b> status if parent of every child
+ * and the tested component are the same objects.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAccessibleChildCount() </code> : to have a number of
+ * children </li>
+ * </ul>
+ */
+ public void _getAccessibleChild() {
+ requiredMethod("getAccessibleChildCount()");
+
+ log.println("testing 'getAccessibleChild()'...");
+
+ boolean bOK = true;
+ int counter = childCount;
+
+ if (childCount > 500) {
+ counter = 500;
+ }
+
+ for (int i = 0; i < counter; i++) {
+ try {
+ XAccessible ch = oObj.getAccessibleChild(i);
+ XAccessibleContext chAC = ch.getAccessibleContext();
+
+ log.println("## Child " + i + ": " +
+ chAC.getAccessibleDescription());
+
+ if (!AccessibilityTools.equals(chAC.getAccessibleParent()
+ .getAccessibleContext(),
+ oObj)) {
+ log.println("The parent of child and component " +
+ "itself differ.");
+ log.println("\tRole:");
+ log.println("Getting: " +
+ chAC.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleRole());
+ log.println("Expected: " + oObj.getAccessibleRole());
+
+ log.println("\tImplementationName:");
+ log.println("Getting: " +
+ util.utils.getImplName(
+ chAC.getAccessibleParent()
+ .getAccessibleContext()));
+ log.println("Expected: " + util.utils.getImplName(oObj));
+
+ log.println("\tAccessibleDescription:");
+ log.println("Getting(Description): " +
+ chAC.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleDescription());
+ log.println("Expected(Description): " +
+ oObj.getAccessibleDescription());
+
+ log.println("\tAccessibleName:");
+ log.println("Getting(Name): " +
+ chAC.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleName());
+ log.println("Expected(Name): " +
+ oObj.getAccessibleName());
+
+ log.println("\tChildCount:");
+ log.println("Getting: " +
+ chAC.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleChildCount());
+ log.println("Expected: " +
+ oObj.getAccessibleChildCount());
+
+ log.println("\tParentName:");
+ log.println("Getting (Name): " +
+ chAC.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleName());
+ log.println("Expected(Name): " +
+ oObj.getAccessibleParent()
+ .getAccessibleContext()
+ .getAccessibleName());
+
+ log.println("##");
+ bOK = false;
+ } else {
+ log.println("Role: " + chAC.getAccessibleRole());
+ log.println("Name: " + chAC.getAccessibleName());
+ log.println("IndexInParent: " +
+ chAC.getAccessibleIndexInParent());
+ log.println("ImplementationName: " +
+ util.utils.getImplName(chAC));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ bOK = false;
+ }
+ }
+
+ tRes.tested("getAccessibleChild()", bOK);
+ }
+
+ /**
+ * Just gets the parent. <p>
+ *
+ * Has <b> OK </b> status if parent is not null.
+ */
+ public void _getAccessibleParent() {
+ // assume that the component is not ROOT
+ parent = oObj.getAccessibleParent();
+ tRes.tested("getAccessibleParent()", parent != null);
+ }
+
+ /**
+ * Retrieves the index of tested component in its parent.
+ * Then gets the parent's child by this index and compares
+ * it with tested component.<p>
+ *
+ * Has <b> OK </b> status if the parent's child and the tested
+ * component are the same objects.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAccessibleParent() </code> : to have a parent </li>
+ * </ul>
+ */
+ public void _getAccessibleIndexInParent() {
+ requiredMethod("getAccessibleParent()");
+
+ boolean bOK = true;
+ int idx = oObj.getAccessibleIndexInParent();
+
+ XAccessibleContext parentAC = parent.getAccessibleContext();
+
+ try {
+ XAccessible child = parentAC.getAccessibleChild(idx);
+ XAccessibleContext childAC = null;
+ if (child == null) {
+ log.println("Parent has no child with this index");
+ bOK &= false;
+ } else {
+ childAC = child.getAccessibleContext();
+ bOK &= AccessibilityTools.equals(childAC, oObj);
+ }
+
+ if (!bOK) {
+ log.println("Expected: " + util.utils.getImplName(oObj));
+
+ if (childAC != null) {
+ log.println("Getting: " + util.utils.getImplName(childAC));
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ bOK = false;
+ }
+
+ tRes.tested("getAccessibleIndexInParent()", bOK);
+ }
+
+ /**
+ * Get the accessible role of component. <p>
+ *
+ * Has <b> OK </b> status if non-negative number rutrned.
+ */
+ public void _getAccessibleRole() {
+ short role = oObj.getAccessibleRole();
+ log.println("The role is " + role);
+ tRes.tested("getAccessibleRole()", role > -1);
+ }
+
+ /**
+ * Get the accessible name of the component. <p>
+ *
+ * Has <b> OK </b> status if the name has non-zero length.
+ */
+ public void _getAccessibleName() {
+ String name = oObj.getAccessibleName();
+ log.println("The name is '" + name + "'");
+ tRes.tested("getAccessibleName()", name != null);
+ }
+
+ /**
+ * Get the accessible description of the component. <p>
+ *
+ * Has <b> OK </b> status if the description has non-zero length.
+ */
+ public void _getAccessibleDescription() {
+ String descr = oObj.getAccessibleDescription();
+ log.println("The description is '" + descr + "'");
+ tRes.tested("getAccessibleDescription()", descr != null);
+ }
+
+ /**
+ * Just gets the set. <p>
+ *
+ * Has <b> OK </b> status if the set is not null.
+ */
+ public void _getAccessibleRelationSet() {
+ oObj.getAccessibleRelationSet();
+ tRes.tested("getAccessibleRelationSet()", true);
+ }
+
+ /**
+ * Just gets the set. <p>
+ *
+ * Has <b> OK </b> status if the set is not null.
+ */
+ public void _getAccessibleStateSet() {
+ XAccessibleStateSet set = oObj.getAccessibleStateSet();
+ boolean res = true;
+ String[] expectedStateNames = (String[]) tEnv.getObjRelation(
+ "expectedStateNames");
+ short[] expectedStates = (short[]) tEnv.getObjRelation(
+ "expectedStates");
+
+ if ((expectedStateNames != null) && (expectedStates != null)) {
+ res = checkStates(expectedStateNames, expectedStates, set);
+ } else {
+ res = set != null;
+ }
+
+ tRes.tested("getAccessibleStateSet()", res);
+ }
+
+ /**
+ * Gets the locale. <p>
+ *
+ * Has <b> OK </b> status if <code>Country</code> and
+ * <code>Language</code> fields of locale structure
+ * are not empty.
+ */
+ public void _getLocale() {
+ Locale loc = null;
+
+ try {
+ loc = oObj.getLocale();
+ log.println("The locale is " + loc.Language + "," + loc.Country);
+ } catch (IllegalAccessibleComponentStateException e) {
+ e.printStackTrace(log);
+ }
+
+ tRes.tested("getLocale()",
+ (loc != null) && (loc.Language.length() > 0));
+ }
+
+ protected boolean checkStates(String[] expectedStateNames,
+ short[] expectedStates,
+ XAccessibleStateSet set) {
+ boolean works = true;
+
+ for (int k = 0; k < expectedStateNames.length; k++) {
+ boolean contains = set.contains(expectedStates[k]);
+
+ if (contains) {
+ log.println("Set contains " + expectedStateNames[k] +
+ " ... OK");
+ works &= true;
+ } else {
+ log.println("Set doesn't contain " + expectedStateNames[k] +
+ " ... FAILED");
+ works &= false;
+ }
+ }
+
+ return works;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEditableText.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEditableText.java
new file mode 100644
index 000000000..d8cb81adc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEditableText.java
@@ -0,0 +1,543 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.accessibility;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.accessibility.XAccessibleEditableText;
+import com.sun.star.beans.PropertyValue;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleEditableText</code>
+ * interface methods :
+ * <ul>
+ * <li><code> cutText()</code></li>
+ * <li><code> pasteText()</code></li>
+ * <li><code> deleteText()</code></li>
+ * <li><code> insertText()</code></li>
+ * <li><code> replaceText()</code></li>
+ * <li><code> setAttributes()</code></li>
+ * <li><code> setText()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XAccessibleEditableText.hasAttr'</code>
+ * (of type <code>Boolean</code>):
+ * Indicates whether or not the text has changeable attributes.
+ * E.g. text within writer document have attributes which can
+ * be changed, while the text within edit field has fixed
+ * attributes. <p>
+ * If the relation is <code>false</code> then the component
+ * has fixed text attributes. </li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEditableText
+ */
+public class _XAccessibleEditableText extends MultiMethodTest {
+
+ public XAccessibleEditableText oObj = null;
+
+
+ String pasteText = null;
+
+ String initialText = "";
+
+ /**
+ * Indicates whether or not the text has changeable attributes.
+ * E.g. text within writer document have attributes which can
+ * be changed, while the text within edit field has fixed
+ * attributes.
+ */
+ private boolean changeableAttr = true;
+
+ /**
+ * Retrieves object relation. Stores initial component text
+ * for restoring it in <code>after</code>.
+ */
+ @Override
+ protected void before() {
+ Boolean b = (Boolean)
+ tEnv.getObjRelation("XAccessibleEditableText.hasAttr");
+ if (b != null) {
+ changeableAttr = b.booleanValue();
+ }
+
+ initialText = oObj.getText();
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes.
+ * Stores cutted text in the variable <code>pasteText</code>.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes.
+ */
+ public void _cutText() {
+ boolean res = true;
+ boolean locRes = true;
+ String curText = null;
+
+ String oldText = oObj.getText();
+ log.println("Text: '" + oldText + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Character count: " + length);
+
+ try {
+ log.print("cutText(-1," + (length-1) + "): ");
+ locRes = oObj.cutText(-1, length - 1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(oldText);
+ }
+
+ try {
+ log.print("cutText(0," + (length+1) + "): ");
+ locRes = oObj.cutText(0, length + 1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(oldText);
+ }
+
+ try {
+ pasteText = oldText;
+ log.print("cutText(0," + length + "): ");
+ locRes = oObj.cutText(0, length);
+ log.println(locRes);
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.length() == 0 && locRes;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("cutText()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes and if cutted text was
+ * pasted.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>cutText()</code> </li>
+ * </ul>
+ */
+ public void _pasteText() {
+ requiredMethod("cutText()");
+ boolean res = true;
+ boolean locRes = true;
+ String curText = null;
+
+ String text = oObj.getText();
+ log.println("Text: '" + text + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Character count: " + length);
+
+ try {
+ log.print("pasteText(-1): ");
+ locRes = oObj.pasteText(-1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("pasteText(" + (length+1) + "): ");
+ locRes = oObj.pasteText(length + 1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("pasteText(" + (length) + "): ");
+ locRes = oObj.pasteText(length);
+ log.println(locRes);
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text + pasteText) && locRes;
+ log.println("Expected text: '" + text + pasteText + "'");
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("pasteText()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes,
+ * checks text after method call.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes and if deleted string
+ * was really deleted from the text.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>insertText()</code> </li>
+ * </ul>
+ */
+ public void _deleteText() {
+ executeMethod("insertText()");
+ boolean res = true;
+ boolean locRes = true;
+ String curText = null;
+
+ String text = oObj.getText();
+ log.println("Text: '" + text + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Character count: " + length);
+
+ try {
+ log.print("deleteText(-1," + length + "): ");
+ locRes = oObj.deleteText(-1, length);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("deleteText(0," + (length+1) + "): ");
+ locRes = oObj.deleteText(0, length + 1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ if (length >= 1) {
+ log.print("deleteText(" + (length-1) + "," + (length) + "): ");
+ locRes = oObj.deleteText(length - 1, length);
+ log.println(locRes);
+ String expStr = text.substring(0, length - 1);
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(expStr);
+ log.println("Expected text: '" + expStr + "'");
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("deleteText()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes,
+ * checks text after method call.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes and if inserted string
+ * was really inserted into the text.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>pasteText()</code> </li>
+ * </ul>
+ */
+ public void _insertText() {
+ executeMethod("pasteText()");
+ boolean res = true;
+ boolean locRes = true;
+ String curText = null;
+
+ String text = oObj.getText();
+ log.println("Text: '" + text + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Character count: " + length);
+
+ final String insStr = "Inserted string";
+
+ try {
+ log.print("insertText(insStr, -1): ");
+ locRes = oObj.insertText(insStr, -1);
+ log.println(locRes);
+ log.println("exception was expected=> FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("insertText(insStr," + (length+1) + "): ");
+ locRes = oObj.insertText(insStr, length+1);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("insertText(insStr," + length + "): ");
+ locRes = oObj.insertText(insStr, length);
+ log.println(locRes);
+ curText = oObj.getText();
+ res &= curText.equals(text + insStr);
+ log.println("Current text: '" + curText + "'");
+ log.println("Expected text: '" + text + insStr + "'");
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception => FAILED");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("insertText()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes,
+ * checks text after method call.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes and if part of text
+ * was really replaced by the specified replacement string.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>deleteText()</code> </li>
+ * </ul>
+ */
+ public void _replaceText() {
+ executeMethod("deleteText()");
+ boolean res = true;
+ boolean locRes = true;
+ String curText = null;
+
+ final String sReplacement = "String for replace";
+ String oldText = oObj.getText();
+ int startIndx = oldText.length();
+ oObj.setText(oldText + " part of string for replace");
+
+ String text = oObj.getText();
+ log.println("Text: '" + text + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Character count: " + length);
+
+ try {
+ log.print("replaceText(-1," + length + "): ");
+ locRes = oObj.replaceText(-1, length, sReplacement);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("replaceText(0," + (length+1) + "): ");
+ locRes = oObj.replaceText(0, length + 1, sReplacement);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ res &= curText.equals(text);
+ }
+
+ try {
+ log.print("replaceText(" + startIndx + "," + length + "): ");
+ locRes = oObj.replaceText(startIndx, length, sReplacement);
+ log.println(locRes);
+ curText = oObj.getText();
+ log.println("Current text: '" + curText + "'");
+ log.println("Expected text: '" + oldText + sReplacement + "'");
+ res &= curText.equals(oldText + sReplacement);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("replaceText()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct indexes,
+ * checks attributes after method call.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct indexes and if attributes
+ * of text was changed.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>replaceText()</code> </li>
+ * </ul>
+ */
+ public void _setAttributes() {
+ executeMethod("replaceText()");
+ boolean res = true;
+ boolean locRes = true;
+
+ String text = oObj.getText();
+ log.println("Text: '" + text + "'");
+ int length = oObj.getCharacterCount();
+ log.println("Length: " + length);
+
+ PropertyValue[] attrs = null;
+
+ try {
+ attrs = oObj.getCharacterAttributes(0, new String[]{""});
+ log.print("setAttributes(-1," + (length - 1) + "):");
+ locRes = oObj.setAttributes(-1, length - 1, attrs);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ res &= true;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("unexpected exception => FAILED");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ try {
+ log.print("setAttributes(0," + (length+1) + "):");
+ locRes = oObj.setAttributes(0, length + 1, attrs);
+ log.println(locRes);
+ log.println("exception was expected => FAILED");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception => OK");
+ res &= true;
+ }
+
+ //change old attributes set
+ for(int i = 0; i < attrs.length; i++) {
+ if (attrs[i].Name.equals("CharColor")) {
+ attrs[i].Value = Integer.valueOf(-2);
+ }
+ }
+
+ try {
+ log.print("setAttributes(0," + length + "):");
+ locRes = oObj.setAttributes(0, length, attrs);
+ log.println(locRes);
+ res &= (changeableAttr && locRes)
+ || (!changeableAttr && !locRes);
+ if (changeableAttr) {
+ log.print("checking that new attributes was set...");
+ PropertyValue[] newAttrs = oObj.getCharacterAttributes(0, new String[]{""});
+ locRes = ValueComparer.equalValue(attrs, newAttrs);
+ log.println(locRes);
+ res &= locRes;
+ } else {
+ log.println("Text attributes can't be changed.");
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception => FAILED");
+ e.printStackTrace(log);
+ res &= false;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("unexpected exception => FAILED");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("setAttributes()", res);
+ }
+
+ /**
+ * Calls the method with different parameters and checks text.
+ */
+ public void _setText() {
+ executeMethod("setAttributes()");
+ boolean res = true;
+ boolean locRes = true;
+
+ String oldText = oObj.getText();
+ log.println("Current text: '" + oldText + "'");
+
+ String newText = "New text";
+ log.print("setText('" + newText + "'): ");
+ locRes = oObj.setText(newText);
+ log.println(locRes);
+ String newCurText = oObj.getText();
+ log.println("getText(): '" + newCurText + "'");
+ res &= locRes && newCurText.equals(newText);
+
+ newText = "";
+ log.print("setText('" + newText + "'): ");
+ locRes = oObj.setText(newText);
+ log.println(locRes);
+ newCurText = oObj.getText();
+ log.println("getText(): '" + newCurText + "'");
+ res &= locRes && newCurText.equals(newText);
+
+ log.print("setText('" + oldText + "'): ");
+ locRes = oObj.setText(oldText);
+ log.println(locRes);
+ newCurText = oObj.getText();
+ log.println("getText(): '" + newCurText + "'");
+ res &= locRes && newCurText.equals(oldText);
+
+ tRes.tested("setText()", res);
+ }
+
+ /**
+ * Restores initial component text.
+ */
+ @Override
+ protected void after() {
+ oObj.setText(initialText);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEventBroadcaster.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEventBroadcaster.java
new file mode 100644
index 000000000..297166988
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleEventBroadcaster.java
@@ -0,0 +1,208 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.accessibility;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.accessibility.AccessibleEventObject;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleEventBroadcaster;
+import com.sun.star.accessibility.XAccessibleEventListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Testing <code>
+ * com.sun.star.accessibility.XAccessibleEventBroadcaster</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addAccessibleEventListener()</code></li>
+ * <li><code> removeAccessibleEventListener()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'EventProducer'</code> (of type
+ * <code>ifc.accessibility._XAccessibleEventBroadcaster.EventProducer</code>):
+ * this must be an implementation of the interface which could perform
+ * some actions for generating any kind of <code>AccessibleEvent</code></li>
+ * <ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+public class _XAccessibleEventBroadcaster extends MultiMethodTest {
+
+ public interface EventProducer {
+ void fireEvent();
+ }
+
+ public XAccessibleEventBroadcaster oObj = null;
+ public String EventMsg = "";
+ public boolean destroy = false;
+
+
+ /**
+ * Listener implementation which registers listener calls.
+ */
+ private class EvListener implements XAccessibleEventListener {
+ public AccessibleEventObject notifiedEvent = null ;
+ public void notifyEvent(AccessibleEventObject ev) {
+ log.println("Listener, Event : " + ev.EventId);
+ System.out.println("EventID: " + ev.EventId);
+ Object old=ev.OldValue;
+ if (old instanceof com.sun.star.accessibility.XAccessible) {
+ System.out.println("Old: "+((XAccessible)old).getAccessibleContext().getAccessibleName());
+ }
+
+ Object nev=ev.NewValue;
+ if (nev instanceof com.sun.star.accessibility.XAccessible) {
+ System.out.println("New: "+((XAccessible)nev).getAccessibleContext().getAccessibleName());
+ }
+ synchronized (this) {
+ notifiedEvent = ev;
+ }
+ }
+
+ public void disposing(EventObject ev) {}
+ }
+
+ /**
+ * Retrieves relation.
+ * @throws StatusException If the relation is not found.
+ */
+ @Override
+ public void before() {
+ prod = (EventProducer) tEnv.getObjRelation("EventProducer") ;
+ if (prod == null) {
+ throw new StatusException(Status.failed("Relation missed."));
+ }
+ EventMsg = (String) tEnv.getObjRelation("EventMsg");
+ Object dp = tEnv.getObjRelation("Destroy");
+ if (dp != null) {
+ destroy=true;
+ }
+ }
+
+ EventProducer prod = null ;
+ EvListener list = new EvListener();
+
+ /**
+ * Adds two listeners and fires event by mean of object relation. <p>
+ * Has <b> OK </b> status if both listeners were called
+ */
+ public void _addEventListener() {
+ log.println("adding listener");
+ oObj.addAccessibleEventListener(list);
+ boolean isTransient = chkTransient(tEnv.getTestObject());
+ log.println("fire event");
+ prod.fireEvent() ;
+
+ waitForEventIdle();
+
+ boolean works = true;
+
+ AccessibleEventObject ne;
+ synchronized (list) {
+ ne = list.notifiedEvent;
+ }
+ if (ne == null) {
+ if (!isTransient) {
+ log.println("listener wasn't called");
+ works = false;
+ } else {
+ log.println("Object is Transient, listener isn't expected to be called");
+ }
+ oObj.removeAccessibleEventListener(list);
+ }
+
+ if (EventMsg != null) {
+ log.println(EventMsg);
+ tRes.tested("addEventListener()", Status.skipped(true) );
+ return;
+ }
+
+ tRes.tested("addEventListener()", works );
+ }
+
+ /**
+ * Removes one of two listeners added before and fires event
+ * by mean of object relation.<p>
+ *
+ * Has <b> OK </b> status if the removed listener wasn't called.<p>
+ *
+ * The following method tests are to be completed successfully before:
+ * <ul>
+ * <li> <code>addEventListener()</code> : to have added listeners </li>
+ * </ul>
+ */
+ public void _removeEventListener() throws Exception {
+ requiredMethod("addEventListener()");
+
+ log.println("remove listener");
+ oObj.removeAccessibleEventListener(list);
+
+ synchronized (list) {
+ list.notifiedEvent = null;
+ }
+
+ log.println("fire event");
+ prod.fireEvent() ;
+
+ waitForEventIdle();
+
+ AccessibleEventObject ne;
+ synchronized (list) {
+ ne = list.notifiedEvent;
+ }
+ if (ne == null) {
+ log.println("listener wasn't called -- OK");
+ }
+
+ tRes.tested("removeEventListener()", list.notifiedEvent == null);
+
+ }
+
+ protected static boolean chkTransient(Object Testcase) {
+ boolean ret = false;
+ XAccessibleContext accCon = UnoRuntime.queryInterface(XAccessibleContext.class,Testcase);
+ if (accCon.getAccessibleStateSet().contains(
+ com.sun.star.accessibility.AccessibleStateType.TRANSIENT)){
+ if (!accCon.getAccessibleParent().getAccessibleContext().getAccessibleStateSet().contains(
+ com.sun.star.accessibility.AccessibleStateType.MANAGES_DESCENDANTS)) {
+ throw new lib.StatusException(lib.Status.failed("Parent doesn't manage descendents"));
+ }
+ ret=true;
+ }
+ return ret;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ if (destroy) disposeEnvironment();
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleExtendedComponent.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleExtendedComponent.java
new file mode 100644
index 000000000..0b2c204c2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleExtendedComponent.java
@@ -0,0 +1,114 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.accessibility;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.accessibility.XAccessibleExtendedComponent;
+import com.sun.star.awt.XFont;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleExtendedComponent</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getForeground()</code></li>
+ * <li><code> getBackground()</code></li>
+ * <li><code> getFont()</code></li>
+ * <li><code> isEnabled()</code></li>
+ * <li><code> getTitledBorderText()</code></li>
+ * <li><code> getToolTipText()</code></li>
+ * </ul> <p>
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ */
+public class _XAccessibleExtendedComponent extends MultiMethodTest {
+
+ public XAccessibleExtendedComponent oObj = null;
+
+ /**
+ * Just calls the method.
+ * deprecated from version srx644g 29.10.02 on
+ *
+ public void _getForeground() {
+ int forColor = oObj.getForeground();
+ log.println("getForeground(): " + forColor);
+ tRes.tested("getForeground()", true);
+ }
+
+ /**
+ * Just calls the method.
+ * deprecated from version srx644g 29.10.02 on
+ *
+ public void _getBackground() {
+ int backColor = oObj.getBackground();
+ log.println("getBackground(): " + backColor);
+ tRes.tested("getBackground()", true);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getFont() {
+ XFont font = oObj.getFont();
+ log.println("getFont(): " + font);
+ tRes.tested("getFont()", true);
+ }
+
+ /**
+ * Calls the method and compares returned value with value that was
+ * returned by the method
+ * <code>XAccessibleStateSet.contains(AccessibleStateType.ENABLED)</code>.
+ * Has OK status if returned values are equal.
+ * deprecated from version srx644g 29.10.02 on
+ *
+ public void _isEnabled() {
+ boolean isEnabled = oObj.isEnabled();
+ log.println("isEnabled(): " + isEnabled);
+
+ boolean res = true;
+
+ XAccessibleStateSet accStateSet = (XAccessibleStateSet)
+ UnoRuntime.queryInterface(XAccessibleStateSet.class, oObj);
+
+ if (accStateSet != null) {
+ res = accStateSet.contains(AccessibleStateType.ENABLED)==isEnabled;
+ }
+
+ tRes.tested("isEnabled()", res);
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if returned value isn't null.
+ */
+ public void _getTitledBorderText() {
+ String titleBorderText = oObj.getTitledBorderText();
+ log.println("getTitledBorderText(): '" + titleBorderText + "'");
+ tRes.tested("getTitledBorderText()", titleBorderText != null);
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if returned value isn't null.
+ */
+ public void _getToolTipText() {
+ String toolTipText = oObj.getToolTipText();
+ log.println("getToolTipText(): '" + toolTipText + "'");
+ tRes.tested("getToolTipText()", toolTipText != null);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleImage.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleImage.java
new file mode 100644
index 000000000..c19b06850
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleImage.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.accessibility;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.accessibility.XAccessibleImage;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleImage</code>
+ * interface methods :
+ * <ul>
+ * <li><code>getAccessibleImageDescription()</code></li>
+ * <li><code>getAccessibleImageHeight()</code></li>
+ * <li><code>getAccessibleImageWidth()</code></li>
+ * </ul> <p>
+ * @see com.sun.star.accessibility.XAccessibleImage
+ */
+public class _XAccessibleImage extends MultiMethodTest {
+
+ public XAccessibleImage oObj = null;
+
+ /**
+ * Just calls the method.
+ */
+ public void _getAccessibleImageDescription() {
+ String descr = oObj.getAccessibleImageDescription();
+ log.println("getAccessibleImageDescription(): '" + descr + "'");
+ tRes.tested("getAccessibleImageDescription()", descr != null);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getAccessibleImageHeight() {
+ int height = oObj.getAccessibleImageHeight();
+ log.println("getAccessibleImageHeight(): " + height);
+ tRes.tested("getAccessibleImageHeight()", true);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getAccessibleImageWidth() {
+ int width = oObj.getAccessibleImageWidth();
+ log.println("getAccessibleImageWidth(): " + width);
+ tRes.tested("getAccessibleImageWidth()", true);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleSelection.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleSelection.java
new file mode 100644
index 000000000..edbf477c9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleSelection.java
@@ -0,0 +1,586 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.accessibility;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleSelection</code>
+ * interface methods :
+ * <ul>
+ * <li><code>selectAccessibleChild()</code></li>
+ * <li><code>isAccessibleChildSelected()</code></li>
+ * <li><code>clearAccessibleSelection()</code></li>
+ * <li><code>selectAllAccessibleChildren()</code></li>
+ * <li><code>getSelectedAccessibleChildCount()</code></li>
+ * <li><code>getSelectedAccessibleChild()</code></li>
+ * <li><code>deselectAccessibleChild()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XAccessibleSelection.multiSelection'</code>
+ * (of type <code>Boolean</code>) <b> optional </b>:
+ * Indicates whether or not multiply children could be selected.
+ * If the relation is <code>false</code> then more than 1 child
+ * couldn't be selected. </li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ */
+public class _XAccessibleSelection extends MultiMethodTest {
+ private static final String className = "com.sun.star.accessibility.XAccessibleSelection";
+ public XAccessibleSelection oObj = null;
+ XAccessibleContext xAC = null;
+ int childCount;
+ protected boolean multiSelection = true;
+ protected boolean OneAlwaysSelected = false;
+
+ // temporary while accessibility package is in com.sun.star
+ @Override
+ protected String getTestedClassName() {
+ return className;
+ }
+
+ /**
+ * Retrieves the interface <code>XAccessibleContext</code>
+ * and object relation.
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleContext
+ */
+ @Override
+ protected void before() {
+ xAC = UnoRuntime.queryInterface(
+ XAccessibleContext.class, oObj);
+
+ if (xAC == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't query XAccessibleContext. Test must be modified"));
+ }
+
+ Boolean b = (Boolean) tEnv.getObjRelation(
+ "XAccessibleSelection.multiSelection");
+
+ if (b != null) {
+ multiSelection = b.booleanValue();
+ }
+
+ Boolean b2 = (Boolean) tEnv.getObjRelation(
+ "XAccessibleSelection.OneAlwaysSelected");
+
+ if (b2 != null) {
+ OneAlwaysSelected = b2.booleanValue();
+ }
+
+ childCount = xAC.getAccessibleChildCount();
+ log.println("Child count: " + childCount);
+ }
+
+ /**
+ * Selects accessible child with index some wrong indexes
+ * and with legal index.
+ * Has OK status if exception was thrown for wrong indexes
+ * and if exception wasn't thrown for correct index.
+ */
+ public void _selectAccessibleChild() {
+ boolean res = true;
+
+ try {
+ log.println("Try to select child with index " + childCount);
+ oObj.selectAccessibleChild(childCount);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res = true;
+ }
+
+ try {
+ log.println("Try to select child with index -1");
+ oObj.selectAccessibleChild(-1);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ log.println("ChildCount: " + childCount);
+
+ int usedChildren = childCount;
+
+ if (childCount > 500) {
+ log.println("Restricting to 500");
+ usedChildren = 500;
+ }
+
+ if (usedChildren > 0) {
+ try {
+ for (int i = 0; i < usedChildren; i++) {
+ log.print("Trying to select child with index " + i + ": ");
+
+ if (isSelectable(tEnv.getTestObject(), i)) {
+ oObj.selectAccessibleChild(i);
+ log.println("OK");
+ } else {
+ log.println("Child isn't selectable");
+ }
+ }
+
+ res &= true;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("selectAccessibleChild()", res);
+ }
+
+ /**
+ * Calls the method with the wrong index and with the correct index.
+ * Has OK status if exception was thrown for wrong index and
+ * if exception wasn't thrown for the correct index.
+ */
+ public void _isAccessibleChildSelected() throws Exception {
+ executeMethod("selectAccessibleChild()");
+
+ boolean res = true;
+ boolean isSelected = false;
+
+ try {
+ log.print("isAccessibleChildSelected(-1)? ");
+ isSelected = oObj.isAccessibleChildSelected(-1);
+ log.println(res);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res = true;
+ }
+
+ try {
+ log.print("isAccessibleChildSelected(" + childCount + ")? ");
+ isSelected = oObj.isAccessibleChildSelected(childCount);
+ log.println(isSelected);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ int SelectableChildCount = chkSelectable(tEnv.getTestObject());
+
+ if (SelectableChildCount > 500) {
+ SelectableChildCount = 500;
+ }
+
+ log.println("SelectableChildCount: " + SelectableChildCount);
+
+ if (SelectableChildCount > 0) {
+ try {
+ oObj.selectAllAccessibleChildren();
+
+ for (int k = 0; k < SelectableChildCount; k++) {
+ log.println("Trying to select child with index " + k);
+
+ if (isSelectable(tEnv.getTestObject(), k)) {
+ oObj.selectAccessibleChild(k);
+ waitForEventIdle();
+ isSelected = oObj.isAccessibleChildSelected(k);
+ log.println("isAccessibleChildSelected - " +
+ isSelected);
+ res &= isSelected;
+ } else {
+ log.println("Child isn't selectable");
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("isAccessibleChildSelected()", res);
+ }
+
+ /**
+ * Calls the method.
+ * Has OK status if the method <code>isAccessibleChildSelected()</code>
+ * returned <code>false</code>.
+ */
+ public void _clearAccessibleSelection() throws Exception {
+ executeMethod("isAccessibleChildSelected()");
+
+ boolean res = true;
+
+ log.println("clearAccessibleSelection");
+ oObj.clearAccessibleSelection();
+
+
+ // clearAccessibleSelection() call is oneway so we need
+ // some waiting
+ waitForEventIdle();
+
+ if ((childCount > 0) && !OneAlwaysSelected) {
+ try {
+ log.print("isAccessibleChildSelected(" + (childCount - 1) +
+ ")? ");
+
+ boolean isSel = oObj.isAccessibleChildSelected(childCount - 1);
+ log.println(isSel);
+ res = !isSel;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+ } else if (OneAlwaysSelected) {
+ log.println("Can't clear selection, one child is always selected");
+ }
+
+ tRes.tested("clearAccessibleSelection()", res);
+ }
+
+ /**
+ * Calls the method.
+ * Has OK status if the method <code>isAccessibleChildSelected()</code>
+ * returns <code>true</code> for first and for last accessible child
+ * or if multiselection is not allowed.
+ */
+ public void _selectAllAccessibleChildren() {
+ executeMethod("clearAccessibleSelection()");
+
+ log.println("selectAllAccessibleChildren...");
+ oObj.selectAllAccessibleChildren();
+
+
+ // selectAllAccessibleChildren() call is oneway so we need
+ // some waiting
+ waitForEventIdle();
+
+ boolean res = true;
+ boolean isSelected = true;
+
+ int SelectableChildCount = chkSelectable(tEnv.getTestObject());
+
+ if ((SelectableChildCount > 0) && multiSelection) {
+ try {
+ log.print("isAccessibleChildSelected(1)? ");
+ isSelected = oObj.isAccessibleChildSelected(1);
+ log.println(isSelected);
+ res = isSelected;
+
+ log.print("isAccessibleChildSelected(" + (childCount - 1) +
+ ")? ");
+ isSelected = oObj.isAccessibleChildSelected(childCount - 1);
+ log.println(isSelected);
+ res &= isSelected;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("selectAllAccessibleChildren()", res);
+ }
+
+ /**
+ * Calls the method. Clears accessible selection and calls the method again.
+ * <p>
+ * Has OK status if the method returns number equal to number of accessible
+ * child count after first call if multiselection allowed, or
+ * 1 returned if multiselection not allowed.
+ * And if the method returns a zero after clearing selection.
+ */
+ public void _getSelectedAccessibleChildCount() {
+ log.println("getSelectedAccessibleChildCount():");
+
+ if (multiSelection) {
+ oObj.selectAllAccessibleChildren();
+ } else {
+ int usedChildren = childCount;
+
+ if (childCount > 500) {
+ log.println("Restricting to 500");
+ usedChildren = 500;
+ }
+
+ if (usedChildren > 0) {
+ try {
+ for (int i = 0; i < usedChildren; i++) {
+
+ if (isSelectable(tEnv.getTestObject(), i)) {
+ log.print("Trying to select child with index "+i+": ");
+ oObj.selectAccessibleChild(i);
+ long curtime = System.currentTimeMillis();
+ long checktime = System.currentTimeMillis();
+
+ while (!oObj.isAccessibleChildSelected(i) && (checktime-curtime<5000)) {
+ checktime = System.currentTimeMillis();
+ }
+
+ log.println("OK");
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ }
+ }
+ }
+
+ int sCount = chkSelectable(tEnv.getTestObject());
+ log.println("Found " + sCount + " selectable Children");
+
+ int selectedCount = oObj.getSelectedAccessibleChildCount();
+ log.println("After selecting all accessible " + selectedCount +
+ " are selected");
+
+ boolean res = true;
+
+ if (multiSelection) {
+ res &= (selectedCount == sCount);
+ } else {
+ res &= (selectedCount == 1);
+ }
+
+ log.println("clearAccessibleSelection...");
+ oObj.clearAccessibleSelection();
+ log.print("getSelectedAccessibleChildCount: ");
+ selectedCount = oObj.getSelectedAccessibleChildCount();
+ log.println(selectedCount);
+
+ if (OneAlwaysSelected) {
+ res &= (selectedCount == 1);
+ } else {
+ res &= (selectedCount == 0);
+ }
+
+ tRes.tested("getSelectedAccessibleChildCount()", res);
+ }
+
+ /**
+ * Calls the method with wrong and correct indexes.
+ * Has OK status if exception was thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if the method have returned a not null for the correct index.
+ */
+ public void _getSelectedAccessibleChild() throws Exception {
+ executeMethod("getSelectedAccessibleChildCount()");
+
+ boolean res = true;
+ int selectedCount = oObj.getSelectedAccessibleChildCount();
+ log.println("getSelectedAccessibleChildCount: " + selectedCount);
+
+ try {
+ log.println("getSelectedAccessibleChild(-1)");
+ oObj.getSelectedAccessibleChild(-1);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res = true;
+ }
+
+ try {
+ log.println("getSelectedAccessibleChild(" + selectedCount + ")");
+ oObj.getSelectedAccessibleChild(selectedCount);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ int SelectableChildCount = chkSelectable(tEnv.getTestObject());
+
+ if (SelectableChildCount > 500) {
+ SelectableChildCount = 500;
+ }
+
+ if (SelectableChildCount > 0) {
+ int k = 0;
+ try {
+ for (k = 0; k < SelectableChildCount; k++) {
+ log.println("Trying to select child with index " + k);
+
+ if (isSelectable(tEnv.getTestObject(), k)) {
+ oObj.selectAccessibleChild(k);
+ waitForEventIdle();
+ log.println("selected child count: " +
+ oObj.getSelectedAccessibleChildCount());
+ XAccessible selChild = oObj.getSelectedAccessibleChild(0);
+ res &= (selChild != null);
+ log.println("valid child - " + (selChild != null));
+ } else {
+ log.println("Child isn't selectable");
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception: Last relevant calls:\n " +
+ "\toObj.selectAccessibleChild("+k+")\n" +
+ "\toObj.getSelectedAccessibleChild(0)");
+ e.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("getSelectedAccessibleChild()", res);
+ }
+
+ /**
+ * Calls the method with wrong and with correct indexes.
+ * Has OK status if exceptions were thrown for the calls with
+ * the wrong indexes, if exception wasn't thrown for the call
+ * with correct index and if number of selected child was
+ * decreased after the correct call.
+ */
+ public void _deselectAccessibleChild() {
+ executeMethod("getSelectedAccessibleChild()");
+
+ boolean res = true;
+ int selCount = oObj.getSelectedAccessibleChildCount();
+ log.println("getSelectedAccessibleChildCount():" + selCount);
+
+ try {
+ log.println("deselectAccessibleChild(-1)");
+ oObj.deselectAccessibleChild(-1);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.println("deselectAccessibleChild(" + (childCount + 1) + ")");
+ oObj.deselectAccessibleChild(childCount + 1);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ log.println("#################");
+ log.println("Selecting all accessible");
+ oObj.selectAllAccessibleChildren();
+ selCount = oObj.getSelectedAccessibleChildCount();
+ log.println("getSelectedAccessibleChildCount():" + selCount);
+
+ if ((childCount > 0) && (selCount > 0)) {
+ try {
+ int maxCount = chkSelectable(tEnv.getTestObject());
+
+ if (childCount > 100) {
+ maxCount = 100;
+ }
+
+ for (int k = 0; k < maxCount; k++) {
+ log.println("deselectAccessibleChild(" + k + ")");
+
+ if (oObj.isAccessibleChildSelected(k)) {
+ oObj.deselectAccessibleChild(k);
+ }
+ }
+
+ int newSelCount = oObj.getSelectedAccessibleChildCount();
+ log.println("getSelectedAccessibleChildCount():" +
+ newSelCount);
+
+ if (OneAlwaysSelected && (selCount == 1)) {
+ log.println("One Child is always selected");
+ res &= true;
+ } else {
+ res &= (selCount > newSelCount);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("deselectAccessibleChild()", res);
+ }
+
+ protected static int chkSelectable(Object Testcase) {
+ int ret = 0;
+ XAccessibleContext accCon = UnoRuntime.queryInterface(
+ XAccessibleContext.class, Testcase);
+ int cc = accCon.getAccessibleChildCount();
+
+ if (cc > 500) {
+ return cc;
+ }
+
+ for (int i = 0; i < cc; i++) {
+ try {
+ if (accCon.getAccessibleChild(i).getAccessibleContext()
+ .getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SELECTABLE)) {
+ ret = ret + 1;
+ System.out.println("Child " + i + " is selectable");
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iab) {
+ }
+ }
+
+ return ret;
+ }
+
+ protected static boolean isSelectable(Object Testcase, int index) {
+ XAccessibleContext accCon = UnoRuntime.queryInterface(
+ XAccessibleContext.class, Testcase);
+ boolean res = false;
+
+ try {
+ if (accCon.getAccessibleChild(index).getAccessibleContext()
+ .getAccessibleStateSet()
+ .contains(com.sun.star.accessibility.AccessibleStateType.SELECTABLE)) {
+ res = true;
+ }
+
+ //selecting menuitems or the separator will lead to closing the menu
+ if ((accCon.getAccessibleChild(index).getAccessibleContext()
+ .getAccessibleRole() == AccessibleRole.MENU_ITEM) ||
+ (accCon.getAccessibleChild(index).getAccessibleContext()
+ .getAccessibleRole() == AccessibleRole.SEPARATOR)) {
+ res = false;
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Exception while checking for selectability");
+ }
+
+ return res;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleTable.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleTable.java
new file mode 100644
index 000000000..ee2400f44
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleTable.java
@@ -0,0 +1,1000 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.accessibility;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.accessibility.XAccessibleTable;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleTable</code>
+ * interface methods :
+ * <ul>
+ * <li><code>getAccessibleRowCount()</code></li>
+ * <li><code>getAccessibleColumnCount()</code></li>
+ * <li><code>getAccessibleRowDescription()</code></li>
+ * <li><code>getAccessibleColumnDescription()</code></li>
+ * <li><code>getAccessibleRowExtentAt()</code></li>
+ * <li><code>getAccessibleColumnExtentAt()</code></li>
+ * <li><code>getAccessibleRowHeaders()</code></li>
+ * <li><code>getAccessibleColumnHeaders()</code></li>
+ * <li><code>getSelectedAccessibleRows()</code></li>
+ * <li><code>getSelectedAccessibleColumns()</code></li>
+ * <li><code>isAccessibleRowSelected()</code></li>
+ * <li><code>isAccessibleColumnSelected()</code></li>
+ * <li><code>getAccessibleCellAt()</code></li>
+ * <li><code>getAccessibleCaption()</code></li>
+ * <li><code>getAccessibleSummary()</code></li>
+ * <li><code>isAccessibleSelected()</code></li>
+ * <li><code>getAccessibleIndex()</code></li>
+ * <li><code>getAccessibleRow()</code></li>
+ * <li><code>getAccessibleColumn()</code></li>
+ * </ul> <p>
+ * @see com.sun.star.accessibility.XAccessibleTable
+ */
+public class _XAccessibleTable extends MultiMethodTest {
+
+ public XAccessibleTable oObj = null;
+ XAccessibleSelection xASel = null;
+ XAccessibleContext xACont = null;
+
+ @Override
+ protected void before() {
+ xASel = UnoRuntime.queryInterface(XAccessibleSelection.class, oObj);
+ if (xASel == null) {
+ log.println("The component doesn't implement the interface " +
+ "XAccessibleSelection.");
+ log.println("This interface is required for more detailed tests.");
+ }
+
+ xACont = UnoRuntime.queryInterface(XAccessibleContext.class, oObj);
+ }
+
+ int rowCount = 0;
+
+ /**
+ * Calls the method and stores the returned value to the variable
+ * <code>rowCount</code>.
+ */
+ public void _getAccessibleRowCount() {
+ rowCount = oObj.getAccessibleRowCount();
+ log.println("Accessible row count: " + rowCount);
+ tRes.tested("getAccessibleRowCount()", true);
+ }
+
+ int colCount = 0;
+
+ /**
+ * Calls the method and stores the returned value to the variable
+ * <code>colCount</code>.
+ */
+ public void _getAccessibleColumnCount() {
+ colCount = oObj.getAccessibleColumnCount();
+ log.println("Accessible column count: " + colCount);
+ tRes.tested("getAccessibleColumnCount()", true);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct index,
+ * checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value isn't <code>null</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleRowDescription() {
+ requiredMethod("getAccessibleRowCount()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleRowDescription(-1): ");
+ String descr = oObj.getAccessibleRowDescription(-1);
+ log.println("'" + descr + "'");
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowDescription(" + rowCount + "): ");
+ String descr = oObj.getAccessibleRowDescription(rowCount);
+ log.println("'" + descr + "'");
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowDescription(" + (rowCount - 1) + "): ");
+ String descr =
+ oObj.getAccessibleRowDescription(rowCount - 1);
+ res &= descr != null;
+ log.println("'" + descr + "'");
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleRowDescription()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct index,
+ * checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value isn't <code>null</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleColumnDescription() {
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleColumnDescription(-1): ");
+ String descr = oObj.getAccessibleColumnDescription(-1);
+ log.println("'" + descr + "'");
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnDescription(" + colCount + "): ");
+ String descr = oObj.getAccessibleColumnDescription(colCount);
+ log.println("'" + descr + "'");
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnDescription(" + (colCount - 1) + "): ");
+ String descr =
+ oObj.getAccessibleColumnDescription(colCount - 1);
+ res &= descr != null;
+ log.println("'" + descr + "'");
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleColumnDescription()", res);
+ }
+
+
+ /**
+ * Calls the method with the wrong parameters and with the correct
+ * parameters, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value is greater than or is equal to 1.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleRowExtentAt() {
+ requiredMethod("getAccessibleRowCount()");
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleRowExtentAt(-1," + (colCount-1) + "):");
+ int ext = oObj.getAccessibleRowExtentAt(-1, colCount - 1);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowExtentAt(" + (rowCount-1) + ",-1):");
+ int ext = oObj.getAccessibleRowExtentAt(rowCount - 1, -1);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowExtentAt(0," + colCount + "):");
+ int ext = oObj.getAccessibleRowExtentAt(0, colCount);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowExtentAt(" + rowCount + ",0):");
+ int ext = oObj.getAccessibleRowExtentAt(rowCount, 0);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRowExtentAt(" +
+ (rowCount-1) + "," + (colCount-1) + "):");
+ int ext = oObj.getAccessibleRowExtentAt(rowCount-1, colCount - 1);
+ log.println(ext);
+ res &= ext >= 1;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleRowExtentAt()", res);
+ }
+
+ /**
+ * Calls the method with the wrong parameters and with the correct
+ * parameters, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value is greater than or is equal to 1.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleColumnExtentAt() {
+ requiredMethod("getAccessibleRowCount()");
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleColumnExtentAt(-1," + (colCount-1) + "):");
+ int ext = oObj.getAccessibleColumnExtentAt(-1, colCount - 1);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnExtentAt(" + (rowCount-1) + ",-1):");
+ int ext = oObj.getAccessibleColumnExtentAt(rowCount - 1, -1);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnExtentAt(0," + colCount + "):");
+ int ext = oObj.getAccessibleColumnExtentAt(0, colCount);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnExtentAt(" + rowCount + ",0):");
+ int ext = oObj.getAccessibleColumnExtentAt(rowCount, 0);
+ log.println(ext);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumnExtentAt(" +
+ (rowCount-1) + "," + (colCount-1) + "):");
+ int ext = oObj.getAccessibleColumnExtentAt(rowCount-1,colCount - 1);
+ log.println(ext);
+ res &= ext >= 1;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleColumnExtentAt()", res);
+ }
+
+ /**
+ * Calls the method and checks a returned value.
+ * Has OK status if returned value isn't <code>null</code>.
+ */
+ public void _getAccessibleRowHeaders() {
+ XAccessibleTable rowHeaders = oObj.getAccessibleRowHeaders();
+ log.println("getAccessibleRowHeaders(): " + rowHeaders);
+ tRes.tested("getAccessibleRowHeaders()", true);
+ }
+
+ /**
+ * Calls the method and checks a returned value.
+ * Has OK status if returned value isn't <code>null</code>.
+ */
+ public void _getAccessibleColumnHeaders() {
+ XAccessibleTable colHeaders = oObj.getAccessibleColumnHeaders();
+ log.println("getAccessibleColumnHeaders(): " + colHeaders);
+ tRes.tested("getAccessibleColumnHeaders()", true);
+ }
+
+ /**
+ * If the interface <code>XAccessibleSelection</code> is supported by
+ * the component than selects all accessible children.
+ * Calls the method and checks a returned sequence.
+ * Has OK status if a returned sequince is in ascending order.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getSelectedAccessibleRows() {
+ requiredMethod("getAccessibleRowCount()");
+ boolean res = true;
+ boolean locRes = true;
+ int selRows[] = null;
+
+ if (xASel != null) {
+ log.println("XAccessibleSelection.selectAllAccessibleChildren()");
+ xASel.selectAllAccessibleChildren();
+ }
+
+ log.println("getSelectedAccessibleRows()");
+ selRows = oObj.getSelectedAccessibleRows();
+ log.println("Length of the returned sequince: " + selRows.length);
+ if (xASel != null) {
+ res &= selRows.length == rowCount;
+ } else {
+ res &= selRows.length == 0;
+ }
+
+ if (selRows.length > 0) {
+ log.println("Checking that returned sequence is" +
+ " in ascending order");
+ }
+
+ for(int i = 1; i < selRows.length; i++) {
+ locRes &= selRows[i] >= selRows[i - 1];
+ res &= locRes;
+ if (!locRes) {
+ log.println("Element #" + i + ":" + selRows[i] +
+ " is less than element #" + (i-1) + ": " +
+ selRows[i-1]);
+ break;
+ }
+ }
+
+ tRes.tested("getSelectedAccessibleRows()", res);
+ }
+
+ /**
+ * If the interface <code>XAccessibleSelection</code> is supported by
+ * the component than selects all accessible children.
+ * Calls the method and checks a returned sequence.
+ * Has OK status if a returned sequince is in ascending order.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * </ul>
+ */
+ public void _getSelectedAccessibleColumns() {
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+ boolean locRes = true;
+ int selCols[] = null;
+
+ if (xASel != null) {
+ log.println("XAccessibleSelection.selectAllAccessibleChildren()");
+ xASel.selectAllAccessibleChildren();
+ }
+
+ log.println("getSelectedAccessibleColumns()");
+ selCols = oObj.getSelectedAccessibleColumns();
+ log.println("Length of the returned sequince: " + selCols.length);
+
+ if (xASel != null) {
+ res &= selCols.length == colCount;
+ } else {
+ res &= selCols.length == 0;
+ }
+
+ if (selCols.length > 0) {
+ log.println("Checking that returned sequence is" +
+ " in ascending order");
+ }
+
+ for(int i = 1; i < selCols.length; i++) {
+ locRes &= selCols[i] >= selCols[i - 1];
+ res &= locRes;
+ if (!locRes) {
+ log.println("Element #" + i + ":" + selCols[i] +
+ " is less than element #" + (i-1) + ": " +
+ selCols[i-1]);
+ break;
+ }
+ }
+
+ tRes.tested("getSelectedAccessibleColumns()", res);
+ }
+
+ /**
+ * Calls the method with invalid indexes.
+ * If the interface <code>XAccessibleSelection</code> is supported by
+ * the component than selects all accessible children.
+ * Calls the method for every row and checks returned values.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _isAccessibleRowSelected() {
+ requiredMethod("getAccessibleRowCount()");
+ boolean res = true;
+ boolean locRes = true;
+
+ try {
+ log.print("isAccessibleRowSelected(-1): ");
+ locRes = oObj.isAccessibleRowSelected(-1);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("isAccessibleRowSelected(" + rowCount + "): ");
+ locRes = oObj.isAccessibleRowSelected(rowCount);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ if (xASel != null) {
+ log.println("XAccessibleSelection.selectAllAccessibleChildren()");
+ xASel.selectAllAccessibleChildren();
+ }
+
+ try {
+ log.println("Checking of every row selection...");
+ for(int i = 0; i < rowCount; i++) {
+ boolean isSel = oObj.isAccessibleRowSelected(i);
+ locRes = (xASel == null) ? !isSel : isSel;
+ res &= locRes;
+ if (!locRes) {
+ log.println("isAccessibleRowSelected(" + i + "): " + isSel);
+ break;
+ }
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("isAccessibleRowSelected()", res);
+ }
+
+ /**
+ * Calls the method with invalid indexes.
+ * If the interface <code>XAccessibleSelection</code> is supported by
+ * the component than selects all accessible children.
+ * Calls the method for every column and checks returned values.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _isAccessibleColumnSelected() {
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+ boolean locRes = true;
+
+ try {
+ log.print("isAccessibleColumnSelected(-1): ");
+ locRes = oObj.isAccessibleColumnSelected(-1);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("isAccessibleColumnSelected(" + colCount + "): ");
+ locRes = oObj.isAccessibleColumnSelected(colCount);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ if (xASel != null) {
+ log.println("XAccessibleSelection.selectAllAccessibleChildren()");
+ xASel.selectAllAccessibleChildren();
+ }
+
+ try {
+ log.println("Checking of every column selection...");
+ for(int i = 0; i < colCount; i++) {
+ boolean isSel = oObj.isAccessibleColumnSelected(i);
+ locRes = (xASel == null) ? !isSel : isSel;
+ res &= locRes;
+ if (!locRes) {
+ log.println("isAccessibleColumnSelected(" + i + "): " + isSel);
+ break;
+ }
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("isAccessibleColumnSelected()", res);
+ }
+
+ XAccessible xCellAc = null;
+
+ /**
+ * Calls the method with the wrong parameters and with the correct
+ * parameter, checks a returned value and stores it to the variable
+ * <code>xCellAc</code>.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value isn't null.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleCellAt() {
+ requiredMethod("getAccessibleRowCount()");
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleCellAt(-1," + (colCount-1) + "):");
+ xCellAc = oObj.getAccessibleCellAt(-1, colCount - 1);
+ log.println(xCellAc);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleCellAt(" + (rowCount-1) + ",-1):");
+ xCellAc = oObj.getAccessibleCellAt(rowCount - 1, -1);
+ log.println(xCellAc);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleCellAt(0, " + colCount + "):");
+ xCellAc = oObj.getAccessibleCellAt(0, colCount);
+ log.println(xCellAc);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleCellAt(" + rowCount + ",0):");
+ XAccessible xCellAc = oObj.getAccessibleCellAt(rowCount, 0);
+ log.println(xCellAc);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleCellAt(" + (rowCount-1) + "," +
+ (colCount-1) + "): ");
+ xCellAc = oObj.getAccessibleCellAt(
+ rowCount - 1, colCount - 1);
+ log.println(xCellAc);
+ res &= xCellAc != null;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleCellAt()", res);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getAccessibleCaption() {
+ XAccessible caption = oObj.getAccessibleCaption();
+ log.println("getAccessibleCaption(): " + caption);
+ tRes.tested("getAccessibleCaption()", true);
+ }
+
+ /**
+ * Just calls the method.
+ */
+ public void _getAccessibleSummary() {
+ XAccessible summary = oObj.getAccessibleSummary();
+ log.println("getAccessibleSummary(): " + summary);
+ tRes.tested("getAccessibleSummary()", true);
+ }
+
+ /**
+ * Calls the method with the wrong parameters and with the correct
+ * parameter, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _isAccessibleSelected() {
+ requiredMethod("getAccessibleRowCount()");
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+ boolean locRes = true;
+
+ try {
+ log.print("isAccessibleSelected(-1," + (colCount-1) + "):");
+ locRes = oObj.isAccessibleSelected(-1, colCount - 1);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("isAccessibleSelected(" + (rowCount-1) + ",-1):");
+ locRes = oObj.isAccessibleSelected(rowCount - 1, -1);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("isAccessibleSelected(0, " + colCount + "):");
+ locRes = oObj.isAccessibleSelected(0, colCount);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("isAccessibleSelected(" + rowCount + ",0):");
+ locRes = oObj.isAccessibleSelected(rowCount, 0);
+ log.println(locRes);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ if (xASel != null) {
+ log.println("XAccessibleSelection.selectAllAccessibleChildren()");
+ xASel.selectAllAccessibleChildren();
+ }
+
+ try {
+ log.print("isAccessibleSelected(" + (rowCount-1) + "," +
+ (colCount-1) + "): ");
+ boolean isSel = oObj.isAccessibleSelected(
+ rowCount - 1, colCount - 1);
+ log.println(isSel);
+ locRes = (xASel == null) ? !isSel : isSel ;
+ res &= locRes;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("isAccessibleSelected()", res);
+ }
+
+ /**
+ * Calls the method with the wrong parameters and with the correct
+ * parameter, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value is equal to value returned by calling
+ * <code>XAccessibleContext::getAccessibleIndexInParent</code> for the cell.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleCellAt()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleIndex() {
+ executeMethod("getAccessibleCellAt()");
+ boolean res = true;
+
+ try {
+ log.print("getAccessibleIndex(-1," + (colCount-1) + "):");
+ int indx = oObj.getAccessibleIndex(-1, colCount - 1);
+ log.println(indx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleIndex(" + (rowCount-1) + ",-1):");
+ int indx = oObj.getAccessibleIndex(rowCount - 1, -1);
+ log.println(indx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleIndex(0," + colCount + "):");
+ int indx = oObj.getAccessibleIndex(0, colCount);
+ log.println(indx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleIndex(" + rowCount + ",0):");
+ int indx = oObj.getAccessibleIndex(rowCount, 0);
+ log.println(indx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleIndex(" + (rowCount-1) + "," +
+ (colCount-1) + "): ");
+ int indx = oObj.getAccessibleIndex(
+ rowCount - 1, colCount - 1);
+ log.println(indx);
+ if (xCellAc != null) {
+ XAccessibleContext xAC = xCellAc.getAccessibleContext();
+ int expIndx = xAC.getAccessibleIndexInParent();
+ log.println("Expected index: " + expIndx);
+ res &= expIndx == indx;
+ } else {
+ res &= true;
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleIndex()", res);
+ }
+
+ /**
+ * Receives an accessible child count using the interface
+ * <code>XAccessibleContext</code>.
+ * Calls the method with the wrong parameters and with the correct
+ * parameter, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value is greater than zero and is less than
+ * accessible row count.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleRowCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleRow() {
+ requiredMethod("getAccessibleRowCount()");
+ boolean res = true;
+
+ if (xACont != null) {
+ int childCount = xACont.getAccessibleChildCount();
+ log.println("accessible child count: " + childCount);
+
+ try {
+ log.print("getAccessibleRow(" + childCount + "): ");
+ int rowIndx = oObj.getAccessibleRow(childCount);
+ log.println(rowIndx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRow(" + (childCount-1) + "): ");
+ int rowIndx = oObj.getAccessibleRow(childCount - 1);
+ log.println(rowIndx);
+ res &= (rowIndx >= 0 && rowIndx <= rowCount);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+ }
+
+ try {
+ log.print("getAccessibleRow(-1): ");
+ int rowIndx = oObj.getAccessibleRow(-1);
+ log.println(rowIndx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleRow(0): ");
+ int rowIndx = oObj.getAccessibleRow(0);
+ log.println(rowIndx);
+ res &= (rowIndx >= 0 && rowIndx <= rowCount);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleRow()", res);
+ }
+
+ /**
+ * Receives an accessible child count using the interface
+ * <code>XAccessibleContext</code>.
+ * Calls the method with the wrong parameters and with the correct
+ * parameter, checks a returned value.
+ * Has OK status if exceptions were thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value is greater than zero and is less than
+ * accessible column count.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getAccessibleColumnCount()</code> </li>
+ * </ul>
+ */
+ public void _getAccessibleColumn() {
+ requiredMethod("getAccessibleColumnCount()");
+ boolean res = true;
+
+ if (xACont != null) {
+ int childCount = xACont.getAccessibleChildCount();
+ log.println("accessible child count: " + childCount);
+
+ try {
+ log.print("getAccessibleColumn(" + childCount + "): ");
+ int colIndx = oObj.getAccessibleColumn(childCount);
+ log.println(colIndx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumn(" + (childCount-1) + "): ");
+ int colIndx = oObj.getAccessibleColumn(childCount - 1);
+ log.println(colIndx);
+ res &= (colIndx >= 0 && colIndx <= colCount);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+ }
+
+ try {
+ log.print("getAccessibleColumn(-1): ");
+ int colIndx = oObj.getAccessibleColumn(-1);
+ log.println(colIndx);
+ log.println("Exception was expected");
+ res &= false;
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getAccessibleColumn(0): ");
+ int colIndx = oObj.getAccessibleColumn(0);
+ log.println(colIndx);
+ res &= (colIndx >= 0 && colIndx <= rowCount);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getAccessibleColumn()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleText.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleText.java
new file mode 100644
index 000000000..b4dd7d674
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleText.java
@@ -0,0 +1,1208 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.accessibility;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.accessibility.AccessibleTextType;
+import com.sun.star.accessibility.TextSegment;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleText</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getCaretPosition()</code></li>
+ * <li><code> setCaretPosition()</code></li>
+ * <li><code> getCharacter()</code></li>
+ * <li><code> getCharacterAttributes()</code></li>
+ * <li><code> getCharacterBounds()</code></li>
+ * <li><code> getCharacterCount()</code></li>
+ * <li><code> getIndexAtPoint()</code></li>
+ * <li><code> getSelectedText()</code></li>
+ * <li><code> getSelectionStart()</code></li>
+ * <li><code> getSelectionEnd()</code></li>
+ * <li><code> setSelection()</code></li>
+ * <li><code> getText()</code></li>
+ * <li><code> getTextRange()</code></li>
+ * <li><code> getTextAtIndex()</code></li>
+ * <li><code> getTextBeforeIndex()</code></li>
+ * <li><code> getTextBehindIndex()</code></li>
+ * <li><code> copyText()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XAccessibleText.Text'</code> (of type <code>String</code>)
+ * <b> optional </b> :
+ * the string presentation of component's text. If the relation
+ * is not specified, then text from method <code>getText()</code>
+ * is used.
+ * </li>
+ * </ul> <p>
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+public class _XAccessibleText extends MultiMethodTest {
+
+ public XAccessibleText oObj = null;
+ protected com.sun.star.awt.Rectangle bounds = null;
+ String text = null;
+ String editOnly = null;
+ Object LimitedBounds = null;
+ Rectangle chBounds = null;
+ int chCount = 0;
+
+
+ /**
+ * Retrieves a string representation of the component's text.
+ * The length of retrieved string must be greater than zero.
+ */
+ @Override
+ protected void before() {
+ Object xat = tEnv.getObjRelation("XAccessibleText");
+
+ XAccessibleComponent component = null;
+
+ if (xat != null) {
+ oObj = UnoRuntime.queryInterface(
+ XAccessibleText.class, xat);
+ component = UnoRuntime.queryInterface(
+ XAccessibleComponent.class, xat);
+ }
+
+ text = (String) tEnv.getObjRelation("XAccessibleText.Text");
+
+ if (text == null) {
+ text = oObj.getText();
+ }
+
+ if (text.length() == 0) {
+ throw new StatusException(Status.failed(
+ "The length of text must be greater than zero"));
+ }
+
+ editOnly = (String) tEnv.getObjRelation("EditOnly");
+ LimitedBounds = tEnv.getObjRelation("LimitedBounds");
+
+ if (component == null) {
+ component = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ tEnv.getTestObject());
+ }
+
+ bounds = component.getBounds();
+
+ log.println("Text is '" + text + "'");
+ System.out.println("############################");
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if returned value is equal to <code>chCount - 1</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>setCaretPosition()</code> </li>
+ * </ul>
+ */
+ public void _getCaretPosition() {
+ requiredMethod("getCharacterCount()");
+
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ boolean res = true;
+ boolean sc = true;
+
+ try {
+ oObj.setCaretPosition(chCount - 1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ie) {
+ }
+
+ int carPos = oObj.getCaretPosition();
+ log.println("getCaretPosition: " + carPos);
+
+ if (sc) {
+ res = carPos == (chCount - 1);
+ } else {
+ log.println(
+ "Object is read only and Caret position couldn't be set");
+ res = carPos == -1;
+ }
+
+ tRes.tested("getCaretPosition()", res);
+ }
+
+ /**
+ * Calls the method with the wrong index and with the correct index
+ * <code>chCount - 1</code>.
+ * Has OK status if exception was thrown for wrong index and
+ * if exception wasn't thrown for the correct index.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _setCaretPosition() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+
+ try {
+ log.print("setCaretPosition(-1):");
+ oObj.setCaretPosition(-1);
+ res &= false;
+ log.println("exception was expected ... FAILED");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("setCaretPosition(chCount+1):");
+ oObj.setCaretPosition(chCount + 1);
+ res &= false;
+ log.println("exception was expected ... FAILED");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("expected exception");
+ res &= true;
+ }
+
+ try {
+ log.println("setCaretPosition(chCount - 1)");
+ oObj.setCaretPosition(chCount - 1);
+ res &= true;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("unexpected exception ... FAILED");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("setCaretPosition()", res);
+ }
+
+ /**
+ * Calls the method with the wrong index and with the correct indexes.
+ * Checks every character in the text.
+ * Has OK status if exception was thrown for wrong index,
+ * if exception wasn't thrown for the correct index and
+ * if every character is equal to corresponding character in the text.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getCharacter() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+
+ try {
+ log.println("getCharacter(-1)");
+ oObj.getCharacter(-1);
+ log.println("Exception was expected");
+ res = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res = true;
+ }
+
+ try {
+ log.println("getCharacter(chCount)");
+ oObj.getCharacter(chCount);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.println("Checking of every character in the text...");
+
+ boolean isEqCh = true;
+
+ for (int i = 0; i < chCount; i++) {
+ char ch = oObj.getCharacter(i);
+ isEqCh = ch == text.charAt(i);
+ res &= isEqCh;
+
+ if (!isEqCh) {
+ log.println("At the position " + i +
+ "was expected character: " + text.charAt(i));
+ log.println("but was returned: " + ch);
+
+ break;
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getCharacter()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct index,
+ * checks a returned value.
+ * Has OK status if exception was thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value isn't <code>null</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getCharacterAttributes() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+ String[] attr = new String[] { "" };
+
+ try {
+ log.println("getCharacterAttributes(-1)");
+ oObj.getCharacterAttributes(-1, attr);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("unexpected exception => FAILED");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ try {
+ log.println("getCharacterAttributes(chCount = " + chCount + ")");
+ oObj.getCharacterAttributes(chCount, attr);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("unexpected exception => FAILED");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ try {
+ log.println(
+ "getCharacterAttributes(chCount-1 = " + (chCount - 1) + ")");
+
+ PropertyValue[] props = oObj.getCharacterAttributes(chCount - 1,
+ attr);
+ res &= (props != null);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("unexpected exception => FAILED");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getCharacterAttributes()", res);
+ }
+
+ /**
+ * Calls the method with the wrong indexes and with the correct index.
+ * checks and stores a returned value.
+ * Has OK status if exception was thrown for the wrong indexes,
+ * if exception wasn't thrown for the correct index and
+ * if returned value isn't <code>null</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getCharacterBounds() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+
+ int lastIndex = chCount;
+
+ if (LimitedBounds != null) {
+ if (LimitedBounds instanceof Integer) {
+ lastIndex = ((Integer) LimitedBounds).intValue();
+ } else {
+ lastIndex = chCount - 1;
+ }
+
+ log.println(LimitedBounds);
+ }
+
+ try {
+ log.println("getCharacterBounds(-1)");
+ oObj.getCharacterBounds(-1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.println("getCharacterBounds(" + (lastIndex + 1) + ")");
+ oObj.getCharacterBounds(lastIndex + 1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ for (int i = 0; i < lastIndex; i++) {
+ log.println("getCharacterBounds(" + i + ")");
+ chBounds = oObj.getCharacterBounds(i);
+
+ boolean localres = true;
+ localres = chBounds.X >= 0;
+ localres &= (chBounds.Y >= 0);
+ localres &= ((chBounds.X + chBounds.Width) <= bounds.Width);
+ localres &= ((chBounds.X + chBounds.Width) >= 0);
+ localres &= ((chBounds.Y + chBounds.Height) <= bounds.Height);
+ localres &= ((chBounds.Y + chBounds.Height) >= 0);
+
+ if (!localres) {
+ log.println("Text at this place: "+oObj.getCharacter(i));
+ log.println("Character bounds outside component");
+ log.println("Character rect: " + chBounds.X + ", " +
+ chBounds.Y + ", " + chBounds.Width + ", " +
+ chBounds.Height);
+ log.println("Component rect: " + bounds.X + ", " +
+ bounds.Y + ", " + bounds.Width + ", " +
+ bounds.Height);
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getCharacterBounds()", res);
+ }
+
+ /**
+ * Calls the method and stores a returned value to the variable
+ * <code>chCount</code>.
+ * Has OK status if a returned value is equal to the text length.
+ */
+ public void _getCharacterCount() {
+ chCount = oObj.getCharacterCount();
+ log.println("Character count:" + chCount);
+
+ boolean res = chCount == text.length();
+ tRes.tested("getCharacterCount()", res);
+ }
+
+ /**
+ * Calls the method for an invalid point and for the point of rectangle
+ * returned by the method <code>getCharacterBounds()</code>.
+ * Has OK status if returned value is equal to <code>-1</code> for an
+ * invalid point and if returned value is equal to <code>chCount-1</code>
+ * for a valid point.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterBounds()</code> </li>
+ * </ul>
+ */
+ public void _getIndexAtPoint() {
+ //requiredMethod("getCharacterBounds()");
+ boolean res = true;
+ log.print("getIndexAtPoint(-1, -1):");
+
+ Point pt = new Point(-1, -1);
+ int index = oObj.getIndexAtPoint(pt);
+ log.println(index);
+ res &= (index == -1);
+
+ int lastIndex = chCount;
+
+ if (LimitedBounds != null) {
+ if (LimitedBounds instanceof Integer) {
+ lastIndex = ((Integer) LimitedBounds).intValue();
+ } else {
+ lastIndex = chCount - 1;
+ }
+
+ log.println(LimitedBounds);
+ }
+
+ for (int i = 0; i < lastIndex; i++) {
+ Rectangle aRect = null;
+ String text = "empty";
+
+ try {
+ aRect = oObj.getCharacterBounds(i);
+ text = oObj.getTextAtIndex(i, (short) 1).SegmentText;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+
+ if (aRect == null) {
+ res = false;
+ log.print("aRect unexpected null");
+ break;
+ }
+
+ int x = aRect.X + (aRect.Width / 2);
+ int y = aRect.Y + (aRect.Height / 2);
+
+ Point aPoint = new Point(x, y);
+ int nIndex = oObj.getIndexAtPoint(aPoint);
+
+ x = aRect.X;
+ y = aRect.Y + (aRect.Height / 2);
+ aPoint = new Point(x, y);
+ int left = oObj.getIndexAtPoint(aPoint);
+
+
+
+ int[] previous = (int[]) tEnv.getObjRelation("PreviousUsed");
+
+ if (previous != null) {
+ for (int k = 0; k < previous.length; k++) {
+ if (i == previous[k]) {
+ nIndex++;
+ }
+ }
+ }
+
+ if (nIndex != i) {
+ // for some letters the center of the rectangle isn't recognised
+ // in this case we are happy if the left border of the rectangle
+ // returns the correct value.
+ if (left !=i) {
+ log.println("## Method didn't work for Point (" + x + "," + y +
+ ")");
+ log.println("Expected Index " + i);
+ log.println("Gained Index: " + nIndex);
+ log.println("Left Border: "+left);
+ log.println("CharacterAtIndex: " + text);
+ res &= false;
+ }
+ }
+ }
+
+ tRes.tested("getIndexAtPoint()", res);
+ }
+
+ /**
+ * Checks a returned values after different calls of the method
+ * <code>setSelection()</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>setSelection()</code> </li>
+ * </ul>
+ */
+ public void _getSelectedText() {
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ requiredMethod("setSelection()");
+
+ boolean res = true;
+
+ try {
+ log.println("setSelection(0, 0)");
+ oObj.setSelection(0, 0);
+ log.print("getSelectedText():");
+
+ String txt = oObj.getSelectedText();
+ log.println("'" + txt + "'");
+ res &= (txt.length() == 0);
+
+ log.println("setSelection(0, chCount)");
+ oObj.setSelection(0, chCount);
+ log.print("getSelectedText():");
+ txt = oObj.getSelectedText();
+ log.println("'" + txt + "'");
+ res &= txt.equals(text);
+
+ if (chCount > 2) {
+ log.println("setSelection(1, chCount-1)");
+ oObj.setSelection(1, chCount - 1);
+ log.print("getSelectedText():");
+ txt = oObj.getSelectedText();
+ log.println("'" + txt + "'");
+ res &= txt.equals(text.substring(1, chCount - 1));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getSelectedText()", res);
+ }
+
+ /**
+ * Checks a returned values after different calls of the method
+ * <code>setSelection()</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>setSelection()</code> </li>
+ * </ul>
+ */
+ public void _getSelectionStart() {
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ requiredMethod("setSelection()");
+
+ boolean res = true;
+
+ try {
+ log.println("setSelection(0, chCount)");
+ oObj.setSelection(0, chCount);
+
+ int start = oObj.getSelectionStart();
+ log.println("getSelectionStart():" + start);
+ res &= (start == 0);
+
+ if (chCount > 2) {
+ log.println("setSelection(1, chCount-1)");
+ oObj.setSelection(1, chCount - 1);
+ start = oObj.getSelectionStart();
+ log.println("getSelectionStart():" + start);
+ res &= (start == 1);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getSelectionStart()", res);
+ }
+
+ /**
+ * Checks a returned values after different calls of the method
+ * <code>setSelection()</code>.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>setSelection()</code> </li>
+ * </ul>
+ */
+ public void _getSelectionEnd() {
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ requiredMethod("setSelection()");
+
+ boolean res = true;
+
+ try {
+ log.println("setSelection(0, chCount)");
+ oObj.setSelection(0, chCount);
+
+ int end = oObj.getSelectionEnd();
+ log.println("getSelectionEnd():" + end);
+ res &= (end == chCount);
+
+ if (chCount > 2) {
+ log.println("setSelection(1, chCount-1)");
+ oObj.setSelection(1, chCount - 1);
+ end = oObj.getSelectionEnd();
+ log.println("getSelectionEnd():" + end);
+ res &= (end == (chCount - 1));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getSelectionEnd()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters and with valid parameters.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameters.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _setSelection() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+ boolean locRes = true;
+
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ try {
+ log.print("setSelection(-1, chCount-1):");
+ locRes = oObj.setSelection(-1, chCount - 1);
+ log.println(locRes + " exception was expected");
+ res &= !locRes;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("setSelection(0, chCount+1):");
+ locRes = oObj.setSelection(0, chCount + 1);
+ log.println(locRes + " exception was expected");
+ res &= !locRes;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ if (chCount > 2) {
+ log.print("setSelection(1, chCount-1):");
+ locRes = oObj.setSelection(1, chCount - 1);
+ log.println(locRes);
+ res &= locRes;
+
+ log.print("setSelection(chCount-1, 1):");
+ locRes = oObj.setSelection(chCount - 1, 1);
+ log.println(locRes);
+ res &= locRes;
+ }
+
+ log.print("setSelection(0, chCount-1):");
+ locRes = oObj.setSelection(0, chCount - 1);
+ log.println(locRes);
+ res &= locRes;
+
+ log.print("setSelection(chCount-1, 0):");
+ locRes = oObj.setSelection(chCount - 1, 0);
+ log.println(locRes);
+ res &= locRes;
+
+ log.print("setSelection(0, 0):");
+ locRes = oObj.setSelection(0, 0);
+ log.println(locRes);
+ res &= locRes;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("setSelection()", res);
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if returned string is equal to string
+ * received from relation.
+ */
+ public void _getText() {
+ String txt = oObj.getText();
+ log.println("getText: " + txt);
+
+ boolean res = txt.equals(text);
+ tRes.tested("getText()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters and with valid parameters,
+ * checks returned values.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameters and if returned values
+ * are equal to corresponding substrings of the text received by relation.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getTextRange() {
+ requiredMethod("getCharacterCount()");
+
+ boolean res = true;
+ boolean locRes = true;
+
+ String txtRange = "";
+
+ try {
+ if (chCount > 3) {
+ log.print("getTextRange(1, chCount - 2): ");
+
+ txtRange = oObj.getTextRange(1, chCount - 2);
+ log.println(txtRange);
+ locRes = txtRange.equals(text.substring(1, chCount - 2));
+ res &= locRes;
+
+ if (!locRes) {
+ log.println("Was expected: " +
+ text.substring(1, chCount - 2));
+ }
+ }
+
+ log.print("getTextRange(0, chCount-1): ");
+
+ txtRange = oObj.getTextRange(0, chCount - 1);
+ log.println(txtRange);
+ locRes = txtRange.equals(text.substring(0, chCount - 1));
+ res &= locRes;
+
+ if (!locRes) {
+ log.println("Was expected: " +
+ text.substring(0, chCount - 1));
+ }
+
+ log.print("getTextRange(chCount, 0): ");
+ txtRange = oObj.getTextRange(chCount, 0);
+ log.println(txtRange);
+ res &= txtRange.equals(text);
+
+ log.print("getTextRange(0, 0): ");
+ txtRange = oObj.getTextRange(0, 0);
+ log.println(txtRange);
+ locRes = txtRange.equals("");
+ res &= locRes;
+
+ if (!locRes) {
+ log.println("Empty string was expected");
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ try {
+ log.print("getTextRange(-1, chCount - 1): ");
+
+ txtRange = oObj.getTextRange(-1, chCount - 1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getTextRange(0, chCount + 1): ");
+
+ txtRange = oObj.getTextRange(0, chCount + 1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getTextRange(chCount+1, -1): ");
+
+ txtRange = oObj.getTextRange(chCount + 1, -1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ tRes.tested("getTextRange()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters and with valid parameters,
+ * checks returned values.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameters and if returned values
+ * are equal to corresponding substrings of the text received by relation.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getTextAtIndex() {
+ requiredMethod("getCharacterCount()");
+ TextSegment txt = null;
+ boolean res = true;
+
+ try {
+ log.print("getTextAtIndex(-1, AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextAtIndex(-1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= false;
+ }
+
+ try {
+ log.print("getTextAtIndex(chCount+1," +
+ " AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextAtIndex(chCount + 1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= false;
+ }
+
+ try {
+ log.print("getTextAtIndex(chCount," +
+ " AccessibleTextType.WORD):");
+
+ txt = oObj.getTextAtIndex(chCount, AccessibleTextType.WORD);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareLength(0,txt.SegmentText);
+ if (!tEnv.getTestCase().getObjectName().equals("SmGraphicAccessible")) {
+ log.print("getTextAtIndex(1," +
+ " AccessibleTextType.PARAGRAPH):");
+ txt = oObj.getTextAtIndex(1, AccessibleTextType.PARAGRAPH);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareStrings(text,txt.SegmentText);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getTextAtIndex()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters and with valid parameters,
+ * checks returned values.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameters and if returned values
+ * are equal to corresponding substrings of the text received by relation.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getTextBeforeIndex() {
+ requiredMethod("getCharacterCount()");
+ TextSegment txt = null;
+ boolean res = true;
+
+ try {
+ log.print("getTextBeforeIndex(-1, AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextBeforeIndex(-1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= false;
+ }
+
+ try {
+ log.print("getTextBeforeIndex(chCount+1, " +
+ "AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextBeforeIndex(chCount + 1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= true;
+ }
+
+ try {
+ if (!tEnv.getTestCase().getObjectName().equals("SmGraphicAccessible")
+ // next one fails because the control actually contains 2 words
+ && !tEnv.getTestCase().getObjectName().equals("AccessibleStatusBarItem"))
+ {
+ log.print("getTextBeforeIndex(chCount," +
+ " AccessibleTextType.WORD):");
+
+ txt = oObj.getTextBeforeIndex(chCount,
+ AccessibleTextType.WORD);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareLength(chCount, txt.SegmentText);
+ }
+
+ log.print("getTextBeforeIndex(1," +
+ " AccessibleTextType.PARAGRAPH):");
+ txt = oObj.getTextBeforeIndex(1, AccessibleTextType.PARAGRAPH);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareLength(0, txt.SegmentText);
+
+ log.print("getTextBeforeIndex(chCount-1," +
+ " AccessibleTextType.CHARACTER):");
+ txt = oObj.getTextBeforeIndex(chCount - 1,
+ AccessibleTextType.CHARACTER);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareStrings(text.substring(chCount - 2, chCount - 1),
+ txt.SegmentText);
+
+ if (chCount > 2) {
+ log.print("getTextBeforeIndex(2," +
+ " AccessibleTextType.CHARACTER):");
+ txt = oObj.getTextBeforeIndex(2, AccessibleTextType.CHARACTER);
+ log.println("'" + txt.SegmentText + "'");
+ res &= compareStrings(text.substring(1, 2), txt.SegmentText);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getTextBeforeIndex()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters and with valid parameters,
+ * checks returned values.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameters and if returned values
+ * are equal to corresponding substrings of the text received by relation.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code>getCharacterCount()</code> </li>
+ * </ul>
+ */
+ public void _getTextBehindIndex() {
+ requiredMethod("getCharacterCount()");
+ TextSegment txt = null;
+ boolean res = true;
+
+ try {
+ log.print("getTextBehindIndex(-1, AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextBehindIndex(-1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getTextBehindIndex(chCount+1, " +
+ "AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextBehindIndex(chCount + 1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("UnExpected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("getTextBehindIndex(chCount," +
+ " AccessibleTextType.PARAGRAPH):");
+
+ txt = oObj.getTextBehindIndex(chCount,
+ AccessibleTextType.PARAGRAPH);
+ log.println("'" + txt.SegmentText + "'");
+ res &= (txt.SegmentText.length() == 0);
+
+ log.print("getTextBehindIndex(chCount-1," +
+ " AccessibleTextType.PARAGRAPH):");
+ txt = oObj.getTextBehindIndex(chCount - 1,
+ AccessibleTextType.PARAGRAPH);
+ log.println("'" + txt.SegmentText + "'");
+ res &= (txt.SegmentText.length() == 0);
+
+ log.print("getTextBehindIndex(1," +
+ " AccessibleTextType.CHARACTER):");
+ txt = oObj.getTextBehindIndex(1, AccessibleTextType.CHARACTER);
+ log.println("'" + txt.SegmentText + "'");
+ res &= txt.SegmentText.equals(text.substring(2, 3));
+
+ if (chCount > 2) {
+ log.print("getTextBehindIndex(chCount-2," +
+ " AccessibleTextType.CHARACTER):");
+ txt = oObj.getTextBehindIndex(chCount - 2,
+ AccessibleTextType.CHARACTER);
+ log.println("'" + txt.SegmentText + "'");
+ res &= txt.SegmentText.equals(text.substring(chCount - 1, chCount));
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("getTextBehindIndex()", res);
+ }
+
+ /**
+ * Calls the method with invalid parameters and with valid parameter,
+ * checks returned values.
+ * Has OK status if exception was thrown for invalid parameters,
+ * if exception wasn't thrown for valid parameter and if returned value for
+ * valid parameter is equal to <code>true</code>.
+ */
+ public void _copyText() {
+ boolean res = true;
+ boolean locRes = true;
+
+ if (editOnly != null) {
+ log.println(editOnly);
+ throw new StatusException(Status.skipped(true));
+ }
+
+ try {
+ log.print("copyText(-1,chCount):");
+ oObj.copyText(-1, chCount);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("copyText(0,chCount+1):");
+ oObj.copyText(0, chCount + 1);
+ log.println("Exception was expected");
+ res &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+
+ try {
+ log.print("copyText(0,chCount):");
+ locRes = oObj.copyText(0, chCount);
+ log.println(locRes);
+ res &= locRes;
+
+ String cbText = null;
+
+ try {
+ cbText = util.SysUtils.getSysClipboardText(tParam.getMSF());
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't access system clipboard :");
+ e.printStackTrace(log);
+ }
+
+ log.println("Clipboard: '" + cbText + "'");
+ res &= text.equals(cbText);
+
+ if (chCount > 2) {
+ log.print("copyText(1,chCount-1):");
+ locRes = oObj.copyText(1, chCount - 1);
+ log.println(locRes);
+ res &= locRes;
+
+ try {
+ cbText = util.SysUtils.getSysClipboardText(tParam.getMSF());
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't access system clipboard :");
+ e.printStackTrace(log);
+ }
+
+ log.println("Clipboard: '" + cbText + "'");
+ res &= text.substring(1, chCount - 1).equals(cbText);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res &= false;
+ }
+
+ tRes.tested("copyText()", res);
+ }
+
+ public boolean compareStrings(String expected, String getting) {
+ boolean res = expected.equals(getting);
+
+ if (!res) {
+ log.println("## The result isn't the expected:");
+ log.println("\tGetting: " + getting);
+ log.println("\tExpected: " + expected);
+ }
+
+ return res;
+ }
+
+ public boolean compareLength(int expected, String getting) {
+ boolean res = (expected == getting.length());
+
+ if (!res) {
+ log.println("## The result isn't the expected:");
+ log.println("\tGetting: " + getting.length());
+ log.println("\tExpected: " + expected);
+ }
+
+ return res;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/accessibility/_XAccessibleValue.java b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleValue.java
new file mode 100644
index 000000000..b72874768
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/accessibility/_XAccessibleValue.java
@@ -0,0 +1,344 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.accessibility;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.accessibility.XAccessibleValue;
+
+/**
+ * Testing <code>com.sun.star.accessibility.XAccessibleValue</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getCurrentValue()</code></li>
+ * <li><code> setCurrentValue()</code></li>
+ * <li><code> getMaximumValue()</code></li>
+ * <li><code> getMinimumValue()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XAccessibleValue.anotherFromGroup'</code>
+ * (of type <code>XAccessibleValue</code>) <b> optional </b>:
+ * another component from the group(e.g. radio button group)</li>
+ * </ul><p>
+ * @see com.sun.star.accessibility.XAccessibleValue
+ */
+public class _XAccessibleValue extends MultiMethodTest {
+
+ public XAccessibleValue oObj = null;
+
+ private double minVal = 0;
+ private double maxVal = 0;
+ private static final double curVal = 0;
+ private Object val = null;
+ XAccessibleValue anotherFromGroup = null;
+
+ @Override
+ protected void before() {
+ anotherFromGroup = (XAccessibleValue)tEnv.getObjRelation(
+ "XAccessibleValue.anotherFromGroup");
+ }
+
+ /**
+ * Gets current value and stores it as double. <p>
+ *
+ * Has <b> OK </b> status if the current value is between Min and Max
+ * values. <p>
+ *
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getMaximumValue </code> </li>
+ * <li> <code> getMinimumValue </code> </li>
+ * </ul>
+ */
+ public void _getCurrentValue() {
+ executeMethod("getMaximumValue()");
+ executeMethod("getMinimumValue()");
+
+ boolean result = true;
+
+ double curVal ;
+ val = oObj.getCurrentValue() ;
+ if (util.utils.isVoid(val)) {
+ val = Integer.valueOf(0);
+ curVal = 0;
+ } else {
+ curVal = getDoubleValue(val);
+ }
+
+ if (curVal < minVal || maxVal < curVal) {
+ log.println((curVal - minVal) + "," + (maxVal - curVal));
+ log.println("Current value " + curVal + " is not in range ["
+ + minVal + "," + maxVal + "]");
+ result = false;
+ }
+
+ tRes.tested("getCurrentValue()", result) ;
+ }
+
+ /**
+ * Performs testing for following cases :
+ * <ul>
+ * <li> Creates new value in valid range and sets it. </li>
+ * <li> Sets maximum and minimum values. </li>
+ * <li> Sets Min - 1, and Max + 1 values </li>
+ * </ul> <p>
+ *
+ * Has <b> OK </b> status if for the first case the value returned
+ * is the same as was set and the method <code>setCurrentValue</code>
+ * returns <code>true</code>.
+ *
+ * In the second if Max and Min values are set and method
+ * <code>setCurrentValue</code> returns <code>true</code>.
+ *
+ * In the third case invalid values are truncated to Min and Max
+ * values accordingly. <p>
+ *
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getCurrentValue() </code> </li>
+ * </ul>
+ */
+ public void _setCurrentValue() {
+ executeMethod("getCurrentValue()");
+
+ boolean result = true ;
+ boolean partResult=true;
+ String noMax = "com.sun.star.comp.toolkit.AccessibleScrollBar";
+ String implName = util.utils.getImplName(oObj);
+
+ if (tEnv.getObjRelation("ValueNotPersistent")!=null) {
+ log.println("Excluded since it works like AccessibleAction");
+ tRes.tested("setCurrentValue()",Status.skipped(true));
+ return;
+ }
+
+ if (anotherFromGroup == null) {
+ double newVal = curVal + 1;
+ if (newVal > maxVal) newVal -= 2;
+ if (newVal < minVal) newVal += 1;
+
+ log.println("New value is " + newVal);
+
+ Object setVal = getObjectValue(newVal, val.getClass());
+
+ result &= oObj.setCurrentValue(setVal);
+
+ if (!result) {
+ log.println("The value can't be set");
+ throw new StatusException(Status.skipped(true));
+ }
+
+ double resVal = getDoubleValue(oObj.getCurrentValue());
+ log.println("Res value is " + resVal);
+
+ result &= Math.abs(newVal - resVal) < 0.00001;
+
+ log.println("Checking min/max values");
+ result &= oObj.setCurrentValue(getObjectValue(minVal, val.getClass()));
+ log.println("Setting to "+ getObjectValue(minVal, val.getClass()));
+ resVal = getDoubleValue(oObj.getCurrentValue());
+ log.println("Result min value is " + resVal);
+ result &= Math.abs(minVal - resVal) < 0.00001;
+ log.println("\t works: "+(Math.abs(minVal - resVal) < 0.00001));
+
+ result &= oObj.setCurrentValue(getObjectValue(maxVal, val.getClass()));
+ log.println("Setting to "+ getObjectValue(maxVal, val.getClass()));
+ resVal = getDoubleValue(oObj.getCurrentValue());
+ log.println("Result max value is " + resVal);
+ partResult = Math.abs(maxVal - resVal) < 0.00001;
+
+ if (implName.equals(noMax)) {
+ log.println("If one sets the maximum value of a scroll bar with XScrollBar::setMaximum(),"+
+ "then XScrollBar::getValue() returns the maximum value minus the visible size of"+
+ "the thumb");
+ //using arbitrary Value, since we can't determine the resulting value
+ partResult = resVal > 10;
+ }
+
+ result &=partResult;
+ log.println("\t works: "+partResult);
+
+ log.println("Checking truncating of min/max values");
+ oObj.setCurrentValue(getObjectValue(minVal - 1, val.getClass()));
+ log.println("Setting to "+ getObjectValue(minVal -1 , val.getClass()));
+ resVal = getDoubleValue(oObj.getCurrentValue());
+ log.println("Result min value is " + resVal);
+ result &= Math.abs(minVal - resVal) < 0.00001;
+ log.println("\t works: "+(Math.abs(minVal - resVal) < 0.00001));
+
+ oObj.setCurrentValue(getObjectValue(maxVal + 1, val.getClass()));
+ log.println("Setting to "+ getObjectValue(maxVal +1 , val.getClass()));
+ resVal = getDoubleValue(oObj.getCurrentValue());
+ log.println("Result max value is " + resVal);
+ partResult = Math.abs(maxVal - resVal) < 0.00001;
+ if (implName.equals(noMax)) {
+ log.println("If one sets the maximum value of a scroll bar with XScrollBar::setMaximum(),"+
+ "then XScrollBar::getValue() returns the maximum value minus the visible size of"+
+ "the thumb");
+ //using arbitrary Value, since we can't determine the resulting value
+ partResult = resVal > 10;
+ }
+
+ result &=partResult;
+ log.println("\t works: "+partResult);
+ } else {
+ int curValBase = getIntegerValue(val);
+ Object valAnotherFromGroup = anotherFromGroup.getCurrentValue();
+ int curValAnother = getIntegerValue(valAnotherFromGroup);
+ log.println("Current value of base component: " + curValBase);
+ log.println("Current value of another component from group: " +
+ curValAnother);
+ log.println("Set value of base component to " + curValAnother);
+ if (tEnv.getTestCase().getObjectName().equals("AccessibleRadioButton")) {
+ anotherFromGroup.setCurrentValue(Integer.valueOf(curValBase));
+ } else {
+ oObj.setCurrentValue(valAnotherFromGroup);
+ }
+ log.println("Checking of values...");
+ int newValBase = getIntegerValue(oObj.getCurrentValue());
+ int newValAnother = getIntegerValue(
+ anotherFromGroup.getCurrentValue());
+ log.println("New value of base component: " + newValBase);
+ log.println("Expected value of base component: " + curValAnother);
+ log.println("New value of another component from group: " +
+ newValAnother);
+ log.println("Expected value of another component from group: " +
+ curValBase);
+
+ result = (newValBase == curValAnother) &&
+ (newValAnother == curValBase);
+ }
+
+ tRes.tested("setCurrentValue()", result);
+ }
+
+ /**
+ * Gets and stores maximal value. <p>
+ *
+ * Has <b> OK </b> status if non empty value returned and
+ * Max value is greater than Min value.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMinimumValue() </code> : to compare with </li>
+ * </ul>
+ */
+ public void _getMaximumValue() {
+ requiredMethod("getMinimumValue()");
+
+ boolean result = true ;
+
+ Object val = oObj.getMaximumValue();
+ if (util.utils.isVoid(val)) {
+ maxVal = Double.MAX_VALUE ;
+ result = false;
+ } else {
+ maxVal = getDoubleValue(val);
+ }
+ log.println("Max is " + val.getClass()+ " = " + maxVal);
+
+ result &= maxVal >= minVal;
+
+ tRes.tested("getMaximumValue()", result) ;
+ }
+
+ /**
+ * Gets and stores minimal value. <p>
+ *
+ * Has <b> OK </b> status if non empty value returned. <p>
+ *
+ */
+ public void _getMinimumValue() {
+ boolean result = true ;
+
+ Object val = oObj.getMinimumValue() ;
+ if (util.utils.isVoid(val)) {
+ minVal = - Double.MAX_VALUE ;
+ result = false;
+ } else {
+ minVal = getDoubleValue(val);
+ }
+ log.println("Min is " + val.getClass()+ " = " + minVal);
+
+ tRes.tested("getMinimumValue()", result) ;
+ }
+
+ private int getIntegerValue(Object val) {
+ if (val instanceof Integer) {
+ return ((Integer) val).intValue();
+ } else {
+ throw new StatusException
+ (Status.failed("Unexpected value type: " + val.getClass()));
+ }
+ }
+
+ private double getDoubleValue(Object val) {
+ if (val instanceof Integer) {
+ return ((Integer) val).doubleValue();
+ }
+ else if (val instanceof Short) {
+ return ((Short) val).doubleValue();
+ }
+ else if (val instanceof Float) {
+ return ((Float) val).doubleValue();
+ }
+ else if (val instanceof Double) {
+ return ((Double) val).doubleValue();
+ }
+ else if (util.utils.isVoid(val)) {
+ return Double.NaN;
+ }
+ else {
+ throw new StatusException
+ (Status.failed("Undetected value type: " + val.getClass()));
+ }
+ }
+
+ private Object getObjectValue(double val, Class<?> clazz) {
+ if (clazz.equals(Integer.class)) {
+ return Integer.valueOf((int)val);
+ }
+ else if (clazz.equals(Short.class)) {
+ return Short.valueOf((short)val);
+ }
+ else if (clazz.equals(Float.class)) {
+ return new Float((float)val);
+ }
+ else if (clazz.equals(Double.class)) {
+ return new Double(val);
+ }
+ else {
+ throw new StatusException
+ (Status.failed("Unexpected class: " + clazz));
+ }
+ }
+
+ /**
+ * Disposes test environment.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlButtonModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlButtonModel.java
new file mode 100644
index 000000000..93d2063d5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlButtonModel.java
@@ -0,0 +1,115 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+
+/*
+* Testing <code>com.sun.star.awt.UnoControlButtonModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> DefaultButton</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Label</code></li>
+* <li><code> Printable</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* @see com.sun.star.awt.UnoControlButtonModel
+*/
+public class _UnoControlButtonModel extends MultiPropertyTest {
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, Integer.valueOf(17)))
+ return Integer.valueOf(25);
+ else
+ return Integer.valueOf(17);
+ }
+ };
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester BoolTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, Boolean.TRUE))
+ return Boolean.FALSE;
+ else
+ return Boolean.TRUE;
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BackgroundColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackgroundColor", ColorTester) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextColor", ColorTester) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("Tabstop", BoolTester) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _PushButtonType() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("PushButtonType",
+ Short.valueOf((short)0), Short.valueOf((short)1));
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlCheckBoxModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlCheckBoxModel.java
new file mode 100644
index 000000000..74906e8bf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlCheckBoxModel.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlCheckBoxModel</code>
+* service properties :
+* <ul>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Label</code></li>
+* <li><code> Printable</code></li>
+* <li><code> State</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> TriState</code></li>
+* </ul>
+* @see com.sun.star.awt.UnoControlCheckBoxModel
+*/
+public class _UnoControlCheckBoxModel extends MultiPropertyTest {
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, Integer.valueOf(17)))
+ return Integer.valueOf(25);
+ else
+ return Integer.valueOf(17);
+ }
+ };
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ if (utils.isVoid(old)) return Boolean.TRUE ;
+ else return null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ if (utils.isVoid(old)) return Integer.valueOf(12345) ;
+ else return null ;
+ }
+ }) ;
+ }
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlComboBoxModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlComboBoxModel.java
new file mode 100644
index 000000000..7e3202eba
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlComboBoxModel.java
@@ -0,0 +1,134 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/*
+* Testing <code>com.sun.star.awt.UnoControlComboBoxModel</code>
+* service properties :
+* <ul>
+* <li><code> Autocomplete</code></li>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Dropdown</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> LineCount</code></li>
+* <li><code> MaxTextLen</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> StringItemList</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> Text</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* @see com.sun.star.awt.UnoControlComboBoxModel
+*/
+public class _UnoControlComboBoxModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Boolean.TRUE : null ;
+ }
+ }) ;
+ }
+
+ public void _Text() {
+ try {
+ oObj.setPropertyValue("MaxTextLen",Short.valueOf((short)0));
+ } catch (com.sun.star.beans.UnknownPropertyException ue) {
+ } catch (com.sun.star.beans.PropertyVetoException pe) {
+ } catch (com.sun.star.lang.IllegalArgumentException ie) {
+ } catch (com.sun.star.lang.WrappedTargetException we) {
+ }
+ testProperty("Text");
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, Integer.valueOf(17)))
+ return Integer.valueOf(25);
+ else
+ return Integer.valueOf(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+
+} //EOF UnoControlComboBoxModel
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlContainerModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlContainerModel.java
new file mode 100644
index 000000000..a57e92986
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlContainerModel.java
@@ -0,0 +1,64 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+
+/*
+* Testing <code>com.sun.star.awt.UnoControlButtonModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Printable</code></li>
+* <li><code> Text</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* </ul>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.awt.UnoControlContainerModel
+*/
+public class _UnoControlContainerModel extends MultiPropertyTest {
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, Integer.valueOf(17)))
+ return Integer.valueOf(25);
+ else
+ return Integer.valueOf(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BackgroundColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackgroundColor", ColorTester) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlCurrencyFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlCurrencyFieldModel.java
new file mode 100644
index 000000000..a4daa1315
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlCurrencyFieldModel.java
@@ -0,0 +1,130 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlCurrencyFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> CurrencySymbol</code></li>
+* <li><code> DecimalAccuracy</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> ShowThousandsSeparator</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Spin</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> Value</code></li>
+* <li><code> ValueMax</code></li>
+* <li><code> ValueMin</code></li>
+* <li><code> ValueStep</code></li>
+* </ul>
+* @see com.sun.star.awt.UnoControlCurrencyFieldModel
+*/
+public class _UnoControlCurrencyFieldModel extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(6543) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? Boolean.TRUE : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(123) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(123) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Value() {
+ testProperty("Value", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? new Double(777) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlDateFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlDateFieldModel.java
new file mode 100644
index 000000000..e0918f9e9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlDateFieldModel.java
@@ -0,0 +1,170 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/*
+* Testing <code>com.sun.star.awt.UnoControlDateFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> Date</code></li>
+* <li><code> DateMax</code></li>
+* <li><code> DateMin</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> DateFormat</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Spin</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlDateFieldModel
+*/
+public class _UnoControlDateFieldModel extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(6543) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Date() {
+ testProperty("Date", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(6543) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? Boolean.TRUE : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(123) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, Integer.valueOf(17)))
+ return Integer.valueOf(25);
+ else
+ return Integer.valueOf(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+
+ public void _DateShowCentury() {
+ boolean res = false;
+ try {
+ util.dbg.printPropertyInfo(oObj,"DateShowCentury",log);
+ Object oDsc = oObj.getPropertyValue("DateShowCentury");
+ Boolean dsc = null;
+ if (util.utils.isVoid(oDsc)) {
+ log.println("Property is void, set it to true");
+ dsc = Boolean.TRUE;
+ } else {
+ dsc = (Boolean) oDsc;
+ dsc = Boolean.valueOf(!dsc.booleanValue());
+ log.println("Setting property to "+dsc);
+ }
+ oObj.setPropertyValue("DateShowCentury",dsc);
+ Boolean getdsc = (Boolean) oObj.getPropertyValue("DateShowCentury");
+ log.println("Getting value "+getdsc);
+ res = dsc.equals(getdsc);
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Don't know the Property 'DateShowCentury'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while getting Property 'DateShowCentury'");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("IllegalArgumentException while getting Property 'DateShowCentury'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException while getting Property 'DateShowCentury'");
+ }
+ tRes.tested("DateShowCentury",res);
+
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlDialogElement.java b/qadevOOo/tests/java/ifc/awt/_UnoControlDialogElement.java
new file mode 100644
index 000000000..b37432138
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlDialogElement.java
@@ -0,0 +1,26 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+
+public class _UnoControlDialogElement extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlDialogModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlDialogModel.java
new file mode 100644
index 000000000..e3fbbed11
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlDialogModel.java
@@ -0,0 +1,81 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlDialogModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Title</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> Sizeable</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlDialogModel
+*/
+public class _UnoControlDialogModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlEditModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlEditModel.java
new file mode 100644
index 000000000..6d2617ccb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlEditModel.java
@@ -0,0 +1,126 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlEditModel</code>
+* service properties :
+* <ul>
+* <li><code> Align</code></li>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> EchoChar</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> HardLineBreaks</code></li>
+* <li><code> HScroll</code></li>
+* <li><code> MaxTextLen</code></li>
+* <li><code> MultiLine</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> Text</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> VScroll</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlEditModel
+*/
+public class _UnoControlEditModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Boolean.TRUE : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, Integer.valueOf(17)))
+ return Integer.valueOf(25);
+ else
+ return Integer.valueOf(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlFileControlModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlFileControlModel.java
new file mode 100644
index 000000000..3226f392a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlFileControlModel.java
@@ -0,0 +1,113 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlFileControlModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* <li><code> FontEmphasisMark</code></li>
+* <li><code> FontRelief</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Printable</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> Text</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> TextLineColor</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlFileControlModel
+*/
+public class _UnoControlFileControlModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Boolean.TRUE : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlFixedLineModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlFixedLineModel.java
new file mode 100644
index 000000000..bea4e906f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlFixedLineModel.java
@@ -0,0 +1,69 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlFixedLineModel</code>
+* service properties :
+* <ul>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* <li><code> Label</code></li>
+* <li><code> Orientation</code></li>
+* <li><code> Printable</code></li>
+* <li><code> TextColor</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlFixedLineModel
+*/
+public class _UnoControlFixedLineModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlFixedTextModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlFixedTextModel.java
new file mode 100644
index 000000000..3b2ed525f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlFixedTextModel.java
@@ -0,0 +1,106 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlFixedTextModel</code>
+* service properties :
+* <ul>
+* <li><code> Align</code></li>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Label</code></li>
+* <li><code> MultiLine</code></li>
+* <li><code> Printable</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlFixedTextModel
+*/
+public class _UnoControlFixedTextModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, Integer.valueOf(17)))
+ return Integer.valueOf(25);
+ else
+ return Integer.valueOf(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlFormattedFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlFormattedFieldModel.java
new file mode 100644
index 000000000..3538eb6af
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlFormattedFieldModel.java
@@ -0,0 +1,254 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlFormattedFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> Align</code></li>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> EffectiveDefault</code></li>
+* <li><code> EffectiveMax</code></li>
+* <li><code> EffectiveMin</code></li>
+* <li><code> EffectiveValue</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> FormatKey</code></li>
+* <li><code> FormatsSupplier</code></li>
+* <li><code> MaxTextLen</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Spin</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> Text</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlFormattedFieldModel
+*/
+public class _UnoControlFormattedFieldModel extends MultiPropertyTest {
+
+ /**
+ * Redefined method must return a valid service name, that differs from
+ * name exists.
+ *
+ */
+ protected PropertyTester ControlTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue,
+ "com.sun.star.form.control.FormattedField"))
+ return "com.sun.star.awt.UnoControlFormattedField";
+ else
+ return "com.sun.star.form.control.FormattedField";
+ }
+ };
+
+ /**
+ * This property must contain a valid service name.
+ */
+ public void _DefaultControl() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("DefaultControl", ControlTester) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? Integer.valueOf(123) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? Integer.valueOf(123) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? Integer.valueOf(123) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _EffectiveDefault() {
+ testProperty("EffectiveDefault", new Double(5.8),new Double(2.3)) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _EffectiveValue() {
+ testProperty("EffectiveValue", new Double(5.8),new Double(2.3)) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _EffectiveMax() {
+ testProperty("EffectiveMax", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? new Double(123.8) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _FormatsSupplier() {
+ testProperty("FormatsSupplier", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object v) {
+ Object newValue = null;
+ try {
+ newValue = tParam.getMSF().createInstance(
+ "com.sun.star.util.NumberFormatsSupplier");
+ } catch (com.sun.star.uno.Exception e) {
+ System.out.println("caught exception: " + e);
+ }
+ return newValue;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _EffectiveMin() {
+ testProperty("EffectiveMin", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? new Double(0.1) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _FormatKey() {
+ testProperty("FormatKey", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? Integer.valueOf(0) :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _StrictFromat() {
+ testProperty("StrictFromat", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? Boolean.TRUE :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? Boolean.TRUE :
+ null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Text() {
+ testProperty("Text", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? "UnoControlFormattedFieldModel" :
+ super.getNewValue(p,v) ;
+ }
+ }) ;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlGroupBoxModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlGroupBoxModel.java
new file mode 100644
index 000000000..0b4899d8b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlGroupBoxModel.java
@@ -0,0 +1,78 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlGroupBoxModel</code>
+* service properties :
+* <ul>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Label</code></li>
+* <li><code> Printable</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlGroupBoxModel
+*/
+public class _UnoControlGroupBoxModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, Integer.valueOf(17)))
+ return Integer.valueOf(25);
+ else
+ return Integer.valueOf(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlImageControlModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlImageControlModel.java
new file mode 100644
index 000000000..8b58c6284
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlImageControlModel.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlImageControlModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor </code></li>
+* <li><code> Border </code></li>
+* <li><code> DefaultControl </code></li>
+* <li><code> Enabled </code></li>
+* <li><code> ImageURL </code></li>
+* <li><code> Printable </code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlImageControlModel
+*/
+public class _UnoControlImageControlModel extends MultiPropertyTest {
+
+ /**
+ * Custom <code>PropertyTester</code> used in <code>ImageURL</code> test.
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg");
+ else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ } ;
+
+ /**
+ * Test changes one image URL onto another.
+ */
+ public void _ImageURL() {
+ testProperty("ImageURL", URLTester) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ return utils.isVoid(oldValue) ? Integer.valueOf(8945) :
+ super.getNewValue(propName, oldValue) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object v) {
+ return utils.isVoid(v) ? Boolean.TRUE :
+ null ;
+ }
+ }) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlListBoxModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlListBoxModel.java
new file mode 100644
index 000000000..4c9b682f1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlListBoxModel.java
@@ -0,0 +1,122 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlListBoxModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Dropdown</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> LineCount</code></li>
+* <li><code> MultiSelection</code></li>
+* <li><code> Printable</code></li>
+* <li><code> SelectedItems</code></li>
+* <li><code> StringItemList</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* Almost all properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlListBoxModel
+*/
+public class _UnoControlListBoxModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Boolean.TRUE : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, Integer.valueOf(17)))
+ return Integer.valueOf(25);
+ else
+ return Integer.valueOf(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlModel.java
new file mode 100644
index 000000000..3ce601dd4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlModel.java
@@ -0,0 +1,26 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+
+public class _UnoControlModel extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlNumericFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlNumericFieldModel.java
new file mode 100644
index 000000000..218696664
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlNumericFieldModel.java
@@ -0,0 +1,130 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlNumericFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DecimalAccuracy</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> ShowThousandsSeparator</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Spin</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> Value</code></li>
+* <li><code> ValueMax</code></li>
+* <li><code> ValueMin</code></li>
+* <li><code> ValueStep</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlNumericFieldModel
+*/
+public class _UnoControlNumericFieldModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Boolean.TRUE : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Value() {
+ testProperty("Value", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? new Double(234.89) :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlPatternFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlPatternFieldModel.java
new file mode 100644
index 000000000..cd1814f30
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlPatternFieldModel.java
@@ -0,0 +1,112 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlPatternFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> EditMask</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> LiteralMask</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> Text</code></li>
+* <li><code> TextColor</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlPatternFieldModel
+*/
+public class _UnoControlPatternFieldModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Boolean.TRUE : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlProgressBarModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlProgressBarModel.java
new file mode 100644
index 000000000..9e998c854
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlProgressBarModel.java
@@ -0,0 +1,84 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlProgressBarModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FillColor</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ProgressValue</code></li>
+* <li><code> ProgressValueMax</code></li>
+* <li><code> ProgressValueMin</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlProgressBarModel
+*/
+public class _UnoControlProgressBarModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _FillColor() {
+ testProperty("FillColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _ProgressValue() {
+ testProperty("ProgressValue", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(10) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlRadioButtonModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlRadioButtonModel.java
new file mode 100644
index 000000000..373c2f603
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlRadioButtonModel.java
@@ -0,0 +1,103 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlRadioButtonModel</code>
+* service properties :
+* <ul>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Label</code></li>
+* <li><code> Printable</code></li>
+* <li><code> State</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlRadioButtonModel
+*/
+public class _UnoControlRadioButtonModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Boolean.TRUE : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester ColorTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (util.ValueComparer.equalValue(oldValue, Integer.valueOf(17)))
+ return Integer.valueOf(25);
+ else
+ return Integer.valueOf(17);
+ }
+ };
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextLineColor() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextLineColor", ColorTester) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlScrollBarModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlScrollBarModel.java
new file mode 100644
index 000000000..cc083692f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlScrollBarModel.java
@@ -0,0 +1,111 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlScrollBarModel</code>
+* service properties :
+* <ul>
+* <li><code> BlockIncrement</code></li>
+* <li><code> Border</code></li>
+* <li><code> DefaultControl</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* <li><code> LineIncrement</code></li>
+* <li><code> Orientation</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ScrollValue</code></li>
+* <li><code> ScrollValueMax</code></li>
+* <li><code> VisibleSize</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlScrollBarModel
+*/
+public class _UnoControlScrollBarModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(32768) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _SymbolColor() {
+ testProperty("SymbolColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(65324) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _ScrollValue() {
+ testProperty("ScrollValue", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(10) : Integer.valueOf(15) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _VisibleSize() {
+ testProperty("VisibleSize", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(10) : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlSpinButtonModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlSpinButtonModel.java
new file mode 100644
index 000000000..2aa70a45c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlSpinButtonModel.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+public class _UnoControlSpinButtonModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(32768) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _SymbolColor() {
+ testProperty("SymbolColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(65324) : null ;
+ }
+ }) ;
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/awt/_UnoControlTimeFieldModel.java b/qadevOOo/tests/java/ifc/awt/_UnoControlTimeFieldModel.java
new file mode 100644
index 000000000..fcc6b7246
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_UnoControlTimeFieldModel.java
@@ -0,0 +1,134 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+
+/**
+* Testing <code>com.sun.star.awt.UnoControlTimeFieldModel</code>
+* service properties :
+* <ul>
+* <li><code> BackgroundColor</code></li>
+* <li><code> Border</code></li>
+* <li><code> HelpText</code></li>
+* <li><code> HelpURL</code></li>
+* <li><code> FontEmphasisMark</code></li>
+* <li><code> FontRelief</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> TimeFormat</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> Printable</code></li>
+* <li><code> ReadOnly</code></li>
+* <li><code> Spin</code></li>
+* <li><code> StrictFormat</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* <li><code> TextLineColor</code></li>
+* <li><code> Time</code></li>
+* <li><code> TimeFormat</code></li>
+* <li><code> TimeMax</code></li>
+* <li><code> TimeMin</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.awt.UnoControlTimeFieldModel
+*/
+public class _UnoControlTimeFieldModel extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BackgroundColor() {
+ testProperty("BackgroundColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(1234) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) : null ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Time() {
+ testProperty("Time", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Boolean.TRUE : null ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XButton.java b/qadevOOo/tests/java/ifc/awt/_XButton.java
new file mode 100644
index 000000000..4cd436481
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XButton.java
@@ -0,0 +1,103 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XButton;
+
+/**
+* Testing <code>com.sun.star.awt.XButton</code>
+* interface methods :
+* <ul>
+* <li><code> addActionListener()</code></li>
+* <li><code> removeActionListener()</code></li>
+* <li><code> setLabel()</code></li>
+* <li><code> setActionCommand()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XButton
+*/
+public class _XButton extends MultiMethodTest {
+
+ public XButton oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected static class TestActionListener implements com.sun.star.awt.XActionListener {
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ }
+
+ public void actionPerformed(com.sun.star.awt.ActionEvent e) {}
+ }
+
+ TestActionListener listener = new TestActionListener() ;
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addActionListener() {
+
+ boolean result = true ;
+ oObj.addActionListener(listener) ;
+
+ tRes.tested("addActionListener()", result) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeActionListener() {
+
+ boolean result = true ;
+ oObj.removeActionListener(listener) ;
+
+ tRes.tested("removeActionListener()", result) ;
+ }
+
+ /**
+ * Just sets some text for label. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _setLabel() {
+
+ boolean result = true ;
+ oObj.setLabel("XButton Label") ;
+
+ tRes.tested("setLabel()", result) ;
+ }
+
+ /**
+ * Just sets some command for button. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _setActionCommand() {
+
+ boolean result = true ;
+ oObj.setActionCommand("XButtonCommand") ;
+
+ tRes.tested("setActionCommand()", result) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XCheckBox.java b/qadevOOo/tests/java/ifc/awt/_XCheckBox.java
new file mode 100644
index 000000000..06073680e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XCheckBox.java
@@ -0,0 +1,135 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XCheckBox;
+
+/**
+* Testing <code>com.sun.star.awt.XCheckBox</code>
+* interface methods :
+* <ul>
+* <li><code> addItemListener()</code></li>
+* <li><code> removeItemListener()</code></li>
+* <li><code> getState()</code></li>
+* <li><code> setState()</code></li>
+* <li><code> setLabel()</code></li>
+* <li><code> enableTriState()</code></li>
+* </ul> <p>
+*
+* @see com.sun.star.awt.XCheckBox
+*/
+public class _XCheckBox extends MultiMethodTest {
+
+ public XCheckBox oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected static class TestItemListener implements com.sun.star.awt.XItemListener {
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ }
+
+ public void itemStateChanged(com.sun.star.awt.ItemEvent e) {}
+ }
+ TestItemListener listener = new TestItemListener() ;
+ short state = -1 ;
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addItemListener() {
+
+ boolean result = true ;
+ oObj.addItemListener(listener) ;
+ tRes.tested("addItemListener()", result) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeItemListener() {
+
+ boolean result = true ;
+ oObj.removeItemListener(listener) ;
+
+ tRes.tested("removeItemListener()", result) ;
+ }
+
+ /**
+ * Just retrieves current state and stores it. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurs.
+ */
+ public void _getState() {
+
+ boolean result = true ;
+ state = oObj.getState() ;
+
+ tRes.tested("getState()", result) ;
+ }
+
+ /**
+ * Sets a new value and then checks get value. <p>
+ * Has <b>OK</b> status if set and get values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getState </code> </li>
+ * </ul>
+ */
+ public void _setState() {
+ requiredMethod("getState()") ;
+
+ boolean result = true ;
+ short newState = state == 0 ? (short)1 : (short)0 ;
+ oObj.setState(newState) ;
+ result = newState == oObj.getState() ;
+
+ tRes.tested("setState()", result) ;
+ }
+
+ /**
+ * Just sets some text for label. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurs.
+ */
+ public void _setLabel() {
+
+ boolean result = true ;
+ oObj.setLabel("XCheckBox test") ;
+
+ tRes.tested("setLabel()", result) ;
+ }
+
+ /**
+ * Just enables tristate. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurs.
+ */
+ public void _enableTriState() {
+
+ boolean result = true ;
+ oObj.enableTriState(true) ;
+
+ tRes.tested("enableTriState()", result) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XComboBox.java b/qadevOOo/tests/java/ifc/awt/_XComboBox.java
new file mode 100644
index 000000000..37bf4e324
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XComboBox.java
@@ -0,0 +1,262 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.awt.XComboBox;
+
+/**
+* Testing <code>com.sun.star.awt.XComboBox</code>
+* interface methods :
+* <ul>
+* <li><code> addItemListener()</code></li>
+* <li><code> removeItemListener()</code></li>
+* <li><code> addActionListener()</code></li>
+* <li><code> removeActionListener()</code></li>
+* <li><code> addItem()</code></li>
+* <li><code> addItems()</code></li>
+* <li><code> removeItems()</code></li>
+* <li><code> getItemCount()</code></li>
+* <li><code> getItem()</code></li>
+* <li><code> getItems()</code></li>
+* <li><code> getDropDownLineCount()</code></li>
+* <li><code> setDropDownLineCount()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XComboBox
+*/
+public class _XComboBox extends MultiMethodTest {
+
+ public XComboBox oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected static class TestActionListener
+ implements com.sun.star.awt.XActionListener {
+
+ public void disposing(com.sun.star.lang.EventObject e) {}
+
+ public void actionPerformed(com.sun.star.awt.ActionEvent e) {}
+ }
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected static class TestItemListener
+ implements com.sun.star.awt.XItemListener {
+
+ public void disposing(com.sun.star.lang.EventObject e) {}
+
+ public void itemStateChanged(com.sun.star.awt.ItemEvent e) {}
+ }
+ private final TestActionListener actionListener = new TestActionListener();
+ private final TestItemListener itemListener = new TestItemListener();
+ short lineCount = 0;
+ short itemCount = 0;
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addItemListener() {
+
+ oObj.addItemListener(itemListener);
+
+ tRes.tested("addItemListener()", Status.skipped(true));
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeItemListener() {
+ requiredMethod("addItemListener()");
+
+ oObj.removeItemListener(itemListener);
+
+ tRes.tested("removeItemListener()", Status.skipped(true));
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addActionListener() {
+
+ oObj.addActionListener(actionListener);
+
+ tRes.tested("addActionListener()", Status.skipped(true));
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeActionListener() {
+ requiredMethod("addActionListener()");
+
+ oObj.removeActionListener(actionListener);
+
+ tRes.tested("removeActionListener()", Status.skipped(true));
+ }
+
+ /**
+ * Adds one item to the last position and check the number of
+ * items after addition. <p>
+ * Has <b>OK</b> status if the number of items increased by 1.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getItemCount </code> </li>
+ * </ul>
+ */
+ public void _addItem() {
+ requiredMethod("getItemCount()");
+
+ boolean result = true;
+ oObj.addItem("Item1", itemCount);
+ result = oObj.getItemCount() == itemCount + 1;
+
+ tRes.tested("addItem()", result);
+ }
+
+ /**
+ * Adds one two items to the last position and check the number of
+ * items after addition. <p>
+ * Has <b>OK</b> status if the number of items increased by 2.<p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItem </code> </li>
+ * </ul>
+ */
+ public void _addItems() {
+ executeMethod("addItem()");
+
+ boolean result = true;
+ short oldCnt = oObj.getItemCount();
+ oObj.addItems(new String[] { "Item2", "Item3" }, oldCnt);
+ result = oObj.getItemCount() == oldCnt + 2;
+
+ tRes.tested("addItems()", result);
+ }
+
+ /**
+ * Gets the current number of items and tries to remove them all
+ * then checks number of items. <p>
+ * Has <b>OK</b> status if no items remains. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getItems </code> </li>
+ * <li> <code> getItem </code> </li>
+ * </ul>
+ */
+ public void _removeItems() {
+ executeMethod("getItems()");
+ executeMethod("getItem()");
+
+ boolean result = true;
+ short oldCnt = oObj.getItemCount();
+ oObj.removeItems((short) 0, oldCnt);
+ result = oObj.getItemCount() == 0;
+
+ tRes.tested("removeItems()", result);
+ }
+
+ /**
+ * Just retrieves current number of items and stores it. <p>
+ * Has <b>OK</b> status if the count is not less than 0.
+ */
+ public void _getItemCount() {
+
+ itemCount = oObj.getItemCount();
+
+ tRes.tested("getItemCount()", itemCount >= 0);
+ }
+
+ /**
+ * After <code>addItem</code> and <code>addItems</code> methods
+ * test the following items must exist {..., "Item1", "Item2", "Item3"}
+ * Retrieves the item from the position which was ititially the last.<p>
+ * Has <b>OK</b> status if the "Item1" was retrieved. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItems </code> </li>
+ * </ul>
+ */
+ public void _getItem() {
+ requiredMethod("addItems()");
+
+ boolean result = true;
+ String item = oObj.getItem(itemCount);
+ result = "Item1".equals(item);
+
+ tRes.tested("getItem()", result);
+ }
+
+ /**
+ * After <code>addItem</code> and <code>addItems</code> methods
+ * test the following items must exist {..., "Item1", "Item2", "Item3"}
+ * Retrieves all items. <p>
+ * Has <b>OK</b> status if the last three items retrieved are
+ * "Item1", "Item2" and "Item3". <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItems </code> </li>
+ * </ul>
+ */
+ public void _getItems() {
+ requiredMethod("addItems()");
+
+ boolean result = true;
+ String[] items = oObj.getItems();
+ for (int i = itemCount; i < (itemCount + 3); i++) {
+ result &= ("Item" + (i + 1)).equals(items[i]);
+ }
+
+ tRes.tested("getItems()", result);
+ }
+
+ /**
+ * Gets line count and stores it. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getDropDownLineCount() {
+
+ boolean result = true;
+ lineCount = oObj.getDropDownLineCount();
+
+ tRes.tested("getDropDownLineCount()", result);
+ }
+
+ /**
+ * Sets a new value and then checks get value. <p>
+ * Has <b>OK</b> status if set and get values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDropDownLineCount </code> </li>
+ * </ul>
+ */
+ public void _setDropDownLineCount() {
+ requiredMethod("getDropDownLineCount()");
+
+ boolean result = true;
+ oObj.setDropDownLineCount((short) (lineCount + 1));
+ result = oObj.getDropDownLineCount() == lineCount + 1;
+
+ tRes.tested("setDropDownLineCount()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XControl.java b/qadevOOo/tests/java/ifc/awt/_XControl.java
new file mode 100644
index 000000000..ffb9bcbaa
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XControl.java
@@ -0,0 +1,213 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XView;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.awt.XControl</code>
+* interface methods:
+* <ul>
+* <li><code> setContext() </code></li>
+* <li><code> getContext() </code></li>
+* <li><code> createPeer() </code></li>
+* <li><code> getPeer() </code></li>
+* <li><code> setModel() </code></li>
+* <li><code> getModel() </code></li>
+* <li><code> setDesignMode() </code></li>
+* <li><code> isDesignMode() </code></li>
+* <li><code> isTransparent() </code></li>
+* <li><code> getView() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CONTEXT'</code> (of type <code>XInterface</code>):
+* used as a parameter to setContext() and for testing getContext().</li>
+* <li> <code>'WINPEER'</code> (of type <code>XWindowPeer</code>):
+* used as a parameter to createPeer() and for testing getPeer()</li>
+* <li> <code>'TOOLKIT'</code> (of type <code>XToolkit</code>):
+* used as a parameter to createPeer()</li>
+* <li> <code>'MODEL'</code> (of type <code>XControlModel</code>):
+* used as a parameter to setModel() and for testing getModel()</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XControl
+*/
+public class _XControl extends MultiMethodTest {
+ public XControl oObj = null;
+ public XControlModel aModel = null;
+ public boolean desMode;
+
+ /**
+ * After test calls the method, the Context is set to a corresponding
+ * object relation.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _setContext() {
+ XInterface cont = (XInterface) tEnv.getObjRelation("CONTEXT");
+ oObj.setContext(cont);
+ tRes.tested("setContext()",true);
+ }
+
+ /**
+ * After test calls the method, the Context is gotten and compared
+ * with object relation 'CONTEXT'.<p>
+ * Has <b> OK </b> status if get value is equals to value set before.<p>
+ * The following method tests are to be completed successfully before:
+ * <ul>
+ * <li> <code> setContext() </code> : set Context to a corresponding
+ * object relation</li>
+ * </ul>
+ */
+ public void _getContext() {
+ requiredMethod("setContext()");
+ XInterface cont = (XInterface) tEnv.getObjRelation("CONTEXT");
+ Object get = oObj.getContext();
+ boolean res = get.equals(cont);
+ if (!res) {
+ log.println("!!! Error: getting: "+get.toString());
+ log.println("!!! expected: "+cont.toString());
+ }
+ tRes.tested("getContext()",res);
+ }
+
+
+ /**
+ * The objects needed to create peer are obtained
+ * from corresponding object relations, then the peer is created.
+ * <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _createPeer() {
+ XWindowPeer the_win = (XWindowPeer) tEnv.getObjRelation("WINPEER");
+ XToolkit the_kit = (XToolkit) tEnv.getObjRelation("TOOLKIT");
+ oObj.createPeer(the_kit,the_win);
+ tRes.tested("createPeer()",true);
+ }
+
+ /*
+ * Test calls the method. Then the object relation 'WINPEER' is
+ * obtained, and compared with the peer, gotten from (XControl) oObj
+ * variable.<p>
+ * Has <b> OK </b> status if peer gotten isn't null
+ * The following method tests are to be completed successfully before:
+ */
+ public void _getPeer() {
+ requiredMethod("createPeer()");
+ boolean res = false;
+ XWindowPeer get = oObj.getPeer();
+ if (get == null) {
+ log.println("The method 'getPeer' returns NULL");
+ } else {
+ res = true;
+ }
+ tRes.tested("getPeer()",res);
+ }
+
+
+ /**
+ * At first current model is obtained and saved to variable aModel.
+ * Then object relation 'MODEL' is gotten and test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setModel() {
+ aModel = oObj.getModel();
+ XControlModel the_model = (XControlModel) tEnv.getObjRelation("MODEL");
+ oObj.setModel(the_model);
+ tRes.tested("setModel()",true);
+ }
+
+ /**
+ * Test calls the method, then object relation 'MODEL' is gotten and
+ * compared with object returned by the method. Then previously saved
+ * value of model (aModel) restored to (XControl) oObj<p>
+ * Has <b> OK </b> status if models set and get are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setModel() </code> : setting model from corresponding
+ * object relation </li>
+ * </ul>
+ */
+ public void _getModel() {
+ requiredMethod("setModel()");
+ XControlModel the_model = (XControlModel) tEnv.getObjRelation("MODEL");
+ XControlModel get = oObj.getModel();
+ boolean res = get.equals(the_model);
+ if (!res) {
+ log.println("getting: "+get.toString());
+ log.println("expected: "+the_model.toString());
+ }
+ if (aModel != null) {
+ oObj.setModel(aModel);
+ }
+ tRes.tested("getModel()",res);
+ }
+
+ /**
+ * Test calls the method. Then mode is checked using isDesignMode().<p>
+ * Has <b> OK </b> status if mode is switched.
+ */
+ public void _setDesignMode() {
+ desMode = oObj.isDesignMode();
+ oObj.setDesignMode(!desMode);
+ tRes.tested("setDesignMode()",oObj.isDesignMode() == !desMode);
+ }
+
+ /**
+ * The mode is changed and result is checked.<p>
+ * Has <b> OK </b> status if the mode changed successfully.
+ */
+ public void _isDesignMode() {
+ requiredMethod("setDesignMode()");
+ oObj.setDesignMode(desMode);
+ tRes.tested("isDesignMode()", oObj.isDesignMode() == desMode);
+ }
+
+ /**
+ * Test calls the method.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _isTransparent() {
+ oObj.isTransparent();
+ tRes.tested("isTransparent()",true );
+ }
+
+ /**
+ * Test calls the method.<p>
+ * Has <b> OK </b> status if the method returns not null. <p>
+ */
+ public void _getView() {
+ XView the_view = oObj.getView();
+ tRes.tested("getView()", the_view != null);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XControlContainer.java b/qadevOOo/tests/java/ifc/awt/_XControlContainer.java
new file mode 100644
index 000000000..0c7e63620
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XControlContainer.java
@@ -0,0 +1,133 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+
+/**
+* Testing <code>com.sun.star.awt.XControlContainer</code>
+* interface methods:
+* <ul>
+* <li><code> setStatusText() </code></li>
+* <li><code> addControl() </code></li>
+* <li><code> removeControl() </code></li>
+* <li><code> getControl() </code></li>
+* <li><code> getControls() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CONTROL1'</code> (of type <code>XControl</code>):
+* used as a parameter to addControl(), getControl() and removeControl()</li>
+* <li> <code>'CONTROL2'</code> (of type <code>XControl</code>):
+* used as a parameter to addControl(), getControl() and removeControl()</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XControlContainer
+*/
+public class _XControlContainer extends MultiMethodTest {
+ public XControlContainer oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setStatusText() {
+ oObj.setStatusText("testing XControlContainer::setStatusText(String)");
+ tRes.tested("setStatusText()",true);
+ }
+
+ /**
+ * Test calls the method twice - two controls gotten from object relations
+ * 'CONTROL1' and 'CONTROL2' added to container.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _addControl() {
+ oObj.addControl("CONTROL1", (XControl)tEnv.getObjRelation("CONTROL1"));
+ oObj.addControl("CONTROL2", (XControl)tEnv.getObjRelation("CONTROL2"));
+ tRes.tested("addControl()",true);
+ }
+
+ /**
+ * Test calls the method with object relation 'CONTROL1' as a
+ * parameter. Then control gotten from container is checked, and if returned
+ * value is null then another control 'CONTROL2' is removed from container,
+ * otherwise returned value of method test is 'false'.<p>
+ * Has <b> OK </b> status if control is removed successfully.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addControl() </code> : adds control to a container </li>
+ * <li> <code> getControl() </code> : gets control from container </li>
+ * <li> <code> getControls() </code> : gets controls from container</li>
+ * </ul>
+ */
+ public void _removeControl() {
+ boolean result = true;
+
+ requiredMethod("addControl()");
+ requiredMethod("getControl()");
+ requiredMethod("getControls()");
+ oObj.removeControl( (XControl) tEnv.getObjRelation("CONTROL1") );
+ XControl ctrl = oObj.getControl("CONTROL1");
+ if (ctrl != null) {
+ result = false;
+ log.println("'removeControl()' fails; Control still exists");
+ } else {
+ oObj.removeControl( (XControl) tEnv.getObjRelation("CONTROL2") );
+ }
+ tRes.tested("removeControl()", result);
+ }
+
+ /**
+ * Test calls the method with 'CONTROL1' as a parameter, then we just
+ * compare returned object and object relation 'CONTROL1'.<p>
+ * Has <b> OK </b> status if value returned by the method is equal to
+ * a corresponding object relation.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addControl() </code> : adds control to a container </li>
+ * </ul>
+ */
+ public void _getControl() {
+ requiredMethod("addControl()");
+ XControl xCtrlComp = oObj.getControl("CONTROL1");
+ XControl xCl = (XControl) tEnv.getObjRelation("CONTROL1");
+ tRes.tested("getControl()", xCtrlComp.equals(xCl));
+ }
+
+ /**
+ * Test calls the method, then returned value is checked.<p>
+ * Has <b> OK </b> status if returned array consists of at least two
+ * elements.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addControl() </code> : adds control to a container </li>
+ * </ul>
+ */
+ public void _getControls() {
+ requiredMethod("addControl()");
+ XControl[] xCtrls = oObj.getControls();
+ tRes.tested("getControls()",xCtrls.length >= 2);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XCurrencyField.java b/qadevOOo/tests/java/ifc/awt/_XCurrencyField.java
new file mode 100644
index 000000000..beb74889d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XCurrencyField.java
@@ -0,0 +1,307 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XCurrencyField;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.XCurrencyField</code>
+* interface methods :
+* <ul>
+* <li><code> setValue()</code></li>
+* <li><code> getValue()</code></li>
+* <li><code> setMin()</code></li>
+* <li><code> getMin()</code></li>
+* <li><code> setMax()</code></li>
+* <li><code> getMax()</code></li>
+* <li><code> setFirst()</code></li>
+* <li><code> getFirst()</code></li>
+* <li><code> setLast()</code></li>
+* <li><code> getLast()</code></li>
+* <li><code> setSpinSize()</code></li>
+* <li><code> getSpinSize()</code></li>
+* <li><code> setDecimalDigits()</code></li>
+* <li><code> getDecimalDigits()</code></li>
+* <li><code> setStrictFormat()</code></li>
+* <li><code> isStrictFormat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XCurrencyField
+*/
+public class _XCurrencyField extends MultiMethodTest {
+
+ public XCurrencyField oObj = null;
+ private double val = 0;
+ private double min = 0;
+ private double max = 0;
+ private double first = 0;
+ private double last = 0;
+ private double spin = 0;
+ private short digits = 0;
+ private boolean strict = true;
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getValue </code> </li>
+ * </ul>
+ */
+ public void _setValue() {
+ requiredMethod("getValue()");
+
+ double value = val + 1.1;
+ oObj.setValue(value);
+ double ret = oObj.getValue();
+ boolean result = utils.approxEqual(ret, value);
+
+ tRes.tested("setValue()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getValue() {
+ val = oObj.getValue();
+
+ tRes.tested("getValue()", true);
+ }
+
+ /**
+ * Sets minimal value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMin </code> </li>
+ * </ul>
+ */
+ public void _setMin() {
+ requiredMethod("getMin()");
+
+ double value = min + 1.1;
+ oObj.setMin(value);
+ double ret = oObj.getMin();
+ boolean result = utils.approxEqual(ret, value);
+
+ tRes.tested("setMin()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getMin() {
+
+ boolean result = true;
+ min = oObj.getMin();
+
+ tRes.tested("getMin()", result);
+ }
+
+ /**
+ * Sets maximal value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMax </code> </li>
+ * </ul>
+ */
+ public void _setMax() {
+ requiredMethod("getMax()");
+
+ double value = max + 1.1;
+ oObj.setMax(value);
+ double ret = oObj.getMax();
+ boolean result = utils.approxEqual(ret, value);
+
+ tRes.tested("setMax()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getMax() {
+
+ boolean result = true;
+ max = oObj.getMax();
+
+ tRes.tested("getMax()", result);
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFirst </code> </li>
+ * </ul>
+ */
+ public void _setFirst() {
+ requiredMethod("getFirst()");
+
+ double value = first + 1.1;
+ oObj.setFirst(value);
+ double ret = oObj.getFirst();
+ boolean result = utils.approxEqual(ret, value);
+
+ tRes.tested("setFirst()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getFirst() {
+
+ boolean result = true;
+ first = oObj.getFirst();
+
+ tRes.tested("getFirst()", result);
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLast </code> </li>
+ * </ul>
+ */
+ public void _setLast() {
+ requiredMethod("getLast()");
+
+ double value = last + 1.1;
+ oObj.setLast(value);
+ double ret = oObj.getLast();
+ boolean result = utils.approxEqual(ret, value);
+
+ tRes.tested("setLast()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getLast() {
+
+ boolean result = true;
+ last = oObj.getLast();
+
+ tRes.tested("getLast()", result);
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSpinSize </code> </li>
+ * </ul>
+ */
+ public void _setSpinSize() {
+ requiredMethod("getSpinSize()");
+
+ double value = spin + 1.1;
+ oObj.setSpinSize(value);
+ double ret = oObj.getSpinSize();
+ boolean result = utils.approxEqual(ret, value);
+
+ tRes.tested("setSpinSize()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getSpinSize() {
+
+ boolean result = true;
+ spin = oObj.getSpinSize();
+
+ tRes.tested("getSpinSize()", result);
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDecimalDigits </code> </li>
+ * </ul>
+ */
+ public void _setDecimalDigits() {
+ requiredMethod("getDecimalDigits()");
+
+ boolean result = true;
+ oObj.setDecimalDigits((short) (digits + 1));
+
+ short res = oObj.getDecimalDigits();
+ result = res == (digits + 1);
+
+ tRes.tested("setDecimalDigits()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getDecimalDigits() {
+
+ boolean result = true;
+ digits = oObj.getDecimalDigits();
+
+ tRes.tested("getDecimalDigits()", result);
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isStrictFormat </code> </li>
+ * </ul>
+ */
+ public void _setStrictFormat() {
+ requiredMethod("isStrictFormat()");
+
+ boolean result = true;
+ oObj.setStrictFormat(!strict);
+ result = oObj.isStrictFormat() == !strict;
+
+ tRes.tested("setStrictFormat()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _isStrictFormat() {
+
+ boolean result = true;
+ strict = oObj.isStrictFormat();
+
+ tRes.tested("isStrictFormat()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XDataTransferProviderAccess.java b/qadevOOo/tests/java/ifc/awt/_XDataTransferProviderAccess.java
new file mode 100644
index 000000000..54c273a70
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XDataTransferProviderAccess.java
@@ -0,0 +1,127 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.awt.XDataTransferProviderAccess;
+import com.sun.star.awt.XWindow;
+import com.sun.star.datatransfer.clipboard.XClipboard;
+import com.sun.star.datatransfer.dnd.XDragGestureRecognizer;
+import com.sun.star.datatransfer.dnd.XDragSource;
+import com.sun.star.datatransfer.dnd.XDropTarget;
+
+/**
+* Testing <code>com.sun.star.awt.XDataTransferProviderAccess</code>
+* interface methods :
+* <ul>
+* <li><code> getDragGestureRecognizer()</code></li>
+* <li><code> getDragSource()</code></li>
+* <li><code> getDropTarget()</code></li>
+* <li><code> getClipboard()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDataTransferProviderAccess.XWindow'</code>
+* (of type <code>com.sun.star.awt.XWindow</code>):
+* this window must created by the Toolkit tested. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XDataTransferProviderAccess
+*/
+public class _XDataTransferProviderAccess extends MultiMethodTest {
+
+ public XDataTransferProviderAccess oObj = null;
+ protected XWindow win = null ;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ win = (XWindow) tEnv.getObjRelation
+ ("XDataTransferProviderAccess.XWindow") ;
+ if (win == null) throw new StatusException(Status.failed
+ ("Relation not found")) ;
+ }
+
+ /**
+ * Tries to get gesture recognizer for the window passed as
+ * relation. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned
+ */
+ public void _getDragGestureRecognizer() {
+
+ boolean result = true ;
+ XDragGestureRecognizer rec = oObj.getDragGestureRecognizer(win) ;
+
+ result = rec != null ;
+
+ tRes.tested("getDragGestureRecognizer()", result) ;
+ }
+
+ /**
+ * Tries to get drag source for the window passed as
+ * relation. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned
+ */
+ public void _getDragSource() {
+
+ boolean result = true ;
+ XDragSource src = oObj.getDragSource(win) ;
+
+ result = src != null ;
+
+ tRes.tested("getDragSource()", result) ;
+ }
+
+ /**
+ * Tries to get drop target for the window passed as
+ * relation. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned
+ */
+ public void _getDropTarget() {
+
+ boolean result = true ;
+ XDropTarget targ = oObj.getDropTarget(win) ;
+
+ result = targ != null ;
+
+ tRes.tested("getDropTarget()", result) ;
+ }
+
+ /**
+ * Tries to obtain default clipboard.<p>
+ * Has <b> OK </b> status if not <code>null</code> value returned.
+ */
+ public void _getClipboard() {
+
+ boolean result = true ;
+ XClipboard cb = oObj.getClipboard("") ;
+
+ result = cb != null ;
+
+ tRes.tested("getClipboard()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XDateField.java b/qadevOOo/tests/java/ifc/awt/_XDateField.java
new file mode 100644
index 000000000..c70d34ab1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XDateField.java
@@ -0,0 +1,332 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XDateField;
+import com.sun.star.util.Date;
+
+/**
+* Testing <code>com.sun.star.awt.XDateField</code>
+* interface methods :
+* <ul>
+* <li><code> setDate()</code></li>
+* <li><code> getDate()</code></li>
+* <li><code> setMin()</code></li>
+* <li><code> getMin()</code></li>
+* <li><code> setMax()</code></li>
+* <li><code> getMax()</code></li>
+* <li><code> setFirst()</code></li>
+* <li><code> getFirst()</code></li>
+* <li><code> setLast()</code></li>
+* <li><code> getLast()</code></li>
+* <li><code> setLongFormat()</code></li>
+* <li><code> isLongFormat()</code></li>
+* <li><code> setEmpty()</code></li>
+* <li><code> isEmpty()</code></li>
+* <li><code> setStrictFormat()</code></li>
+* <li><code> isStrictFormat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XDateField
+*/
+public class _XDateField extends MultiMethodTest {
+
+ public XDateField oObj = null;
+
+ private boolean strict = false ;
+ private boolean longFormat = false ;
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getTime </code> </li>
+ * </ul>
+ */
+ public void _setDate() {
+ requiredMethod("getDate()") ;
+
+ boolean result = true ;
+ oObj.setDate(new Date((short)1, (short)1, (short)1900)) ;
+ Date date = oObj.getDate();
+ result = date.Day == 1 && date.Month == 1 && date.Year == 1900;
+
+ if (! result ) {
+ System.out.println("getDate: " + oObj.getDate() + " , expected 1900-01-01");
+ }
+
+ tRes.tested("setDate()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getDate() {
+
+ boolean result = true ;
+ oObj.getDate() ;
+
+ tRes.tested("getDate()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMin </code> </li>
+ * </ul>
+ */
+ public void _setMin() {
+
+ boolean result = true ;
+ oObj.setMin(new Date((short)5, (short)2, (short)1963));
+ Date date = oObj.getMin();
+ result = date.Day == 5 && date.Month == 2 && date.Year == 1963;
+
+ tRes.tested("setMin()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getMin() {
+
+ boolean result = true ;
+ oObj.getMin() ;
+
+ tRes.tested("getMin()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMax </code> </li>
+ * </ul>
+ */
+ public void _setMax() {
+
+ boolean result = true ;
+ oObj.setMax(new Date((short)18, (short)9, (short)2117)) ;
+ Date date = oObj.getMax();
+ result = date.Day == 18 && date.Month == 9 && date.Year == 2117;
+
+ tRes.tested("setMax()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getMax() {
+
+ boolean result = true ;
+ oObj.getMax() ;
+
+ tRes.tested("getMax()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFirst </code> </li>
+ * </ul>
+ */
+ public void _setFirst() {
+
+ boolean result = true ;
+ oObj.setFirst(new Date((short)7, (short)12, (short)1972)) ;
+ Date date = oObj.getFirst();
+ result = date.Day == 7 && date.Month == 12 && date.Year == 1972;
+
+ if (!result) {
+ log.println("Set to " + 5118 + " but returned " + oObj.getFirst()) ;
+ }
+
+ tRes.tested("setFirst()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getFirst() {
+
+ boolean result = true ;
+ com.sun.star.util.Date val = oObj.getFirst() ;
+
+ log.println("getFirst() = " + val) ;
+
+ tRes.tested("getFirst()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLast </code> </li>
+ * </ul>
+ */
+ public void _setLast() {
+
+ boolean result = true ;
+ oObj.setLast(new Date((short)23, (short)8, (short)2053)) ;
+ Date date = oObj.getLast();
+ result = date.Day == 23 && date.Month == 8 && date.Year == 2053;
+
+ if (!result) {
+ log.println("Set to 2053-08-23 but returned " + oObj.getLast()) ;
+ }
+
+ tRes.tested("setLast()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getLast() {
+
+ boolean result = true ;
+ com.sun.star.util.Date val = oObj.getLast() ;
+
+ log.println("getLast() = " + val) ;
+
+ tRes.tested("getLast()", result) ;
+ }
+
+ /**
+ * Sets the value to empty. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTime </code> : value must be not empty </li>
+ * </ul>
+ */
+ public void _setEmpty() {
+ requiredMethod("setDate()") ;
+
+ boolean result = true ;
+ oObj.setEmpty() ;
+
+ tRes.tested("setEmpty()", result) ;
+ }
+
+ /**
+ * Checks if the field is empty. <p>
+ * Has <b> OK </b> status if the value is empty.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setEmpty() </code> </li>
+ * </ul>
+ */
+ public void _isEmpty() {
+ requiredMethod("setEmpty()") ;
+
+ boolean result = true ;
+ result = oObj.isEmpty() ;
+
+ tRes.tested("isEmpty()", result) ;
+ }
+
+ /**
+ * Checks strict state. <p>
+ * Has <b> OK </b> status if strict format is properly set.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isStrictFormat </code> </li>
+ * </ul>
+ */
+ public void _setStrictFormat() {
+ requiredMethod("isStrictFormat()") ;
+
+ boolean result = true ;
+ oObj.setStrictFormat(!strict) ;
+
+ result = oObj.isStrictFormat() == !strict ;
+
+ if (!result) {
+ log.println("Was '" + strict + "', set to '" + !strict +
+ "' but returned '" + oObj.isStrictFormat() + "'") ;
+ }
+
+ tRes.tested("setStrictFormat()", result) ;
+ }
+
+ /**
+ * Gets strict state and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _isStrictFormat() {
+
+ boolean result = true ;
+ strict = oObj.isStrictFormat() ;
+
+ tRes.tested("isStrictFormat()", result) ;
+ }
+
+
+ /**
+ * Checks long format state. <p>
+ * Has <b> OK </b> status if long format is properly set.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isLongFormat </code> </li>
+ * </ul>
+ */
+ public void _setLongFormat() {
+
+ boolean result = true ;
+ oObj.setLongFormat(!longFormat) ;
+
+ result = oObj.isLongFormat() == !longFormat ;
+
+ if (!result) {
+ log.println("Was '" + longFormat + "', set to '" + !longFormat +
+ "' but returned '" + oObj.isLongFormat() + "'") ;
+ }
+
+ tRes.tested("setLongFormat()", result) ;
+ }
+
+ /**
+ * Gets long format state and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _isLongFormat() {
+
+ boolean result = true ;
+ longFormat = oObj.isLongFormat() ;
+
+ tRes.tested("isLongFormat()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XDialog.java b/qadevOOo/tests/java/ifc/awt/_XDialog.java
new file mode 100644
index 000000000..65b4f47ae
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XDialog.java
@@ -0,0 +1,150 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XDialog;
+
+/**
+* Testing <code>com.sun.star.awt.XDialog</code>
+* interface methods :
+* <ul>
+* <li><code> setTitle()</code></li>
+* <li><code> getTitle()</code></li>
+* <li><code> execute()</code></li>
+* <li><code> endExecute()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.awt.XDialog
+*/
+public class _XDialog extends MultiMethodTest {
+
+ public XDialog oObj = null;
+
+ /**
+ * As <code>execute()</code> method is a blocking call,
+ * then it must be executed in a separate thread. This
+ * thread class just call <code>execute</code> method
+ * of tested object.
+ */
+ protected Thread execThread = new Thread(
+ new Runnable() {
+ public void run() {
+ oObj.execute() ;
+ }
+ }) ;
+
+ /**
+ * Sets the title to some string. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurs.
+ */
+ public void _setTitle() {
+
+ oObj.setTitle("XDialog test") ;
+
+ tRes.tested("setTitle()", true) ;
+ }
+
+ /**
+ * Gets the title and compares it to the value set in
+ * <code>setTitle</code> method test. <p>
+ * Has <b>OK</b> status is set/get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTitle </code> </li>
+ * </ul>
+ */
+ public void _getTitle() {
+ requiredMethod("setTitle()") ;
+
+ tRes.tested("getTitle()",
+ "XDialog test".equals(oObj.getTitle())) ;
+ }
+
+ /**
+ * Starts the execution of dialog in a separate thread.
+ * As this call is blocking then the thread execution
+ * must not be finished. <p>
+ * Has <b>OK</b> status if thread wasn't finished and
+ * no exceptions occurred.
+ */
+ public void _execute() {
+ boolean result = true ;
+
+ log.println("Starting execute() thread ...") ;
+ execThread.start() ;
+
+ try {
+ execThread.join(200) ;
+ } catch (InterruptedException e) {
+ log.println("execute() thread was interrupted") ;
+ result = false ;
+ }
+ result &= execThread.isAlive() ;
+
+ tRes.tested("execute()", result) ;
+ }
+
+ /**
+ * Calls the method and checks if the execution thread
+ * where <code>execute()</code> method is running was
+ * finished. If <code>execute</code> method didn't return
+ * and still running then thread interrupted. <p>
+ * Has <b>OK</b> status if <code>execute</code> method
+ * call successfully returned.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> execute </code> </li>
+ * </ul>
+ */
+ public void _endExecute() {
+ requiredMethod("execute()") ;
+
+ boolean result = true ;
+
+ oObj.endExecute() ;
+
+ try {
+ execThread.join(200) ;
+ } catch (InterruptedException e) {
+ log.println("execute() thread was interrupted") ;
+ result = false ;
+ }
+
+ if (execThread.isAlive()) {
+ execThread.interrupt() ;
+ }
+
+ result &= !execThread.isAlive() ;
+
+ tRes.tested("endExecute()", result) ;
+ }
+
+ /**
+ * Disposes object environment.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XFixedText.java b/qadevOOo/tests/java/ifc/awt/_XFixedText.java
new file mode 100644
index 000000000..9ea5527c7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XFixedText.java
@@ -0,0 +1,111 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.TextAlign;
+import com.sun.star.awt.XFixedText;
+
+/**
+* Testing <code>com.sun.star.awt.XFixedText</code>
+* interface methods :
+* <ul>
+* <li><code> setText()</code></li>
+* <li><code> getText()</code></li>
+* <li><code> setAlignment()</code></li>
+* <li><code> getAlignment()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XFixedText
+*/
+public class _XFixedText extends MultiMethodTest {
+
+ public XFixedText oObj = null;
+ private String text = null ;
+ private int align = -1 ;
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getText </code> </li>
+ * </ul>
+ */
+ public void _setText() {
+ requiredMethod("getText()") ;
+
+ boolean result = true ;
+ oObj.setText(text + "_") ;
+ result = (text+"_").equals(oObj.getText()) ;
+
+ tRes.tested("setText()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getText() {
+
+ boolean result = true ;
+ text = oObj.getText() ;
+ if (util.utils.isVoid(text)) text = "XFixedText";
+
+ tRes.tested("getText()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAlignment </code> </li>
+ * </ul>
+ */
+ public void _setAlignment() {
+ requiredMethod("getAlignment()") ;
+
+ boolean result = true ;
+ int newAlign = align ==
+ TextAlign.CENTER ? TextAlign.LEFT : TextAlign.CENTER ;
+ oObj.setAlignment((short)newAlign) ;
+ short getAlign = oObj.getAlignment() ;
+ result = newAlign == getAlign ;
+
+ tRes.tested("setAlignment()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getAlignment() {
+
+ boolean result = true ;
+ align = oObj.getAlignment() ;
+
+ tRes.tested("getAlignment()", result) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XImageConsumer.java b/qadevOOo/tests/java/ifc/awt/_XImageConsumer.java
new file mode 100644
index 000000000..7c170fb25
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XImageConsumer.java
@@ -0,0 +1,135 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XImageConsumer;
+
+/**
+* Testing <code>com.sun.star.awt.XImageConsumer</code>
+* interface methods :
+* <ul>
+* <li><code> init()</code></li>
+* <li><code> setColorModel()</code></li>
+* <li><code> setPixelsByBytes()</code></li>
+* <li><code> setPixelsByLongs()</code></li>
+* <li><code> complete()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XImageConsumer
+*/
+
+public class _XImageConsumer extends MultiMethodTest {
+
+ public XImageConsumer oObj = null;
+
+ /**
+ * Initialize the consumer with size 2x2. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _init() {
+
+ boolean result = true ;
+ oObj.init(2, 2) ;
+
+ tRes.tested("init()", result) ;
+ }
+
+ /**
+ * Sets color model. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> init </code> </li>
+ * </ul>
+ */
+ public void _setColorModel() {
+ requiredMethod("init()") ;
+
+ boolean result = true ;
+ int[] pal = new int[256] ;
+ for (int i = 0; i < 256; i++) pal[i] = i ;
+ oObj.setColorModel((short)8, pal, 100, 100, 100, 100) ;
+
+ tRes.tested("setColorModel()", result) ;
+ }
+
+ /**
+ * Fill the picture with for pixels. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> setColorModel </code> </li>
+ * </ul>
+ */
+ public void _setPixelsByBytes() {
+ executeMethod("setColorModel()") ;
+
+ boolean result = true ;
+ oObj.setPixelsByBytes(0, 0, 2, 2,
+ new byte[] {(byte)0, (byte)255, (byte)255, (byte)0}, 0, 2) ;
+
+ tRes.tested("setPixelsByBytes()", result) ;
+ }
+
+ /**
+ * Fill the picture with for pixels. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> setColorModel </code> </li>
+ * </ul>
+ */
+ public void _setPixelsByLongs() {
+ executeMethod("setColorModel()") ;
+
+ boolean result = true ;
+ oObj.setPixelsByLongs(0, 0, 2, 2, new int[] {0, 255, 255, 0}, 0, 2) ;
+
+ tRes.tested("setPixelsByLongs()", result) ;
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> init </code> </li>
+ * </ul> <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> setPixelsByBytes </code> </li>
+ * <li> <code> setPixelsByBytes </code> </li>
+ * </ul>
+ */
+ public void _complete() {
+ requiredMethod("init()") ;
+ executeMethod("setPixelsByBytes()") ;
+ executeMethod("setPixelsByBytes()") ;
+
+ boolean result = true ;
+ oObj.complete(0, null) ;
+
+ tRes.tested("complete()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XImageProducer.java b/qadevOOo/tests/java/ifc/awt/_XImageProducer.java
new file mode 100644
index 000000000..140c6ff3d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XImageProducer.java
@@ -0,0 +1,143 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XImageConsumer;
+import com.sun.star.awt.XImageProducer;
+
+/**
+* Testing <code>com.sun.star.awt.XImageProducer</code>
+* interface methods :
+* <ul>
+* <li><code> addConsumer()</code></li>
+* <li><code> removeConsumer()</code></li>
+* <li><code> startProduction()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XImageProducer
+*/
+public class _XImageProducer extends MultiMethodTest {
+
+ public XImageProducer oObj = null;
+
+ /**
+ * Consumer implementation which sets flags on appropriate
+ * method calls.
+ */
+ protected static class TestImageConsumer implements XImageConsumer {
+ PrintWriter log = null ;
+ public boolean initCalled = false ;
+
+ TestImageConsumer(PrintWriter log) {
+ log.println("### Consumer initialized" ) ;
+ this.log = log ;
+ }
+
+ public void init(int width, int height) {
+ log.println("### init() called") ;
+ initCalled = true ;
+ }
+
+ public void setColorModel(short bitCount, int[] RGBAPal,
+ int redMask, int greenMask, int blueMask, int alphaMask) {
+ log.println("### setColorModel() called") ;
+ }
+
+ public void setPixelsByBytes(int x, int y, int width, int height,
+ byte[] data, int offset, int scanSize) {
+ log.println("### setPixelByBytes() called") ;
+ }
+
+ public void setPixelsByLongs(int x, int y, int width, int height,
+ int[] data, int offset, int scanSize) {
+ log.println("### setPixelByLongs() called") ;
+ }
+
+ public void complete(int status, XImageProducer prod) {
+ log.println("### complete() called") ;
+ }
+ }
+
+ TestImageConsumer consumer = null ;
+
+ /**
+ * Creates a new XImageConsumer implementation.
+ */
+ @Override
+ public void before() {
+ consumer = new TestImageConsumer(log) ;
+ }
+
+ /**
+ * Adds a new consumer to producer. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _addConsumer() {
+
+ boolean result = true ;
+ oObj.addConsumer(consumer) ;
+
+ tRes.tested("addConsumer()", result) ;
+ }
+
+ /**
+ * Removes the consumer added before. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> startProduction </code> </li>
+ * </ul>
+ */
+ public void _removeConsumer() {
+ executeMethod("startProduction()") ;
+
+ boolean result = true ;
+ oObj.removeConsumer(consumer) ;
+
+ tRes.tested("removeConsumer()", result) ;
+ }
+
+ /**
+ * Starts the production and after short waiting checks what
+ * consumer's methods were called. <p>
+ * Has <b> OK </b> status if at least <code>init</code> consumer
+ * methods was called.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addConsumer </code> </li>
+ * </ul>
+ */
+ public void _startProduction() {
+ requiredMethod("addConsumer()") ;
+
+ oObj.startProduction() ;
+
+ waitForEventIdle();
+
+ tRes.tested("startProduction()", consumer.initCalled) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XItemListener.java b/qadevOOo/tests/java/ifc/awt/_XItemListener.java
new file mode 100644
index 000000000..f15022142
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XItemListener.java
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.awt.ItemEvent;
+import com.sun.star.awt.XItemListener;
+
+/**
+* Testing <code>com.sun.star.awt.XItemListener</code>
+* interface methods :
+* <ul>
+* <li><code> itemStateChanged()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'TestItemListener'</code>
+* (of type <code>ifc.awt._XItemListener.TestItemListener</code>):
+* this <code>XItemListener</code> implementation must be
+* added to the object tested for checking
+* <code> itemStateChanged()</code> method call. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XItemListener
+*/
+public class _XItemListener extends MultiMethodTest {
+
+ public XItemListener oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ * and stores event passed.
+ */
+ public static class TestItemListener implements com.sun.star.awt.XItemListener {
+ public boolean itemStateChangedCalled = false ;
+ public ItemEvent event = null ;
+
+ public void itemStateChanged(com.sun.star.awt.ItemEvent e) {
+ itemStateChangedCalled = true ;
+ event = e ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {}
+
+ }
+
+ TestItemListener itemListener = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If the relation not found.
+ */
+ @Override
+ public void before() {
+ itemListener = (TestItemListener) tEnv.getObjRelation("TestItemListener") ;
+ if (itemListener == null)
+ throw new StatusException(Status.failed("Relation not found")) ;
+ }
+
+ /**
+ * First a <code>ItemEvent</code> object created and
+ * it is passed to <code>itemStateChanged</code> method
+ * call. Then a short wait follows for listener already
+ * registered at the object to be called. <p>
+ * Has <b> OK </b> status if the listener was called with
+ * the same <code>ItemEvent</code> object as was created
+ * before.
+ */
+ public void _itemStateChanged() {
+
+ boolean result = true ;
+
+ ItemEvent event = new ItemEvent() ;
+ event.Selected = 1 ;
+ event.Highlighted = 2 ;
+ oObj.itemStateChanged(event) ;
+
+ waitForEventIdle();
+
+ result = itemListener.itemStateChangedCalled &&
+ itemListener.event.Selected == 1 &&
+ itemListener.event.Highlighted == 2 ;
+
+ tRes.tested("itemStateChanged()", result) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XLayoutConstrains.java b/qadevOOo/tests/java/ifc/awt/_XLayoutConstrains.java
new file mode 100644
index 000000000..5e1b4cb9f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XLayoutConstrains.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XLayoutConstrains;
+
+/**
+* Testing <code>com.sun.star.awt.XLayoutConstrains</code>
+* interface methods:
+* <ul>
+* <li><code> getMinimumSize() </code></li>
+* <li><code> getPreferredSize() </code></li>
+* <li><code> calcAdjustedSize() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XLayoutConstrains
+*/
+public class _XLayoutConstrains extends MultiMethodTest {
+ public XLayoutConstrains oObj = null;
+
+ /**
+ * Test calls the method, then check if returned value is not null.<p>
+ * Has <b> OK </b> status if the method returns not null.
+ */
+ public void _getMinimumSize() {
+ Size aSize = oObj.getMinimumSize();
+ tRes.tested("getMinimumSize()", aSize != null);
+ }
+
+ /**
+ * Test calls the method, then check if returned value is not null.<p>
+ * Has <b> OK </b> status if the method returns not null.
+ */
+ public void _getPreferredSize() {
+ Size aSize = oObj.getPreferredSize();
+ tRes.tested("getPreferredSize()", aSize != null);
+ }
+
+ /**
+ * Test calls the method with the new size as a parameter.<p>
+ * Has <b> OK </b> status if the method returns not null.
+ */
+ public void _calcAdjustedSize() {
+ Size aSize = oObj.calcAdjustedSize(new Size(50,50));
+ tRes.tested("calcAdjustedSize()", aSize != null);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XListBox.java b/qadevOOo/tests/java/ifc/awt/_XListBox.java
new file mode 100644
index 000000000..6c6ddd6b2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XListBox.java
@@ -0,0 +1,491 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.awt.XListBox;
+
+/**
+* Testing <code>com.sun.star.awt.XListBox</code>
+* interface methods :
+* <ul>
+* <li><code> addItemListener()</code></li>
+* <li><code> removeItemListener()</code></li>
+* <li><code> addActionListener()</code></li>
+* <li><code> removeActionListener()</code></li>
+* <li><code> addItem()</code></li>
+* <li><code> addItems()</code></li>
+* <li><code> removeItems()</code></li>
+* <li><code> getItemCount()</code></li>
+* <li><code> getItem()</code></li>
+* <li><code> getItems()</code></li>
+* <li><code> getSelectedItemPos()</code></li>
+* <li><code> getSelectedItemsPos()</code></li>
+* <li><code> getSelectedItem()</code></li>
+* <li><code> getSelectedItems()</code></li>
+* <li><code> selectItemPos()</code></li>
+* <li><code> selectItemsPos()</code></li>
+* <li><code> selectItem()</code></li>
+* <li><code> isMutipleMode()</code></li>
+* <li><code> setMultipleMode()</code></li>
+* <li><code> getDropDownLineCount()</code></li>
+* <li><code> setDropDownLineCount()</code></li>
+* <li><code> makeVisible()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XListBox
+*/
+public class _XListBox extends MultiMethodTest {
+
+ public XListBox oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected static class TestActionListener implements com.sun.star.awt.XActionListener {
+
+ public void disposing(com.sun.star.lang.EventObject e) {}
+
+ public void actionPerformed(com.sun.star.awt.ActionEvent e) {}
+
+ }
+
+ TestActionListener actionListener = new TestActionListener() ;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected static class TestItemListener implements com.sun.star.awt.XItemListener {
+
+ public void disposing(com.sun.star.lang.EventObject e) {}
+
+ public void itemStateChanged(com.sun.star.awt.ItemEvent e) {}
+ }
+
+ TestItemListener itemListener = new TestItemListener() ;
+
+ short lineCount = 0 ;
+ short itemCount = 0 ;
+
+ /**
+ * Retrieves object relations.
+ */
+ @Override
+ public void before() {
+ itemCount = oObj.getItemCount();
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addItemListener() {
+
+ oObj.addItemListener(itemListener) ;
+
+ tRes.tested("addItemListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeItemListener() {
+ requiredMethod("addItemListener()") ;
+
+ oObj.removeItemListener(itemListener) ;
+
+ tRes.tested("removeItemListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addActionListener() {
+
+ oObj.addActionListener(actionListener) ;
+
+ tRes.tested("addActionListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeActionListener() {
+ requiredMethod("addActionListener()") ;
+
+ oObj.removeActionListener(actionListener) ;
+
+ tRes.tested("removeActionListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * Adds one item to the last position and check the number of
+ * items after addition. <p>
+ * Has <b>OK</b> status if the number of items increased by 1.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getItemCount </code> </li>
+ * </ul>
+ */
+ public void _addItem() {
+ requiredMethod("getItemCount()") ;
+
+ boolean result = true ;
+ oObj.addItem("Item1", itemCount) ;
+ result = oObj.getItemCount() == itemCount + 1 ;
+
+ tRes.tested("addItem()", result) ;
+ }
+
+ /**
+ * Adds one two items to the last position and check the number of
+ * items after addition. <p>
+ * Has <b>OK</b> status if the number of items increased by 2.<p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItem </code> </li>
+ * </ul>
+ */
+ public void _addItems() {
+ executeMethod("addItem()") ;
+
+ boolean result = true ;
+ short oldCnt = oObj.getItemCount() ;
+ oObj.addItems(new String[] {"Item2", "Item3"}, oldCnt) ;
+ result = oObj.getItemCount() == oldCnt + 2 ;
+
+ tRes.tested("addItems()", result) ;
+ }
+
+ /**
+ * Gets the current number of items and tries to remove them all
+ * then checks number of items. <p>
+ * Has <b>OK</b> status if no items remains. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getItems </code> </li>
+ * <li> <code> getItem </code> </li>
+ * </ul>
+ */
+ public void _removeItems() {
+ executeMethod("getItems()") ;
+ executeMethod("getItem()") ;
+ executeMethod("getSelectedItemPos()") ;
+ executeMethod("getSelectedItemsPos()") ;
+ executeMethod("getSelectedItem()") ;
+ executeMethod("getSelectedItems()") ;
+
+ boolean result = true ;
+ short oldCnt = oObj.getItemCount() ;
+ oObj.removeItems((short)0, oldCnt) ;
+ result = oObj.getItemCount() == 0 ;
+
+ tRes.tested("removeItems()", result) ;
+ }
+
+ /**
+ * Just retrieves current number of items and stores it. <p>
+ * Has <b>OK</b> status if the count is not less than 0.
+ */
+ public void _getItemCount() {
+
+ itemCount = oObj.getItemCount() ;
+
+ tRes.tested("getItemCount()", itemCount >= 0) ;
+ }
+
+ /**
+ * After <code>addItem</code> and <code>addItems</code> methods
+ * test the following items must exist {..., "Item1", "Item2", "Item3"}
+ * Retrieves the item from the position which was ititially the last.<p>
+ * Has <b>OK</b> status if the "Item1" was retrieved. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItems </code> </li>
+ * </ul>
+ */
+ public void _getItem() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ String item = oObj.getItem(itemCount) ;
+ result = "Item1".equals(item) ;
+
+ tRes.tested("getItem()", result) ;
+ }
+
+ /**
+ * After <code>addItem</code> and <code>addItems</code> methods
+ * test the following items must exist {..., "Item1", "Item2", "Item3"}
+ * Retrieves all items. <p>
+ * Has <b>OK</b> status if the last three items retrieved are
+ * "Item1", "Item2" and "Item3". <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> addItems </code> </li>
+ * </ul>
+ */
+ public void _getItems() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ String[] items = oObj.getItems() ;
+ for (int i = itemCount; i < (itemCount + 3); i++) {
+ result &= ("Item" + (i+1 - itemCount)).equals(items[i]) ;
+ }
+
+ tRes.tested("getItems()", result) ;
+ }
+
+ /**
+ * Gets line count and stores it. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getDropDownLineCount() {
+
+ boolean result = true ;
+ lineCount = oObj.getDropDownLineCount() ;
+
+ tRes.tested("getDropDownLineCount()", result) ;
+ }
+
+ /**
+ * Sets a new value and then checks get value. <p>
+ * Has <b>OK</b> status if set and get values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDropDownLineCount </code> </li>
+ * </ul>
+ */
+ public void _setDropDownLineCount() {
+ requiredMethod("getDropDownLineCount()") ;
+
+ boolean result = true ;
+ oObj.setDropDownLineCount((short)(lineCount + 1)) ;
+ result = oObj.getDropDownLineCount() == lineCount + 1 ;
+
+ tRes.tested("setDropDownLineCount()", result) ;
+ }
+
+ /**
+ * Selects some item and gets selected item position. <p>
+ * Has <b> OK </b> status if position is equal to position set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> : to have some items </li>
+ * </ul>
+ */
+ public void _getSelectedItemPos() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ oObj.selectItemPos((short)1, true) ;
+ short pos = oObj.getSelectedItemPos() ;
+
+ result = pos == 1 ;
+
+ tRes.tested("getSelectedItemPos()", result) ;
+ }
+
+ /**
+ * Clears all selections, then selects some items and gets selected
+ * item positions. <p>
+ * Has <b> OK </b> status if positions get are the same as were set.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> selectItemsPos </code> </li>
+ * </ul>
+ */
+ public void _getSelectedItemsPos() {
+ requiredMethod("selectItemsPos()") ;
+
+ boolean result = true ;
+ short cnt = oObj.getItemCount() ;
+ for (short i = 0; i < cnt; i++) {
+ oObj.selectItemPos(i, false) ;
+ }
+ oObj.selectItemsPos(new short[] {0, 2}, true) ;
+
+ short[] items = oObj.getSelectedItemsPos() ;
+
+ result = items != null && items.length == 2 &&
+ items[0] == 0 && items[1] == 2 ;
+
+ tRes.tested("getSelectedItemsPos()", result) ;
+ }
+
+ /**
+ * Unselects all items, selects some item and then gets selected item. <p>
+ * Has <b> OK </b> status if items selected and get are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> : to have some items </li>
+ * </ul>
+ */
+ public void _getSelectedItem() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ short cnt = oObj.getItemCount() ;
+ for (short i = 0; i < cnt; i++) {
+ oObj.selectItemPos(i, false) ;
+ }
+ oObj.selectItem("Item3", true) ;
+ String item = oObj.getSelectedItem() ;
+
+ result = "Item3".equals(item) ;
+
+ tRes.tested("getSelectedItem()", result) ;
+ }
+
+ /**
+ * Clears all selections, then selects some items positions and gets
+ * selected items. <p>
+ * Has <b> OK </b> status if items get are the same as items on
+ * positions which were set.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> selectItemsPos </code> </li>
+ * <li> <code> getItem </code>: this method is used here for checking.
+ * </li>
+ * </ul>
+ */
+ public void _getSelectedItems() {
+ requiredMethod("selectItemsPos()") ;
+ requiredMethod("getItem()") ;
+
+ boolean result = true ;
+ short cnt = oObj.getItemCount() ;
+ for (short i = 0; i < cnt; i++) {
+ oObj.selectItemPos(i, false) ;
+ }
+ oObj.selectItemsPos(new short[] {0, 2}, true) ;
+
+ String[] items = oObj.getSelectedItems() ;
+ result = items != null && items.length == 2 &&
+ oObj.getItem((short)0).equals(items[0]) &&
+ oObj.getItem((short)2).equals(items[1]) ;
+
+ tRes.tested("getSelectedItems()", result) ;
+ }
+
+ /**
+ * Unselects all items, then selects a single item. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> : to have some items </li>
+ * </ul>
+ */
+ public void _selectItemPos() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ short cnt = oObj.getItemCount() ;
+ for (short i = 0; i < cnt; i++) {
+ oObj.selectItemPos(i, false) ;
+ }
+ oObj.selectItemPos((short)1, true) ;
+
+ tRes.tested("selectItemPos()", result) ;
+ }
+
+ /**
+ * Just selects some items. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> : to have some items </li>
+ * </ul>
+ */
+ public void _selectItemsPos() {
+ requiredMethod("addItems()") ;
+ requiredMethod("setMultipleMode()") ;
+
+ boolean result = true ;
+ oObj.selectItemsPos(new short[] {0, 2}, true) ;
+
+ tRes.tested("selectItemsPos()", result) ;
+ }
+
+ /**
+ * Just selects an item. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> : to have some items </li>
+ * </ul>
+ */
+ public void _selectItem() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ oObj.selectItem("Item3", true) ;
+
+ tRes.tested("selectItem()", result) ;
+ }
+
+ /**
+ * Checks if multiple mode is set. <p>
+ * Has <b> OK </b> status if multiple mode is set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setMultipleMode </code> </li>
+ * </ul>
+ */
+ public void _isMutipleMode() {
+ requiredMethod("setMultipleMode()") ;
+
+ boolean result = true ;
+ result = oObj.isMutipleMode() ;
+
+ tRes.tested("isMutipleMode()", result) ;
+ }
+
+ /**
+ * Sets multiple mode. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _setMultipleMode() {
+
+ boolean result = true ;
+ oObj.setMultipleMode(true) ;
+
+ tRes.tested("setMultipleMode()", result) ;
+ }
+
+ /**
+ * Just calls the method to make visible third item. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addItems </code> </li>
+ * </ul>
+ */
+ public void _makeVisible() {
+ requiredMethod("addItems()") ;
+
+ boolean result = true ;
+ oObj.makeVisible((short)2) ;
+
+ tRes.tested("makeVisible()", result) ;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java b/qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java
new file mode 100644
index 000000000..04f880828
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XMessageBoxFactory.java
@@ -0,0 +1,98 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import com.sun.star.awt.AsyncCallback;
+import com.sun.star.awt.XCallback;
+import com.sun.star.awt.XMessageBox;
+import com.sun.star.awt.XMessageBoxFactory;
+import com.sun.star.awt.XRequestCallback;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+import util.UITools;
+
+/**
+ * Testing <code>com.sun.star.awt.XMessageBoxFactory</code>
+ * interface methods :
+ * <ul>
+ * <li><code> </code>createMessageBox()</li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.awt.XMessageBoxFactory
+ */
+public class _XMessageBoxFactory extends MultiMethodTest {
+ public XMessageBoxFactory oObj = null;
+
+ public void _createMessageBox() {
+ final XMessageBox mb = oObj.createMessageBox(
+ (XWindowPeer) tEnv.getObjRelation("WINPEER"),
+ com.sun.star.awt.MessageBoxType.ERRORBOX, 1, "The Title",
+ "The Message");
+ final UITools tools = new UITools(
+ UnoRuntime.queryInterface(XWindow.class, mb));
+ final boolean[] done = new boolean[] { false };
+ final boolean[] good = new boolean[] { false };
+ XRequestCallback async = AsyncCallback.create(
+ tParam.getComponentContext());
+ async.addCallback(
+ new XCallback() {
+ public void notify(Object aData) {
+ mb.execute();
+ synchronized (done) {
+ done[0] = true;
+ done.notifyAll();
+ }
+ }
+ },
+ Any.VOID);
+ async.addCallback(
+ new XCallback() {
+ public void notify(Object aData) {
+ try {
+ tools.clickButton("OK");
+ } catch (RuntimeException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ synchronized (good) {
+ good[0] = true;
+ }
+ }
+ },
+ Any.VOID);
+ synchronized (done) {
+ while (!done[0]) {
+ try {
+ done.wait();
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ boolean ok;
+ synchronized (good) {
+ ok = good[0];
+ }
+ tRes.tested("createMessageBox()", ok);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XNumericField.java b/qadevOOo/tests/java/ifc/awt/_XNumericField.java
new file mode 100644
index 000000000..a194fe332
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XNumericField.java
@@ -0,0 +1,308 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XNumericField;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.awt.XNumericField</code>
+* interface methods :
+* <ul>
+* <li><code> setValue()</code></li>
+* <li><code> getValue()</code></li>
+* <li><code> setMin()</code></li>
+* <li><code> getMin()</code></li>
+* <li><code> setMax()</code></li>
+* <li><code> getMax()</code></li>
+* <li><code> setFirst()</code></li>
+* <li><code> getFirst()</code></li>
+* <li><code> setLast()</code></li>
+* <li><code> getLast()</code></li>
+* <li><code> setSpinSize()</code></li>
+* <li><code> getSpinSize()</code></li>
+* <li><code> setDecimalDigits()</code></li>
+* <li><code> getDecimalDigits()</code></li>
+* <li><code> setStrictFormat()</code></li>
+* <li><code> isStrictFormat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XNumericField
+*/
+public class _XNumericField extends MultiMethodTest {
+
+ public XNumericField oObj = null;
+ private double val = 0 ;
+ private double min = 0 ;
+ private double max = 0 ;
+ private double first = 0 ;
+ private double last = 0 ;
+ private double spin = 0 ;
+ private short digits = 0 ;
+ private boolean strict = true ;
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getValue </code> </li>
+ * </ul>
+ */
+ public void _setValue() {
+ requiredMethod("getValue()");
+
+ double value = val + 1.1;
+ oObj.setValue(value) ;
+
+ tRes.tested("setValue()", utils.approxEqual(oObj.getValue(), value));
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getValue() {
+ val = oObj.getValue() ;
+
+ tRes.tested("getValue()", true) ;
+ }
+
+ /**
+ * Sets minimal value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMin </code> </li>
+ * </ul>
+ */
+ public void _setMin() {
+ requiredMethod("getMin()") ;
+
+ double value = min + 1.1;
+ oObj.setMin(value);
+ double ret = oObj.getMin();
+ boolean result = utils.approxEqual(ret, value);
+
+ tRes.tested("setMin()", result);
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getMin() {
+
+ boolean result = true ;
+ min = oObj.getMin() ;
+
+ tRes.tested("getMin()", result) ;
+ }
+
+ /**
+ * Sets maximal value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMax </code> </li>
+ * </ul>
+ */
+ public void _setMax() {
+ requiredMethod("getMax()") ;
+
+ double value = max + 1.1;
+ oObj.setMax(value);
+ double ret = oObj.getMax();
+ boolean result = utils.approxEqual(ret, value);
+
+ tRes.tested("setMax()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getMax() {
+
+ boolean result = true ;
+ max = oObj.getMax() ;
+
+ tRes.tested("getMax()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFirst </code> </li>
+ * </ul>
+ */
+ public void _setFirst() {
+ requiredMethod("getFirst()") ;
+
+ double value = first + 1.1;
+ oObj.setFirst(value);
+ double ret = oObj.getFirst();
+ boolean result = utils.approxEqual(ret, value);
+
+ tRes.tested("setFirst()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getFirst() {
+
+ boolean result = true ;
+ first = oObj.getFirst() ;
+
+ tRes.tested("getFirst()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLast </code> </li>
+ * </ul>
+ */
+ public void _setLast() {
+ requiredMethod("getLast()") ;
+
+ double value = last + 1.1;
+ oObj.setLast(value);
+ double ret = oObj.getLast();
+ boolean result = utils.approxEqual(ret, value);
+
+ tRes.tested("setLast()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getLast() {
+
+ boolean result = true ;
+ last = oObj.getLast() ;
+
+ tRes.tested("getLast()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSpinSize </code> </li>
+ * </ul>
+ */
+ public void _setSpinSize() {
+ requiredMethod("getSpinSize()") ;
+
+ boolean result = true ;
+ double value = spin + 1.1;
+ oObj.setSpinSize(value) ;
+ result = utils.approxEqual(oObj.getSpinSize(), value);
+
+ tRes.tested("setSpinSize()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getSpinSize() {
+
+ boolean result = true ;
+ spin = oObj.getSpinSize() ;
+
+ tRes.tested("getSpinSize()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDecimalDigits </code> </li>
+ * </ul>
+ */
+ public void _setDecimalDigits() {
+ requiredMethod("getDecimalDigits()") ;
+
+ boolean result = true ;
+ oObj.setDecimalDigits((short)(digits + 1)) ;
+
+ short res = oObj.getDecimalDigits() ;
+ result = res == (digits + 1) ;
+
+ tRes.tested("setDecimalDigits()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getDecimalDigits() {
+
+ boolean result = true ;
+ digits = oObj.getDecimalDigits() ;
+
+ tRes.tested("getDecimalDigits()", result) ;
+ }
+
+ /**
+ * Sets value changed and then compares it to get value. <p>
+ * Has <b>OK</b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isStrictFormat </code> </li>
+ * </ul>
+ */
+ public void _setStrictFormat() {
+ requiredMethod("isStrictFormat()") ;
+
+ boolean result = true ;
+ oObj.setStrictFormat(!strict) ;
+ result = oObj.isStrictFormat() == !strict ;
+
+ tRes.tested("setStrictFormat()", result) ;
+ }
+
+ /**
+ * Just calls the method and stores value returned. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _isStrictFormat() {
+
+ boolean result = true ;
+ strict = oObj.isStrictFormat() ;
+
+ tRes.tested("isStrictFormat()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XPatternField.java b/qadevOOo/tests/java/ifc/awt/_XPatternField.java
new file mode 100644
index 000000000..1613be4a0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XPatternField.java
@@ -0,0 +1,167 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XPatternField;
+
+/**
+* Testing <code>com.sun.star.awt.XPatternField</code>
+* interface methods :
+* <ul>
+* <li><code> setMasks()</code></li>
+* <li><code> getMasks()</code></li>
+* <li><code> setString()</code></li>
+* <li><code> getString()</code></li>
+* <li><code> setStrictFormat()</code></li>
+* <li><code> isStrictFormat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XPatternField
+*/
+public class _XPatternField extends MultiMethodTest {
+
+ public XPatternField oObj = null ;
+ private String editMask = null ;
+ private String literalMask = null ;
+ private String string = null ;
+ private boolean strict = false ;
+
+ /**
+ * Sets masks to new values then gets them and compare. <p>
+ * Has <b> OK </b> status if set and get masks are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMasks </code> </li>
+ * </ul>
+ */
+ public void _setMasks() {
+ requiredMethod("getMasks()") ;
+
+ boolean result = true ;
+ String newEdit = editMask == null ? "ccc" : editMask + "ccc" ;
+ String newLiteral = literalMask == null ? " " : literalMask + " " ;
+ oObj.setMasks(newEdit, newLiteral) ;
+
+ String[] edit = new String[1] ;
+ String[] literal = new String[1] ;
+ oObj.getMasks(edit, literal) ;
+
+ result &= newEdit.equals(edit[0]) ;
+ result &= newLiteral.equals(literal[0]) ;
+
+ tRes.tested("setMasks()", result) ;
+ }
+
+ /**
+ * Gets masks and stores them. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _getMasks() {
+
+ boolean result = true ;
+ String[] edit = new String[1] ;
+ String[] literal = new String[1] ;
+ oObj.getMasks(edit, literal) ;
+
+ log.println("Edit mask = '" + edit[0] + "', literal = '" +
+ literal[0] + "'") ;
+
+ editMask = edit[0] ;
+ literalMask = literal[0] ;
+
+ tRes.tested("getMasks()", result) ;
+ }
+
+ /**
+ * Sets new string and then get it for verification. <p>
+ * Has <b> OK </b> status if get and set strings are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getString </code> </li>
+ * <li> <code> setMasks </code> : mask must be set for new string
+ * would be valid. </li>
+ * </ul>
+ */
+ public void _setString() {
+ requiredMethod("setMasks()") ;
+ requiredMethod("getString()") ;
+
+ boolean result = true ;
+ String newString = string = "abc" ;
+ oObj.setString(newString) ;
+ String getString = oObj.getString() ;
+
+ result = newString.equals(getString) ;
+
+ if (!result) {
+ log.println("Was '" + string + "', Set '" + newString
+ + "', Get '" + getString + "'") ;
+ }
+
+ tRes.tested("setString()", result) ;
+ }
+
+ /**
+ * Gets current string and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getString() {
+
+ boolean result = true ;
+ string = oObj.getString() ;
+
+ tRes.tested("getString()", result) ;
+ }
+
+ /**
+ * Sets new strict state then checks it. <p>
+ * Has <b> OK </b> status if the state was changed.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isStrictFormat </code> </li>
+ * </ul>
+ */
+ public void _setStrictFormat() {
+ requiredMethod("isStrictFormat()") ;
+
+ boolean result = true ;
+ oObj.setStrictFormat(!strict) ;
+
+ result = oObj.isStrictFormat() == !strict ;
+
+ tRes.tested("setStrictFormat()", result) ;
+ }
+
+ /**
+ * Gets the current strict state and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _isStrictFormat() {
+
+ boolean result = true ;
+ strict = oObj.isStrictFormat() ;
+
+ tRes.tested("isStrictFormat()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XRadioButton.java b/qadevOOo/tests/java/ifc/awt/_XRadioButton.java
new file mode 100644
index 000000000..a8757cd1c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XRadioButton.java
@@ -0,0 +1,136 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.awt.XRadioButton;
+
+/**
+* Testing <code>com.sun.star.awt.XRadioButton</code>
+* interface methods :
+* <ul>
+* <li><code> addItemListener()</code></li>
+* <li><code> removeItemListener()</code></li>
+* <li><code> getState()</code></li>
+* <li><code> setState()</code></li>
+* <li><code> setLabel()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XRadioButton
+*/
+public class _XRadioButton extends MultiMethodTest {
+
+ public XRadioButton oObj = null;
+ private boolean state = false ;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected static class TestItemListener implements com.sun.star.awt.XItemListener {
+ private final java.io.PrintWriter log;
+
+ public TestItemListener(java.io.PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ log.println(" disposing was called.") ;
+ }
+
+ public void itemStateChanged(com.sun.star.awt.ItemEvent e) {
+ log.println(" itemStateChanged was called.") ;
+ }
+
+ }
+
+ TestItemListener itemListener = null ;
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _addItemListener() {
+
+ itemListener = new TestItemListener(log) ;
+
+ oObj.addItemListener(itemListener) ;
+
+ tRes.tested("addItemListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * !!! Can be checked only interactively !!!
+ */
+ public void _removeItemListener() {
+ requiredMethod("addItemListener()") ;
+
+ oObj.removeItemListener(itemListener) ;
+
+ tRes.tested("removeItemListener()", Status.skipped(true)) ;
+ }
+
+ /**
+ * Gets state and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getState() {
+
+ boolean result = true ;
+ state = oObj.getState() ;
+
+ tRes.tested("getState()", result) ;
+ }
+
+ /**
+ * Sets a new state and the gets it for checking. <p>
+ * Has <b> OK </b> status if set and get states are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getState </code> </li>
+ * </ul>
+ */
+ public void _setState() {
+ requiredMethod("getState()") ;
+
+ boolean result = true ;
+ oObj.setState(!state) ;
+
+ waitForEventIdle();
+
+ result = oObj.getState() == !state ;
+
+ tRes.tested("setState()", result) ;
+ }
+
+ /**
+ * Just sets a new label. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _setLabel() {
+
+ boolean result = true ;
+ oObj.setLabel("XRadioButton") ;
+
+ tRes.tested("setLabel()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XScrollBar.java b/qadevOOo/tests/java/ifc/awt/_XScrollBar.java
new file mode 100644
index 000000000..a298ed082
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XScrollBar.java
@@ -0,0 +1,203 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.awt;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.ScrollBarOrientation;
+import com.sun.star.awt.XScrollBar;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+
+import lib.MultiMethodTest;
+
+
+public class _XScrollBar extends MultiMethodTest {
+ public XScrollBar oObj;
+ public boolean adjusted = false;
+ com.sun.star.awt.XAdjustmentListener listener = new AdjustmentListener();
+
+ public void _addAdjustmentListener() throws Exception {
+ util.FormTools.switchDesignOf(tParam.getMSF(),
+ (XTextDocument) tEnv.getObjRelation("Document"));
+ oObj.addAdjustmentListener(listener);
+ adjustScrollBar();
+
+ boolean res = adjusted;
+ oObj.removeAdjustmentListener(listener);
+ adjusted = false;
+ adjustScrollBar();
+ res &= !adjusted;
+ tRes.tested("addAdjustmentListener()", res);
+ }
+
+ public void _removeAdjustmentListener() {
+ //this method is checked in addAdjustmentListener
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("addAdjustmentListener()");
+ tRes.tested("removeAdjustmentListener()", true);
+ }
+
+ public void _setBlockIncrement() {
+ oObj.setBlockIncrement(15);
+ oObj.setBlockIncrement(5);
+ int bi = oObj.getBlockIncrement();
+ tRes.tested("setBlockIncrement()",bi==5);
+ }
+
+ public void _getBlockIncrement() {
+ //this method is checked in the corresponding set method
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("setBlockIncrement()");
+ tRes.tested("getBlockIncrement()", true);
+ }
+
+ public void _setLineIncrement() {
+ oObj.setLineIncrement(12);
+ oObj.setLineIncrement(2);
+ int li = oObj.getLineIncrement();
+ tRes.tested("setLineIncrement()",li==2);
+ }
+
+ public void _getLineIncrement() {
+ //this method is checked in the corresponding set method
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("setLineIncrement()");
+ tRes.tested("getLineIncrement()", true);
+ }
+
+ public void _setMaximum() {
+ oObj.setMaximum(490);
+ oObj.setMaximum(480);
+ int max = oObj.getMaximum();
+ tRes.tested("setMaximum()",max==480);
+ }
+
+ public void _getMaximum() {
+ //this method is checked in the corresponding set method
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("setMaximum()");
+ tRes.tested("getMaximum()", true);
+ }
+
+ public void _setOrientation() {
+ oObj.setOrientation(ScrollBarOrientation.HORIZONTAL);
+ oObj.setOrientation(ScrollBarOrientation.VERTICAL);
+ int ori = oObj.getOrientation();
+ tRes.tested("setOrientation()",ori==ScrollBarOrientation.VERTICAL);
+ }
+
+ public void _getOrientation() {
+ //this method is checked in the corresponding set method
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("setOrientation()");
+ tRes.tested("getOrientation()", true);
+ }
+
+ public void _setValue() {
+ oObj.setMaximum(600);
+ oObj.setValue(480);
+ oObj.setValue(520);
+ int val = oObj.getValue();
+ tRes.tested("setValue()",val==520);
+ }
+
+ public void _getValue() {
+ //this method is checked in the corresponding set method
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("setValue()");
+ tRes.tested("getValue()", true);
+ }
+
+ public void _setVisibleSize() {
+ oObj.setVisibleSize(700);
+ oObj.setVisibleSize(500);
+ int vs = oObj.getVisibleSize();
+ tRes.tested("setVisibleSize()",vs==500);
+ }
+
+ public void _getVisibleSize() {
+ //this method is checked in the corresponding set method
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("setVisibleSize()");
+ tRes.tested("getVisibleSize()", true);
+ }
+
+ public void _setValues() {
+ oObj.setValues(80, 200, 300);
+ oObj.setValues(70, 210, 500);
+ int val = oObj.getValue();
+ int vs = oObj.getVisibleSize();
+ int max = oObj.getMaximum();
+ tRes.tested("setValues()",((val==70) && (vs==210) && (max==500)));
+ }
+
+ private void adjustScrollBar() {
+
+
+ XScrollBar sc = UnoRuntime.queryInterface(
+ XScrollBar.class, tEnv.getTestObject());
+
+ sc.setValue(500);
+
+ waitForEventIdle();
+
+ XAccessible acc = UnoRuntime.queryInterface(
+ XAccessible.class, tEnv.getTestObject());
+
+ XAccessibleComponent aCom = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ acc.getAccessibleContext());
+
+ Point location = aCom.getLocationOnScreen();
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(location.X + 50, location.Y + 75);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("couldn't adjust scrollbar");
+ }
+
+ waitForEventIdle();
+ }
+
+ public class AdjustmentListener
+ implements com.sun.star.awt.XAdjustmentListener {
+ public void adjustmentValueChanged(com.sun.star.awt.AdjustmentEvent adjustmentEvent) {
+ System.out.println("Adjustment Value changed");
+ System.out.println("AdjustmentEvent: " + adjustmentEvent.Value);
+ adjusted = true;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ System.out.println("Listener disposed");
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XSpinField.java b/qadevOOo/tests/java/ifc/awt/_XSpinField.java
new file mode 100644
index 000000000..d7044a3c3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XSpinField.java
@@ -0,0 +1,195 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.SpinEvent;
+import com.sun.star.awt.XSpinField;
+import com.sun.star.awt.XSpinListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.awt.XSpinField</code>
+* interface methods :
+* <ul>
+* <li><code> addSpinListener()</code></li>
+* <li><code> removeSpinListener()</code></li>
+* <li><code> up()</code></li>
+* <li><code> down()</code></li>
+* <li><code> first()</code></li>
+* <li><code> last()</code></li>
+* <li><code> enableRepeat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XSpinField
+*/
+public class _XSpinField extends MultiMethodTest {
+
+ public XSpinField oObj = null;
+
+ /**
+ * Listener implementation which set flags on appropriate
+ * listener methods calls.
+ */
+ protected static class TestListener implements XSpinListener {
+ public boolean upFl = false ;
+ public boolean downFl = false ;
+ public boolean firstFl = false ;
+ public boolean lastFl = false ;
+
+ public void up(SpinEvent e) {
+ upFl = true ;
+ }
+ public void down(SpinEvent e) {
+ downFl = true ;
+ }
+ public void first(SpinEvent e) {
+ firstFl = true ;
+ }
+ public void last(SpinEvent e) {
+ lastFl = true ;
+ }
+ public void disposing(EventObject e) {}
+ }
+
+ private final TestListener listener = new TestListener() ;
+
+ /**
+ * Just adds a listener. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _addSpinListener() {
+ oObj.addSpinListener(listener) ;
+
+ tRes.tested("addSpinListener()", true) ;
+ }
+
+ /**
+ * Calls the method. <p>
+ * Has <b>OK</b> status if the appropriate listener method
+ * was called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSpinListener </code> </li>
+ * </ul>
+ */
+ public void _up() {
+ requiredMethod("addSpinListener()") ;
+
+ oObj.up() ;
+ waitForEventIdle();
+
+ tRes.tested("up()", listener.upFl) ;
+ }
+
+ /**
+ * Calls the method. <p>
+ * Has <b>OK</b> status if the appropriate listener method
+ * was called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSpinListener </code> </li>
+ * </ul>
+ */
+ public void _down() throws Exception {
+ requiredMethod("addSpinListener()") ;
+
+ oObj.down() ;
+ waitForEventIdle();
+
+ tRes.tested("down()", listener.downFl) ;
+ }
+
+ /**
+ * Calls the method. <p>
+ * Has <b>OK</b> status if the appropriate listener method
+ * was called.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSpinListener </code> </li>
+ * </ul>
+ */
+ public void _first() throws Exception {
+ requiredMethod("addSpinListener()") ;
+
+ oObj.first();
+ waitForEventIdle();
+
+ tRes.tested("first()", listener.firstFl) ;
+ }
+
+ /**
+ * Calls the method. <p>
+ * Has <b>OK</b> status if the appropriate listener method
+ * was called.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSpinListener </code> </li>
+ * </ul>
+ */
+ public void _last() throws Exception {
+ requiredMethod("addSpinListener()") ;
+
+ oObj.last();
+ waitForEventIdle();
+
+ tRes.tested("last()", listener.lastFl) ;
+ }
+
+ /**
+ * Removes the listener, then calls <code>up</code> method and
+ * checks if the listener wasn't called. <p>
+ * Has <b>OK</b> status if listener wasn't called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSpinListener </code> </li>
+ * <li> <code> up </code> </li>
+ * <li> <code> down </code> </li>
+ * <li> <code> first </code> </li>
+ * <li> <code> last </code> </li>
+ * </ul>
+ */
+ public void _removeSpinListener() {
+ requiredMethod("addSpinListener()") ;
+ executeMethod("up()") ;
+ executeMethod("down()") ;
+ executeMethod("first()") ;
+ executeMethod("last()") ;
+
+ listener.upFl = false ;
+
+ oObj.removeSpinListener(listener) ;
+
+ oObj.up() ;
+
+ tRes.tested("removeSpinListener()", !listener.upFl) ;
+ }
+
+ /**
+ * Enables then disables repeating. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _enableRepeat() {
+ oObj.enableRepeat(true) ;
+ oObj.enableRepeat(false) ;
+
+ tRes.tested("enableRepeat()", true) ;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XSpinValue.java b/qadevOOo/tests/java/ifc/awt/_XSpinValue.java
new file mode 100644
index 000000000..a8a65e2db
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XSpinValue.java
@@ -0,0 +1,195 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.ScrollBarOrientation;
+import com.sun.star.awt.XSpinValue;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import lib.MultiMethodTest;
+
+public class _XSpinValue extends MultiMethodTest {
+
+ public XSpinValue oObj;
+ public boolean adjusted = false;
+ com.sun.star.awt.XAdjustmentListener listener = new AdjustmentListener();
+
+ public void _addAdjustmentListener() throws Exception {
+ util.FormTools.switchDesignOf(tParam.getMSF(),
+ (XTextDocument) tEnv.getObjRelation("Document"));
+ oObj.addAdjustmentListener(listener);
+ adjustScrollBar();
+
+ boolean res = adjusted;
+ oObj.removeAdjustmentListener(listener);
+ adjusted = false;
+ adjustScrollBar();
+ res &= !adjusted;
+ tRes.tested("addAdjustmentListener()", res);
+ }
+
+ public void _removeAdjustmentListener() {
+ //this method is checked in addAdjustmentListener
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("addAdjustmentListener()");
+ tRes.tested("removeAdjustmentListener()", true);
+ }
+
+ public void _setSpinIncrement() {
+ oObj.setSpinIncrement(15);
+ oObj.setSpinIncrement(5);
+ int bi = oObj.getSpinIncrement();
+ tRes.tested("setSpinIncrement()",bi==5);
+ }
+
+ public void _getSpinIncrement() {
+ //this method is checked in the corresponding set method
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("setSpinIncrement()");
+ tRes.tested("getSpinIncrement()", true);
+ }
+
+
+ public void _setMaximum() {
+ oObj.setMaximum(490);
+ oObj.setMaximum(480);
+ int max = oObj.getMaximum();
+ tRes.tested("setMaximum()",max==480);
+ }
+
+ public void _getMaximum() {
+ //this method is checked in the corresponding set method
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("setMaximum()");
+ tRes.tested("getMaximum()", true);
+ }
+
+ public void _setMinimum() {
+ oObj.setMinimum(90);
+ oObj.setMinimum(80);
+ int max = oObj.getMinimum();
+ tRes.tested("setMinimum()",max==80);
+ }
+
+ public void _getMinimum() {
+ //this method is checked in the corresponding set method
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("setMinimum()");
+ tRes.tested("getMinimum()", true);
+ }
+
+ public void _setOrientation() {
+ boolean res = true;
+ try {
+ oObj.setOrientation(ScrollBarOrientation.HORIZONTAL);
+ oObj.setOrientation(ScrollBarOrientation.VERTICAL);
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("Couldn't set Orientation");
+ }
+ int ori = oObj.getOrientation();
+ res &= (ori==ScrollBarOrientation.VERTICAL);
+ tRes.tested("setOrientation()",res );
+ }
+
+ public void _getOrientation() {
+ //this method is checked in the corresponding set method
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("setOrientation()");
+ tRes.tested("getOrientation()", true);
+ }
+
+ public void _setValue() {
+ oObj.setMaximum(600);
+ oObj.setValue(480);
+ oObj.setValue(520);
+ int val = oObj.getValue();
+ tRes.tested("setValue()",val==520);
+ }
+
+ public void _getValue() {
+ //this method is checked in the corresponding set method
+ //so that method is required here and if it works
+ //this method is given OK too
+ requiredMethod("setValue()");
+ tRes.tested("getValue()", true);
+ }
+
+ public void _setValues() {
+ oObj.setValues(80, 200, 180);
+ oObj.setValues(70, 210, 200);
+ int val = oObj.getValue();
+ int min = oObj.getMinimum();
+ int max = oObj.getMaximum();
+ tRes.tested("setValues()",((min==70) && (max==210) && (val==200)));
+ }
+
+ private void adjustScrollBar() {
+
+
+ XSpinValue sv = UnoRuntime.queryInterface(
+ XSpinValue.class, tEnv.getTestObject());
+
+ sv.setValue(500);
+
+ waitForEventIdle();
+
+ XAccessible acc = UnoRuntime.queryInterface(
+ XAccessible.class, tEnv.getTestObject());
+
+ XAccessibleComponent aCom = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ acc.getAccessibleContext());
+
+ Point location = aCom.getLocationOnScreen();
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(location.X + 20, location.Y + 10);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("couldn't adjust scrollbar");
+ }
+
+ waitForEventIdle();
+ }
+
+ public class AdjustmentListener
+ implements com.sun.star.awt.XAdjustmentListener {
+ public void adjustmentValueChanged(com.sun.star.awt.AdjustmentEvent adjustmentEvent) {
+ System.out.println("Adjustment Value changed");
+ System.out.println("AdjustmentEvent: " + adjustmentEvent.Value);
+ adjusted = true;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ System.out.println("Listener disposed");
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XSystemChildFactory.java b/qadevOOo/tests/java/ifc/awt/_XSystemChildFactory.java
new file mode 100644
index 000000000..5955e9a0b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XSystemChildFactory.java
@@ -0,0 +1,31 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import com.sun.star.awt.XSystemChildFactory;
+import lib.MultiMethodTest;
+
+public final class _XSystemChildFactory extends MultiMethodTest {
+ public XSystemChildFactory oObj;
+
+ public void _createSystemChild() {
+ //TODO
+ tRes.tested("createSystemChild()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/awt/_XTabController.java b/qadevOOo/tests/java/ifc/awt/_XTabController.java
new file mode 100644
index 000000000..8fa384497
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTabController.java
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XTabController;
+import com.sun.star.awt.XTabControllerModel;
+
+/**
+* This interface is DEPRECATED !!!
+* All test results are SKIPPED.OK now.
+* Testing <code>com.sun.star.awt.XTabController</code>
+* interface methods :
+* <ul>
+* <li><code> activateFirst()</code></li>
+* <li><code> activateLast()</code></li>
+* <li><code> activateTabOrder()</code></li>
+* <li><code> autoTabOrder()</code></li>
+* <li><code> getContainer()</code></li>
+* <li><code> getControls()</code></li>
+* <li><code> getModel()</code></li>
+* <li><code> setContainer()</code></li>
+* <li><code> setModel()</code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'MODEL'</code> : <code>XTabControllerModel</code> a model for
+* the object</li>
+* <li> <code>'CONTAINER'</code> : <code>XControlContainer</code> a container
+* for the object</li>
+* <ul> <p>
+* @see com.sun.star.awt.XTabController
+*/
+public class _XTabController extends MultiMethodTest {
+ public XTabController oObj = null;
+
+ /**
+ * Test calls the method with object relation 'MODEL' as a parameter.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _setModel() {
+ oObj.setModel( (XTabControllerModel) tEnv.getObjRelation("MODEL"));
+ tRes.tested("setModel()", Status.skipped(true) );
+ }
+
+ /**
+ * Test calls the method, then checks returned value.<p>
+ * Has <b> OK </b> status if method returns a value that equals to
+ * corresponding object relation.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setModel() </code> : sets model for the object </li>
+ * </ul>
+ */
+ public void _getModel() {
+ requiredMethod("setModel()");
+ oObj.getModel();
+ tRes.tested("getModel()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method with object relation 'CONTAINER' as a parameter.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _setContainer() {
+ oObj.setContainer( (XControlContainer)
+ tEnv.getObjRelation("CONTAINER"));
+ tRes.tested("setContainer()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method, then checks returned value.<p>
+ * Has <b> OK </b> status if method returns a value that equals to
+ * corresponding object relation.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setContainer() </code> : sets container for the object</li>
+ * </ul>
+ */
+ public void _getContainer() {
+ requiredMethod( "setContainer()");
+ oObj.getContainer();
+ tRes.tested("getContainer()", Status.skipped(true) );
+ }
+
+ /**
+ * Test calls the method, then checks returned sequence.<p>
+ * Has <b> OK </b> status if returned sequence is not null.<p>
+ */
+ public void _getControls() {
+ oObj.getControls();
+ tRes.tested("getControls()", Status.skipped(true) );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _autoTabOrder() {
+ oObj.autoTabOrder();
+ tRes.tested("autoTabOrder()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _activateTabOrder() {
+ oObj.activateTabOrder();
+ tRes.tested("activateTabOrder()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _activateFirst() {
+ oObj.activateFirst();
+ tRes.tested("activateFirst()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _activateLast() {
+ oObj.activateLast();
+ tRes.tested("activateLast()", Status.skipped(true));
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTabControllerModel.java b/qadevOOo/tests/java/ifc/awt/_XTabControllerModel.java
new file mode 100644
index 000000000..4b2070168
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTabControllerModel.java
@@ -0,0 +1,157 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.awt.XTabControllerModel;
+
+/**
+* Testing <code>com.sun.star.awt.XTabControllerModel</code>
+* interface methods :
+* <ul>
+* <li><code> getGroupControl()</code></li>
+* <li><code> setGroupControl()</code></li>
+* <li><code> setControlModels()</code></li>
+* <li><code> getControlModels()</code></li>
+* <li><code> setGroup()</code></li>
+* <li><code> getGroupCount()</code></li>
+* <li><code> getGroup()</code></li>
+* <li><code> getGroupByName()</code></li>
+* </ul> <p>
+*
+* Since the interface is <b>DEPRECATED</b> all methods have
+* status SKIPPED.OK <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Model1'</code> : <code>XControlModel</code> relation
+* , any control model belonging to the object tested.</li>
+* <li> <code>'Model2'</code> : <code>XControlModel</code> relation
+* , any control model belonging to the object tested.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XTabControllerModel
+*/
+public class _XTabControllerModel extends MultiMethodTest {
+
+ public XTabControllerModel oObj = null;
+
+
+ /**
+ * Sets group control to <code>true</code> then calls
+ * <code>getGroupControl()</code> method and checks the value. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>
+ * <p>
+ */
+ public void _getGroupControl() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("getGroupControl()", Status.skipped(true));
+ }
+
+ /**
+ * Sets group control to <code>false</code> then calls
+ * <code>getGroupControl()</code> method and checks the value. <p>
+ * Has <b> OK </b> status if the method returns <code>false</code>
+ * <p>
+ */
+ public void _setGroupControl() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("setGroupControl()", Status.skipped(true));
+ }
+
+ /**
+ * Test calls the method and sets control models to a single
+ * model from 'Model1' relation. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _setControlModels() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("setControlModels()", Status.skipped(true));
+ }
+
+ /**
+ * Calls method and checks if models were properly set in
+ * <code>setControlModels</code> method test. <p>
+ * Has <b>OK</b> status if the model sequence set is equal
+ * to the sequence get. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setControlModels </code> : to set sequence of models.</li>
+ * </ul>
+ */
+ public void _getControlModels() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("getControlModels()", Status.skipped(true));
+ }
+
+ /**
+ * Sets the group named 'XTabControlModel' to sequence with a single
+ * element from 'Model2' relation. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _setGroup() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("setGroup()", Status.skipped(true));
+ }
+
+ /**
+ * Calls method and checks if the group was properly set in
+ * <code>setGroup</code> method test. <p>
+ * Has <b>OK</b> status if the sequence set is equal
+ * to the sequence get. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGroup </code> : to set the sequence.</li>
+ * </ul>
+ */
+ public void _getGroup() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("getGroup()", Status.skipped(true));
+ }
+
+ /**
+ * Retrieves group named 'XTabControllerModel' added in <code>
+ * setGroup</code> method test, and checks it. <p>
+ * Has <b> OK </b> status if sequence get is equal to sequence set.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGroup </code> : to set the sequence.</li>
+ * </ul>
+ */
+ public void _getGroupByName() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("getGroupByName()", Status.skipped(true));
+ }
+
+ /**
+ * Gets number of groups.
+ * Has <b> OK </b> status if the number is greater than 0.
+ * <ul>
+ * <li> <code> setGroup </code> : to has at least one group.</li>
+ * </ul>
+ */
+ public void _getGroupCount() {
+ log.println("Always SKIPPED.OK since deprecated.");
+ tRes.tested("getGroupCount()", Status.skipped(true));
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTextComponent.java b/qadevOOo/tests/java/ifc/awt/_XTextComponent.java
new file mode 100644
index 000000000..b22cdbdb2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTextComponent.java
@@ -0,0 +1,255 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.awt.Selection;
+import com.sun.star.awt.TextEvent;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XTextListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.awt.XTextComponent</code>
+* interface methods:
+* <ul>
+* <li><code> addTextListener() </code></li>
+* <li><code> removeTextListener() </code></li>
+* <li><code> setText() </code></li>
+* <li><code> getText() </code></li>
+* <li><code> insertText() </code></li>
+* <li><code> getSelectedText() </code></li>
+* <li><code> setSelection() </code></li>
+* <li><code> getSelection() </code></li>
+* <li><code> setEditable() </code></li>
+* <li><code> isEditable() </code></li>
+* <li><code> setMaxTextLen() </code></li>
+* <li><code> getMaxTextLen() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XTextComponent.onlyNumbers'</code> (of type <code>Object</code>):
+* needed for checking if component can contain only numeric values </li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XTextComponent
+*/
+public class _XTextComponent extends MultiMethodTest {
+ public XTextComponent oObj = null;
+ public boolean textChanged = false;
+ // indicates that component can contain only numeric values
+ private boolean num = false ;
+
+ /**
+ * Listener implementation which just set flag when listener
+ * method is called.
+ */
+ protected class MyChangeListener implements XTextListener {
+ public void disposing ( EventObject oEvent ) {}
+ public void textChanged(TextEvent ev) {
+ textChanged = true;
+ }
+ }
+
+ XTextListener listener = new MyChangeListener();
+
+ /**
+ * Retrieves object relation, then sets flag 'num' to 'true'
+ * if relation is not null.
+ */
+ @Override
+ public void before() {
+ if (tEnv.getObjRelation("XTextComponent.onlyNumbers") != null)
+ num = true;
+ }
+
+ /**
+ * After test calls the method, a new text is set to the object. Then
+ * we check if listener was called, and set a new text value
+ * to the object.<p>
+ * Has <b> OK </b> status if listener was called.
+ */
+ public void _addTextListener() throws Exception {
+ oObj.addTextListener(listener);
+ oObj.setText("Listen");
+ waitForEventIdle();
+ if (!textChanged) {
+ log.println("Listener wasn't called after changing Text");
+ }
+
+ tRes.tested("addTextListener()",textChanged);
+ }
+
+ /**
+ * After setting flag 'textChanged' to false, test calls the method.
+ * Then a new text value is set to the object. <p>
+ * Has <b> OK </b> status if listener was not called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li><code> addTextListener() </code>: adds listener to the object.</li>
+ * </ul>
+ */
+ public void _removeTextListener() {
+ requiredMethod("addTextListener()");
+ textChanged = false;
+ oObj.removeTextListener(listener);
+ oObj.setText("Do not listen");
+ tRes.tested("removeTextListener()",!textChanged);
+ }
+
+ /**
+ * At first we're setting some string variable 'newText' depending of a kind
+ * of object we are working with. Then test calls the method. <p>
+ * Has <b> OK </b> status if set value is equal to a value obtained after.
+ */
+ public void _setText() {
+ String newText = num ? "823" : "setText" ;
+ if (tEnv.getTestCase().getObjectName().equals("OTimeControl")) {
+ newText = "8:15";
+ }
+ log.println("Setting text to : '" + newText + "'") ;
+ oObj.setText(newText);
+ log.println("Getting text : '" + oObj.getText() + "'") ;
+ tRes.tested("setText()",oObj.getText().equals(newText));
+ }
+
+ /**
+ * At first we're setting some string variable 'newText' depending of a kind
+ * of object we are working with. Then we set text to the object and call
+ * the method. <p>
+ * Has <b> OK </b> status if set value is equal to a value obtained using
+ * getText() method.
+ */
+ public void _getText() {
+ String newText = num ? "823" : "setText" ;
+ if (tEnv.getTestCase().getObjectName().equals("OTimeControl")) {
+ newText = "8:15";
+ }
+ oObj.setText(newText);
+ tRes.tested("getText()",oObj.getText().equals(newText));
+ }
+
+ /**
+ * At first we're setting string variables 'text' and 'itext' depending
+ * of a kind of object we are working with. Next, value from 'text' variable
+ * is set to an object using setText(), then the method insertText() is called.
+ * <p>
+ * Has <b> OK </b> status if text is inserted to the object.
+ */
+ public void _insertText() {
+ String text = num ? "753" : "iText" ;
+ String itext = num ? "6" : "insert" ;
+ log.println("Setting text to : '" + text + "'") ;
+ oObj.setText(text);
+ log.println("Inserting text to (0,1) : '" + itext + "'") ;
+ oObj.insertText(new Selection(0,1), itext);
+ log.println("getText() returns: " + oObj.getText());
+ tRes.tested("insertText()", oObj.getText().equals
+ (num ? "653" : "insertText"));
+ }
+
+ /**
+ * After text is set to the object, test calls the method.<p>
+ * Has <b> OK </b> status if selected text is equal to first three symbols
+ * of text added before.
+ */
+ public void _getSelectedText() {
+ String text = num ? "753" : "txt" ;
+ oObj.setText(text);
+ oObj.setSelection(new Selection(0,3));
+ boolean result = oObj.getSelectedText().equals(text);
+
+ if (! result) {
+ System.out.println("Getting '"+oObj.getSelectedText()+"'");
+ System.out.println("Expected '"+text+"'");
+ }
+
+ tRes.tested("getSelectedText()",result);
+ }
+
+ /**
+ * After setting new text to an object, and defining selection variable,
+ * test calls the method. <p>
+ * Has <b> OK </b> status if selection set before is equal to a selection we
+ * got using getSelection().
+ */
+ public void _setSelection() {
+ oObj.setText("setSelection");
+ Selection sel = new Selection(0,3);
+ oObj.setSelection(sel);
+ tRes.tested("setSelection()", ValueComparer.equalValue
+ (oObj.getSelection(), sel));
+ }
+
+ /**
+ * After setting new text to an object, and defining selection variable,
+ * test calls the method. <p>
+ * Has <b> OK </b> status if selection set before is equal to a selection we
+ * got using getSelection().
+ */
+ public void _getSelection() {
+ oObj.setText("getSelection");
+ Selection sel = new Selection(2,3);
+ oObj.setSelection(sel);
+ tRes.tested("getSelection()", ValueComparer.equalValue
+ (oObj.getSelection(), sel));
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if method has changed a property 'Editable'.
+ */
+ public void _setEditable(){
+ oObj.setEditable(true);
+ tRes.tested("setEditable()", oObj.isEditable());
+ }
+
+ /**
+ * First we set 'Editable' variable to false. Then test calls the method.<p>
+ * Has <b> OK </b> status if method returns value we set before.
+ */
+ public void _isEditable(){
+ oObj.setEditable(false);
+ tRes.tested("isEditable()", ! oObj.isEditable());
+ }
+
+ /**
+ * Test calls the method. Then new text value is set to the object. <p>
+ * Has <b> OK </b> status if text, returned by getText() is a string of
+ * length we set before.
+ */
+ public void _setMaxTextLen() {
+ oObj.setMaxTextLen((short)10);
+ tRes.tested("setMaxTextLen()",oObj.getMaxTextLen()==10);
+ }
+
+ /**
+ * At first we set MaxTextLen, then test calls the method. <p>
+ * Has <b> OK </b> status if method returns a value we set before.
+ */
+ public void _getMaxTextLen() {
+ oObj.setMaxTextLen((short)15);
+ log.println("getMaxTextLen() returns: "+oObj.getMaxTextLen());
+ tRes.tested("getMaxTextLen()",oObj.getMaxTextLen()==15);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTextLayoutConstrains.java b/qadevOOo/tests/java/ifc/awt/_XTextLayoutConstrains.java
new file mode 100644
index 000000000..c15b5d093
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTextLayoutConstrains.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XTextLayoutConstrains;
+
+/**
+* Testing <code>com.sun.star.awt.XTextLayoutConstrains</code>
+* interface methods:
+* <ul>
+* <li><code> getMinimumSize() </code></li>
+* <li><code> getColumnsAndLines() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XTextLayoutConstrains
+*/
+public class _XTextLayoutConstrains extends MultiMethodTest {
+ public XTextLayoutConstrains oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if both returned size fields are not equal to zero.
+ */
+ public void _getMinimumSize() {
+ short nCols = 0;
+ short nLines = 0;
+ Size mSize = oObj.getMinimumSize(nCols,nLines);
+ boolean res = ( (mSize.Height != 0) && (mSize.Width != 0) );
+ if (!res) {
+ log.println("mSize.height: " + mSize.Height);
+ log.println("mSize.width: " + mSize.Width);
+ }
+ tRes.tested("getMinimumSize()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if both returned values are not equal to zero.
+ */
+ public void _getColumnsAndLines() {
+ short[] nCols = new short[1];
+ short[] nLines = new short[1];
+ oObj.getColumnsAndLines(nCols,nLines);
+ boolean res = ( (nCols[0] != 0) && (nLines[0] != 0) );
+ if (!res) {
+ log.println("nCols: " + nCols[0]);
+ log.println("nLines: " + nLines[0]);
+ }
+ tRes.tested("getColumnsAndLines()",res);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTextListener.java b/qadevOOo/tests/java/ifc/awt/_XTextListener.java
new file mode 100644
index 000000000..2d57e349c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTextListener.java
@@ -0,0 +1,119 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.awt.TextEvent;
+import com.sun.star.awt.XTextListener;
+
+/**
+* Testing <code>com.sun.star.awt.XTextListener</code>
+* interface methods:
+* <ul>
+* <li><code> textChanged() </code></li>
+* </ul><p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'TestTextListener'</code>
+* (of type <code>ifc.awt._XTextListener.TestTextListener</code>):
+* this listener implementation must be registered for object tested for
+* checking
+* <code>textChanged()</code> method call. The listener must be registered
+* in object environment creation because it's not a fact that tested
+* component supports <code>XTextComponent</code> interface and the listener
+* can be registered in another object.</li>
+* <ul> <p>
+*
+* @see com.sun.star.awt.XTextListener
+*/
+public class _XTextListener extends MultiMethodTest {
+ public XTextListener oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ * and stores event passed.
+ */
+ public static class TestTextListener implements
+ com.sun.star.awt.XTextListener {
+ public boolean textChangedCalled = false ;
+ public TextEvent event = null ;
+
+ public void textChanged(TextEvent e) {
+ textChangedCalled = true ;
+ event = e ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {}
+
+ }
+
+ TestTextListener textListener = null;
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If the relation not found.
+ */
+ @Override
+ public void before() {
+ textListener = (TestTextListener)
+ tEnv.getObjRelation("TestTextListener");
+ if (textListener == null) {
+ throw new StatusException(Status.failed("Relation not found"));
+ }
+ }
+
+ /**
+ * First a <code>TextEvent</code> object created and
+ * it is passed to <code>textChanged</code> method
+ * call. Then a short wait follows for listener already
+ * registered at the object to be called. <p>
+ * Has <b> OK </b> status if the listener was called with
+ * the same <code>TextEvent</code> object as was created
+ * before.
+ */
+ public void _textChanged() {
+
+ boolean result = true ;
+
+ TextEvent event = new TextEvent() ;
+ event.dummy1 = 2;
+ oObj.textChanged(event);
+
+ waitForEventIdle();
+
+ result = textListener.textChangedCalled &&
+ textListener.event.dummy1 == 2;
+
+ tRes.tested("textChanged()", result) ;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTimeField.java b/qadevOOo/tests/java/ifc/awt/_XTimeField.java
new file mode 100644
index 000000000..cee4e51d6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTimeField.java
@@ -0,0 +1,287 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XTimeField;
+import com.sun.star.util.Time;
+
+/**
+* Testing <code>com.sun.star.awt.XTimeField</code>
+* interface methods :
+* <ul>
+* <li><code> setTime()</code></li>
+* <li><code> getTime()</code></li>
+* <li><code> setMin()</code></li>
+* <li><code> getMin()</code></li>
+* <li><code> setMax()</code></li>
+* <li><code> getMax()</code></li>
+* <li><code> setFirst()</code></li>
+* <li><code> getFirst()</code></li>
+* <li><code> setLast()</code></li>
+* <li><code> getLast()</code></li>
+* <li><code> setEmpty()</code></li>
+* <li><code> isEmpty()</code></li>
+* <li><code> setStrictFormat()</code></li>
+* <li><code> isStrictFormat()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XTimeField
+*/
+public class _XTimeField extends MultiMethodTest {
+
+ public XTimeField oObj = null;
+ private boolean strict = false ;
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getTime </code> </li>
+ * </ul>
+ */
+ public void _setTime() {
+ requiredMethod("getTime()") ;
+
+ boolean result = true ;
+ oObj.setTime(new Time(0, (short)0, (short)15, (short)11, false));
+ Time time = oObj.getTime();
+ result = time.NanoSeconds == 0 && time.Seconds == 0 && time.Minutes == 15 && time.Hours == 11 && !time.IsUTC;
+
+ if (! result ) {
+ System.out.println("Getting " + oObj.getTime() + " expected 11:15");
+ }
+
+ tRes.tested("setTime()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getTime() {
+
+ boolean result = true ;
+ oObj.getTime() ;
+
+ tRes.tested("getTime()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMin </code> </li>
+ * </ul>
+ */
+ public void _setMin() {
+
+ boolean result = true ;
+ oObj.setMin(new Time(0, (short)14, (short)18, (short)6, false));
+ Time time = oObj.getMin();
+ result = time.NanoSeconds == 0 && time.Seconds == 14 && time.Minutes == 18 && time.Hours == 6 && !time.IsUTC;
+
+ tRes.tested("setMin()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getMin() {
+
+ boolean result = true ;
+ oObj.getMin() ;
+
+ tRes.tested("getMin()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMax </code> </li>
+ * </ul>
+ */
+ public void _setMax() {
+
+ boolean result = true ;
+ oObj.setMax(new Time(855447, (short)31, (short)23, (short)22, false)) ;
+ Time time = oObj.getMax();
+ result = time.NanoSeconds == 855447 && time.Seconds == 31 && time.Minutes == 23 && time.Hours == 22 && !time.IsUTC;
+
+ tRes.tested("setMax()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getMax() {
+
+ boolean result = true ;
+ oObj.getMax() ;
+
+ tRes.tested("getMax()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFirst </code> </li>
+ * </ul>
+ */
+ public void _setFirst() {
+
+ boolean result = true ;
+ oObj.setFirst(new Time(0, (short)0, (short)30, (short)7, false)) ;
+ Time time = oObj.getFirst();
+ result = time.NanoSeconds == 0 && time.Seconds == 0 && time.Minutes == 30 && time.Hours == 7 && !time.IsUTC;
+
+ if (!result) {
+ log.println("Set to 07:30 but returned " + oObj.getFirst()) ;
+ }
+
+ tRes.tested("setFirst()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getFirst() {
+
+ boolean result = true ;
+ com.sun.star.util.Time val = oObj.getFirst() ;
+
+ log.println("getFirst() = " + val) ;
+
+ tRes.tested("getFirst()", result) ;
+ }
+
+ /**
+ * Sets a new value and checks if it was correctly set. <p>
+ * Has <b> OK </b> status if set and get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLast </code> </li>
+ * </ul>
+ */
+ public void _setLast() {
+
+ boolean result = true ;
+ oObj.setLast(new Time(500000, (short)31, (short)30, (short)18, false)) ;
+ Time time = oObj.getLast();
+ result = time.NanoSeconds == 500000 && time.Seconds == 31 && time.Minutes == 30 && time.Hours == 18 && !time.IsUTC;
+
+ if (!result) {
+ log.println("Set to 18:30:31.5 but returned " + oObj.getLast()) ;
+ }
+
+ tRes.tested("setLast()", result) ;
+ }
+
+ /**
+ * Gets the current value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _getLast() {
+
+ boolean result = true ;
+ com.sun.star.util.Time val = oObj.getLast() ;
+
+ log.println("getLast() = " + val) ;
+
+ tRes.tested("getLast()", result) ;
+ }
+
+ /**
+ * Sets the value to empty. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTime </code> : value must be not empty </li>
+ * </ul>
+ */
+ public void _setEmpty() {
+ requiredMethod("setTime()") ;
+
+ boolean result = true ;
+ oObj.setEmpty() ;
+
+ tRes.tested("setEmpty()", result) ;
+ }
+
+ /**
+ * Checks if the field is empty. <p>
+ * Has <b> OK </b> status if the value is empty.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setEmpty() </code> </li>
+ * </ul>
+ */
+ public void _isEmpty() {
+ requiredMethod("setEmpty()") ;
+
+ boolean result = true ;
+ result = oObj.isEmpty() ;
+
+ tRes.tested("isEmpty()", result) ;
+ }
+
+ /**
+ * Checks strict state. <p>
+ * Has <b> OK </b> status if strict format is set.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isStrictFormat </code> </li>
+ * </ul>
+ */
+ public void _setStrictFormat() {
+ requiredMethod("isStrictFormat()") ;
+
+ boolean result = true ;
+ oObj.setStrictFormat(!strict) ;
+
+ result = oObj.isStrictFormat() == !strict ;
+
+ tRes.tested("setStrictFormat()", result) ;
+ }
+
+ /**
+ * Gets strict state and stores it. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _isStrictFormat() {
+
+ boolean result = true ;
+ strict = oObj.isStrictFormat() ;
+
+ tRes.tested("isStrictFormat()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XToolkit.java b/qadevOOo/tests/java/ifc/awt/_XToolkit.java
new file mode 100644
index 000000000..5cac8c74a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XToolkit.java
@@ -0,0 +1,147 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.WindowDescriptor;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XRegion;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.awt.XToolkit</code>
+* interface methods:
+* <ul>
+* <li><code> getDesktopWindow() </code></li>
+* <li><code> getWorkArea() </code></li>
+* <li><code> createWindow() </code></li>
+* <li><code> createWindows() </code></li>
+* <li><code> createScreenCompatibleDevice() </code></li>
+* <li><code> createRegion() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XToolkit
+*/
+public class _XToolkit extends MultiMethodTest {
+ public XToolkit oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status always, because Desktop component
+ * currently is not supported as visible.
+ */
+ public void _getDesktopWindow() {
+ XWindowPeer win = oObj.getDesktopWindow();
+ if (win == null) {
+ log.println("getDesktopWindow() returns NULL");
+ }
+ tRes.tested("getDesktopWindow()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getWorkArea() {
+ Rectangle area = oObj.getWorkArea();
+ tRes.tested("getWorkArea()", area != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _createWindow() {
+ boolean res = false;
+ try {
+ XWindowPeer cWin = oObj.createWindow(
+ createDesc(new Rectangle(0,0,100,100)));
+ if (cWin == null) {
+ log.println("createWindow() create a NULL Object");
+ } else {
+ UnoRuntime.queryInterface(XComponent.class, cWin).dispose();
+ res = true;
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred while checking 'createWindow':");
+ ex.printStackTrace(log);
+ }
+ tRes.tested("createWindow()", res);
+ }
+
+ /**
+ * After defining of WindowDescriptor array, test calls the method. <p>
+ * Has <b> OK </b> status if all elements of the returned array are
+ * not null.
+ */
+ public void _createWindows() {
+ boolean res = false;
+ try {
+ WindowDescriptor[] descs = new WindowDescriptor[2];
+ descs[0] = createDesc(new Rectangle(0,0,100,100));
+ descs[1] = createDesc(new Rectangle(100,100,200,200));
+ XWindowPeer[] cWins = oObj.createWindows(descs);
+ if ( (cWins[0] == null) || (cWins[1] == null) ) {
+ log.println("createWindows() creates NULL Windows");
+ } else {
+ UnoRuntime.queryInterface(XComponent.class, cWins[0]).dispose();
+ UnoRuntime.queryInterface(XComponent.class, cWins[1]).dispose();
+ res = true;
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred while checking 'createWindows':");
+ ex.printStackTrace(log);
+ }
+ tRes.tested("createWindows()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _createScreenCompatibleDevice() {
+ XDevice dev = oObj.createScreenCompatibleDevice(100, 100);
+ tRes.tested("createScreenCompatibleDevice()", dev != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _createRegion() {
+ XRegion reg = oObj.createRegion();
+ tRes.tested("createRegion()", reg != null);
+ }
+
+ /**
+ * Just creates the WindowDescriptor as an argument for createWindow().
+ */
+ public WindowDescriptor createDesc(Rectangle rect) {
+ XWindowPeer win = (XWindowPeer) tEnv.getObjRelation("WINPEER");
+ return new WindowDescriptor(com.sun.star.awt.WindowClass.TOP,
+ "", win, (short) -1, rect, com.sun.star.awt.WindowAttribute.SHOW);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XTopWindow.java b/qadevOOo/tests/java/ifc/awt/_XTopWindow.java
new file mode 100644
index 000000000..91d4d3c36
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XTopWindow.java
@@ -0,0 +1,190 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XMenuBar;
+import com.sun.star.awt.XTopWindow;
+import com.sun.star.awt.XTopWindowListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.awt.XTopWindow</code>
+* interface methods :
+* <ul>
+* <li><code> addTopWindowListener()</code></li>
+* <li><code> removeTopWindowListener()</code></li>
+* <li><code> toFront()</code></li>
+* <li><code> toBack()</code></li>
+* <li><code> setMenuBar()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XTopWindow
+*/
+public class _XTopWindow extends MultiMethodTest {
+
+ public XTopWindow oObj = null;
+
+ /**
+ * Listener implementation which sets flags on different
+ * method calls.
+ */
+ protected static class TestListener implements XTopWindowListener {
+ private final PrintWriter log;
+ public boolean activated = false ;
+ public boolean deactivated = false ;
+
+ public TestListener(PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void initListener() {
+ activated = false;
+ deactivated = false;
+ }
+
+ public void windowOpened(EventObject e) {
+ log.println("windowOpened() called") ;
+ }
+ public void windowClosing(EventObject e) {
+ log.println("windowClosing() called") ;
+ }
+ public void windowClosed(EventObject e) {
+ log.println("windowClosed() called") ;
+ }
+ public void windowMinimized(EventObject e) {
+ log.println("windowMinimized() called") ;
+ }
+ public void windowNormalized(EventObject e) {
+ log.println("windowNormalized() called") ;
+ }
+ public void windowActivated(EventObject e) {
+ activated = true;
+ log.println("windowActivated() called") ;
+ }
+ public void windowDeactivated(EventObject e) {
+ deactivated = true;
+ log.println("windowDeactivated() called") ;
+ }
+ public void disposing(EventObject e) {}
+ }
+
+ protected TestListener listener = null ;
+
+ XTextDocument aTextDoc = null;
+
+
+ @Override
+ protected void before() {
+ aTextDoc = util.WriterTools.createTextDoc(tParam.getMSF());
+ }
+
+ /**
+ * Adds a listener . <p>
+ *
+ * Has <b>OK</b> status always (listener calls are checked in
+ * other methods. <p>
+ */
+ public void _addTopWindowListener() {
+ listener = new TestListener(log) ;
+
+ oObj.addTopWindowListener(listener) ;
+
+ tRes.tested("addTopWindowListener()", true);
+ }
+
+ /**
+ * Removes a listener added before. <p>
+ * Has <b>OK</b> status always. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> toBack </code> : to have a definite method execution
+ * order.</li>
+ * </ul>
+ */
+ public void _removeTopWindowListener() {
+ executeMethod("toBack()");
+
+ oObj.removeTopWindowListener(listener);
+
+ tRes.tested("removeTopWindowListener()", true);
+ }
+
+ /**
+ * Moves the window to front and check the listener calls. <p>
+ * Has <b>OK</b> status if listener <code>activated</code> method
+ * was called.
+ */
+ public void _toFront() {
+ requiredMethod("addTopWindowListener()");
+ listener.initListener();
+ oObj.toFront();
+ waitForEventIdle();
+
+ tRes.tested("toFront()", listener.activated && !listener.deactivated);
+ }
+
+ /**
+ * This method doesn't do anything the Office implementation. <p>
+ * So it has always <b>OK</b> status
+ */
+ public void _toBack() {
+ oObj.toBack();
+ tRes.tested("toBack()", true);
+ }
+
+ /**
+ * Creates a simple menu bar and adds to the window. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _setMenuBar() {
+ XMenuBar menu = null ;
+ boolean result = true ;
+
+ try {
+ menu = UnoRuntime.queryInterface(XMenuBar.class,
+ tParam.getMSF().
+ createInstance("com.sun.star.awt.MenuBar")) ;
+
+ menu.insertItem((short)1, "MenuItem",
+ com.sun.star.awt.MenuItemStyle.CHECKABLE, (short)1) ;
+
+ oObj.setMenuBar(menu) ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't instantiate MenuBar service") ;
+ result = false ;
+ }
+
+ tRes.tested("setMenuBar()", result) ;
+ }
+
+ /**
+ * Disposes the document created in <code>before</code> method.
+ */
+ @Override
+ protected void after() {
+ aTextDoc.dispose();
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XUnoControlContainer.java b/qadevOOo/tests/java/ifc/awt/_XUnoControlContainer.java
new file mode 100644
index 000000000..de59741d4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XUnoControlContainer.java
@@ -0,0 +1,173 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import com.sun.star.awt.XTabController;
+import com.sun.star.awt.XUnoControlContainer;
+import lib.MultiMethodTest;
+
+/**
+ * Testing <code>com.sun.star.awt.XUnoControlContainer</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addTabController()</code></li>
+ * <li><code> removeTabController()</code></li>
+ * <li><code> getTabControllers()</code></li>
+ * <li><code> setTabControllers()</code></li>
+ * </ul> <p>
+ *
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'TABCONTROL1'</code> (of type <code>XTabController</code>)</li>
+* <li> <code>'TABCONTROL2'</code> (of type <code>XTabController</code>)</li>
+ *</ul>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ */
+
+public class _XUnoControlContainer extends MultiMethodTest {
+ public XUnoControlContainer oObj = null;
+ private XTabController[] TabControllers = new XTabController[2];
+ private XTabController tabControl1 = null;
+ private XTabController tabControl2 = null;
+
+ /**
+ * This method gets the object relations.
+ *
+ */
+ @Override
+ protected void before() {
+
+ tabControl1 = (XTabController) tEnv.getObjRelation("TABCONTROL1");
+ tabControl2 = (XTabController) tEnv.getObjRelation("TABCONTROL2");
+ if ((tabControl1 == null) || (tabControl2 == null)){
+ log.println("ERROR: Needed object relations 'TABCONTROL1' and "
+ + "'TABCONTROL2' are not found.");
+ }
+ TabControllers[0] = tabControl1;
+ TabControllers[1] = tabControl2;
+
+ }
+
+
+
+ /**
+ * This tests removes the object relations <code>TABCONTROL1</code> and
+ * <code>TABCONTROL1</code>.
+ * Has <b> OK </b> status if the sequence of <code>XTabController[]</code>
+ * get before calling method is smaller then sequence of
+ * <code>XTabController[]</code> get after calling method.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getTabControllers() </code> </li>
+ * <li> <code> removeTabController() </code> </li>
+ * </ul>
+ */
+ public void _setTabControllers() {
+ requiredMethod( "getTabControllers()");
+ requiredMethod( "removeTabController()");
+
+ log.println("removing TABCONTROL1 and TABCONTROL2");
+ oObj.removeTabController(tabControl1);
+ oObj.removeTabController(tabControl2);
+
+ log.println("get current controllers");
+ XTabController[] myTabControllers = oObj.getTabControllers();
+
+ log.println("set new controllers");
+ oObj.setTabControllers( TabControllers );
+
+ log.println("get new current controllers");
+ XTabController[] myNewTabControllers = oObj.getTabControllers();
+
+ tRes.tested("setTabControllers()",
+ (myTabControllers.length < myNewTabControllers.length ));
+
+ }
+
+ /**
+ * Test calls the method, then checks returned value.<p>
+ * Has <b> OK </b> status if method returns a value that greater than zero.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addTabController() </code></li>
+ * </ul>
+ */
+ public void _getTabControllers() {
+ requiredMethod( "addTabController()");
+ XTabController[] myTabControllers = oObj.getTabControllers();
+ tRes.tested("getTabControllers()", ( myTabControllers.length > 0));
+ }
+
+ /**
+ * Test calls the method with object relation 'TABCONTROL1' as a parameter.<p>
+ * Has <b> OK </b> status if the sequence of <code>XTabController[]</code>
+ * get before calling method is smaller then sequence of
+ * <code>XTabController[]</code> get after calling method.<p>
+ */
+ public void _addTabController() {
+ log.println("get current controllers");
+ XTabController[] myTabControllers = oObj.getTabControllers();
+
+ log.println("add TABCONTROL1");
+ oObj.addTabController( tabControl1 );
+
+ log.println("get new current controllers");
+ XTabController[] myNewTabControllers = oObj.getTabControllers();
+
+ tRes.tested("addTabController()",
+ (myTabControllers.length < myNewTabControllers.length ));
+ }
+
+ /**
+ * Test calls the method with object relation 'TABCONTROL2' as a parameter.<p>
+ * Has <b> OK </b> status if the sequence of <code>XTabController[]</code>
+ * get before calling method is smaller then sequence of
+ * <code>XTabController[]</code> get after calling method.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getTabControllers() </code></li>
+ * <li> <code> addTabController() </code></li>
+ * </ul>
+ */
+ public void _removeTabController() {
+ requiredMethod( "getTabControllers()");
+ requiredMethod( "addTabController()");
+
+ log.println("add TABCONTROL2");
+ oObj.addTabController( tabControl2 );
+
+ log.println("get current controllers");
+ XTabController[] myTabControllers = oObj.getTabControllers();
+
+ log.println("remove TABCONTROL2");
+ oObj.removeTabController(tabControl2);
+
+ log.println("get new current controllers");
+ XTabController[] myNewTabControllers = oObj.getTabControllers();
+
+ tRes.tested("removeTabController()",
+ (myTabControllers.length > myNewTabControllers.length ));
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XView.java b/qadevOOo/tests/java/ifc/awt/_XView.java
new file mode 100644
index 000000000..a7858d037
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XView.java
@@ -0,0 +1,135 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XView;
+
+/**
+* Testing <code>com.sun.star.awt.XView</code>
+* interface methods:
+* <ul>
+* <li><code> setGraphics() </code></li>
+* <li><code> getGraphics() </code></li>
+* <li><code> getSize() </code></li>
+* <li><code> draw() </code></li>
+* <li><code> setZoom() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'GRAPHICS'</code> (of type <code>XGraphics</code>):
+* used as a parameter to setGraphics() </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XView
+*/
+public class _XView extends MultiMethodTest {
+ public XView oObj = null;
+
+ /**
+ * After obtaining object relation 'GRAPHICS', test calls the method. <p>
+ * Has <b> OK </b> status if the method returns true.
+ */
+ public void _setGraphics() {
+ XGraphics graph = (XGraphics) tEnv.getObjRelation("GRAPHICS");
+ boolean isSet = oObj.setGraphics(graph);
+ if ( !isSet ) {
+ log.println("setGraphics() returns false");
+ }
+ tRes.tested("setGraphics()", isSet);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGraphics() </code> : sets the output device </li>
+ * </ul>
+ */
+ public void _getGraphics() {
+ requiredMethod("setGraphics()");
+ XGraphics graph = oObj.getGraphics();
+ if (graph == null) {
+ log.println("getGraphics() returns NULL");
+ }
+ tRes.tested("getGraphics()", graph != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns structure with fields that
+ * are not equal to zero. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGraphics() </code> : sets the output device </li>
+ * </ul>
+ */
+ public void _getSize() {
+ requiredMethod("setGraphics()");
+ Size aSize = oObj.getSize();
+ boolean res = (aSize.Height != 0) && (aSize.Width != 0);
+ if ( !res ) {
+ log.println("Height: " + aSize.Height);
+ log.println("Width: " + aSize.Width);
+ }
+ tRes.tested("getSize()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGraphics() </code> : sets the output device </li>
+ * </ul>
+ */
+ public void _draw() {
+ requiredMethod("setGraphics()");
+ oObj.draw(20, 20);
+ tRes.tested("draw()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setGraphics() </code> : sets the output device </li>
+ * </ul>
+ */
+ public void _setZoom() {
+ requiredMethod("setGraphics()");
+ oObj.setZoom(2,2);
+ tRes.tested("setZoom()", true);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/_XWindow.java b/qadevOOo/tests/java/ifc/awt/_XWindow.java
new file mode 100644
index 000000000..089118ae7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/_XWindow.java
@@ -0,0 +1,581 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt;
+
+import com.sun.star.awt.FocusEvent;
+import com.sun.star.awt.KeyEvent;
+import com.sun.star.awt.MouseEvent;
+import com.sun.star.awt.PaintEvent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.WindowEvent;
+import com.sun.star.awt.XFocusListener;
+import com.sun.star.awt.XKeyListener;
+import com.sun.star.awt.XMouseListener;
+import com.sun.star.awt.XMouseMotionListener;
+import com.sun.star.awt.XPaintListener;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowListener;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.lang.EventObject;
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+/**
+* Testing <code>com.sun.star.awt.XWindow</code>
+* interface methods :
+* <ul>
+* <li><code> setPosSize()</code></li>
+* <li><code> getPosSize()</code></li>
+* <li><code> setVisible()</code></li>
+* <li><code> setEnable()</code></li>
+* <li><code> setFocus()</code></li>
+* <li><code> addWindowListener()</code></li>
+* <li><code> removeWindowListener()</code></li>
+* <li><code> addFocusListener()</code></li>
+* <li><code> removeFocusListener()</code></li>
+* <li><code> addKeyListener()</code></li>
+* <li><code> removeKeyListener()</code></li>
+* <li><code> addMouseListener()</code></li>
+* <li><code> removeMouseListener()</code></li>
+* <li><code> addMouseMotionListener()</code></li>
+* <li><code> removeMouseMotionListener()</code></li>
+* <li><code> addPaintListener()</code></li>
+* <li><code> removePaintListener()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XWindow.AnotherWindow'</code> (of type <code>XWindow</code>):
+* Some another window which can gain focus so the tested one
+* must lost it. </li>
+* <li> <code>'XWindow.ControlShape'</code> <b>optional</b>
+* (of type <code>XControlShape</code>):
+* Some shapes can't change their size within fixed ControlShape
+* and their size could be changed only if size of container
+* ControlShape is changed. For such shapes this relation should
+* be passed for proper <code>addWindowListener</code> test. </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.awt.XWindow
+*/
+public class _XWindow extends MultiMethodTest {
+ public XWindow oObj = null;
+ private Rectangle posSize = null ;
+ private XWindow win = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getPosSize() {
+ posSize = oObj.getPosSize() ;
+ tRes.tested("getPosSize()", posSize != null) ;
+ }
+
+ /**
+ * After defining Rectangle structure to be set, test calls the method. <p>
+ * Has <b> OK </b> status if structure obtained using getPosSize() is
+ * equal to structure previously set using setPosSize(). <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPosSize() </code> : returns the outer bounds of
+ * the window </li>
+ * </ul>
+ */
+ public void _setPosSize() {
+ Rectangle newRec = new Rectangle();
+
+ requiredMethod("getPosSize()");
+ newRec.X = posSize.X + 1;
+ newRec.Y = posSize.Y + 1;
+ newRec.Width = posSize.Width - 3;
+ newRec.Height = posSize.Height - 3;
+ oObj.setPosSize(newRec.X, newRec.Y, newRec.Width, newRec.Height,
+ PosSize.POSSIZE);
+ Rectangle gPS = oObj.getPosSize();
+ log.println("Was : (" + posSize.X + ", " + posSize.Y + ", " +
+ posSize.Width + ", " + posSize.Height + "), ");
+ log.println("Set : (" + newRec.X + ", " + newRec.Y + ", " +
+ newRec.Width + ", " + newRec.Height + "), ");
+ log.println("Get : (" + gPS.X + ", " + gPS.Y + ", " +
+ gPS.Width + ", " + gPS.Height + "). ");
+ tRes.tested("setPosSize()", ValueComparer.equalValue(newRec, gPS) );
+ }
+
+ /**
+ * At first object relation 'XWindow.AnotherWindow' is obtained.
+ * Then test calls the methods of two 'XWindow' objects several times to be
+ * sure that the focus has changed. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setFocus() {
+ win = (XWindow) tEnv.getObjRelation("XWindow.AnotherWindow");
+ oObj.setFocus();
+ win.setFocus();
+ oObj.setFocus();
+ tRes.tested("setFocus()", true);
+ }
+
+ /**
+ * Test calls the method twice with two parameters: 'true' and 'false'. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setVisible() {
+ oObj.setVisible(false);
+ oObj.setVisible(true);
+ tRes.tested("setVisible()", true);
+ }
+
+ /**
+ * Test calls the method twice with two parameters: 'true' and 'false'. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setEnable() {
+ oObj.setEnable(false);
+ oObj.setEnable(true);
+ tRes.tested("setEnable()", true);
+ }
+
+
+ /**
+ * A class we use to test addWindowListener() and
+ * removeWindowListener()
+ */
+ public static class TestWindowListener implements XWindowListener {
+ public boolean resized = false ;
+ public boolean moved = false ;
+ public boolean hidden = false ;
+ public boolean shown = false ;
+
+ public void init() {
+ resized = false ;
+ moved = false ;
+ hidden = false ;
+ shown = false ;
+ }
+
+ public void windowResized(WindowEvent e) {
+ resized = true ;
+ }
+ public void windowMoved(WindowEvent e) {
+ moved = true ;
+ }
+ public void windowHidden(EventObject e) {
+ hidden = true ;
+ }
+ public void windowShown(EventObject e) {
+ shown = true ;
+ }
+ public void disposing(EventObject e) {}
+
+ }
+
+ private final TestWindowListener wListener = new TestWindowListener() ;
+
+
+ /**
+ * Test calls the method. Then we check if listener's methods were called
+ * when we move, resize, hide and show the window. The resizing is
+ * performed depending on 'XWindow.ControlShape' existence. If this
+ * relation exists then the size and position of container control
+ * shape is changed, else the position and size of window itself is
+ * changed<p>
+ *
+ * Has <b> OK </b> status if methods of wListener were called when
+ * corresponding events occurred. <p>
+ *
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> setPosSize() </code>: sets the outer bounds of the
+ * window</li>
+ * <li> <code> setVisible() </code>: shows or hides the window
+ * depending on the parameter</li>
+ * </ul>
+ */
+ public void _addWindowListener() {
+ executeMethod("setPosSize()");
+ executeMethod("setVisible()");
+ boolean result = true ;
+
+ oObj.addWindowListener(wListener);
+
+ // testing wListener.windowMoved()
+ XControlShape ctrlShape = (XControlShape)
+ tEnv.getObjRelation("XWindow.ControlShape");
+ log.println("change object position and size...");
+
+ if (ctrlShape != null) {
+ try {
+ Size sz = ctrlShape.getSize();
+ sz.Height += 100;
+ ctrlShape.setSize(sz);
+ Point pos = ctrlShape.getPosition();
+ pos.X += 100 ;
+ ctrlShape.setPosition(pos);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change size or position: ");
+ e.printStackTrace(log);
+ }
+ } else {
+ oObj.setPosSize(posSize.X + 2, 0, 0, 0, PosSize.X);
+ oObj.setPosSize(0, 0, 100, 100, PosSize.WIDTH);
+ }
+
+ waitForEventIdle();
+ boolean res = wListener.resized && wListener.moved &&
+ !wListener.hidden && !wListener.shown;
+ result &= res;
+ if (!res) {
+ log.println("\twindowHidden() wasn't called: " + !wListener.hidden);
+ log.println("\twindowShown() wasn't called: " + !wListener.shown);
+ log.println("\twindowResized() was called: " + wListener.resized);
+ log.println("\twindowMoved() was called: " + wListener.moved);
+ } else {
+ log.println("windowMoved() and windowResized() was called");
+ }
+
+ // testing wListener.windowHidden()
+ wListener.init();
+ waitForEventIdle();
+ log.println("set object invisible...");
+ oObj.setVisible(false);
+ waitForEventIdle();
+ res = wListener.hidden && !wListener.resized
+ && !wListener.moved && !wListener.shown;
+ result &= res;
+ if (!res) {
+ log.println("\twindowHidden() was called: " + wListener.hidden);
+ log.println("\twindowShown() wasn't called: " + !wListener.shown);
+ log.println("\twindowResized() wasn't called: " + !wListener.resized);
+ log.println("\twindowMoved() wasn't called: " + !wListener.moved);
+ } else {
+ log.println("windowHidden() was called");
+ }
+
+ // testing wListener.windowShown()
+ wListener.init() ;
+ waitForEventIdle();
+ log.println("set object visible...");
+ oObj.setVisible(true) ;
+ waitForEventIdle();
+ res = wListener.shown && !wListener.resized &&
+ !wListener.hidden && !wListener.moved;
+ result &= res;
+ if (!res) {
+ log.println("\twindowHidden() wasn't called: " + !wListener.hidden);
+ log.println("\twindowShown() was called: " + wListener.shown);
+ log.println("\twindowResized() wasn't called: " + !wListener.resized);
+ log.println("\twindowMoved() wasn't called: " + !wListener.moved);
+ } else {
+ log.println("windowShown() was called");
+ }
+
+ tRes.tested("addWindowListener()", result) ;
+ }
+
+
+ /**
+ * Test calls the method. Then we change window and check that listener's
+ * methods were not called. <p>
+ * Has <b> OK </b> status if listener does not react on window events.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addWindowListener() </code>: adds window listener to the
+ * object </li>
+ * </ul>
+ */
+ public void _removeWindowListener() {
+ requiredMethod("addWindowListener()");
+ oObj.removeWindowListener(wListener);
+ wListener.init();
+ oObj.setPosSize(posSize.X, posSize.Y,
+ posSize.Width , posSize.Height, PosSize.POSSIZE);
+ oObj.setVisible(false);
+ oObj.setVisible(true);
+ boolean res = !(wListener.resized || wListener.moved
+ || wListener.hidden || wListener.shown);
+
+ tRes.tested("removeWindowListener()", res);
+ }
+
+ /**
+ * A class we use to test addFocusListener() and
+ * removeFocusListener()
+ */
+ public static class TestFocusListener implements XFocusListener {
+ public boolean gained = false ;
+ public boolean lost = false ;
+
+ public void focusGained(FocusEvent e) {
+ gained = true ;
+ }
+ public void focusLost(FocusEvent e) {
+ lost = true ;
+ }
+ public void init() {
+ gained = false;
+ lost = false;
+ }
+ public void disposing(EventObject e) {}
+
+ }
+
+ private final TestFocusListener fListener = new TestFocusListener();
+
+ /**
+ * Test calls the method. Then we change focus and check that listener's
+ * methods were called. <p>
+ * Has <b> OK </b> status if methods of fListener were called when
+ * corresponding events occurred. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFocus() </code>: sets the focus to the window </li>
+ * </ul>
+ */
+ public void _addFocusListener() {
+ boolean result = true ;
+
+ requiredMethod("setFocus()");
+ oObj.addFocusListener(fListener) ;
+
+ // testing fListener.lost()
+ oObj.setFocus();
+ waitForEventIdle();
+ win.setFocus();
+ waitForEventIdle();
+ result &= fListener.lost;
+ if (!fListener.lost) {
+ log.println("Lost focus was not notified about") ;
+ }
+
+ // testing fListener.gained()
+ oObj.setFocus() ;
+ waitForEventIdle();
+ result &= fListener.gained;
+ if (!fListener.gained) {
+ log.println("Gained focus was not notified about") ;
+ }
+
+ tRes.tested("addFocusListener()", result) ;
+ }
+
+ /**
+ * Test calls the method. Then we change focus and check that listener's
+ * methods were not called. <p>
+ * Has <b> OK </b> status if listener does not react on focus changing. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addFocusListener() </code> : adds focus listener to
+ * the object </li>
+ * </ul>
+ */
+ public void _removeFocusListener() {
+ requiredMethod("addFocusListener()");
+ oObj.removeFocusListener(fListener);
+ fListener.init();
+ oObj.setFocus();
+ win.setFocus();
+ oObj.setFocus();
+ boolean res = !(fListener.gained || fListener.lost);
+ tRes.tested("removeFocusListener()", res);
+ }
+
+ /**
+ * A class we use to test addKeyListener() and
+ * removeKeyListener()
+ */
+ public static class TestKeyListener implements XKeyListener {
+ public void keyPressed(KeyEvent e) {}
+ public void keyReleased(KeyEvent e) {}
+ public void disposing(EventObject e) {}
+ public void init() {}
+ }
+
+ private final TestKeyListener kListener = new TestKeyListener();
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _addKeyListener() {
+ oObj.addKeyListener(kListener);
+ tRes.tested("addKeyListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addKeyListener() </code> : adds key listener to
+ * the object </li>
+ * </ul>
+ */
+ public void _removeKeyListener() {
+ requiredMethod("addKeyListener()");
+ oObj.removeKeyListener(kListener);
+ tRes.tested("removeKeyListener()", true);
+ }
+
+ /**
+ * A class we use to test addMouseListener() and
+ * removeMouseListener()
+ */
+ public static class TestMouseListener implements XMouseListener {
+
+ public void mousePressed(MouseEvent e) {
+ }
+
+ public void mouseReleased(MouseEvent e) {
+ }
+
+ public void mouseEntered(MouseEvent e) {
+ }
+
+ public void mouseExited(MouseEvent e) {
+ }
+
+ public void disposing(EventObject e) {}
+
+ public void init() {
+ }
+
+ }
+
+ private final TestMouseListener mListener = new TestMouseListener();
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _addMouseListener() {
+ oObj.addMouseListener(mListener);
+ tRes.tested("addMouseListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addMouseListener() </code> : adds mouse listener to
+ * the object</li>
+ * </ul>
+ */
+ public void _removeMouseListener() {
+ requiredMethod("addMouseListener()");
+ oObj.removeMouseListener(mListener);
+ tRes.tested("removeMouseListener()", true);
+ }
+
+ /**
+ * A class we use to test addMouseMotionListener() and
+ * removeMouseMotionListener()
+ */
+ public static class TestMouseMotionListener implements XMouseMotionListener {
+
+ public void mouseDragged(MouseEvent e) {
+ }
+
+ public void mouseMoved(MouseEvent e) {
+ }
+
+ public void disposing(EventObject e) {
+ }
+
+ public void init() {
+ }
+
+ }
+
+ private final TestMouseMotionListener mmListener = new TestMouseMotionListener();
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _addMouseMotionListener() {
+ oObj.addMouseMotionListener(mmListener);
+ tRes.tested("addMouseMotionListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addMouseMotionListener() </code> : adds mouse motion
+ * listener to the object</li>
+ * </ul>
+ */
+ public void _removeMouseMotionListener() {
+ requiredMethod("addMouseMotionListener()");
+ oObj.removeMouseMotionListener(mmListener);
+ tRes.tested("removeMouseMotionListener()", true);
+ }
+
+ /**
+ * A class we use to test addPaintListener() and
+ * removePaintListener()
+ */
+ public static class TestPaintListener implements XPaintListener {
+
+ public void windowPaint(PaintEvent e) {
+ }
+
+ public void disposing(EventObject e) {}
+
+ public void init() {
+ }
+
+ }
+
+ private final TestPaintListener pListener = new TestPaintListener();
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _addPaintListener() {
+ oObj.addPaintListener(pListener);
+ tRes.tested("addPaintListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addPaintListener() </code> : adds paint listener to
+ * the object </li>
+ * </ul>
+ */
+ public void _removePaintListener() {
+ requiredMethod("addPaintListener()");
+ oObj.removePaintListener(pListener);
+ tRes.tested("removePaintListener()", true);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_TreeControlModel.java b/qadevOOo/tests/java/ifc/awt/tree/_TreeControlModel.java
new file mode 100644
index 000000000..2cf028c07
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_TreeControlModel.java
@@ -0,0 +1,28 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt.tree;
+
+import lib.MultiPropertyTest;
+
+/*
+* Testing <code>com.sun.star.awt.tree.TreeControlModel</code>
+* service properties </br>
+* @see com.sun.star.awt.tree.TreeControlModel
+*/
+public class _TreeControlModel extends MultiPropertyTest { }
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeDataModel.java b/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeDataModel.java
new file mode 100644
index 000000000..5b5976055
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeDataModel.java
@@ -0,0 +1,90 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt.tree;
+
+import com.sun.star.awt.tree.XMutableTreeDataModel;
+import com.sun.star.awt.tree.XMutableTreeNode;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.awt.tree.XMutableTreeDataModel</code>
+* interface methods :
+* <ul>
+* <li><code> createNode()</code></li>
+* <li><code> setRoot()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+
+* @see com.sun.star.awt.tree.XMutableTreeDataModel
+*/
+public class _XMutableTreeDataModel extends MultiMethodTest {
+
+ public XMutableTreeDataModel oObj = null;
+
+ private XMutableTreeNode mNewNode = null;
+
+ /**
+ * Sets the title to some string. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurs.
+ */
+ public void _createNode() {
+
+ mNewNode = oObj.createNode("Hallo Welt", true);
+
+ tRes.tested("createNode()", true) ;
+ }
+
+ /**
+ * Gets the title and compares it to the value set in
+ * <code>setTitle</code> method test. <p>
+ * Has <b>OK</b> status is set/get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTitle </code> </li>
+ * </ul>
+ */
+ public void _setRoot() {
+ requiredMethod("createNode()") ;
+
+ boolean bOK = true;
+ try {
+
+ oObj.setRoot(mNewNode);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: while trying to set a new root an IllegalArgumentException was thrown:\n" + ex.toString());
+ }
+
+ try {
+
+ oObj.setRoot(null);
+ bOK = false;
+ log.println("ERROR: while trying to set a null object as root expected IllegalArgumentException was not thrown.");
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected IllegalArgumentException was thrown => ok");
+
+ }
+
+ tRes.tested("setRoot()", bOK);
+
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeNode.java b/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeNode.java
new file mode 100644
index 000000000..76c7e6cac
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_XMutableTreeNode.java
@@ -0,0 +1,285 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt.tree;
+
+import com.sun.star.awt.tree.XMutableTreeNode;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.awt.tree.XTreeDataModel</code>
+ * interface methods :
+ * <ul>
+ * <li><code> appendChild()</code></li>
+ * <li><code> insertChildByIndex()</code></li>
+ * <li><code> removeChildByIndex()</code></li>
+ * <li><code> setHasChildrenOnDemand()</code></li>
+ * <li><code> setDisplayValue()</code></li>
+ * <li><code> setNodeGraphicURL()</code></li>
+ * <li><code> setExpandedGraphicURL()</code></li>
+ * <li><code> setCollapsedGraphicURL()</code></li>
+ * <li><code> DataValue()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ *
+ * @see com.sun.star.awt.tree.XTreeDataModel
+ */
+public class _XMutableTreeNode extends MultiMethodTest {
+
+ public XMutableTreeNode oObj = null;
+
+ private XMutableTreeNodeCreator nodeCreator = null;
+
+ public interface XMutableTreeNodeCreator{
+ XMutableTreeNode createNode(String name);
+ }
+
+ @Override
+ public void before(){
+ nodeCreator = (XMutableTreeNodeCreator) tEnv.getObjRelation("XMutableTreeNodeCreator");
+ if (nodeCreator == null){
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XMutableTreeNodeCreator'"));
+ }
+
+ }
+
+ public void _appendChild(){
+ boolean bOK = true;
+
+ log.println("try to append a valid node...");
+
+ XMutableTreeNode myNode = nodeCreator.createNode("myNodeToAppend");
+
+ try {
+ oObj.appendChild(myNode);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not append a valid node: " + ex.toString());
+ bOK = false;
+ }
+
+ log.println("try to append the node a second time...");
+ try {
+
+ oObj.appendChild(myNode);
+ log.println("ERROR: expected IllegalArgumentException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected IllegalArgumentException was thrown => OK");
+ }
+
+ log.println("try to append the object itself...");
+ try {
+
+ oObj.appendChild(oObj);
+ log.println("ERROR: expected IllegalArgumentException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected IllegalArgumentException was thrown => OK");
+ }
+
+ tRes.tested("appendChild()", bOK);
+ }
+
+ public void _insertChildByIndex(){
+ boolean bOK = true;
+
+ XMutableTreeNode myNode = nodeCreator.createNode("myNodeToInsert");
+
+ try {
+ log.println("try to insert a valid node...");
+ oObj.insertChildByIndex(0, myNode);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not insert a valid node: " + ex.toString());
+ bOK = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: could not insert a valid node on index '0': " + ex.toString());
+ bOK = false;
+ }
+
+ try {
+ log.println("try to insert a valid node a second time...");
+ oObj.insertChildByIndex(0, myNode);
+ log.println("ERROR: expected IllegalArgumentException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected IllegalArgumentException wa thrown => OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: wrong IndexOutOfBoundsException was thrown. Expected is IllegalArgumentException => FAILED");
+ bOK = false;
+ }
+
+ XMutableTreeNode myNode2 = nodeCreator.createNode("myNodeToInsert2");
+
+ try {
+ log.println("try to insert a valid node on invalid index '-3'...");
+ oObj.insertChildByIndex(-3, myNode2);
+ log.println("ERROR: expected IndexOutOfBoundsException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: wrong IllegalArgumentException was thrown. Expected is IndexOutOfBoundsException => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("Expected IndexOutOfBoundsException was thrown => OK");
+ }
+
+ try {
+ log.println("try to insert the object itself...");
+ oObj.insertChildByIndex(0, oObj);
+ log.println("ERROR: expected IllegalArgumentException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected IllegalArgumentException was thrown => OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("unexpected IndexOutOfBoundsException was thrown, expected was IllegalArgumentException => FAILED");
+ bOK = false;
+ }
+
+ tRes.tested("insertChildByIndex()", bOK);
+ }
+
+ public void _removeChildByIndex(){
+
+ requiredMethod("insertChildByIndex()");
+ boolean bOK = true;
+
+ try {
+ log.println("try to remove node at index '0'...");
+ oObj.removeChildByIndex(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: IndexOutOfBoundsException was thrown => FAILED");
+ bOK = false;
+ }
+
+ try {
+ log.println("try to remove node at invalid index '-3'");
+ oObj.removeChildByIndex(-3);
+ log.println("ERROR: expected IndexOutOfBoundsException was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("expected IndexOutOfBoundsException was thrown => OK");
+ }
+ tRes.tested("removeChildByIndex()", bOK);
+ }
+
+ public void _setHasChildrenOnDemand(){
+ boolean bOK = true;
+
+ log.println("setHasChildrenOnDemand(true)");
+ oObj.setHasChildrenOnDemand(true);
+
+ log.println("setHasChildrenOnDemand(false)");
+ oObj.setHasChildrenOnDemand(false);
+
+ tRes.tested("setHasChildrenOnDemand()", bOK);
+ }
+
+ public void _setDisplayValue(){
+ boolean bOK = true;
+
+ log.println("setDisplayValue(\"MyTestValue\")");
+ oObj.setDisplayValue("MyTestValue");
+
+ log.println("setDisplayValue(null)");
+ oObj.setDisplayValue(null);
+
+ log.println("oObj.setDisplayValue(oObj)");
+ oObj.setDisplayValue(oObj);
+
+ tRes.tested("setDisplayValue()", bOK);
+ }
+
+ public void _setNodeGraphicURL(){
+ boolean bOK = true;
+
+ log.println("setNodeGraphicURL(\"MyTestURL\")");
+ oObj.setNodeGraphicURL("MyTestURL");
+
+ log.println("setNodeGraphicURL(null)");
+ oObj.setNodeGraphicURL(null);
+
+ tRes.tested("setNodeGraphicURL()", bOK);
+ }
+
+ public void _setExpandedGraphicURL(){
+ boolean bOK = true;
+
+ log.println("setExpandedGraphicURL(\"myExpandedURL\")");
+ oObj.setExpandedGraphicURL("myExpandedURL");
+
+ log.println("setExpandedGraphicURL(null)");
+ oObj.setExpandedGraphicURL(null);
+
+ tRes.tested("setExpandedGraphicURL()", bOK);
+ }
+
+ public void _setCollapsedGraphicURL(){
+ boolean bOK = true;
+
+ log.println("setCollapsedGraphicURL(\"myCollapsedURL\")");
+ oObj.setCollapsedGraphicURL("myCollapsedURL");
+
+ log.println("setCollapsedGraphicURL(null)");
+ oObj.setCollapsedGraphicURL(null);
+
+ tRes.tested("setCollapsedGraphicURL()", bOK);
+ }
+
+ public void _DataValue(){
+ boolean bOK = true;
+
+ log.println("setDataValue(\"myDataValue\")");
+ oObj.setDataValue("myDataValue");
+
+ String sDataValue = (String) oObj.getDataValue();
+
+ if ( ! sDataValue.equals("myDataValue")) {
+ log.println("ERROR: getDataValue does not return the value which is inserted before:\n" +
+ "\texpected: myDataValue\n" +
+ "\tgot: " + sDataValue);
+ bOK = false;
+ }
+
+ log.println("setDataValue(null)");
+ oObj.setDataValue(null);
+
+ Object oDataValue = oObj.getDataValue();
+ if ( oDataValue != null) {
+ log.println("ERROR: getDataValue does not return the value which is inserted before:\n" +
+ "\texpected: null\n" +
+ "\tgot: " + oDataValue.toString());
+ bOK = false;
+ }
+
+ log.println("oObj.setDisplayValue(oObj)");
+ oObj.setDisplayValue(oObj);
+
+ oDataValue = oObj.getDataValue();
+ if ( oDataValue != null) {
+ log.println("ERROR: getDataValue does not return the value which is inserted before:\n" +
+ "\texpected: " + oObj.toString() +"\n" +
+ "\tgot: " + oDataValue.toString());
+ bOK = false;
+ }
+
+ tRes.tested("DataValue()", bOK);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java b/qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java
new file mode 100644
index 000000000..e3c124d0a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_XTreeControl.java
@@ -0,0 +1,640 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt.tree;
+
+import com.sun.star.awt.tree.ExpandVetoException;
+import com.sun.star.awt.tree.TreeExpansionEvent;
+import com.sun.star.awt.tree.XMutableTreeNode;
+import com.sun.star.awt.tree.XTreeControl;
+import com.sun.star.awt.tree.XTreeEditListener;
+import com.sun.star.awt.tree.XTreeExpansionListener;
+import com.sun.star.awt.tree.XTreeNode;
+import com.sun.star.lang.EventObject;
+import com.sun.star.util.VetoException;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.awt.tree.XTreeControl</code>
+ * interface methods :
+ * <ul>
+ * <li><code> isNodeExpanded()</code></li>
+ * <li><code> isNodeCollapsed()</code></li>
+ * <li><code> makeNodeVisible()</code></li>
+ * <li><code> isNodeVisible()</code></li>
+ * <li><code> expandNode()</code></li>
+ * <li><code> collapseNode()</code></li>
+ * <li><code> addTreeExpansionListener()</code></li>
+ * <li><code> removeTreeExpansionListener()</code></li>
+ * <li><code> getNodeForLocation()</code></li>
+ * <li><code> getClosestNodeForLocation()</code></li>
+ * <li><code> isEditing()</code></li>
+ * <li><code> stopEditing()</code></li>
+ * <li><code> cancelEditing()</code></li>
+ * <li><code> startEditingAtNode()</code></li>
+ * <li><code> addTreeEditListener()</code></li>
+ * <li><code> removeTreeEditListener()</code></li>
+ * <li><code> DefaultExpandedGraphicURL()</code></li>
+ * <li><code> DefaultCollapsedGraphicURL()</code></li>* </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ *
+ * @see com.sun.star.awt.tree.XTreeControl
+ */
+public class _XTreeControl extends MultiMethodTest {
+
+ public XTreeControl oObj = null;
+
+ private XMutableTreeNode mXNode = null;
+
+ XTreeExpansionListener mTreeExpansionListener1 = new TreeExpansionListenerImpl1();
+
+ XTreeExpansionListener mTreeExpansionListener2 = new TreeExpansionListenerImpl2();
+
+ XTreeEditListener mTreeEditListener1 = new TreeEditListenerImpl1();
+
+ XTreeEditListener mTreeEditListener2 = new TreeEditListenerImpl2();
+
+ boolean mTreeExpanded1 = false;
+ boolean mTreeExpanding1 = false;
+ boolean mTreeCollapsed1 = false;
+ boolean mTreeCollapsing1 = false;
+
+ boolean mTreeExpanded2 = false;
+ boolean mTreeExpanding2 = false;
+ boolean mTreeCollapsed2 = false;
+ boolean mTreeCollapsing2 = false;
+
+ public interface XTreeDataModelListenerEvent{
+ void fireEvent();
+ }
+
+ public class TreeExpansionListenerImpl1 implements XTreeExpansionListener{
+ public void requestChildNodes(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 1: requestChildNodes");
+ }
+
+ public void treeExpanding(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
+ log.println("event at ExpansionListener 1: treeExpanding");
+ mTreeExpanding1 = true;
+ }
+
+ public void treeCollapsing(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
+ log.println("event at ExpansionListener 1: treeCollapsing");
+ mTreeCollapsing1 = true;
+ }
+
+ public void treeExpanded(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 1: treeExpanded");
+ mTreeExpanded1 = true;
+ }
+
+ public void treeCollapsed(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 1: treeCollapsed");
+ mTreeCollapsed1 = true;
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("event at ExpansionListener 1: disposing");
+ }
+ }
+
+ public class TreeExpansionListenerImpl2 implements XTreeExpansionListener{
+ public void requestChildNodes(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 2: requestChildNodes");
+ }
+
+ public void treeExpanding(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
+ log.println("event at ExpansionListener 2: treeExpanding");
+ mTreeExpanding2 = true;
+ }
+
+ public void treeCollapsing(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
+ log.println("event at ExpansionListener 2: treeCollapsing");
+ mTreeCollapsing2 = true;
+ }
+
+ public void treeExpanded(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 2: treeExpanded");
+ mTreeExpanded2 = true;
+ }
+
+ public void treeCollapsed(TreeExpansionEvent treeExpansionEvent) {
+ log.println("event at ExpansionListener 2: treeCollapsed");
+ mTreeCollapsed2 = true;
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("event at ExpansionListener 2: disposing");
+ }
+
+ }
+
+ public class TreeEditListenerImpl1 implements XTreeEditListener{
+ public void nodeEditing(XTreeNode xTreeNode) throws VetoException {
+ log.println("event at EditListener 1: nodeEditing");
+ }
+
+ public void nodeEdited(XTreeNode xTreeNode, String string) {
+ log.println("event at EditListener 1: nodeEdited");
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("event at EditListener 1: disposing");
+ }
+ }
+
+ public class TreeEditListenerImpl2 implements XTreeEditListener{
+ public void nodeEditing(XTreeNode xTreeNode) throws VetoException {
+ log.println("event at EditListener 2: nodeEditing");
+ }
+
+ public void nodeEdited(XTreeNode xTreeNode, String string) {
+ log.println("event at EditListener 2: nodeEdited");
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("event at EditListener 2: disposing");
+ }
+ }
+
+ private void resetTreeExpandingListener(){
+ mTreeExpanded1 = false;
+ mTreeExpanded2 = false;
+ mTreeCollapsed1 = false;
+ mTreeCollapsed2 = false;
+ mTreeExpanding1 = false;
+ mTreeExpanding2 = false;
+ mTreeCollapsing1 = false;
+ mTreeCollapsing2 = false;
+ }
+
+ @Override
+ public void before(){
+ mXNode = (XMutableTreeNode) tEnv.getObjRelation("XTreeControl_Node");
+ if (mXNode == null) {
+ throw new StatusException(Status.failed("ERROR: could not get object relation 'XTreeControl_Node'"));
+ }
+ }
+
+ public void _isNodeExpanded() {
+
+ boolean bOK = true;
+
+ boolean isExpanded = false;
+
+ try {
+ isExpanded = oObj.isNodeExpanded(mXNode);
+ log.println("node is expanded: " + isExpanded);
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not query for 'isNodeExpanded()': " + ex.toString());
+ }
+
+ if (isExpanded)
+ try {
+
+ log.println("try to collapse node...");
+ oObj.collapseNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+ else
+ try {
+
+ log.println("try to expand node...");
+ oObj.expandNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ }
+
+ try {
+
+ boolean isAlsoExpanded = oObj.isNodeExpanded(mXNode);
+
+ bOK &= (isExpanded != isAlsoExpanded);
+
+ log.println("node is expanded: " + isAlsoExpanded + " => " + bOK);
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not query for 'isNodeExpanded()': " + ex.toString());
+ }
+
+ tRes.tested("isNodeExpanded()", bOK);
+
+ }
+ public void _isNodeCollapsed(){
+
+ boolean bOK = true;
+
+ boolean isCollapsed = false;
+
+ try {
+ isCollapsed = oObj.isNodeCollapsed(mXNode);
+ log.println("node is Collapsed: " + isCollapsed);
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not query for 'isNodeCollapsed()': " + ex.toString());
+ }
+
+ if ( ! isCollapsed)
+ try {
+
+ log.println("try to collapse node...");
+ oObj.collapseNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+ else
+ try {
+
+ log.println("try to expand node...");
+ oObj.expandNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ }
+
+ try {
+
+ boolean isAlsoCollapsed = oObj.isNodeCollapsed(mXNode);
+
+ bOK &= (isCollapsed != isAlsoCollapsed);
+
+ log.println("node is Collapsed: " + isAlsoCollapsed + " => " + bOK);
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not query for 'isNodeCollapsed()': " + ex.toString());
+ }
+
+ tRes.tested("isNodeCollapsed()", bOK);
+
+ }
+ public void _makeNodeVisible(){
+
+ boolean bOK = true;
+ try {
+
+ oObj.makeNodeVisible(mXNode);
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not call method 'makeNodeVisible()' successfully: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not call method 'makeNodeVisible()' successfully: " + ex.toString());
+ }
+ try {
+
+ bOK &= oObj.isNodeVisible(mXNode);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not call method 'isNodeVisible()' successfully: " + ex.toString());
+ }
+
+ tRes.tested("makeNodeVisible()", bOK);
+
+ }
+ public void _isNodeVisible(){
+
+ this.requiredMethod("makeNodeVisible()");
+
+ boolean bOK = true;
+ log.println("since required method 'makeNodeVisible()' uses method 'isNodeVisible()' this test is ok.");
+ tRes.tested("isNodeVisible()", bOK);
+
+ }
+
+ public void _expandNode(){
+
+ this.requiredMethod("isNodeExpanded()");
+
+ boolean bOK = true;
+ log.println("since required method 'isnodeExpanded()' uses method 'expandNode()' this test is ok.");
+ tRes.tested("expandNode()", bOK);
+
+ }
+
+ public void _collapseNode(){
+
+ this.requiredMethod("isNodeCollapsed()");
+
+ boolean bOK = true;
+ log.println("since required method 'isnodeCollapsed()' uses method 'expandNode()' this test is ok.");
+ tRes.tested("collapseNode()", bOK);
+
+ }
+
+ public void _addTreeExpansionListener(){
+
+ boolean bOK = true;
+
+ log.println("collapse Node to get an initial status...");
+ try {
+
+ oObj.collapseNode(mXNode);
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+
+ log.println("add mTreeExpansionListener1...");
+ oObj.addTreeExpansionListener(mTreeExpansionListener1);
+
+ log.println("add mTreeExpansionListener2");
+ oObj.addTreeExpansionListener(mTreeExpansionListener2);
+
+ resetTreeExpandingListener();
+
+ log.println("expand Node...");
+ try {
+
+ oObj.expandNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ }
+
+ bOK &= mTreeExpanded1 & mTreeExpanded2 & ! mTreeCollapsed1 & ! mTreeCollapsed2
+ & mTreeExpanding1 & mTreeExpanding2 & ! mTreeCollapsing1 & ! mTreeCollapsing2;
+
+ resetTreeExpandingListener();
+
+ log.println("collapse Node...");
+ try {
+
+ oObj.collapseNode(mXNode);
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+
+ bOK &= ! mTreeExpanded1 & ! mTreeExpanded2 & mTreeCollapsed1 & mTreeCollapsed2
+ & ! mTreeExpanding1 & ! mTreeExpanding2 & mTreeCollapsing1 & mTreeCollapsing2;
+
+ tRes.tested("addTreeExpansionListener()", bOK);
+
+ }
+
+ public void _removeTreeExpansionListener(){
+
+ this.requiredMethod("addTreeExpansionListener()");
+
+ boolean bOK = true;
+
+ log.println("collapse Node to get an initial status...");
+ try {
+
+ oObj.collapseNode(mXNode);
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+
+ resetTreeExpandingListener();
+
+ log.println("remove mTreeExpansionListener2 ...");
+ oObj.removeTreeExpansionListener(mTreeExpansionListener2);
+
+ log.println("expand Node...");
+ try {
+
+ oObj.expandNode(mXNode);
+
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not expand node: " + ex.toString());
+ }
+
+ bOK &= mTreeExpanded1 & ! mTreeExpanded2 & ! mTreeCollapsed1 & ! mTreeCollapsed2
+ & mTreeExpanding1 & ! mTreeExpanding2 & ! mTreeCollapsing1 & ! mTreeCollapsing2;
+
+ resetTreeExpandingListener();
+
+ log.println("collapse Node...");
+ try {
+
+ oObj.collapseNode(mXNode);
+ } catch (ExpandVetoException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ bOK = false;
+ log.println("ERROR: could not collapse node: " + ex.toString());
+ }
+
+ bOK &= ! mTreeExpanded1 & ! mTreeExpanded2 & mTreeCollapsed1 & ! mTreeCollapsed2
+ & ! mTreeExpanding1 & ! mTreeExpanding2 & mTreeCollapsing1 & ! mTreeCollapsing2;
+
+ log.println("remove mTreeExpansionListener2 ...");
+ oObj.removeTreeExpansionListener(mTreeExpansionListener2);
+
+ tRes.tested("removeTreeExpansionListener()", bOK);
+
+ }
+
+ public void _getNodeForLocation(){
+
+ boolean bOK = false;
+
+
+ tRes.tested("getNodeForLocation()", bOK);
+
+ }
+
+ public void _getClosestNodeForLocation(){
+
+ boolean bOK = false;
+
+ log.println("try to get Node for location 100,100");
+ XTreeNode myNode = oObj.getClosestNodeForLocation(100,100);
+
+ bOK &= (myNode != null);
+
+ tRes.tested("getClosestNodeForLocation()", bOK);
+
+ }
+
+ public void _isEditing(){
+
+ boolean bOK = false;
+
+ log.println("not ready because of i78701");
+
+ tRes.tested("isEditing()", bOK);
+
+ }
+
+ public void _stopEditing(){
+
+ boolean bOK = false;
+ log.println("not ready because of i78701");
+
+
+ tRes.tested("stopEditing()", bOK);
+
+ }
+
+ public void _cancelEditing(){
+
+ boolean bOK = false;
+
+ log.println("not ready because of i78701");
+
+ tRes.tested("cancelEditing()", bOK);
+
+ }
+
+ public void _startEditingAtNode(){
+
+ boolean bOK = false;
+
+ log.println("not ready because of i78701");
+
+ tRes.tested("startEditingAtNode()", bOK);
+
+ }
+
+ public void _addTreeEditListener(){
+
+ boolean bOK = true;
+
+ log.println("add EditListener 1...");
+ oObj.addTreeEditListener(mTreeEditListener1);
+
+ log.println("add EditListener 2...");
+ oObj.addTreeEditListener(mTreeEditListener2);
+
+ try {
+ oObj.startEditingAtNode(mXNode);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not start editing at node: " + ex.toString());
+ bOK = false;
+ }
+
+ log.println("not ready because of i78701");
+ bOK = false;
+
+
+ tRes.tested("addTreeEditListener()", bOK);
+
+ }
+
+ public void _removeTreeEditListener(){
+
+ boolean bOK = false;
+
+ log.println("not ready because of i78701");
+
+ tRes.tested("removeTreeEditListener()", bOK);
+
+ }
+
+ public void _DefaultExpandedGraphicURL(){
+
+ boolean bOK = true;
+
+ String current = oObj.getDefaultExpandedGraphicURL();
+ log.println("current DefaultExpandedGraphicURL: " + current);
+
+ String changeUrl = null;
+
+ if (current.equals("private:graphicrepository/sd/res/triangle_right.png"))
+ changeUrl = "private:graphicrepository/sd/res/triangle_down.png";
+ else changeUrl = "private:graphicrepository/sd/res/triangle_right.png";
+
+ log.println("try to set '" + changeUrl + "' as new DefaultExpandedGraphicURL");
+
+ oObj.setDefaultExpandedGraphicURL(changeUrl);
+
+ String newUrl = oObj.getDefaultExpandedGraphicURL();
+
+ log.println("new DefaultExpandedGraphicURL: " + newUrl);
+
+ bOK &= ! newUrl.equals(current);
+
+ tRes.tested("DefaultExpandedGraphicURL()", bOK);
+
+ }
+
+ public void _DefaultCollapsedGraphicURL(){
+
+ boolean bOK = true;
+
+ String current = oObj.getDefaultCollapsedGraphicURL();
+ log.println("current DefaultCollapsedGraphicURL: " + current);
+
+ String changeUrl = null;
+
+ if (current.equals("private:graphicrepository/sd/res/triangle_right.png"))
+ changeUrl = "private:graphicrepository/sd/res/triangle_down.png";
+ else changeUrl = "private:graphicrepository/sd/res/triangle_right.png";
+
+ log.println("try to set '" + changeUrl + "' as new DefaultCollapsedGraphicURL");
+ oObj.setDefaultCollapsedGraphicURL(changeUrl);
+
+ String newUrl = oObj.getDefaultCollapsedGraphicURL();
+
+ log.println("new DefaultCollapsedGraphicURL: " + newUrl);
+
+ bOK &= ! newUrl.equals(current);
+
+ tRes.tested("DefaultCollapsedGraphicURL()", bOK);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_XTreeDataModel.java b/qadevOOo/tests/java/ifc/awt/tree/_XTreeDataModel.java
new file mode 100644
index 000000000..3c544efd5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_XTreeDataModel.java
@@ -0,0 +1,171 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt.tree;
+
+import com.sun.star.awt.tree.TreeDataModelEvent;
+import com.sun.star.awt.tree.XTreeDataModel;
+import com.sun.star.awt.tree.XTreeDataModelListener;
+import com.sun.star.lang.EventObject;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.awt.tree.XTreeDataModel</code>
+ * interface methods :
+ * <ul>
+ * <li><code> createNode()</code></li>
+ * <li><code> setRoot()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ *
+ * @see com.sun.star.awt.tree.XTreeDataModel
+ */
+public class _XTreeDataModel extends MultiMethodTest {
+
+ public XTreeDataModel oObj = null;
+
+ XTreeDataModelListener mListener1 = new myEventListener1();
+
+ XTreeDataModelListener mListener2 = new myEventListener2();
+
+ XTreeDataModelListenerEvent mListenerEvent = null;
+
+ boolean mTreeStructureChanged1 = false;
+
+ boolean mTreeStructureChanged2 = false;
+
+ public interface XTreeDataModelListenerEvent{
+ void fireEvent();
+ }
+
+ public class myEventListener1 implements XTreeDataModelListener{
+ public void treeNodesChanged(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 1: treeNodesChanged");
+ }
+
+ public void treeNodesInserted(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 1: treeNodesInserted");
+ }
+
+ public void treeNodesRemoved(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 1: treeNodesRemoved");
+ }
+
+ public void treeStructureChanged(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 1: treeStructureChanged");
+ mTreeStructureChanged1 = true;
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("Listener 1: disposing");
+ }
+ }
+
+ public class myEventListener2 implements XTreeDataModelListener{
+ public void treeNodesChanged(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 2: treeNodesChanged");
+ }
+
+ public void treeNodesInserted(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 2: treeNodesInserted");
+ }
+
+ public void treeNodesRemoved(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 2: treeNodesRemoved");
+ }
+
+ public void treeStructureChanged(TreeDataModelEvent treeDataModelEvent) {
+ log.println("Listener 2: treeStructureChanged");
+ mTreeStructureChanged2 = true;
+ }
+
+ public void disposing(EventObject eventObject) {
+ log.println("Listener 2: disposing");
+ }
+
+ }
+
+ @Override
+ public void before(){
+ mListenerEvent = (XTreeDataModelListenerEvent) tEnv.getObjRelation("XTreeDataModelListenerEvent");
+ if (mListenerEvent == null) {
+ throw new StatusException(Status.failed("ERROR: could not get object relation 'XTreeDataModelListenerEvent'\n" +
+ "This object relation must be kind of 'ifc.awt.tree._XTreeDataModel.XTreeDataModelListenerEvent'"));
+ }
+ }
+
+ /**
+ * Gets the title and compares it to the value set in
+ * <code>setTitle</code> method test. <p>
+ * Has <b>OK</b> status is set/get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTitle </code> </li>
+ * </ul>
+ */
+ public void _getRoot() {
+
+ boolean bOK = true;
+ oObj.getRoot();
+
+ tRes.tested("getRoot()", bOK);
+
+ }
+
+ public void _addTreeDataModelListener(){
+
+ boolean bOK = true;
+
+ log.println("add listener 1 to object...");
+ oObj.addTreeDataModelListener(mListener1);
+
+ log.println("add listener 2 to object...");
+ oObj.addTreeDataModelListener(mListener2);
+
+ mTreeStructureChanged1 = false;
+ mTreeStructureChanged2 = false;
+
+ mListenerEvent.fireEvent();
+
+ bOK = mTreeStructureChanged1 & mTreeStructureChanged2;
+
+ tRes.tested("addTreeDataModelListener()", bOK);
+ }
+
+ public void _removeTreeDataModelListener(){
+
+ boolean bOK = true;
+
+ log.println("remove listener 2 from object...");
+ oObj.removeTreeDataModelListener(mListener2);
+
+ mTreeStructureChanged1 = false;
+ mTreeStructureChanged2 = false;
+
+ mListenerEvent.fireEvent();
+
+ bOK = mTreeStructureChanged1 & ! mTreeStructureChanged2;
+
+ tRes.tested("removeTreeDataModelListener()", bOK);
+
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/awt/tree/_XTreeNode.java b/qadevOOo/tests/java/ifc/awt/tree/_XTreeNode.java
new file mode 100644
index 000000000..f0ca8ae9f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/awt/tree/_XTreeNode.java
@@ -0,0 +1,259 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.awt.tree;
+
+import com.sun.star.awt.tree.XTreeNode;
+import com.sun.star.uno.AnyConverter;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.awt.tree.XTreeDataModel</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getChildAt()</code></li>
+ * <li><code> getChildCount()</code></li>
+ * <li><code> getParent()</code></li>
+ * <li><code> getIndex()</code></li>
+ * <li><code> hasChildrenOnDemand()</code></li>
+ * <li><code> getDisplayValue()</code></li>
+ * <li><code> getNodeGraphicURL()</code></li>
+ * <li><code> getExpandedGraphicURL()</code></li>
+ * <li><code> getCollapsedGraphicURL()</code></li> * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ *
+ * @see com.sun.star.awt.tree.XTreeDataModel
+ */
+public class _XTreeNode extends MultiMethodTest {
+
+ public XTreeNode oObj = null;
+
+ private int mCount = 0;
+
+ String msDisplayValue = null;
+ String msExpandedGraphicURL = null;
+ String msCollapsedGraphicURL = null;
+ String msNodeGraphicURL = null;
+
+
+ @Override
+ public void before(){
+ msDisplayValue = (String) tEnv.getObjRelation("XTreeNode_DisplayValue");
+ if (msDisplayValue == null){
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XTreeNode_DisplayValue'"));
+ }
+
+ msExpandedGraphicURL = (String) tEnv.getObjRelation("XTreeNode_ExpandedGraphicURL");
+ if (msExpandedGraphicURL == null){
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XTreeNode_ExpandedGraphicURL'"));
+ }
+
+ msCollapsedGraphicURL = (String) tEnv.getObjRelation("XTreeNode_CollapsedGraphicURL");
+ if (msCollapsedGraphicURL == null){
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XTreeNode_CollapsedGraphicURL'"));
+ }
+
+ msNodeGraphicURL = (String) tEnv.getObjRelation("XTreeNode_NodeGraphicURL");
+ if(msNodeGraphicURL == null){
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XTreeNode_NodeGraphicURL'"));
+ }
+
+ }
+
+ /**
+ * Gets the title and compares it to the value set in
+ * <code>setTitle</code> method test. <p>
+ * Has <b>OK</b> status is set/get values are equal.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setTitle </code> </li>
+ * </ul>
+ */
+ public void _getChildAt(){
+ this.requiredMethod("getChildCount()");
+ boolean bOK = true;
+
+ for (int i=0; i < mCount ; i++){
+ XTreeNode xNode = null;
+ try {
+ xNode = oObj.getChildAt(i);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: getChildAt(" + i + "): " + ex.toString());
+ }
+ if (xNode == null){
+ log.println("ERROR: getChildAt(" + i + ") returns null => FAILED");
+ bOK = false;
+ }
+ }
+
+ tRes.tested("getChildAt()", bOK);
+ }
+
+
+ public void _getChildCount(){
+
+ boolean bOK = true;
+ mCount = oObj.getChildCount();
+ log.println("got count '" + mCount + "' of children");
+ if (mCount < 1 ) {
+ log.println("ERROR: got a count < 1. The test object must support more than zero children => FAILED");
+ bOK = false;
+ }
+ tRes.tested("getChildCount()", bOK);
+ }
+
+
+ public void _getParent(){
+ this.requiredMethod("getChildAt()");
+
+ boolean bOK = true;
+ XTreeNode xNode = null;
+ try {
+ log.println("try to getChildAt(0)");
+ xNode = oObj.getChildAt(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: getChildAt(0): " + ex.toString());
+ }
+
+ log.println("try to get parent of children");
+ if (xNode == null) {
+ log.println("missing xNode");
+ tRes.tested("getParent()", false);
+ }
+ else {
+ XTreeNode xParrent = xNode.getParent();
+
+
+ bOK = oObj.equals(xParrent);
+ log.println("original object and parent should be the same: " + bOK);
+ tRes.tested("getParent()", bOK);
+ }
+ }
+
+
+ public void _getIndex(){
+ this.requiredMethod("getChildAt()");
+
+ boolean bOK = true;
+ XTreeNode xNode = null;
+ try {
+ log.println("try to getChildAt(0)");
+ xNode = oObj.getChildAt(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: getChildAt(0): " + ex.toString());
+ }
+
+ log.println("try to get index from child...");
+ int index = oObj.getIndex(xNode);
+
+ if (index != 0){
+ log.println("ERROR: getIndex() does not return '0' => FAILED");
+ bOK = false;
+ }
+
+ tRes.tested("getIndex()", bOK);
+ }
+
+
+ public void _hasChildrenOnDemand(){
+
+ boolean bOK = true;
+
+ bOK = oObj.hasChildrenOnDemand();
+ tRes.tested("hasChildrenOnDemand()", bOK);
+ }
+
+
+ public void _getDisplayValue(){
+
+ boolean bOK = true;
+ String DisplayValue = null;
+ Object dispVal = oObj.getDisplayValue();
+
+ try {
+ DisplayValue = AnyConverter.toString(dispVal);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not convert the returned object of 'getDisplayValue()' " +
+ "to String with AnyConverter: " + ex.toString());
+ }
+
+ if ( ! this.msDisplayValue.equals(DisplayValue)){
+ log.println("ERROR: getNodeGraphicURL() does not return expected value:\n" +
+ "\tExpected: " + this.msDisplayValue +"\n" +
+ "\tGot: " + DisplayValue);
+ bOK = false;
+ }
+
+ tRes.tested("getDisplayValue()", bOK);
+ }
+
+
+ public void _getNodeGraphicURL(){
+
+ boolean bOK = true;
+ String graphicURL = oObj.getNodeGraphicURL();
+
+ if ( ! this.msNodeGraphicURL.equals(graphicURL)){
+ log.println("ERROR: getNodeGraphicURL() does not return expected value:\n" +
+ "\tExpected: " + this.msNodeGraphicURL +"\n" +
+ "\tGot: " + graphicURL);
+ bOK = false;
+ }
+ tRes.tested("getNodeGraphicURL()", bOK);
+ }
+
+
+ public void _getExpandedGraphicURL(){
+
+ boolean bOK = true;
+ String ExpandedGraphicURL = oObj.getExpandedGraphicURL();
+
+ if ( ! this.msExpandedGraphicURL.equals(ExpandedGraphicURL)){
+ log.println("ERROR: getExpandedGraphicURL() does not return expected value:\n" +
+ "\tExpected: " + this.msExpandedGraphicURL +"\n" +
+ "\tGot: " + ExpandedGraphicURL);
+ bOK = false;
+ }
+
+ tRes.tested("getExpandedGraphicURL()", bOK);
+ }
+
+
+ public void _getCollapsedGraphicURL(){
+
+ boolean bOK = true;
+
+ String CollapsedGraphicURL = oObj.getCollapsedGraphicURL();
+
+ if ( ! this.msCollapsedGraphicURL.equals(CollapsedGraphicURL)){
+ log.println("ERROR: getExpandedGraphicURL() does not return expected value:\n" +
+ "\tExpected: " + this.msCollapsedGraphicURL +"\n" +
+ "\tGot: " + CollapsedGraphicURL);
+ bOK = false;
+ }
+
+ tRes.tested("getCollapsedGraphicURL()", bOK);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/beans/_XExactName.java b/qadevOOo/tests/java/ifc/beans/_XExactName.java
new file mode 100644
index 000000000..033426e22
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XExactName.java
@@ -0,0 +1,84 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.beans;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XExactName;
+
+
+public class _XExactName extends MultiMethodTest {
+ protected String expectedName = "";
+ public XExactName oObj = null;
+
+ public void _getExactName() {
+ String nameFor = expectedName.toLowerCase();
+
+ log.println("Getting exact name for " + nameFor);
+
+ String getting = oObj.getExactName(nameFor);
+
+ boolean res = true;
+
+ if (getting == null) {
+ res = false;
+ } else {
+ if (!getting.equals(expectedName)) {
+ log.println("didn't get the expected Name:");
+ log.println("getting: " + getting);
+ log.println("Expected: " + expectedName);
+ res = false;
+ }
+ }
+
+ nameFor = expectedName.toUpperCase();
+
+ log.println("Getting exact name for " + nameFor);
+ getting = oObj.getExactName(nameFor);
+
+ if (getting == null) {
+ res = false;
+ } else {
+ if (!getting.equals(expectedName)) {
+ log.println("didn't get the expected Name:");
+ log.println("getting: " + getting);
+ log.println("Expected: " + expectedName);
+ res = false;
+ }
+ }
+
+ tRes.tested("getExactName()", res);
+ }
+
+ /**
+ * Checking if the Object relation expectedName is given
+ * throw a StatusException if not.
+ */
+ @Override
+ protected void before() {
+ expectedName = (String) tEnv.getObjRelation("expectedName");
+
+ if (expectedName == null) {
+ throw new StatusException(Status.failed(
+ "Object relation expectedName is missing"));
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/beans/_XFastPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XFastPropertySet.java
new file mode 100644
index 000000000..8ab74dcda
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XFastPropertySet.java
@@ -0,0 +1,236 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.beans;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+import java.util.Set;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+import util.ValueChanger;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XFastPropertySet;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.beans.XFastPropertySet</code>
+* interface methods :
+* <ul>
+* <li><code> setFastPropertyValue()</code></li>
+* <li><code> getFastPropertyValue()</code></li>
+* </ul> <p>
+* Required relations :
+* <ul>
+* <li> <code>'XFastPropertySet.ExcludeProps'</code>
+* <b>(optional) </b> : java.util.Set.
+* Has property names which must be skipped from testing in
+* some reasons (for example property accepts restricted set
+* of values).
+* </li>
+* <ul> <p>
+* @see com.sun.star.beans.XFastPropertySet
+*/
+public class _XFastPropertySet extends MultiMethodTest {
+ private static final class Prop {
+ public final int handle;
+ public final String name;
+
+ public Prop(int handle, String name) {
+ this.handle = handle;
+ this.name = name;
+ }
+ }
+
+ public XFastPropertySet oObj = null;
+ private final List<Prop> props = new ArrayList<Prop>();
+ private Prop prop;
+ private Set<String> exclude = null ;
+
+ /**
+ * Retrieves relation.
+ */
+ @Override
+ protected void before() {
+ exclude = (Set<String>) tEnv.getObjRelation("XFastPropertySet.ExcludeProps") ;
+ if (exclude == null) {
+ exclude = new java.util.HashSet<String>() ;
+ }
+ }
+
+ /**
+ * Test selects random property which can not be VOID and
+ * is writable, then change property value using <code>
+ * get/set</code> methods, and checks if value properly changed.
+ * Has <b> OK </b> status if value after change is not equal to value
+ * before and no exceptions were thrown. <p>
+ */
+ public void _setFastPropertyValue() {
+ XPropertySet PS = UnoRuntime.queryInterface
+ (XPropertySet.class, oObj);
+ XPropertySetInfo propertySetInfo = PS.getPropertySetInfo();
+
+ if (propertySetInfo == null) {
+ log.println("getPropertySetInfo() method returned null");
+ tRes.tested("setFastPropertyValue()", false) ;
+ }
+ getPropsToTest(propertySetInfo);
+
+ Object gValue = null;
+ Object sValue = null;
+
+ if ( prop.handle == -1) {
+ log.println("*** No changeable properties found ***");
+ tRes.tested("setFastPropertyValue()", false) ;
+ } else {
+ try {
+ gValue = oObj.getFastPropertyValue(prop.handle);
+ sValue = ValueChanger.changePValue(gValue, prop.name);
+ oObj.setFastPropertyValue(prop.handle, sValue);
+ sValue = oObj.getFastPropertyValue(prop.handle);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occurred while trying to change property with handle = " + prop.handle);
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while trying to change property with handle = " + prop.handle);
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occurred while trying to change property with handle = " + prop.handle);
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while trying to change property with handle = " + prop.handle);
+ e.printStackTrace(log);
+ }
+
+ tRes.tested("setFastPropertyValue()",(!gValue.equals(sValue)));
+ }
+ }
+
+ /**
+ * Test selects random property which can not be VOID and
+ * is writable, then calls the method and checks that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if exceptions were thrown. <p>
+ */
+ public void _getFastPropertyValue() {
+ XPropertySet PS = UnoRuntime.queryInterface
+ (XPropertySet.class, oObj);
+ XPropertySetInfo propertySetInfo = PS.getPropertySetInfo();
+
+ if (propertySetInfo == null) {
+ log.println("getPropertySetInfo() method returned null");
+ tRes.tested("getFastPropertyValue()", false) ;
+ }
+
+ getPropsToTest(propertySetInfo);
+
+ try {
+ oObj.getFastPropertyValue(prop.handle);
+ tRes.tested("getFastPropertyValue()",true);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occurred while trying to get property '"
+ + prop.handle +"'");
+ e.printStackTrace(log);
+ tRes.tested("getFastPropertyValue()",false);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while trying to get property '"
+ + prop.handle +"'");
+ e.printStackTrace(log);
+ tRes.tested("getFastPropertyValue()",false);
+ }
+ }
+
+
+ //Get the properties being tested
+ private void getPropsToTest(XPropertySetInfo xPSI) {
+
+ Property[] properties = xPSI.getProperties();
+
+ for (int i = 0; i < properties.length; i++) {
+ if (exclude.contains(properties[i].Name)) continue ;
+ Property property = properties[i];
+ String name = property.Name;
+ int handle = property.Handle;
+ log.println("Checking '" + name + "' with handle = " + handle);
+ boolean isWritable =
+ ((property.Attributes & PropertyAttribute.READONLY) == 0);
+ boolean isNotNull =
+ ((property.Attributes & PropertyAttribute.MAYBEVOID) == 0);
+ boolean canChange = false;
+ if ( isWritable && isNotNull )
+ canChange = isChangeable(handle, name);
+ if ( isWritable && isNotNull && canChange)
+ props.add(new Prop(handle, name));
+ } // endfor
+
+ Random rnd = new Random();
+ int nr = rnd.nextInt(props.size());
+ prop = props.get(nr);
+ }
+
+ private boolean isChangeable(int handle, String name) {
+ boolean hasChanged = false;
+ try {
+ Object getProp = oObj.getFastPropertyValue(handle);
+ Object setValue = null;
+
+ if (getProp != null)
+ setValue = ValueChanger.changePValue(getProp, name);
+ else
+ log.println("Property with handle = " + handle
+ + " is null but 'MAYBEVOID' isn't set");
+ if (setValue != null) {
+ oObj.setFastPropertyValue(handle, setValue);
+ hasChanged =
+ (!getProp.equals(oObj.getFastPropertyValue(handle)));
+ }
+ else
+ log.println("Couldn't change Property with handle " + handle);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Property with handle " + handle + " throws exception");
+ e.printStackTrace(log);
+ throw new StatusException("Property with handle " + handle
+ + " throws exception", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Property with handle " + handle + " throws exception");
+ e.printStackTrace(log);
+ throw new StatusException("Property with handle " + handle
+ + " throws exception", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Property with handle " + handle + " throws exception");
+ e.printStackTrace(log);
+ throw new StatusException("Property with handle " + handle
+ + " throws exception", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Property with handle " + handle + " throws exception");
+ e.printStackTrace(log);
+ throw new StatusException("Property with handle " + handle
+ + " throws exception", e);
+ }
+
+ return hasChanged;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XHierarchicalPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XHierarchicalPropertySet.java
new file mode 100644
index 000000000..c7cc8faf7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XHierarchicalPropertySet.java
@@ -0,0 +1,143 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.beans;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import util.ValueChanger;
+import util.ValueComparer;
+
+import com.sun.star.beans.XHierarchicalPropertySet;
+import com.sun.star.beans.XHierarchicalPropertySetInfo;
+
+
+public class _XHierarchicalPropertySet extends MultiMethodTest {
+ public XHierarchicalPropertySet oObj;
+
+ public void _getHierarchicalPropertySetInfo() {
+ XHierarchicalPropertySetInfo hpsi = oObj.getHierarchicalPropertySetInfo();
+ boolean res = true;
+
+ if (hpsi == null) {
+ log.println(
+ "The component doesn't provide HierarchicalPropertySetInfo");
+ tRes.tested("getHierarchicalPropertySetInfo()",
+ Status.skipped(true));
+
+ return;
+ }
+
+ tRes.tested("getHierarchicalPropertySetInfo()", res);
+ }
+
+ public void _getHierarchicalPropertyValue() {
+ String[] pNames = (String[]) tEnv.getObjRelation("PropertyNames");
+ String[] pTypes = (String[]) tEnv.getObjRelation("PropertyTypes");
+ boolean res = true;
+
+ for (int i = 0; i < pNames.length; i++) {
+ try {
+ log.print("Property " + pNames[i]);
+
+ Object getting = oObj.getHierarchicalPropertyValue(pNames[i]);
+ log.println(" has Value " + getting.toString());
+ res &= checkType(pNames[i], pTypes[i], getting);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(" is unknown");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(" is illegal");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(" throws exception " + e.getMessage());
+ }
+ }
+
+ tRes.tested("getHierarchicalPropertyValue()", res);
+ }
+
+ public void _setHierarchicalPropertyValue() {
+ String ro = (String) tEnv.getObjRelation("allReadOnly");
+
+ if (ro != null) {
+ log.println(ro);
+ tRes.tested("setHierarchicalPropertyValue()", Status.skipped(true));
+
+ return;
+ }
+
+ boolean res = true;
+
+ String[] pNames = (String[]) tEnv.getObjRelation("PropertyNames");
+
+ for (int k = 0; k < pNames.length; k++) {
+ try {
+ Object oldValue = oObj.getHierarchicalPropertyValue(pNames[k]);
+ Object newValue = ValueChanger.changePValue(oldValue);
+ oObj.setHierarchicalPropertyValue(pNames[k], newValue);
+
+ Object getValue = oObj.getHierarchicalPropertyValue(pNames[k]);
+ boolean localRes = ValueComparer.equalValue(getValue, newValue);
+
+ if (!localRes) {
+ log.println("Expected " + newValue.toString());
+ log.println("Gained " + getValue.toString());
+ }
+
+
+ //reset Value
+ oObj.setHierarchicalPropertyValue(pNames[k], oldValue);
+
+ res &= localRes;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Property is unknown");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("IllegalArgument "+e.getMessage());
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("VetoException "+e.getMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("WrappedTarget "+e.getMessage());
+ }
+
+ }
+
+ tRes.tested("setHierarchicalPropertyValue()", res);
+ }
+
+ protected boolean checkType(String name, String type, Object value) {
+ boolean result = true;
+
+ if (type.equals("Boolean")) {
+ result = (value instanceof Boolean);
+
+ if (!result) {
+ log.println("Wrong Type for property " + name);
+ log.println("Expected " + type);
+ log.println("getting " + value.getClass());
+ }
+ } else if (type.equals("Short")) {
+ result = (value instanceof Short);
+
+ if (!result) {
+ log.println("Wrong Type for property " + name);
+ log.println("Expected " + type);
+ log.println("getting " + value.getClass());
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/beans/_XIntrospection.java b/qadevOOo/tests/java/ifc/beans/_XIntrospection.java
new file mode 100644
index 000000000..79d7d1767
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XIntrospection.java
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.beans;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XIntrospection;
+import com.sun.star.beans.XIntrospectionAccess;
+
+/**
+* Testing <code>com.sun.star.beans.XIntrospection</code>
+* interface methods :
+* <ul>
+* <li><code> inspect() </code></li>
+* </ul> <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.beans.XIntrospection
+*/
+public class _XIntrospection extends MultiMethodTest {
+
+ public XIntrospection oObj = null;
+
+ /**
+ * Test inspects the object tested, and checks if it
+ * has a base <code>XInterface</code> method
+ * <code>acquire</code>.
+ */
+ public void _inspect() {
+ boolean result = true;
+ XIntrospectionAccess xIA = oObj.inspect(oObj);
+ result = xIA.hasMethod("acquire",1);
+ tRes.tested("inspect()",result);
+ }
+
+} // finish class _XIntrospection
+
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XMultiHierarchicalPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XMultiHierarchicalPropertySet.java
new file mode 100644
index 000000000..10b1c8ce9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XMultiHierarchicalPropertySet.java
@@ -0,0 +1,139 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.beans;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import util.ValueChanger;
+import util.ValueComparer;
+
+import com.sun.star.beans.XHierarchicalPropertySetInfo;
+import com.sun.star.beans.XMultiHierarchicalPropertySet;
+
+
+public class _XMultiHierarchicalPropertySet extends MultiMethodTest {
+ public XMultiHierarchicalPropertySet oObj;
+
+ public void _getHierarchicalPropertySetInfo() {
+ XHierarchicalPropertySetInfo hpsi = oObj.getHierarchicalPropertySetInfo();
+ boolean res = true;
+
+ if (hpsi == null) {
+ log.println(
+ "The component doesn't provide HierarchicalPropertySetInfo");
+ tRes.tested("getHierarchicalPropertySetInfo()",
+ Status.skipped(true));
+
+ return;
+ }
+
+ tRes.tested("getMultiHierarchicalPropertySetInfo()", res);
+ }
+
+ public void _getHierarchicalPropertyValues() {
+ String[] pNames = (String[]) tEnv.getObjRelation("PropertyNames");
+ String[] pTypes = (String[]) tEnv.getObjRelation("PropertyTypes");
+ boolean res = true;
+
+ try {
+ Object[] getting = oObj.getHierarchicalPropertyValues(pNames);
+ res &= checkType(pNames, pTypes, getting);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception " + e.getMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception " + e.getMessage());
+ }
+
+ tRes.tested("getHierarchicalPropertyValues()", res);
+ }
+
+ public void _setHierarchicalPropertyValues() {
+ String ro = (String) tEnv.getObjRelation("allReadOnly");
+
+ if (ro != null) {
+ log.println(ro);
+ tRes.tested("setHierarchicalPropertyValues()",
+ Status.skipped(true));
+
+ return;
+ }
+
+ String[] pNames = (String[]) tEnv.getObjRelation("PropertyNames");
+ boolean res = true;
+
+ try {
+ Object[] oldValues = oObj.getHierarchicalPropertyValues(pNames);
+ Object[] newValues = new Object[oldValues.length];
+
+ for (int k = 0; k < oldValues.length; k++) {
+ newValues[k] = ValueChanger.changePValue(oldValues[k]);
+ }
+
+ oObj.setHierarchicalPropertyValues(pNames, newValues);
+
+ Object[] getValues = oObj.getHierarchicalPropertyValues(pNames);
+
+ for (int k = 0; k < pNames.length; k++) {
+ boolean localRes = ValueComparer.equalValue(getValues[k],
+ newValues[k]);
+
+ if (!localRes) {
+ log.println("didn't work for " + pNames[k]);
+ log.println("Expected " + newValues[k].toString());
+ log.println("Getting " + getValues[k].toString());
+ }
+ //reset properties
+ oObj.setHierarchicalPropertyValues(pNames, oldValues);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("IllegalArgument " + e.getMessage());
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("VetoException " + e.getMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("WrappedTarget " + e.getMessage());
+ }
+
+ tRes.tested("setHierarchicalPropertyValues()", res);
+ }
+
+ protected boolean checkType(String[] name, String[] type, Object[] value) {
+ boolean result = true;
+
+ for (int k = 0; k < name.length; k++) {
+ if (type[k].equals("Boolean")) {
+ result &= (value[k] instanceof Boolean);
+
+ if (!(value[k] instanceof Boolean)) {
+ log.println("Wrong Type for property " + name[k]);
+ log.println("Expected " + type[k]);
+ log.println("getting " + value[k].getClass());
+ }
+ } else if (type[k].equals("Short")) {
+ result &= (value[k] instanceof Short);
+
+ if (!(value[k] instanceof Short)) {
+ log.println("Wrong Type for property " + name[k]);
+ log.println("Expected " + type[k]);
+ log.println("getting " + value[k].getClass());
+ }
+ }
+ }
+
+ return result;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java
new file mode 100644
index 000000000..e23e3845d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XMultiPropertySet.java
@@ -0,0 +1,363 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.beans;
+
+import java.util.HashSet;
+import java.util.ArrayList;
+import java.util.Set;
+import java.util.StringTokenizer;
+import java.util.Arrays;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import util.ValueChanger;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyChangeEvent;
+import com.sun.star.beans.XMultiPropertySet;
+import com.sun.star.beans.XPropertiesChangeListener;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.lang.EventObject;
+
+
+/**
+* Testing <code>com.sun.star.beans.XMultiPropertySet</code>
+* interface methods :
+* <ul>
+* <li><code> getPropertySetInfo()</code></li>
+* <li><code> setPropertyValues()</code></li>
+* <li><code> getPropertyValues()</code></li>
+* <li><code> addPropertiesChangeListener()</code></li>
+* <li><code> removePropertiesChangeListener()</code></li>
+* <li><code> firePropertiesChangeEvent()</code></li>
+* </ul> <p>
+*
+* Required relations :
+* <ul>
+* <li> <code>'XMultiPropertySet.ExcludeProps'</code>
+* <b>(optional) </b> : java.util.Set.
+* Has property names which must be skipped from testing in
+* some reasons (for example property accepts restricted set
+* of values).
+* </li>
+* <ul> <p>
+*
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.beans.XMultiPropertySet
+*/
+public class _XMultiPropertySet extends MultiMethodTest {
+
+ public XMultiPropertySet oObj = null;
+
+ private boolean propertiesChanged = false;
+ private XPropertySetInfo propertySetInfo = null;
+ private String [] testPropsNames = null;
+ private int testPropsAmount = 0;
+ private Object[] values = null;
+
+ private Set<String> exclProps = null;
+
+ /**
+ * Initializes some fields.
+ */
+ @Override
+ public void before() {
+ exclProps = (Set<String>) tEnv.getObjRelation("XMultiPropertySet.ExcludeProps");
+ if (exclProps == null) exclProps = new HashSet<String>(0);
+ }
+
+ /**
+ * Listener implementation which sets a flag when
+ * listener was called.
+ */
+ public class MyChangeListener implements XPropertiesChangeListener {
+ public void propertiesChange(PropertyChangeEvent[] e) {
+ propertiesChanged = true;
+ }
+ public void disposing (EventObject obj) {}
+ }
+
+ private final XPropertiesChangeListener PClistener =
+ new MyChangeListener();
+
+ /**
+ * Test calls the method and checks return value.
+ * <code>PropertySetInfo</code> object is stored<p>
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getPropertySetInfo() {
+ boolean bResult = true;
+ propertySetInfo = oObj.getPropertySetInfo();
+
+ if (propertySetInfo == null) {
+ log.println("getPropertySetInfo() method returned null");
+ bResult = false;
+ }
+
+ tRes.tested("getPropertySetInfo()", bResult) ;
+ }
+
+
+ /**
+ * Test collects all property names and retrieves their values,
+ * then checks the value returned. Finally it also collects
+ * bound properties for other methods tests.<p>
+ * Has <b> OK </b> status if the method returns non null value
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPropertySetInfo() </code> : to have a list
+ * of properties.</li>
+ * </ul>
+ */
+ public void _getPropertyValues() {
+ requiredMethod("getPropertySetInfo()");
+ boolean bResult = true;
+
+ Property[] properties = propertySetInfo.getProperties();
+
+ ArrayList<String> allFilteredNames = new ArrayList<String>();
+ ArrayList<Property> allFilteredProperties = new ArrayList<Property>();
+
+ String[] skipNames = (String[]) tEnv.getObjRelation("SkipProperties");
+
+ for (int i = 0; i < properties.length; i++) {
+ if (skipNames == null || !Arrays.asList(skipNames).contains(properties[i].Name))
+ {
+ allFilteredNames.add(properties[i].Name);
+ allFilteredProperties.add(properties[i]);
+ }
+ }
+
+ String[] arrayAllFilteredNames = allFilteredNames.toArray(new String[allFilteredNames.size()]);
+
+ values = oObj.getPropertyValues(arrayAllFilteredNames);
+
+ bResult &= values!=null;
+ tRes.tested("getPropertyValues()", bResult) ;
+
+ Property[] arrayFilteredProperties = allFilteredProperties.toArray(new Property[allFilteredProperties.size()]);
+
+ getPropsToTest(arrayFilteredProperties);
+ }
+
+ /**
+ * Test adds listener for all bound properties then each property
+ * is changed and listener call . <p>
+ * Has <b> OK </b> status if on each property change the listener was
+ * called and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPropertyValues() </code> : to collect bound
+ * properties.</li>
+ * </ul>
+ */
+ public void _addPropertiesChangeListener() {
+
+ requiredMethod("getPropertyValues()");
+
+ // Creating listener
+ oObj.addPropertiesChangeListener(testPropsNames, PClistener);
+
+ if ((testPropsAmount==1) && (testPropsNames[0].equals("none"))) {
+ testPropsAmount = 0;
+ }
+
+ if (testPropsAmount == 0) {
+ log.println("all properties are read only");
+ tRes.tested("addPropertiesChangeListener()", Status.skipped(true));
+ return;
+ }
+
+ // Change one of the property to be sure that this event was caught.
+ for (int i=0; i<testPropsAmount;i++) {
+ log.print("Trying to change property " + testPropsNames[i]);
+ try {
+ Object[] gValues = oObj.getPropertyValues(testPropsNames);
+ Object newValue = ValueChanger.changePValue(gValues[i]);
+ gValues[i] = newValue;
+ propertiesChanged = false;
+ oObj.setPropertyValues(testPropsNames, gValues);
+ log.println(" ... done");
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+testPropsNames[i] + "' :" + e);
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+testPropsNames[i] + "' :" + e);
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+testPropsNames[i] + "' :" + e);
+ e.printStackTrace(log);
+ } // end of try-catch
+ }
+ waitForEventIdle();
+ tRes.tested("addPropertiesChangeListener()", propertiesChanged);
+ }
+
+ /**
+ * Calls method and check if listener was called. <p>
+ * Has <b> OK </b> status if the listener was
+ * called and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addPropertiesChangeListener() </code> : listener to
+ * be added.</li>
+ * </ul>
+ */
+ public void _firePropertiesChangeEvent() {
+ requiredMethod("addPropertiesChangeListener()");
+ propertiesChanged = false ;
+
+ oObj.firePropertiesChangeEvent(testPropsNames, PClistener);
+ waitForEventIdle();
+
+ tRes.tested("firePropertiesChangeEvent()", propertiesChanged);
+ }
+
+
+ /**
+ * Removes listener added before. <p>
+ * Has <b> OK </b> status no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addPropertiesChangeListener() </code> : listener to
+ * be added.</li>
+ * </ul>
+ */
+ public void _removePropertiesChangeListener() {
+ requiredMethod("firePropertiesChangeEvent()");
+ boolean bResult = true;
+
+ oObj.removePropertiesChangeListener(PClistener);
+
+ tRes.tested("removePropertiesChangeListener()", bResult);
+ }
+
+
+ /**
+ * Changes all properties, then set them to new values, get them
+ * and checks if their values were changed properly. <p>
+ * Has <b> OK </b> status if all properties properly changed
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPropertyValues() </code> : to collect bound
+ * properties.</li>
+ * </ul>
+ */
+ public void _setPropertyValues() {
+ requiredMethod("getPropertyValues()");
+ boolean bResult = true;
+
+ if ((testPropsNames.length==1)&&(testPropsNames[0].equals("none"))) {
+ log.println("all properties are readOnly");
+ tRes.tested("setPropertyValues()",Status.skipped(true));
+ return;
+ }
+
+ log.println("Changing all properties");
+ Object[] gValues = oObj.getPropertyValues(testPropsNames);
+ for (int i=0; i<testPropsAmount;i++) {
+ Object oldValue = gValues[i];
+ Object newValue = ValueChanger.changePValue(oldValue);
+ gValues[i] = newValue;
+ }
+
+ try {
+ oObj.setPropertyValues(testPropsNames, gValues);
+ Object[] newValues = oObj.getPropertyValues(testPropsNames);
+ for (int i=0; i<testPropsAmount;i++) {
+ if (newValues[i].equals(gValues[i])) {
+ bResult = true;
+ }
+ }
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occurred while setting properties");
+ e.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while setting properties");
+ e.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while setting properties");
+ e.printStackTrace(log);
+ bResult = false;
+ } // end of try-catch
+
+ tRes.tested("setPropertyValues()", bResult);
+ }
+
+ //Get the properties being tested
+ private void getPropsToTest(Property[] properties) {
+
+ StringBuilder sb = new StringBuilder();
+
+ for (int i = 0; i < properties.length; i++) {
+
+ Property property = properties[i];
+ String name = property.Name;
+ boolean isWritable = ((property.Attributes &
+ PropertyAttribute.READONLY) == 0);
+ boolean isNotNull = ((property.Attributes &
+ PropertyAttribute.MAYBEVOID) == 0);
+ boolean isBound = ((property.Attributes &
+ PropertyAttribute.BOUND) != 0);
+ boolean isExcluded = exclProps.contains(name);
+
+ //exclude UserDefined, because we can't change XNameContainer
+ if (name.indexOf("UserDefined")>0 || name.indexOf("Device")>0) {
+ isWritable=false;
+ }
+
+ values = oObj.getPropertyValues(new String[]{property.Name});
+
+ boolean isVoid = util.utils.isVoid(values[0]);
+
+ if ( isWritable && isNotNull && isBound && !isExcluded && !isVoid) {
+ sb.append(name + ";");
+ }
+
+ } // endfor
+
+ String bound = sb.toString();
+
+ //get an array of bound properties
+ if (bound.equals("")) bound = "none";
+ StringTokenizer ST=new StringTokenizer(bound,";");
+ int nr = ST.countTokens();
+ testPropsNames = new String[nr];
+ for (int i=0; i<nr; i++) testPropsNames[i] = ST.nextToken();
+ testPropsAmount = nr;
+ }
+
+ /*
+ * Does nothing.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/beans/_XMultiPropertyStates.java b/qadevOOo/tests/java/ifc/beans/_XMultiPropertyStates.java
new file mode 100644
index 000000000..884fb27af
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XMultiPropertyStates.java
@@ -0,0 +1,227 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.beans;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyState;
+import com.sun.star.beans.XMultiPropertyStates;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.beans.XMultiPropertyStates</code>
+* interface methods :
+* <ul>
+* <li><code> getPropertyStates()</code></li>
+* <li><code> setAllPropertiesToDefault()</code></li>
+* <li><code> getPropertyValues()</code></li>
+* <li><code> setPropertiesToDefault()</code></li>
+* <li><code> getPropertyDefaults()</code></li>
+* </ul>
+* @see com.sun.star.beans.XMultiPropertyStates
+*/
+public class _XMultiPropertyStates extends MultiMethodTest {
+
+ public XMultiPropertyStates oObj = null;
+
+ private PropertyState[] states = null;
+ private String[] names = null;
+
+ @Override
+ public void before() {
+ names = (String[]) tEnv.getObjRelation("PropertyNames");
+ if (names == null) {
+ throw new StatusException(Status.failed("No PropertyNames given"));
+ }
+
+ log.println("Totally " + names.length + " properties encountered:");
+ log.print("{");
+ for (int i = 0; i < names.length; i++)
+ log.print(names[i] + " ");
+ log.print("}");
+ log.println("");
+ }
+
+
+ /**
+ * Test calls the method and checks return value.
+ * <code>PropertyDefaults</code> are stored<p>
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getPropertyDefaults() {
+ boolean result = false;
+ try {
+ Object[] defaults = oObj.getPropertyDefaults(names);
+ log.println("Number of default values: " + defaults.length);
+ result = defaults.length == names.length;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("some properties seem to be unknown: " + e.toString());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Wrapped target Exception was thrown: " + e.toString());
+ }
+ tRes.tested("getPropertyDefaults()", result) ;
+ }
+
+ /**
+ * Test calls the method and checks return value.
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getPropertyStates() {
+ boolean result = false;
+ try {
+ states = oObj.getPropertyStates(names);
+ result = (states != null) && (states.length == names.length);
+ if (states != null) {
+ log.println("Number of states: " + states.length);
+ }
+ else {
+ log.println("Number of states: <null>");
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("some properties seem to be unknown: " + e.toString());
+ }
+ tRes.tested("getPropertyStates()", result) ;
+ }
+
+ /**
+ * Test calls the method and checks return value.
+ * Has <b> OK </b> status if the Property
+ * has default state afterwards. <p>
+ */
+ public void _setPropertiesToDefault() {
+ requiredMethod("getPropertyStates()");
+ // searching for property which currently don't have default value
+ // and preferable has MAYBEDEFAULT attr
+ // if no such properties are found then the first one is selected
+
+ String ro = (String) tEnv.getObjRelation("allReadOnly");
+ if (ro != null) {
+ log.println(ro);
+ tRes.tested("setPropertiesToDefault()",Status.skipped(true));
+ return;
+ }
+
+ boolean mayBeDef = false;
+ String propName = names[0];
+
+ for(int i = 0; i < names.length; i++) {
+ if (!mayBeDef && states[i] != PropertyState.DEFAULT_VALUE ) {
+ propName = names[i];
+ XPropertySet xPropSet = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ XPropertySetInfo xPropSetInfo = xPropSet.getPropertySetInfo();
+ Property prop = null;
+ try {
+ prop = xPropSetInfo.getPropertyByName(names[i]);
+ }
+ catch(com.sun.star.beans.UnknownPropertyException e) {
+ throw new StatusException(e, Status.failed("couldn't get property info"));
+ }
+ if ( (prop.Attributes & PropertyAttribute.MAYBEDEFAULT) != 0){
+ log.println("Property " + names[i] +
+ " 'may be default' and doesn't have default value");
+ mayBeDef = true;
+ }
+ }
+ }
+ log.println("The property " + propName + " selected");
+
+ boolean result = false;
+ try {
+ String[] the_first = new String[1];
+ the_first[0] = propName;
+ log.println("Setting " + propName + " to default");
+ oObj.setPropertiesToDefault(the_first);
+ result = oObj.getPropertyStates(the_first)[0].equals(PropertyState.DEFAULT_VALUE);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("some properties seem to be unknown: " + e.toString());
+ }
+
+ if (!result) {
+ log.println("The property didn't change its state to default ...");
+ if (mayBeDef) {
+ log.println(" ... and it may be default - FAILED");
+ } else {
+ log.println(" ... but it may not be default - OK");
+ result = true;
+ }
+ }
+
+ tRes.tested("setPropertiesToDefault()", result) ;
+ }
+
+ /**
+ * Test calls the method and checks return value.
+ * Has <b> OK </b> status if the all Properties
+ * have default state afterwards. <p>
+ */
+ public void _setAllPropertiesToDefault() {
+ requiredMethod("setPropertiesToDefault()");
+ boolean result = true;
+
+ try {
+ oObj.setAllPropertiesToDefault();
+ } catch(RuntimeException e) {
+ log.println("Ignore Runtime Exception: " + e.getMessage());
+ }
+ log.println("Checking that all properties are now in DEFAULT state" +
+ " excepting may be those which 'can't be default'");
+
+ try {
+ states = oObj.getPropertyStates(names);
+ for (int i = 0; i < states.length; i++) {
+ boolean part_result = states[i].equals
+ (PropertyState.DEFAULT_VALUE);
+ if (!part_result) {
+ log.println("Property '" + names[i] +
+ "' wasn't set to default");
+ XPropertySet xPropSet = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ XPropertySetInfo xPropSetInfo =
+ xPropSet.getPropertySetInfo();
+ Property prop = xPropSetInfo.getPropertyByName(names[i]);
+ if ( (prop.Attributes &
+ PropertyAttribute.MAYBEDEFAULT) != 0 ) {
+ log.println(" ... and it has MAYBEDEFAULT "+
+ "attribute - FAILED");
+ } else {
+ log.println(" ... but it has no MAYBEDEFAULT "+
+ "attribute - OK");
+ part_result = true;
+ }
+ }
+
+ result &= part_result;
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("some properties seem to be unknown: " + e.toString());
+ result=false;
+ }
+
+ tRes.tested("setAllPropertiesToDefault()", result) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XProperty.java b/qadevOOo/tests/java/ifc/beans/_XProperty.java
new file mode 100644
index 000000000..cb3886701
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XProperty.java
@@ -0,0 +1,34 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.beans;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.XProperty;
+
+
+public class _XProperty extends MultiMethodTest {
+ public XProperty oObj;
+
+ public void _getAsProperty() {
+ Property prop = oObj.getAsProperty();
+ boolean res = (prop.Type != null);
+ tRes.tested("getAsProperty()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertyAccess.java b/qadevOOo/tests/java/ifc/beans/_XPropertyAccess.java
new file mode 100644
index 000000000..697290dc7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertyAccess.java
@@ -0,0 +1,225 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.beans;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.PropertyVetoException;
+import com.sun.star.lang.WrappedTargetException;
+import lib.MultiMethodTest;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertyAccess;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.beans.XPropertyAccess</code>
+ * interface methods :
+ * <ul>
+ * <li><code>getPropertyValues()</code></li>
+ * <li><code>setPropertyValues()</code></li>
+ * </ul>
+ * @see com.sun.star.beans.XPropertyAccess
+ */
+public class _XPropertyAccess extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XPropertyAccess oObj = null;// oObj filled by MultiMethodTest
+
+ /**
+ * object relation X<CODE>PropertyAccess.propertyToChange</CODE><br>
+ * This relation must be filled from the module. It contains a property which must
+ * be kind of String property, available at <CODE>getPropertyValues()</CODE> and changeable by
+ * <CODE>setPropertyValues()</CODE>
+ */
+ public PropertyValue propertyToChange = null;
+
+ /**
+ * checks if the object relation <CODE>XPropertyAccess.propertyToChange</CODE>
+ * is available
+ */
+ @Override
+ public void before() {
+ propertyToChange = (PropertyValue) tEnv.getObjRelation("XPropertyAccess.propertyToChange");
+ if (propertyToChange == null) {
+ throw new StatusException(Status.failed("Object raltion 'XPropertyAccess.propertyToChange' is null"));
+ }
+ }
+
+ /**
+ * Test calls the method and checks if the returned sequence contains a property which is named
+ * in the object relation <code>XPropertyAccess.propertyToChange</code>.
+ */
+ public void _getPropertyValues() {
+ PropertyValue[] properties = oObj.getPropertyValues();
+
+ boolean ok = true;
+
+ if (properties != null){
+
+ boolean found = false;
+ for (int i=0; i < properties.length; i++){
+ if (properties[i].Name.equals(propertyToChange.Name)) found = true;
+ }
+ if (! found){
+ log.println("ERROR: could not find desired property '"+ propertyToChange.Name+"'");
+ ok=false;
+ }
+
+ } else {
+ log.println("ERROR: the method returned NULL");
+ ok =false;
+ }
+
+ tRes.tested("getPropertyValues()", ok );
+ }
+
+ /**
+ * Test calls the method and checks if:
+ * <ul>
+ * <li>the property given by the object relation
+ * <CODE>XPropertyAccess.propertyToChange</CODE> has changed</LI>
+ * <li><CODE>com.sun.star.lang.IllegalArgumentException</CODE> was thrown if a <CODE>Integer</CODE>
+ * value was set to a <CODE>String</CODE> property</LI>
+ * <li><CODE>com.sun.star.beans.UnknownPropertyException</CODE> was thrown if an invalid property
+ * was set</LI>
+ * </ul>
+ */
+ public void _setPropertyValues(){
+
+ boolean ok = true;
+ boolean test = true;
+ boolean exp = false;
+
+ try {
+ PropertyValue[] newProps = new PropertyValue[1];
+ newProps[0] = propertyToChange;
+
+ log.println("try to set property values given by object relation 'XPropertyAccess.propertyToChange'...");
+ oObj.setPropertyValues(newProps);
+
+ } catch (UnknownPropertyException ex) {
+ log.println("ERROR: Exception was thrown while trying to set property value: " +
+ ex.toString());
+ test = false;
+ } catch (PropertyVetoException ex) {
+ log.println("ERROR: Exception was thrown while trying to set property value: " +
+ ex.toString());
+ test = false;
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: Exception was thrown while trying to set property value: " +
+ ex.toString());
+ test = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: Exception was thrown while trying to set property value: " +
+ ex.toString());
+ test = false;
+ }
+
+ if ( test){
+ log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+ try {
+ log.println("try to set integer value to string property, " +
+ "expect 'com.sun.star.lang.IllegalArgumentException'...");
+ PropertyValue[] newProps = new PropertyValue[1];
+ PropertyValue failedProp = new PropertyValue();
+ failedProp.Name = propertyToChange.Name;
+ failedProp.Value = Integer.valueOf(10);
+ newProps[0] = failedProp;
+ oObj.setPropertyValues(newProps);
+ } catch (PropertyVetoException ex) {
+ log.println("ERROR: unexpected exception was thrown while trying to set null value: " +
+ ex.toString());
+ exp = true;
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: unexpected exception was thrown while trying to set null value: " +
+ ex.toString());
+ exp = true;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("OK: expected exception was thrown while trying to set null value: " +
+ ex.toString());
+ test = true;
+ exp = true;
+ } catch (UnknownPropertyException ex) {
+ log.println("ERROR: unexpected exception was thrown while trying to set null value: " +
+ ex.toString());
+ exp = true;
+ }
+
+ if (! exp){
+ log.println("FAILED: expected exception 'UnknownPropertyException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+ try {
+
+ log.println("try to set values with invalid property name. " +
+ "Expect 'com.sun.star.beans.UnknownPropertyException'...");
+
+ PropertyValue[] newProps = new PropertyValue[1];
+ PropertyValue newProp = new PropertyValue();
+ newProp.Name = "XPropertyAccess.InvalidPropertyName";
+ newProp.Value = "invalid property";
+ newProps[0] = newProp;
+
+ oObj.setPropertyValues(newProps);
+
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: unexpected exception was thrown while trying to set invalid value: " +
+ ex.toString());
+ exp = true;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: unexpected exception was thrown while trying to set invalid value: " +
+ ex.toString());
+ exp = true;
+ } catch (PropertyVetoException ex) {
+ log.println("ERROR: unexpected exception was thrown while trying to set invalid value: " +
+ ex.toString());
+ exp = true;
+ } catch (UnknownPropertyException ex) {
+ log.println("OK: Expected exception was thrown while trying to set invalid value: " +
+ ex.toString());
+ exp = true;
+ test = true;
+ }
+
+ ok &= test;
+
+ if (! exp){
+ log.println("FAILED: expected exception 'UnknownPropertyException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ tRes.tested("setPropertyValues()", ok);
+ }
+
+} /// finish class XPropertyAccess
+
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertyContainer.java b/qadevOOo/tests/java/ifc/beans/_XPropertyContainer.java
new file mode 100644
index 000000000..00fcff66f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertyContainer.java
@@ -0,0 +1,299 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.beans;
+
+import com.sun.star.beans.IllegalTypeException;
+import com.sun.star.beans.NotRemoveableException;
+import com.sun.star.beans.PropertyExistException;
+import com.sun.star.uno.Any;
+import lib.MultiMethodTest;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertyContainer;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.beans.XPropertyAccess</code>
+ * interface methods :
+ * <ul>
+ * <li><code>addProperty()</code></li>
+ * <li><code>removeProperty()</code></li>
+ * </ul>
+ * @see com.sun.star.beans.XPropertyAccess
+ */
+public class _XPropertyContainer extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XPropertyContainer oObj = null;// oObj filled by MultiMethodTest
+
+ /**
+ * object relation X<CODE>PropertyAccess.propertyNotRemovable</CODE><br>
+ * This relation must be filled from the module. It contains a property which must
+ * be a property of the implementation object.
+ */
+ private String propertyNotRemovable = null;
+
+ /**
+ * checks if the object relation <CODE>XPropertyAccess.propertyNotRemovable</CODE>
+ * is available
+ */
+ @Override
+ public void before() {
+ propertyNotRemovable = (String) tEnv.getObjRelation("XPropertyContainer.propertyNotRemovable");
+ if (propertyNotRemovable == null) {
+ throw new StatusException(Status.failed("Object raltion 'XPropertyAccess.propertyNotRemovable' is null"));
+ }
+ }
+
+
+
+ /**
+ * Test calls the method and checks if the returned sequence contains a property which is named
+ * in the object relation <code>XPropertyAccess.propertyNotRemovable</code>.
+ */
+ public void _addProperty() {
+
+ boolean ok = true;
+ boolean test = true;
+ boolean exp = false;
+
+ try {
+ log.println("try to add following property:\n" +
+ "\t('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) ...");
+ oObj.addProperty("myXPropertContainerProperty" , com.sun.star.beans.PropertyAttribute.MAYBEVOID, null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: Exception was thrown while adding following property: " +
+ "('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) : " +
+ ex.toString());
+ log.println("... FAILED");
+ test = false;
+ } catch (PropertyExistException ex) {
+ log.println("ERROR: Exception was thrown while adding following property: " +
+ "('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) : " +
+ ex.toString());
+ log.println("... FAILED");
+ test = false;
+ } catch (IllegalTypeException ex) {
+ log.println("ERROR: Exception was thrown while adding following property: " +
+ "('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) : " +
+ ex.toString());
+ log.println("... FAILED");
+ test = false;
+ }
+
+ if ( test){
+ log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+ try {
+ log.println("add following property second time:\n" +
+ "\t('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) ...");
+ oObj.addProperty("myXPropertContainerProperty" , com.sun.star.beans.PropertyAttribute.MAYBEVOID, null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: wrong Exception was thrown while adding following property: " +
+ "('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) : " +
+ "Expected: 'PropertyExistException'\n" +
+ "Got: 'IllegalArgumentException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ } catch (PropertyExistException ex) {
+ log.println("OK: expected Exception was thrown." + ex.toString());
+ test = true;
+ exp = true;
+ } catch (IllegalTypeException ex) {
+ log.println("ERROR: wrong Exception was thrown while adding following property: " +
+ "('myXPropertContainerProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null) : " +
+ "Expected: 'PropertyExistException'\n" +
+ "Got: 'IllegalTypeException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ }
+ if (! exp){
+ log.println("FAILED: expected exception 'UnknownPropertyException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+ try {
+ log.println("try to add following property:\n" +
+ "\t('IllegalTypeProperty', com.sun.star.beans.PropertyAttribute.MAYBEVOID, Any.VOID) ...");
+ oObj.addProperty("IllegalTypeProperty", com.sun.star.beans.PropertyAttribute.MAYBEVOID, Any.VOID);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: wrong Exception was thrown while adding following property: " +
+ "'', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null\n" +
+ "Expected: 'IllegalTypeException'\n" +
+ "Got: 'IllegalArgumentException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ } catch (PropertyExistException ex) {
+ log.println("ERROR: wrong Exception was thrown while adding following property: " +
+ "'', com.sun.star.beans.PropertyAttribute.MAYBEVOID, null\n" +
+ "Expected: 'IllegalArgumentException'\n" +
+ "Got: 'PropertyExistException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ } catch (IllegalTypeException ex) {
+ log.println("OK: expected Exception was thrown." + ex.toString());
+ test = true;
+ exp = true;
+ }
+
+ if (! exp){
+ log.println("FAILED: expected exception 'IllegalTypeException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+ try {
+ short attrib = -1;
+ log.println("add following property:\n" +
+ "'', -1, new Object");
+ oObj.addProperty("", attrib, null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("OK: expected Exception was thrown." + ex.toString());
+ test = true;
+ exp = true;
+ } catch (PropertyExistException ex) {
+ log.println("ERROR: wrong Exception was thrown while adding following property: " +
+ "'invalidPropertyAttribute', -1, null\n" +
+ "Expected: 'IllegalTypeException'\n" +
+ "Got: 'PropertyExistException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ } catch (IllegalTypeException ex) {
+ log.println("ERROR: unexpected Exception was thrown while adding following property: " +
+ "'', -1, null\n" +
+ "Expected: 'IllegalArgumentException'\n" +
+ "Got: 'IllegalTypeException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ }
+
+ if (! exp){
+ log.println("FAILED: expected exception 'IllegalArgumentException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ ok &= test;
+
+ tRes.tested("addProperty()", ok );
+ }
+
+ /**
+ * Test calls the method and checks if the returned sequence contains a property which is named
+ * in the object relation <code>XPropertyAccess.propertyNotRemovable</code>.
+ */
+ public void _removeProperty() {
+
+ requiredMethod("addProperty()");
+
+ boolean ok = true;
+ boolean test = true;
+ boolean exp = false;
+
+ try {
+ log.println("remove 'myXPropertContainerProperty'");
+ oObj.removeProperty("myXPropertContainerProperty");
+ } catch (NotRemoveableException ex) {
+ log.println("ERROR: could not remote property 'myXPropertContainerProperty'" + ex.toString());
+ log.println("... FAILED");
+ test = false;
+ } catch (UnknownPropertyException ex) {
+ log.println("ERROR: could not remote property 'myXPropertContainerProperty'" + ex.toString());
+ log.println("... FAILED");
+ test = false;
+ }
+ if ( test){
+ log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp=false;
+
+ try {
+ log.println("remove not removable property '" + propertyNotRemovable + "'") ;
+ oObj.removeProperty(propertyNotRemovable);
+ } catch (NotRemoveableException ex) {
+ log.println("OK: expected Exception was thrown: " + ex.toString());
+ test = true;
+ exp = true;
+ } catch (UnknownPropertyException ex) {
+ log.println("ERROR: wrong exception was thrown.\n" +
+ "Expected: 'NotRemoveableException'\n" +
+ "Got: 'UnknownPropertyException'\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ }
+
+ if (! exp){
+ log.println("FAILED: expected exception 'NotRemoveableException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ ok &= test;
+ test = false;
+ exp = false;
+
+ try {
+ log.println("remove property 'thisPropertyDoesNotExist'");
+ oObj.removeProperty("thisPropertyDoesNotExist");
+ } catch (UnknownPropertyException ex) {
+ log.println("OK: expected Exception was thrown: " + ex.toString());
+ test = true;
+ exp = true;
+ } catch (NotRemoveableException ex) {
+ log.println("ERROR: wrong exception was thrown.\n" +
+ "Expected: 'UnknownPropertyException'\n" +
+ "Got: 'NotRemoveableException\n" +
+ ex.toString());
+ log.println("... FAILED");
+ exp = true;
+ }
+ if (! exp){
+ log.println("FAILED: expected exception 'UnknownPropertyException' was not thrown");
+ } else {
+ if (test) log.println("... OK");
+ }
+
+ tRes.tested("removeProperty()", ok );
+ }
+
+
+} /// finish class XPropertyContainer
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XPropertySet.java
new file mode 100644
index 000000000..0fe6b2593
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertySet.java
@@ -0,0 +1,645 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.beans;
+
+import java.util.ArrayList;
+
+import lib.MultiMethodTest;
+import util.ValueChanger;
+import util.utils;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyChangeEvent;
+import com.sun.star.beans.XPropertyChangeListener;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.XVetoableChangeListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.beans.XPropertySet</code>
+* interface methods :
+* <ul>
+* <li><code>getPropertySetInfo()</code></li>
+* <li><code>setPropertyValue()</code></li>
+* <li><code>getPropertyValue()</code></li>
+* <li><code>addPropertyChangeListener()</code></li>
+* <li><code>removePropertyChangeListener()</code></li>
+* <li><code>addVetoableChangeListener()</code></li>
+* <li><code>removeVetoableChangeListener()</code></li>
+* </ul>
+* @see com.sun.star.beans.XPropertySet
+*/
+public class _XPropertySet extends MultiMethodTest {
+
+ public XPropertySet oObj = null;
+
+ /**
+ * Flag that indicates change listener was called.
+ */
+ private boolean propertyChanged = false;
+
+ /**
+ * Listener that must be called on bound property changing.
+ */
+ public class MyChangeListener implements XPropertyChangeListener {
+ /**
+ * Just set <code>propertyChanged</code> flag to true.
+ */
+ public void propertyChange(PropertyChangeEvent e) {
+ propertyChanged = true;
+ }
+ public void disposing (EventObject obj) {}
+ }
+
+ private final XPropertyChangeListener PClistener = new MyChangeListener();
+
+ /**
+ * Flag that indicates veto listener was called.
+ */
+ private boolean vetoableChanged = false;
+
+ /**
+ * Listener that must be called on constrained property changing.
+ */
+ public class MyVetoListener implements XVetoableChangeListener {
+ /**
+ * Just set <code>vetoableChanged</code> flag to true.
+ */
+ public void vetoableChange(PropertyChangeEvent e) {
+ vetoableChanged = true;
+ }
+ public void disposing (EventObject obj) {}
+ }
+
+ private final XVetoableChangeListener VClistener = new MyVetoListener();
+
+ /**
+ * Structure that collects the properties of different types to test :
+ * Constrained, Bound and Normal.
+ */
+ private static final class PropsToTest {
+ ArrayList< String > constrained = new ArrayList< String >();
+ ArrayList< String > bound = new ArrayList< String >();
+ ArrayList< String > normal = new ArrayList< String >();
+ }
+
+ private final PropsToTest PTT = new PropsToTest();
+
+ /**
+ * Tests method <code>getPropertySetInfo</code>. After test completed
+ * call {@link #getPropsToTest} method to retrieve different kinds
+ * of properties to test then. <p>
+ * Has OK status if not null <code>XPropertySetInfo</code>
+ * object returned.<p>
+ * Since <code>getPropertySetInfo</code> is optional, it may return null,
+ * if it is not implemented. This method uses then an object relation
+ * <code>PTT</code> (Properties To Test) to determine available properties.
+ * All tests for services without <code>getPropertySetInfo</code> must
+ * provide this object relation.
+ */
+ public void _getPropertySetInfo() {
+
+ XPropertySetInfo propertySetInfo = oObj.getPropertySetInfo();
+
+ if (propertySetInfo == null) {
+ log.println("getPropertySetInfo() method returned null");
+ tRes.tested("getPropertySetInfo()", true) ;
+ String[] ptt = (String[]) tEnv.getObjRelation("PTT");
+ PTT.normal.clear();
+ PTT.bound.clear();
+ PTT.constrained.clear();
+ PTT.normal.add( ptt[0] );
+ PTT.bound.add( ptt[1] );
+ PTT.constrained.add( ptt[2] );
+ } else {
+ tRes.tested("getPropertySetInfo()", true );
+ getPropsToTest(propertySetInfo);
+ }
+ } // end of getPropertySetInfo()
+
+ /**
+ * Tests change listener which added for bound properties.
+ * Adds listener to bound property (if it exists), then changes
+ * its value and check if listener was called. <p>
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>getPropertySetInfo</code> : in this method test
+ * one of bound properties is retrieved. </li>
+ * </ul> <p>
+ * Has OK status if NO bound properties exist or if listener
+ * was successfully called.
+ */
+ public void _addPropertyChangeListener() {
+
+ requiredMethod("getPropertySetInfo()");
+
+ int count = PTT.bound.size();
+ if ( count==0 || PTT.bound.get(0).equals("none") ) {
+ log.println("*** No bound properties found ***");
+ tRes.tested("addPropertyChangeListener()", true) ;
+ } else {
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.bound.get(i);
+ propertyChanged = false;
+ try {
+ oObj.addPropertyChangeListener(propertyName,PClistener);
+ Object gValue = oObj.getPropertyValue(propertyName);
+ log.println("Check bound property: " + propertyName );
+ oObj.setPropertyValue(propertyName,
+ ValueChanger.changePValue(gValue));
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } // end of try-catch
+ error = error || !propertyChanged;
+ if (!propertyChanged) {
+ log.println("propertyChangeListener wasn't called for '"+
+ propertyName+"'");
+ }
+ }
+ tRes.tested("addPropertyChangeListener()", !error);
+ }
+ } // end of addPropertyChangeListener()
+
+ /**
+ * Tests vetoable listener which added for constrained properties.
+ * Adds listener to constrained property (if it exists), then changes
+ * its value and check if listener was called. <p>
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>getPropertySetInfo</code> : in this method test
+ * one of constrained properties is retrieved. </li>
+ * </ul> <p>
+ * Has OK status if NO constrained properties exist or if listener
+ * was successfully called.
+ */
+ public void _addVetoableChangeListener() {
+
+ requiredMethod("getPropertySetInfo()");
+
+ int count = PTT.constrained.size();
+ if ( count==0 || PTT.constrained.get(0).equals("none") ) {
+ log.println("*** No constrained properties found ***");
+ tRes.tested("addVetoableChangeListener()", true) ;
+ } else {
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.constrained.get(i);
+ vetoableChanged = false;
+ try {
+ oObj.addVetoableChangeListener(propertyName,VClistener);
+ Object gValue = oObj.getPropertyValue(propertyName);
+ oObj.setPropertyValue(propertyName,
+ ValueChanger.changePValue(gValue));
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } // end of try-catch
+ error = error || !vetoableChanged;
+ if (!vetoableChanged) {
+ log.println("vetoableChangeListener wasn't called for '"+
+ propertyName+"'");
+ }
+ }
+ tRes.tested("addVetoableChangeListener()",!error);
+ }
+ } // end of addVetoableChangeListener()
+
+
+ /**
+ * Tests <code>setPropertyValue</code> method.
+ * Stores value before call, and compares it with value after
+ * call. <p>
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>getPropertySetInfo</code> : in this method test
+ * one of normal properties is retrieved. </li>
+ * </ul> <p>
+ * Has OK status if NO normal properties exist or if value before
+ * method call is not equal to value after.
+ */
+ public void _setPropertyValue() {
+
+ requiredMethod("getPropertySetInfo()");
+
+ Object gValue = null;
+ Object sValue = null;
+
+ int count = PTT.normal.size();
+ if ( count==0 || PTT.normal.get(0).equals("none") ) {
+ log.println("*** No changeable properties found ***");
+ tRes.tested("setPropertyValue()", true) ;
+ } else {
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.normal.get(i);
+ try {
+ log.println("try to change value of property '" + propertyName + "'" );
+ gValue = oObj.getPropertyValue(propertyName);
+ sValue = ValueChanger.changePValue(gValue, propertyName);
+ oObj.setPropertyValue(propertyName, sValue);
+ sValue = oObj.getPropertyValue(propertyName);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } // end of try-catch
+ /* this is stupid: we can't set properties whose semantics we
+ * don't know to random values in an arbitrary order and
+ * expect that to actually work.
+ if( gValue.equals(sValue) )
+ {
+ log.println("setting property '"+ propertyName+"' failed");
+ error = true;
+ }
+ */
+ }
+ tRes.tested("setPropertyValue()",!error);
+ } //endif
+ } // end of setPropertyValue()
+
+ /**
+ * Tests <code>getPropertyValue</code> method for the given property.
+ * Returns true if no exceptions occurred
+ */
+ private boolean getSinglePropertyValue( String propertyName )
+ {
+ boolean runOk = false;
+ try {
+ oObj.getPropertyValue(propertyName);
+ runOk = true;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occurred while trying to get property '"+
+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while trying to get property '"+
+ propertyName+"'");
+ e.printStackTrace(log);
+ }
+ return runOk;
+ }
+
+ /**
+ * Tests <code>getPropertyValue</code> method.
+ * Just call this method and checks for no exceptions <p>
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>getPropertySetInfo</code> : in this method test
+ * one of normal properties is retrieved. </li>
+ * </ul> <p>
+ * Has OK status if NO normal properties exist or if no
+ * exceptions were thrown.
+ */
+ public void _getPropertyValue() {
+
+ requiredMethod("getPropertySetInfo()");
+
+ int count = PTT.normal.size();
+ if ( count==0 || PTT.normal.get(0).equals("none") ) {
+ Property[] properties = oObj.getPropertySetInfo().getProperties();
+ if( properties.length > 0 ) {
+ String propertyName = properties[0].Name;
+ log.println("All properties are Read Only");
+ log.println("Using: "+propertyName);
+ tRes.tested("getPropertyValue()", getSinglePropertyValue( propertyName ) );
+ }
+ else {
+ log.println("*** No properties found ***");
+ tRes.tested("getPropertyValue()", true) ;
+ }
+ } else {
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.normal.get(i);
+ boolean runOk = getSinglePropertyValue( propertyName );
+ if( !runOk )
+ {
+ error = true;
+ log.println("getPropertyValue() failed for property '"+propertyName+"'");
+ }
+ }
+ tRes.tested("getPropertyValue()", !error) ;
+ }
+ }
+
+ /**
+ * Tests <code>removePropertyChangeListener</code> method.
+ * Removes change listener, then changes bound property value
+ * and checks if the listener was NOT called.
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>addPropertyChangeListener</code> : here listener
+ * was added. </li>
+ * </ul> <p>
+ * Has OK status if NO bound properties exist or if listener
+ * was not called and no exceptions arose.
+ */
+ public void _removePropertyChangeListener() {
+
+ requiredMethod("addPropertyChangeListener()");
+
+ int count = PTT.bound.size();
+ if ( count==0 || PTT.bound.get(0).equals("none") ) {
+ log.println("*** No bound properties found ***");
+ tRes.tested("removePropertyChangeListener()", true) ;
+ } else {
+
+ //remove all listeners first
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.bound.get(i);
+ try {
+ oObj.removePropertyChangeListener(propertyName,PClistener);
+ } catch (Exception e) {
+ log.println("Exception occurred while removing change listener from"+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ }
+ }
+
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.bound.get(i);
+ try {
+ propertyChanged = false;
+ oObj.addPropertyChangeListener(propertyName,PClistener);
+ oObj.removePropertyChangeListener(propertyName,PClistener);
+ Object gValue = oObj.getPropertyValue(propertyName);
+ oObj.setPropertyValue(propertyName,
+ ValueChanger.changePValue(gValue));
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } // end of try-catch
+
+ error = error || propertyChanged;
+ if (propertyChanged) {
+ log.println("propertyChangeListener was called after removing"+
+ " for '"+propertyName+"'");
+ }
+ }
+ tRes.tested("removePropertyChangeListener()",!error);
+ }
+ } // end of removePropertyChangeListener()
+
+
+ /**
+ * Tests <code>removeVetoableChangeListener</code> method.
+ * Removes vetoable listener, then changes constrained property value
+ * and checks if the listener was NOT called.
+ * Method tests to be successfully completed before :
+ * <ul>
+ * <li> <code>addPropertyChangeListener</code> : here vetoable listener
+ * was added. </li>
+ * </ul> <p>
+ * Has OK status if NO constrained properties exist or if listener
+ * was NOT called and no exceptions arose.
+ */
+ public void _removeVetoableChangeListener() {
+
+ requiredMethod("addVetoableChangeListener()");
+
+ int count = PTT.constrained.size();
+ if ( count==0 || PTT.constrained.get(0).equals("none") ) {
+ log.println("*** No constrained properties found ***");
+ tRes.tested("removeVetoableChangeListener()", true) ;
+ } else {
+
+ //remove all listeners first
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.constrained.get(i);
+ try {
+ oObj.removeVetoableChangeListener(propertyName,VClistener);
+ } catch (Exception e) {
+ log.println("Exception occurred while removing veto listener from"+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ }
+ }
+
+ boolean error = false;
+ for (int i = 0; i < count; i++) {
+ String propertyName = PTT.constrained.get(i);
+ vetoableChanged = false;
+ try {
+ oObj.addVetoableChangeListener(propertyName,VClistener);
+ oObj.removeVetoableChangeListener(propertyName,VClistener);
+ Object gValue = oObj.getPropertyValue(propertyName);
+ oObj.setPropertyValue(propertyName,
+ ValueChanger.changePValue(gValue));
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while trying to change "+
+ "property '"+ propertyName+"'");
+ e.printStackTrace(log);
+ } // end of try-catch
+ error = error || vetoableChanged;
+ if (vetoableChanged) {
+ log.println("vetoableChangeListener was called after "+
+ "removing for '"+propertyName+"'");
+ }
+ }
+ tRes.tested("removeVetoableChangeListener()",!error);
+ }
+ } // end of removeVetoableChangeListener()
+
+ /**
+ * Gets the properties being tested. Searches and stores by one
+ * property of each kind (Bound, Vetoable, Normal).
+ */
+ public void getPropsToTest(XPropertySetInfo xPSI) {
+
+ Property[] properties = xPSI.getProperties();
+ // some properties should not be changed in a unspecific way
+ String[] skip = {"PrinterName", "CharRelief", "IsLayerMode"};
+
+ for (int i = 0; i < properties.length; i++) {
+
+ Property property = properties[i];
+ String name = property.Name;
+
+ boolean cont = false;
+ for (int j = 0; j < skip.length; j++) {
+ if (name.equals(skip[j])){
+ log.println("skipping '" + name + "'");
+ cont = true;
+ }
+ }
+
+ if (cont) continue;
+
+ boolean isWritable = ((property.Attributes &
+ PropertyAttribute.READONLY) == 0);
+ boolean isNotNull = ((property.Attributes &
+ PropertyAttribute.MAYBEVOID) == 0);
+ boolean isBound = ((property.Attributes &
+ PropertyAttribute.BOUND) != 0);
+ boolean isConstr = ((property.Attributes &
+ PropertyAttribute.CONSTRAINED) != 0);
+ boolean canChange = false;
+
+ if ( !isWritable ) log.println("Property '"+name+"' is READONLY");
+
+ if (name.endsWith("URL")) isWritable = false;
+ if (name.startsWith("Fill")) isWritable = false;
+ if (name.startsWith("Font")) isWritable = false;
+ if (name.startsWith("IsNumbering")) isWritable = false;
+ if (name.startsWith("LayerName")) isWritable = false;
+ if (name.startsWith("Line")) isWritable = false;
+ if (name.startsWith("TextWriting")) isWritable = false;
+
+ if ( isWritable && isNotNull ) canChange = isChangeable(name);
+
+ if ( isWritable && isNotNull && isBound && canChange) {
+ PTT.bound.add(name);
+ }
+
+ if ( isWritable && isNotNull && isConstr && canChange) {
+ PTT.constrained.add(name);
+ }
+
+ if ( isWritable && isNotNull && canChange) {
+ PTT.normal.add(name);
+ }
+
+
+ } // endfor
+ }
+
+ public boolean isChangeable(String name) {
+ boolean hasChanged = false;
+ try {
+ Object getProp = oObj.getPropertyValue(name);
+ log.println("Getting: "+getProp);
+ if (name.equals("xinterfaceA")) {
+ System.out.println("drin");
+ }
+
+ Object setValue = null;
+ if (getProp != null) {
+ if (!utils.isVoid(getProp))
+ setValue = ValueChanger.changePValue(getProp);
+ else log.println("Property '"+name+
+ "' is void but MAYBEVOID isn't set");
+ } else log.println("Property '"+name+"'is null and can't be changed");
+ if (name.equals("LineStyle")) setValue = null;
+ if (setValue != null) {
+ log.println("Setting to :"+setValue);
+ oObj.setPropertyValue(name, setValue);
+ hasChanged = (! getProp.equals(oObj.getPropertyValue(name)));
+ } else log.println("Couldn't change Property '"+name+"'");
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ } catch (com.sun.star.uno.RuntimeException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ } catch (java.lang.ArrayIndexOutOfBoundsException e) {
+ log.println("'" + name + "' throws exception '" + e + "'");
+ e.printStackTrace(log);
+ }
+
+ return hasChanged;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+
+} // finish class _XPropertySet
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertySetInfo.java b/qadevOOo/tests/java/ifc/beans/_XPropertySetInfo.java
new file mode 100644
index 000000000..dc6ad368f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertySetInfo.java
@@ -0,0 +1,115 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.beans;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.beans.XPropertySetInfo;
+
+/**
+* Testing <code>com.sun.star.beans.XPropertySetInfo</code>
+* interface methods :
+* <ul>
+* <li><code>getProperties()</code></li>
+* <li><code>getPropertyByName()</code></li>
+* <li><code>hasPropertyByName()</code></li>
+* </ul>
+* @see com.sun.star.beans.XPropertySetInfo
+*/
+public class _XPropertySetInfo extends MultiMethodTest {
+
+ public XPropertySetInfo oObj = null;// oObj filled by MultiMethodTest
+
+ public Property IsThere = null;
+
+ /**
+ * Test calls the method and stores one of the properties.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * value that isn't null.<p>
+ */
+ public void _getProperties() {
+ Property[] properties = oObj.getProperties();
+ IsThere = properties[0];
+ tRes.tested("getProperties()", ( properties != null ));
+ }
+
+ /**
+ * Test calls the method with property name that certainly present
+ * in the property set and again calls the method with property name
+ * that certainly doesn't present in the property set.<p>
+ * Has <b> OK </b> status if the method in one case successfully
+ * returns value that isn't null and no exceptions were thrown and
+ * in other case exception was thrown.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>getProperties()</code> : to have a property that certainly
+ * present in the property set</li>
+ * </ul>
+ */
+ public void _getPropertyByName() {
+ requiredMethod("getProperties()");
+ boolean result;
+ try {
+ Property prop = oObj.getPropertyByName(IsThere.Name);
+ result = (prop != null);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occurred while testing" +
+ " getPropertyByName with existing property");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ try {
+ oObj.getPropertyByName("Jupp");
+ log.println("No Exception thrown while testing"+
+ " getPropertyByName with non existing property");
+ result = false;
+ }
+ catch (UnknownPropertyException e) {
+ result = true;
+ }
+ tRes.tested("getPropertyByName()", result);
+ }
+
+ /**
+ * Test calls the method with property name that certainly present
+ * in the property set and again calls the method with property name
+ * that certainly doesn't present in the property set.<p>
+ * Has <b> OK </b> status if the method successfully returns true in
+ * one case and false in other case.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>getProperties()</code> : to have a property that certainly
+ * present in the property set</li>
+ * </ul>
+ */
+ public void _hasPropertyByName() {
+ requiredMethod("getProperties()");
+ tRes.tested("hasPropertyByName()",
+ (
+ (oObj.hasPropertyByName(IsThere.Name)) &&
+ (!oObj.hasPropertyByName("Jupp")) )
+ );
+ }
+
+} /// finish class XPropertySetInfo
+
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertyState.java b/qadevOOo/tests/java/ifc/beans/_XPropertyState.java
new file mode 100644
index 000000000..ca7337a74
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertyState.java
@@ -0,0 +1,266 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.beans;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyState;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.XPropertyState;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.beans.XPropertyState</code>
+* interface methods :
+* <ul>
+* <li><code> getPropertyState()</code></li>
+* <li><code> getPropertyStates()</code></li>
+* <li><code> setPropertyToDefault()</code></li>
+* <li><code> getPropertyDefault()</code></li>
+* </ul>
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated. <p>
+* <b>Note:</b> object tested must also implement
+* <code>com.sun.star.beans.XPropertySet</code> interface.
+* @see com.sun.star.beans.XPropertyState
+*/
+public class _XPropertyState extends MultiMethodTest {
+
+ public XPropertyState oObj = null;
+
+ private XPropertySet oPS = null ;
+ private XPropertySetInfo propertySetInfo = null;
+ private Property[] properties = null ;
+ private String pName = null ;
+ private Object propDef = null ;
+
+ /**
+ * Queries object for <code>XPropertySet</code> interface and
+ * initializes some fields used by all methods. <p>
+ *
+ * Searches property which is not READONLY and MAYBEDEFAULT, if
+ * such property is not found, then uses property with only
+ * READONLY attribute. This property name is stored and is used
+ * by all tests.
+ *
+ * @throws StatusException If <code>XPropertySet</code> is not
+ * implemented by object.
+ */
+ @Override
+ public void before() throws StatusException {
+ oPS = UnoRuntime.queryInterface( XPropertySet.class, oObj );
+ if (oPS == null)
+ throw new StatusException
+ ("XPropertySet interface isn't implemented.",
+ new NullPointerException
+ ("XPropertySet interface isn't implemented.")) ;
+
+ propertySetInfo = oPS.getPropertySetInfo();
+ properties = propertySetInfo.getProperties();
+ Property prop = null;
+ for (int i=0;i<properties.length;i++) {
+ try {
+ prop = propertySetInfo.getPropertyByName
+ (properties[i].Name);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Unknown Property "+prop.Name);
+ }
+ boolean readOnly = (prop.Attributes &
+ PropertyAttribute.READONLY) != 0;
+ boolean maybeDefault = (prop.Attributes &
+ PropertyAttribute.MAYBEDEFAULT) != 0;
+ if (!readOnly && maybeDefault) {
+ pName = properties[i].Name;
+ log.println("Property '" + pName + "' has attributes "+
+ prop.Attributes);
+ break ;
+ } else
+ if (!readOnly) {
+ pName = properties[i].Name;
+ log.println("Property '" + pName +
+ "' is not readonly, may be used ...");
+ } else {
+ log.println("Skipping property '" + properties[i].Name +
+ "' Readonly: " + readOnly + ", MaybeDefault: " +
+ maybeDefault);
+ }
+ }
+
+ }
+
+ /**
+ * Test calls the method and checks that no exceptions were thrown. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _getPropertyDefault(){
+ boolean result = true ;
+ String localName = pName;
+ if (localName == null) {
+ localName = propertySetInfo.getProperties()[0].Name;
+ }
+ try {
+ propDef = oObj.getPropertyDefault(localName);
+ log.println("Default property value is : '" + propDef + "'");
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception " + e +
+ "occurred while getting Property default");
+ result=false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception " + e +
+ "occurred while getting Property default");
+ result=false;
+ }
+ tRes.tested("getPropertyDefault()", result);
+ }
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getPropertyState(){
+ boolean result = true ;
+
+ String localName = pName;
+ if (localName == null) {
+ localName = propertySetInfo.getProperties()[0].Name;
+ }
+
+ try {
+ PropertyState ps = oObj.getPropertyState(localName);
+ if (ps == null) {
+ log.println("!!! Returned value == null") ;
+ result = false ;
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception " + e +
+ "occurred while getting Property state");
+ result = false;
+ }
+ tRes.tested("getPropertyState()", result);
+ }
+
+ /**
+ * Test calls the method with array of one property name
+ * and checks return value and that no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method returns array with one
+ * PropertyState and no exceptions were thrown. <p>
+ */
+ public void _getPropertyStates(){
+ boolean result = true ;
+
+ String localName = pName;
+ if (localName == null) {
+ localName = propertySetInfo.getProperties()[0].Name;
+ }
+
+ try {
+ PropertyState[] ps = oObj.getPropertyStates
+ (new String[] {localName});
+ if (ps == null) {
+ log.println("!!! Returned value == null") ;
+ result = false ;
+ } else {
+ if (ps.length != 1) {
+ log.println("!!! Array length returned is invalid - " +
+ ps.length) ;
+ result = false ;
+ }
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception " + e +
+ "occurred while getting Property state");
+ result = false;
+ }
+
+ tRes.tested("getPropertyStates()", result);
+ }
+
+
+ /**
+ * Sets the property to default, then compares the current property
+ * value to value received by method <code>getPropertyDefault</code>.
+ * Has <b> OK </b> status if the current property value equals to
+ * default property. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>getPropertyDefault</code>: we have to know what is
+ * default value</li></ul>
+ */
+ public void _setPropertyToDefault(){
+ requiredMethod("getPropertyDefault()") ;
+
+ if (pName == null) {
+ log.println("all found properties are read only");
+ tRes.tested("setPropertyToDefault()",Status.skipped(true));
+ return;
+ }
+
+ boolean result = true ;
+ try {
+ try {
+ oObj.setPropertyToDefault(pName);
+ }
+ catch(RuntimeException e) {
+ System.out.println("Ignoring RuntimeException: " + e.getMessage());
+ }
+ if ((properties[0].Attributes &
+ PropertyAttribute.MAYBEDEFAULT) != 0) {
+ Object actualDef = propDef ;
+ if (propDef instanceof Any) {
+ actualDef = ((Any)propDef).getObject() ;
+ }
+ Object actualVal = oPS.getPropertyValue(pName) ;
+ if (actualVal instanceof Any) {
+ actualVal = ((Any)actualVal).getObject() ;
+ }
+ result = util.ValueComparer.equalValue
+ (actualDef,actualVal) ;
+ log.println("Default value = '" + actualDef +
+ "', returned value = '"
+ + actualVal + "' for property " + pName) ;
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception " + e +
+ "occurred while setting Property to default");
+ result=false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception " + e +
+ "occurred while testing property value");
+ result=false;
+ }
+
+ tRes.tested("setPropertyToDefault()", result);
+ }
+
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+ }// EOF _XPropertyState
+
diff --git a/qadevOOo/tests/java/ifc/beans/_XPropertyWithState.java b/qadevOOo/tests/java/ifc/beans/_XPropertyWithState.java
new file mode 100644
index 000000000..9f93e0020
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XPropertyWithState.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.beans;
+
+import com.sun.star.beans.PropertyState;
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertyWithState;
+import lib.Status;
+import lib.StatusException;
+
+/**
+* Testing <code>com.sun.star.beans.XPropertyWithState</code>
+* interface methods :
+* <ul>
+* <li><code> getDefaultAsProperty()</code></li>
+* <li><code> getStateAsProperty()</code></li>
+* <li><code> setToDefaultAsProperty()</code></li>
+* </ul> <p>
+* @see com.sun.star.beans.XPropertyWithState
+*/
+
+public class _XPropertyWithState extends MultiMethodTest {
+
+ /**
+ * the test object
+ */
+ public XPropertyWithState oObj;
+
+
+ /**
+ * Test calls the method.
+ * Test has ok status if no
+ * <CODE>com.sun.star.lang.WrappedTargetException</CODE>
+ * was thrown
+ */
+ public void _getDefaultAsProperty() {
+ try{
+
+ oObj.getDefaultAsProperty();
+
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ throw new StatusException(e, Status.failed("'com.sun.star.lang.WrappedTargetException' was thrown"));
+ }
+
+ tRes.tested("getDefaultAsProperty()", true);
+ }
+
+ /**
+ * Test is ok if <CODE>getStateAsProperty()</CODE> returns
+ * as <CODE>PropertyState</CODE> which is not <CODE>null</CODE>
+ */
+ public void _getStateAsProperty() {
+
+ boolean res = true;
+
+ PropertyState propState = oObj.getStateAsProperty();
+
+ if (propState == null) {
+ log.println("the returned PropertyState is null -> FALSE");
+ res = false;
+ }
+
+ tRes.tested("getStateAsProperty()", res);
+ }
+
+ /**
+ * Test calls the method.
+ * Test has ok status if no
+ * <CODE>com.sun.star.lang.WrappedTargetException</CODE>
+ * was thrown
+ */
+ public void _setToDefaultAsProperty() {
+ try{
+
+ oObj.setToDefaultAsProperty();
+
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ throw new StatusException(e, Status.failed("'com.sun.star.lang.WrappedTargetException' was thrown"));
+ }
+
+ tRes.tested("setToDefaultAsProperty()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/beans/_XTolerantMultiPropertySet.java b/qadevOOo/tests/java/ifc/beans/_XTolerantMultiPropertySet.java
new file mode 100644
index 000000000..6860c8690
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/beans/_XTolerantMultiPropertySet.java
@@ -0,0 +1,330 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.beans;
+
+import com.sun.star.beans.GetDirectPropertyTolerantResult;
+import com.sun.star.beans.GetPropertyTolerantResult;
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.PropertyState;
+import com.sun.star.beans.SetPropertyTolerantFailed;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertyState;
+import com.sun.star.beans.XTolerantMultiPropertySet;
+import com.sun.star.uno.UnoRuntime;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import util.ValueChanger;
+import util.ValueComparer;
+
+
+public class _XTolerantMultiPropertySet extends MultiMethodTest {
+ public XTolerantMultiPropertySet oObj;
+ protected String[] namesOfDirectProperties = null;
+ protected String[] namesOfProperties = null;
+ protected Object[] valuesOfProperties = null;
+ protected Property[] properties = null;
+ protected XPropertyState pState = null;
+ protected XPropertySet PS = null;
+
+
+ /*
+ * Queries XPropertySet from the given Component and gets XPropertySetInfo
+ * from it to get the PropertyNames available and their Values<br>
+ * Then queries XPropertyState from the given Component
+ * to get the direct properties<br>
+ * Throws a lib StatusException if the Component doesn't support XPropertySet or XPropertyState
+ */
+ @Override
+ public void before() {
+ PS = UnoRuntime.queryInterface(XPropertySet.class,
+ tEnv.getTestObject());
+
+ if (PS == null) {
+ throw new StatusException(Status.failed(
+ "Component doesn't provide the needed XPropertySet"));
+ }
+
+ pState = UnoRuntime.queryInterface(
+ XPropertyState.class, tEnv.getTestObject());
+
+ if (pState == null) {
+ throw new StatusException(Status.failed(
+ "Component doesn't provide the needed XPropertyState"));
+ }
+
+ properties = PS.getPropertySetInfo().getProperties();
+ namesOfProperties = getProperties();
+ valuesOfProperties = getPropertyValues(namesOfProperties);
+ }
+
+ /*
+ * Calls the method getDirectPropertyValuesTolerant() and compares the resulting
+ * sequence with the one gained as direct values in the before() method.<br>
+ * Has OK state if both sequences equal.
+ */
+ public void _getDirectPropertyValuesTolerant() {
+ namesOfDirectProperties = getDirectProperties(properties);
+
+ GetDirectPropertyTolerantResult[] GDPR = oObj.getDirectPropertyValuesTolerant(
+ namesOfProperties);
+
+ boolean res = (GDPR.length == namesOfDirectProperties.length);
+
+ if (!res) {
+ log.println("Found: ");
+
+ for (int i = 0; i < GDPR.length; i++) {
+ log.println("\t" + GDPR[i].Name);
+ }
+
+ log.println("Expected: ");
+
+ for (int i = 0; i < namesOfDirectProperties.length; i++) {
+ log.println("\t" + namesOfDirectProperties[i]);
+ }
+ } else {
+ for (int i = 0; i < GDPR.length; i++) {
+ boolean localres = GDPR[i].Name.equals(
+ namesOfDirectProperties[i]);
+
+ if (!localres) {
+ log.println("Found: ");
+ log.println("\t" + GDPR[i].Name);
+ log.println("Expected: ");
+ log.println("\t" + namesOfDirectProperties[i]);
+ }
+
+ res &= localres;
+ }
+ }
+
+ tRes.tested("getDirectPropertyValuesTolerant()", res);
+ }
+
+ public void _getPropertyValuesTolerant() {
+ requiredMethod("getDirectPropertyValuesTolerant()");
+ GetPropertyTolerantResult[] GPR = oObj.getPropertyValuesTolerant(
+ namesOfProperties);
+
+ boolean res = (GPR.length == namesOfProperties.length);
+
+ if (!res) {
+ log.println("Length of sequences differs");
+ log.println("Found: " + GPR.length);
+ log.println("Expected: " + namesOfProperties.length);
+ } else {
+ for (int i = 0; i < GPR.length; i++) {
+ boolean localres = true;
+
+ if (!(GPR[i].Value instanceof com.sun.star.uno.Any)) {
+ localres = ValueComparer.equalValue(GPR[i].Value,
+ valuesOfProperties[i]);
+
+ }
+
+ if (!localres) {
+ log.println("Values differ for : " +
+ namesOfProperties[i]);
+ log.println("\t" + GPR[i].Value);
+ log.println("Expected: ");
+ log.println("\t" + valuesOfProperties[i]);
+ }
+
+ res &= localres;
+ }
+ }
+
+ tRes.tested("getPropertyValuesTolerant()", res);
+ }
+
+ public void _setPropertyValuesTolerant() {
+ requiredMethod("getPropertyValuesTolerant()");
+
+ SetPropertyTolerantFailed[] SPTF = oObj.setPropertyValuesTolerant(namesOfProperties,
+ getNewValues(valuesOfProperties));
+
+ //read only properties will throw a PropertyVetoException if they are set
+ int failures = 0;
+
+ for (int k = 0; k < SPTF.length; k++) {
+ if (SPTF[k].Result == com.sun.star.beans.TolerantPropertySetResultType.PROPERTY_VETO) {
+ failures++;
+ }
+ }
+
+ int roProps = getCountOfReadOnlyProperties();
+
+ boolean res = (failures == roProps);
+
+ if (!res) {
+ log.println("Failures: " + failures);
+ log.println("Count of R/O properties: " + roProps);
+
+ for (int i = 0; i < SPTF.length; i++) {
+ if (SPTF[i].Result == com.sun.star.beans.TolerantPropertySetResultType.PROPERTY_VETO) {
+ failures++;
+ log.println("Failed for " + SPTF[i].Name);
+ log.println("\t Result: " + SPTF[i].Result);
+ }
+ }
+ } else {
+ for (int i = 0; i < SPTF.length; i++) {
+ boolean localres = true;
+ GetPropertyTolerantResult[] GPR = oObj.getPropertyValuesTolerant(
+ namesOfProperties);
+
+ if ((!(GPR[i].Value instanceof com.sun.star.uno.Any)) &&
+ (SPTF[i].Result == com.sun.star.beans.TolerantPropertySetResultType.SUCCESS)) {
+ localres = ValueComparer.equalValue(GPR[i].Value,
+ valuesOfProperties[i]);
+ }
+
+ if (!localres) {
+ log.println("Values differ for : " +
+ namesOfProperties[i]);
+ log.println("\t" + GPR[i].Value);
+ log.println("Expected: ");
+ log.println("\t" + valuesOfProperties[i]);
+ }
+
+ res &= localres;
+ }
+ }
+
+ tRes.tested("setPropertyValuesTolerant()", res);
+ }
+
+ /*
+ * This method returns a sorted list of property names
+ * contained in a given sequence of properties that additionally
+ * have the state DIRECT_VALUE
+ */
+ protected String[] getDirectProperties(Property[] props) {
+ ArrayList<String> direct = new ArrayList<String>();
+
+ for (int i = 0; i < props.length; i++) {
+ String pName = props[i].Name;
+
+ try {
+ PropertyState state = pState.getPropertyState(pName);
+
+ if (state.equals(PropertyState.DIRECT_VALUE) && isUsable(pName))
+ direct.add(pName);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Property '" + pName + "'");
+ }
+ }
+
+ Collections.sort(direct);
+
+ Object[] obj = direct.toArray();
+ String[] ret = new String[obj.length];
+
+ for (int i = 0; i < obj.length; i++) {
+ ret[i] = (String) obj[i];
+ }
+
+ return ret;
+ }
+
+ private boolean isUsable(String name) {
+ boolean isUsable=true;
+ if (name.startsWith("TextWriting")) isUsable = false;
+ if (name.startsWith("MetaFile")) isUsable = false;
+ return isUsable;
+ }
+
+ /*
+ * This method returns a sorted list of property names
+ * contained in a given sequence of properties
+ */
+ protected String[] getProperties() {
+ ArrayList<String> names = new ArrayList<String>();
+
+ for (int i = 0; i < properties.length; i++) {
+ String pName = properties[i].Name;
+ if (isUsable(pName)) names.add(pName);
+ }
+
+ Collections.sort(names);
+
+ Object[] obj = names.toArray();
+ String[] ret = new String[obj.length];
+
+ for (int i = 0; i < obj.length; i++) {
+ ret[i] = (String) obj[i];
+ }
+
+ return ret;
+ }
+
+ /*
+ * Returns the values of a given array of properties in an Object array
+ */
+ protected Object[] getPropertyValues(String[] propertyNames) {
+ Object[] values = new Object[propertyNames.length];
+
+ for (int i = 0; i < propertyNames.length; i++) {
+ try {
+ values[i] = PS.getPropertyValue(propertyNames[i]);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ return values;
+ }
+
+ protected int getCountOfReadOnlyProperties() {
+ int ro = 0;
+
+ for (int i = 0; i < properties.length; i++) {
+ Property property = properties[i];
+ boolean isWritable = ((property.Attributes & PropertyAttribute.READONLY) == 0);
+
+ if (!isWritable) {
+ ro++;
+ }
+ }
+
+ return ro;
+ }
+
+ protected Object[] getNewValues(Object[] oldValues) {
+ Object[] newValues = new Object[oldValues.length];
+
+ for (int i = 0; i < oldValues.length; i++) {
+ if (oldValues[i] instanceof com.sun.star.uno.Any) {
+ newValues[i] = oldValues[i];
+ } else {
+ newValues[i] = ValueChanger.changePValue(oldValues[i]);
+ }
+ }
+
+ return newValues;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/bridge/_XBridge.java b/qadevOOo/tests/java/ifc/bridge/_XBridge.java
new file mode 100644
index 000000000..4e1833284
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/bridge/_XBridge.java
@@ -0,0 +1,141 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.bridge;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.bridge.XBridge;
+import com.sun.star.connection.XConnection;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Testing <code>com.sun.star.bridge.XBridge</code>
+* interface methods :
+* <ul>
+* <li><code> getInstance()</code></li>
+* <li><code> getName()</code></li>
+* <li><code> getDescription()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XInitialization.args'</code> (of type <code>Object[]</code>):
+* relation which contains arguments for Bridge initialization.
+* It used here to check description of the bridge. This array
+* must contain : [0] - the name of the bridge, [1] - the name of
+* protocol, [2] - <code>XConnection</code> reference to bridge
+* connection. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.bridge.XBridge
+*/
+public class _XBridge extends MultiMethodTest {
+
+ public XBridge oObj;
+
+ protected Object[] args;//for object relation 'XInitialization.args'
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ args = (Object[])tEnv.getObjRelation("XInitialization.args");
+
+ if (args == null) throw new StatusException(Status.failed
+ ("Relation 'XInitialization.args' not found")) ;
+ XInitialization xInit = UnoRuntime.queryInterface(
+ XInitialization.class, oObj);
+ try {
+ xInit.initialize(args);
+ }
+ catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't initialize the bridge", e);
+ }
+ }
+
+ /**
+ * Tries to retrieve <code>ServiceManager</code> service
+ * using the bridge. <p>
+ * Has <b>OK</b> status if non null object returned.
+ */
+ public void _getInstance() {
+ XInterface xInt = (XInterface)oObj.getInstance(
+ "com.sun.star.lang.ServiceManager");
+
+ tRes.tested("getInstance()", xInt != null);
+ }
+
+ /**
+ * Retrieves the name of the bridge from relation and compares
+ * it to name returned by the method. <p>
+ * Has <b>OK</b> status if names are equal.
+ */
+ public void _getName() {
+ String expectedName = (String)args[0]; // args[0] - bridge name
+
+ String name = oObj.getName();
+
+ if (!tRes.tested("getName()", name.equals(expectedName))) {
+ log.println("getName() returns wrong result : \"" + name + "\"");
+ log.println("expected = \"" + expectedName + "\"");
+ }
+ }
+
+ /**
+ * Retrieves the description of the bridge and compares it with
+ * expected description composed using relation
+ * <code> ([protocol] + ":" + [connection description]) </code>. <p>
+ * Has <b>OK</b> status if description returned by the method
+ * is equal to expected one.
+ */
+ public void _getDescription() {
+ String protocol = (String)args[1]; // args[1] - protocol
+ XConnection xConnection = (XConnection)args[2]; // args[2] - connection
+ // expected description is protocol + ":" + xConnection.getDescription()
+ String expectedDescription =
+ protocol + ":" + xConnection.getDescription();
+
+ String description = oObj.getDescription();
+
+ if (!tRes.tested("getDescription()",
+ description.equals(expectedDescription))) {
+ log.println("getDescription() returns wrong result : \""
+ + description + "\"");
+ log.println("expected = \"" + expectedDescription + "\"");
+ }
+ }
+
+ /**
+ * Disposes object environment.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/bridge/_XBridgeFactory.java b/qadevOOo/tests/java/ifc/bridge/_XBridgeFactory.java
new file mode 100644
index 000000000..fe0f28d69
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/bridge/_XBridgeFactory.java
@@ -0,0 +1,222 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.bridge;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.bridge.XBridge;
+import com.sun.star.bridge.XBridgeFactory;
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.connection.XConnector;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Tests <code>com.sun.star.bridge.XBridgeFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createBridge()</code></li>
+* <li><code> getBridge()</code></li>
+* <li><code> getExistingBridges()</code></li>
+* </ul> <p>
+* @see com.sun.star.bridge.XBridgeFactory
+*/
+public class _XBridgeFactory extends MultiMethodTest {
+
+ public XBridgeFactory oObj = null;
+
+ private String bridgeName = null ;
+
+ AcceptorThread acceptorThread = null;
+
+ /**
+ * Interrupts the acceptor after test is finished
+ */
+ @Override
+ protected void after() {
+ acceptorThread.acc.stopAccepting();
+ if (acceptorThread.isAlive()) {
+ acceptorThread.interrupt();
+ }
+ }
+ /**
+ * Calls <code>accept()</code> method in a separate thread.
+ * Then stores exception thrown by call if it occurred, or
+ * return value.
+ */
+ protected class AcceptorThread extends Thread {
+ /**
+ * the acceptor
+ */
+ private final XAcceptor acc;
+ /**
+ * If exception occurred during method call it is
+ * stored in this field.
+ */
+ public Exception ex = null ;
+ /**
+ * If method call returns some value it stores in this field.
+ */
+ public XConnection acceptedCall = null ;
+
+ /**
+ * Gets an object which can call <code>accept</code> method.
+ */
+ public AcceptorThread(XAcceptor acc) {
+ this.acc = acc ;
+ }
+
+ /**
+ * Call <code>accept()</code> method.
+ */
+ @Override
+ public void run() {
+ try {
+ acceptedCall = acc.accept(connectString);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ ex = e ;
+ }
+ }
+ }
+
+ /**
+ * Variable to make bridge names unique in different threads.
+ */
+ public static int uniqueSuffix = 0 ;
+ /**
+ * Object for synchronizing <code>uniqueSuffix</code> increment.
+ */
+ public static Object synchFlag = new Object() ;
+ /**
+ * Connection string
+ */
+ public String connectString;
+
+ /**
+ * Gets array of existing bridges. <p>
+ * Has <b>OK</b> status if method returns not null.
+ */
+ public void _getExistingBridges() {
+
+ XBridge[] bridges = oObj.getExistingBridges() ;
+
+ log.println("Existing bridges :") ;
+ for (int i = 0; i < bridges.length; i++)
+ log.println(" " + bridges[i].getDescription()) ;
+
+ if (bridges.length > 0) bridgeName = bridges[0].getName() ;
+
+ tRes.tested("getExistingBridges()", true) ;
+ }
+
+ /**
+ * First creates connection with StarOffice process, using environment
+ * property <code>'CONNECTION_STRING'</code>. Then create bridge with unique name
+ * using protocol specified in environment as <code>'PROTOCOL'</code>
+ * property. After that bridge is disposed. <p>
+ * Has <b>OK</b> status if value returned is not null
+ * and no exceptions were thrown.<p>
+ */
+ public void _createBridge() {
+ XBridge bridge = null;
+ XConnection conn = null ;
+ boolean result = false ;
+
+ // first creating a connection
+ try {
+ XInterface x = (XInterface)
+ tParam.getMSF().createInstance
+ ("com.sun.star.connection.Connector") ;
+
+ XConnector xCntr = UnoRuntime.queryInterface
+ (XConnector.class, x) ;
+
+ x = (XInterface) tParam.getMSF().createInstance
+ ("com.sun.star.connection.Acceptor") ;
+
+ XAcceptor xAccptr = UnoRuntime.queryInterface(
+ XAcceptor.class, x);
+ connectString = (String)tEnv.getObjRelation("CNNCTSTR");
+ acceptorThread = new AcceptorThread(xAccptr) ;
+ acceptorThread.start();
+
+ util.utils.shortWait();
+ conn = xCntr.connect(connectString) ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create connection", e);
+ }
+
+ try {
+ String protocol = (String) tParam.get("PROTOCOL") ;
+ if (protocol == null) protocol = "urp" ;
+
+ String brName ;
+ synchronized (synchFlag) {
+ brName = "MyBridge" + (uniqueSuffix++) ;
+ }
+
+ log.println("Creating bridge with name " + brName) ;
+
+ bridge = oObj.createBridge(brName,
+ protocol, conn, null) ;
+
+
+ result = bridge != null ;
+ } catch (com.sun.star.bridge.BridgeExistsException e) {
+ log.println("Exception while bridge creating :" + e) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while bridge creating :" + e) ;
+ }
+
+ tRes.tested("createBridge()", result) ;
+ }
+
+ /**
+ * Gets bridge by name and checks the bridge name returned. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code>getExestingBridges</code> : to have some bridge name
+ * to retrieve </li>
+ * </ul> <p>
+ * Has <b>OK</b> status if bridge successfully returned and its name
+ * equals to name passed as parameter.
+ */
+ public void _getBridge() {
+ executeMethod("getExistingBridges()") ;
+
+ if (bridgeName == null) {
+ log.println("No name for getting the bridge") ;
+ return ;
+ }
+
+ XBridge br = oObj.getBridge(bridgeName) ;
+
+ tRes.tested("getBridge()", br != null &&
+ bridgeName.equals(br.getName())) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/bridge/_XUnoUrlResolver.java b/qadevOOo/tests/java/ifc/bridge/_XUnoUrlResolver.java
new file mode 100644
index 000000000..16bbceb45
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/bridge/_XUnoUrlResolver.java
@@ -0,0 +1,193 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.bridge;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+import util.utils;
+
+import com.sun.star.bridge.XBridge;
+import com.sun.star.bridge.XBridgeFactory;
+import com.sun.star.bridge.XInstanceProvider;
+import com.sun.star.bridge.XUnoUrlResolver;
+import com.sun.star.connection.ConnectionSetupException;
+import com.sun.star.connection.NoConnectException;
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.bridge.XUnoUrlResolver</code>
+* interface methods :
+* <ul>
+* <li><code> resolve()</code></li>
+* </ul> <p>
+* @see com.sun.star.bridge.XUnoUrlResolver
+*/
+public class _XUnoUrlResolver extends MultiMethodTest {
+
+ // starting port and current port to choose
+ static int basePort = 0;
+ int curPort = 0;
+
+ public XUnoUrlResolver oObj;
+
+ /**
+ * Implementation for providing an instance
+ *
+ * @see com.sun.star.bridge.XInstanceProvider
+ */
+ static class MyInstanceProvider implements XInstanceProvider {
+ /**
+ * a MultiServiceFactory for creating instances
+ *
+ * @see com.sun.star.lang.MultiServiceFactory
+ */
+ private final XMultiServiceFactory xMSF;
+
+ /**
+ * Construct object with a MultiServiceFactory
+ *
+ * @see com.sun.star.lang.MultiServiceFactory
+ */
+ public MyInstanceProvider(XMultiServiceFactory xMSF) {
+ this.xMSF = xMSF;
+ }
+
+ /**
+ * get an instance by name
+ */
+ public Object getInstance(String aInstanceName)
+ throws com.sun.star.container.NoSuchElementException
+ {
+ try {
+ return xMSF.createInstance(aInstanceName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+ }
+
+ /**
+ * Thread for creating a bridge so the resolver can access it
+ */
+ class BridgeThread extends Thread {
+ private final XBridgeFactory xBrdgFctr;
+ private final XInstanceProvider xInstProv;
+ private final XAcceptor xAcc;
+ private final String connectString;
+
+ public XBridge xBridge = null;
+
+ public BridgeThread(XAcceptor xAcc, XBridgeFactory xBrdgFctr,
+ XInstanceProvider xInstProv, String connectString) {
+ this.xInstProv = xInstProv;
+ this.xBrdgFctr = xBrdgFctr;
+ this.xAcc = xAcc;
+ this.connectString = connectString;
+ }
+
+ @Override
+ public void run() {
+ try {
+ // create a connection
+ XConnection xCon = xAcc.accept(connectString);
+ // create a bridge over that connection
+ xBridge = xBrdgFctr.createBridge(
+ "MyBridge", "urp", xCon, xInstProv);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.bridge.BridgeExistsException e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ }
+ /**
+ * Test calls the method using environment property
+ * <code>'CONNECTION_STRING'</code>. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * object that support interface <code>XMultiServiceFactory</code> and
+ * no exceptions were thrown. <p>
+ * @see com.sun.star.lang.XMultiServiceFactory
+ */
+ public void _resolve() {
+ String connectStr = (String)tParam.get("CONNECTION_STRING");
+ int pIndex = connectStr.indexOf("port=") + 5;
+ connectStr = connectStr.substring(0, pIndex);
+ System.out.println("ConnectString: " + connectStr);
+
+ // select the port
+ basePort = ((Integer)tEnv.getObjRelation("PORT")).intValue();
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ connectStr += curPort;
+
+ try {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ // get the bridge factory
+ XBridgeFactory xBrdgFctr = UnoRuntime.queryInterface(XBridgeFactory.class,
+ tEnv.getObjRelation("BRIDGEFACTORY"));
+
+ // get the acceptor
+ XAcceptor xAcc = UnoRuntime.queryInterface(
+ XAcceptor.class, tEnv.getObjRelation("ACCEPTOR"));
+
+ // instance provider
+ XInstanceProvider xInstProv = new MyInstanceProvider(xMSF);
+ // thread for providing a bridge
+ BridgeThread brThread = new BridgeThread(xAcc, xBrdgFctr,
+ xInstProv, connectStr);
+ brThread.start();
+
+ util.utils.shortWait();
+ // get an instance from the remote
+ Object obj = oObj.resolve(
+ "uno:" + connectStr + ";urp;com.sun.star.lang.ServiceManager");
+ // got the instance?
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, obj);
+
+ if (brThread.isAlive())
+ brThread.interrupt();
+
+ tRes.tested("resolve()", oMSF != null);
+ } catch (NoConnectException e) {
+ log.println("Unexpected exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ } catch (ConnectionSetupException e) {
+ log.println("Unexpected exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ } catch (IllegalArgumentException e) {
+ log.println("Unexpected exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/chart/_BarDiagram.java b/qadevOOo/tests/java/ifc/chart/_BarDiagram.java
new file mode 100644
index 000000000..4d7637623
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_BarDiagram.java
@@ -0,0 +1,152 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.BarDiagram</code>
+* service properties:
+* <ul>
+* <li><code>'Vertical'</code></li>
+* <li><code>'Deep'</code></li>
+* <li><code>'StackedBarsConnected'</code></li>
+* <li><code>'NumberOfLines'</code></li>
+* </ul>
+* Properties testing is automated
+* by <code>lib.MultiPropertyTest</code> except property
+* <code>'NumberOfLines'</code>. <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'BAR'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* <ul> <p>
+* @see com.sun.star.chart.BarDiagram
+* @see com.sun.star.chart.XChartDocument
+* @see com.sun.star.chart.XDiagram
+* @see lib.MultiPropertyTest
+*/
+public class _BarDiagram extends MultiPropertyTest {
+
+ XChartDocument doc = null;
+ XDiagram oldDiagram = null;
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to BarDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram bar = (XDiagram) tEnv.getObjRelation("BAR");
+ if (bar == null) throw new StatusException(Status.failed
+ ("Relation 'BAR' not found"));
+
+ oldDiagram = doc.getDiagram();
+ doc.setDiagram(bar);
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ log.println("Set it to 3D");
+ try {
+ oObj.setPropertyValue("Dim3D", Boolean.TRUE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ @Override
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+
+ protected PropertyTester LineTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ int a = 0;
+ int b = 2;
+ if ( ((Integer) oldValue).intValue() == a)
+ return Integer.valueOf(b); else
+ return Integer.valueOf(a);
+ }
+ } ;
+
+ /**
+ * Tests property 'NumberOfLines'.
+ * This property tests when diagram in 2D-mode only
+ * except all other properties. This property is currently supported by
+ * two dimensional vertical bar charts only.
+ */
+ public void _NumberOfLines() {
+ log.println("Set it to 2D");
+ try {
+ oObj.setPropertyValue("Dim3D", Boolean.FALSE);
+ oObj.setPropertyValue("Vertical", Boolean.FALSE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+
+ log.println("Testing with custom Property tester") ;
+ testProperty("NumberOfLines", LineTester) ;
+ }
+} // EOF BarDiagram
+
diff --git a/qadevOOo/tests/java/ifc/chart/_Chart3DBarProperties.java b/qadevOOo/tests/java/ifc/chart/_Chart3DBarProperties.java
new file mode 100644
index 000000000..401b1d9bb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_Chart3DBarProperties.java
@@ -0,0 +1,123 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.Chart3DBarProperties</code>
+* service properties:
+* <ul>
+* <li><code> SolidType</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'BAR'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* <ul> <p>
+* @see com.sun.star.chart.Chart3DBarProperties
+* @see com.sun.star.chart.XChartDocument
+* @see com.sun.star.chart.XDiagram
+*/
+public class _Chart3DBarProperties extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to BarDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram bar = (XDiagram) tEnv.getObjRelation("BAR");
+ if (bar == null) throw new StatusException(Status.failed
+ ("Relation 'BAR' not found"));
+
+ doc.setDiagram(bar);
+ log.println("Change Diagram to 3D");
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ try {
+ oObj.setPropertyValue("Dim3D", Boolean.TRUE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't change Diagram to 3D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram to 3D", e);
+ }
+ }
+
+ /**
+ * Sets the diagram back to 2D as 2D rendering is much faster for the following tests.
+ */
+ @Override
+ protected void after() {
+ log.println("Setting Diagram back to 2D");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ log.println("Change Diagram to 3D");
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ try {
+ oObj.setPropertyValue("Dim3D", Boolean.FALSE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't change Diagram back to 2D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram back to 2D", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't change Diagram back to 2D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram back to 2D", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change Diagram back to 2D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram back to 2D", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't change Diagram back to 2D");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't change Diagram back to 2D", e);
+ }
+ }
+
+} // finish class _Chart3DBarProperties
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartAxis.java b/qadevOOo/tests/java/ifc/chart/_ChartAxis.java
new file mode 100644
index 000000000..2a295c208
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartAxis.java
@@ -0,0 +1,200 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.StatusException;
+import util.ValueChanger;
+
+/**
+* Testing <code>com.sun.star.chart.ChartAxis</code>
+* service properties:
+* <ul>
+* <li><code> ArrangeOrder</code></li>
+* <li><code> AutoMax</code></li>
+* <li><code> AutoMin</code></li>
+* <li><code> AutoOrigin</code></li>
+* <li><code> AutoStepHelp</code></li>
+* <li><code> AutoStepMain</code></li>
+* <li><code> DisplayLabels</code></li>
+* <li><code> GapWidth</code></li>
+* <li><code> HelpMarks</code></li>
+* <li><code> Logarithmic</code></li>
+* <li><code> Marks</code></li>
+* <li><code> Max</code></li>
+* <li><code> Min</code></li>
+* <li><code> NumberFormat</code></li>
+* <li><code> Origin</code></li>
+* <li><code> Overlap</code></li>
+* <li><code> StepHelp</code></li>
+* <li><code> StepMain</code></li>
+* <li><code> TextBreak</code></li>
+* <li><code> TextRotation</code></li>
+* <li><code> TextCanOverlap</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartAxis
+*/
+public class _ChartAxis extends MultiPropertyTest {
+
+ /**
+ * Tests property 'Max'.
+ * Property 'AutoOrigin' sets to true and property 'AutoMax'
+ * sets to false before test.
+ */
+ public void _Max() {
+ try {
+ //if AutoOrigin isn't true then this property works only when
+ //current Origin is less than new value of Max
+ oObj.setPropertyValue("AutoOrigin", Boolean.TRUE);
+ oObj.setPropertyValue("AutoMax",Boolean.FALSE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ }
+
+ testProperty("Max");
+ }
+
+ /**
+ * Tests property 'Min'.
+ * Property 'AutoOrigin' sets to true and property 'AutoMin'
+ * sets to false before test.
+ */
+ public void _Min() {
+ try {
+ //if AutoOrigin isn't true then this property works only when
+ //current Origin is greater than new value of Min
+ oObj.setPropertyValue("AutoOrigin", Boolean.TRUE);
+ oObj.setPropertyValue("AutoMin", Boolean.FALSE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ }
+
+ testProperty("Min");
+ }
+
+ /**
+ * Tests property 'Origin'.
+ * Property 'Logarithmic' sets to false before test.
+ */
+ public void _Origin() {
+ try {
+ oObj.setPropertyValue("Logarithmic",Boolean.FALSE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ }
+
+ testProperty("Origin");
+ }
+
+ protected PropertyTester StepMainTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ Double ValueToSet = (Double) ValueChanger.changePValue(oldValue);
+ double stm = ValueToSet.doubleValue();
+ stm = stm / 5;
+ return new Double(stm);
+ }
+ };
+
+ /**
+ * Tests property 'StepMain'.
+ * Property 'Logarithmic' and 'AutoStepMain' sets
+ * to false before test.
+ */
+ public void _StepMain() {
+ try {
+ oObj.setPropertyValue("AutoStepMain", Boolean.FALSE);
+ oObj.setPropertyValue("Logarithmic",Boolean.FALSE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't set property value", e);
+ }
+
+ testProperty("StepMain", StepMainTester);
+ }
+
+ public void _StepHelp() {
+ try {
+ oObj.setPropertyValue("AutoStepMain", Boolean.FALSE);
+ oObj.setPropertyValue("Logarithmic",Boolean.FALSE);
+ oObj.setPropertyValue("StepMain", 100.0);
+ oObj.setPropertyValue("StepHelpCount", 10);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Couldn't set property value", e);
+ }
+ testProperty("StepHelp");
+ }
+} // finish class _ChartAxis
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartAxisXSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartAxisXSupplier.java
new file mode 100644
index 000000000..4f9075ef9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartAxisXSupplier.java
@@ -0,0 +1,132 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.chart.ChartAxisXSupplier</code>
+* service properties :
+* <ul>
+* <li><code> HasXAxis</code></li>
+* <li><code> HasXAxisDescription</code></li>
+* <li><code> HasXAxisGrid</code></li>
+* <li><code> HasXAxisHelpGrid</code></li>
+* <li><code> HasXAxisTitle</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartAxisXSupplier
+*/
+public class _ChartAxisXSupplier extends MultiPropertyTest {
+ public void _HasXAxis() {
+ try {
+ log.println("Property HasXAxis");
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasXAxis")).booleanValue();
+ if (!res)
+ oObj.setPropertyValue("HasXAxis", Boolean.TRUE);
+ // test connected property HasXAxisDescription
+ if (!((Boolean)oObj.getPropertyValue(
+ "HasXAxisDescription")).booleanValue())
+ oObj.setPropertyValue("HasXAxisDescription", Boolean.TRUE);
+
+ oObj.setPropertyValue("HasXAxis", Boolean.FALSE);
+ boolean setVal = ((Boolean)oObj.getPropertyValue(
+ "HasXAxis")).booleanValue();
+ log.println("Start value: " + setVal);
+ // description should also be false now
+ setVal |= ((Boolean)oObj.getPropertyValue(
+ "HasXAxisDescription")).booleanValue();
+ log.println("Connected value axis description: " + setVal);
+
+ oObj.setPropertyValue("HasXAxis", Boolean.TRUE);
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasXAxis")).booleanValue();
+ log.println("Changed value: " + !setVal);
+
+ // description should be true again
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasXAxisDescription")).booleanValue();
+ log.println("Changed connected value axis description: " + !setVal);
+
+ tRes.tested("HasXAxis", !setVal);
+ // leave axis untouched
+ oObj.setPropertyValue("HasXAxis", Boolean.valueOf(res));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxis", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxis", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxis", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxis", false);
+ }
+ }
+
+ public void _HasXAxisDescription() {
+ requiredMethod("HasXAxis");
+ try {
+ log.println("Property HasXAxisDescription");
+ if (!((Boolean)oObj.getPropertyValue("HasXAxis")).booleanValue())
+ oObj.setPropertyValue("HasXAxis", Boolean.TRUE);
+
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasXAxisDescription")).booleanValue();
+ log.println("Start value: " + res);
+
+ oObj.setPropertyValue("HasXAxisDescription", Boolean.valueOf(!res));
+ boolean setValue = ((Boolean)oObj.getPropertyValue(
+ "HasXAxisDescription")).booleanValue();
+ log.println("Changed value: " + setValue);
+ tRes.tested("HasXAxisDescription", res != setValue);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxisDescription", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxisDescription", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxisDescription", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasXAxisDescription", false);
+ }
+ }
+} // EOF ChartAxisXSupplier
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartAxisYSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartAxisYSupplier.java
new file mode 100644
index 000000000..ca2d6aedf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartAxisYSupplier.java
@@ -0,0 +1,158 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.ChartAxisYSupplier</code>
+* service properties :
+* <ul>
+* <li><code> HasYAxis</code></li>
+* <li><code> HasYAxisDescription</code></li>
+* <li><code> HasYAxisGrid</code></li>
+* <li><code> HasYAxisHelpGrid</code></li>
+* <li><code> HasYAxisTitle</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartAxisYSupplier
+*/
+public class _ChartAxisYSupplier extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+
+ public void _HasYAxis() {
+ try {
+ log.println("Property HasYAxis");
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasYAxis")).booleanValue();
+ if (!res)
+ oObj.setPropertyValue("HasYAxis", Boolean.TRUE);
+ // test connected property HasYAxisDescription
+ if (!((Boolean)oObj.getPropertyValue(
+ "HasYAxisDescription")).booleanValue())
+ oObj.setPropertyValue("HasYAxisDescription", Boolean.TRUE);
+
+ oObj.setPropertyValue("HasYAxis", Boolean.FALSE);
+ boolean setVal = ((Boolean)oObj.getPropertyValue(
+ "HasYAxis")).booleanValue();
+ log.println("Start value: " + setVal);
+ // description should also be false now
+ setVal |= ((Boolean)oObj.getPropertyValue(
+ "HasYAxisDescription")).booleanValue();
+ log.println("Connected value axis description: " + setVal);
+
+ oObj.setPropertyValue("HasYAxis", Boolean.TRUE);
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasYAxis")).booleanValue();
+ log.println("Changed value: " + !setVal);
+
+ // description should be true again
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasYAxisDescription")).booleanValue();
+ log.println("Changed connected value axis description: "+!setVal);
+
+ tRes.tested("HasYAxis", !setVal);
+ // leave axis untouched
+ oObj.setPropertyValue("HasYAxis", Boolean.valueOf(res));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxis", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxis", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxis", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxis", false);
+ }
+ }
+
+ public void _HasYAxisDescription() {
+ requiredMethod("HasYAxis");
+ try {
+ log.println("Property HasYAxisDescription");
+ if (!((Boolean)oObj.getPropertyValue("HasYAxis")).booleanValue())
+ oObj.setPropertyValue("HasYAxis", Boolean.TRUE);
+
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasYAxisDescription")).booleanValue();
+ log.println("Start value: " + res);
+
+ oObj.setPropertyValue("HasYAxisDescription", Boolean.valueOf(!res));
+ boolean setValue = ((Boolean)oObj.getPropertyValue(
+ "HasYAxisDescription")).booleanValue();
+ log.println("Changed value: " + setValue);
+ tRes.tested("HasYAxisDescription", res != setValue);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxisDescription", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxisDescription", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxisDescription", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasYAxisDescription", false);
+ }
+ }
+
+} // EOF ChartAxisYSupplier
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartAxisZSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartAxisZSupplier.java
new file mode 100644
index 000000000..30ac5bc92
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartAxisZSupplier.java
@@ -0,0 +1,196 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.ChartAxisZSupplier</code>
+* service properties :
+* <ul>
+* <li><code> HasZAxis</code></li>
+* <li><code> HasZAxisDescription</code></li>
+* <li><code> HasZAxisGrid</code></li>
+* <li><code> HasZAxisHelpGrid</code></li>
+* <li><code> HasZAxisTitle</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'BAR'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document</li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartAxisZSupplier
+*/
+public class _ChartAxisZSupplier extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to BarDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram bar = (XDiagram) tEnv.getObjRelation("BAR");
+ if (bar == null) throw new StatusException(Status.failed
+ ("Relation 'BAR' not found"));
+
+ doc.setDiagram(bar);
+ log.println("Set it to 3D");
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ try {
+ oObj.setPropertyValue("Dim3D", Boolean.TRUE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+
+ public void _HasZAxis() {
+ try {
+ log.println("Property HasZAxis");
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasZAxis")).booleanValue();
+ if (!res)
+ oObj.setPropertyValue("HasZAxis", Boolean.TRUE);
+ // test connected property HasZAxisDescription
+ if (!((Boolean)oObj.getPropertyValue(
+ "HasZAxisDescription")).booleanValue())
+ oObj.setPropertyValue("HasZAxisDescription", Boolean.TRUE);
+
+ oObj.setPropertyValue("HasZAxis", Boolean.FALSE);
+ boolean setVal = ((Boolean)oObj.getPropertyValue(
+ "HasZAxis")).booleanValue();
+ log.println("Start value: " + setVal);
+ // description should also be false now
+ setVal |= ((Boolean)oObj.getPropertyValue(
+ "HasZAxisDescription")).booleanValue();
+ log.println("Connected value axis description: " + setVal);
+
+ oObj.setPropertyValue("HasZAxis", Boolean.TRUE);
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasZAxis")).booleanValue();
+ log.println("Changed value: " + !setVal);
+
+ // description should be true again
+ setVal |= !((Boolean)oObj.getPropertyValue(
+ "HasZAxisDescription")).booleanValue();
+ log.println("Changed connected value axis description: " + !setVal);
+
+ tRes.tested("HasZAxis", !setVal);
+ // leave axis untouched
+ oObj.setPropertyValue("HasZAxis", Boolean.valueOf(res));
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxis", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxis", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxis", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxis", false);
+ }
+ }
+
+ public void _HasZAxisDescription() {
+ requiredMethod("HasZAxis");
+ try {
+ log.println("Property HasZAxisDescription");
+ if (!((Boolean)oObj.getPropertyValue("HasZAxis")).booleanValue())
+ oObj.setPropertyValue("HasZAxis", Boolean.TRUE);
+
+ boolean res = ((Boolean)oObj.getPropertyValue(
+ "HasZAxisDescription")).booleanValue();
+ log.println("Start value: " + res);
+
+ oObj.setPropertyValue("HasZAxisDescription", Boolean.valueOf(!res));
+ boolean setValue = ((Boolean)oObj.getPropertyValue(
+ "HasZAxisDescription")).booleanValue();
+ log.println("Changed value: " + setValue);
+ tRes.tested("HasZAxisDescription", res != setValue);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxisDescription", false);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxisDescription", false);
+ }
+ catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxisDescription", false);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println(e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("HasZAxisDescription", false);
+ }
+ }
+
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // EOF ChartAxisZSupplier
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java b/qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java
new file mode 100644
index 000000000..e7872378c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartDataPointProperties.java
@@ -0,0 +1,120 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+import util.utils;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+
+/**
+* Testing <code>com.sun.star.chart.ChartDataPointProperties</code>
+* service properties :
+* <ul>
+* <li><code> DataCaption</code></li>
+* <li><code> SymbolType</code></li>
+* <li><code> SymbolBitmapURL</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>space-metal.jpg</code> :
+* for test of property 'SymbolBitmapURL' </li>
+* <ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'LINE'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartDataPointProperties
+*/
+public class _ChartDataPointProperties extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram Line = (XDiagram) tEnv.getObjRelation("LINE");
+ if (Line == null) throw new StatusException(Status.failed
+ ("Relation 'LINE' not found"));
+
+ doc.setDiagram(Line);
+ }
+
+ /**
+ * Tests property 'SymbolBitmapURL' using file <code>polibal.gif</code>.
+ */
+ public void _SymbolBitmapURL() {
+ try {
+ oObj.setPropertyValue(
+ "SymbolType",
+ Integer.valueOf(com.sun.star.chart.ChartSymbolType.BITMAPURL) );
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+
+ try {
+ oObj.setPropertyValue(
+ "SymbolBitmapURL",
+ utils.getFullTestURL("space-metal.jpg") );
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartDataRowProperties.java b/qadevOOo/tests/java/ifc/chart/_ChartDataRowProperties.java
new file mode 100644
index 000000000..5cd275f76
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartDataRowProperties.java
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.chart.ChartDataRowProperties</code>
+* service properties :
+* <ul>
+* <li><code> Axis</code></li>
+* <li><code> DataErrorProperties</code></li>
+* <li><code> DataMeanValueProperties</code></li>
+* <li><code> DataRegressionProperties</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartDataRowProperties
+*/
+public class _ChartDataRowProperties extends MultiPropertyTest {
+
+ public void _Axis() {
+ try {
+ Integer axis = (Integer) oObj.getPropertyValue("Axis");
+ int newValue;
+ if (axis.intValue()==2) {
+ newValue = 4;
+ } else {
+ newValue = 2;
+ }
+ oObj.setPropertyValue("Axis", Integer.valueOf(newValue));
+ axis = (Integer) oObj.getPropertyValue("Axis");
+ tRes.tested("Axis",axis.intValue()==newValue);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ tRes.tested("Axis",false);
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartDocument.java b/qadevOOo/tests/java/ifc/chart/_ChartDocument.java
new file mode 100644
index 000000000..bf9215f01
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartDocument.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.chart.ChartDocument</code>
+* service properties :
+* <ul>
+* <li><code> HasLegend</code></li>
+* <li><code> HasMainTitle</code></li>
+* <li><code> HasSubTitle</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartDocument
+*/
+public class _ChartDocument extends MultiPropertyTest {
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartLegend.java b/qadevOOo/tests/java/ifc/chart/_ChartLegend.java
new file mode 100644
index 000000000..ccfd408f4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartLegend.java
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.chart.ChartLegend</code>
+* service properties :
+* <ul>
+* <li><code> Alignment</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartLegend
+*/
+public class _ChartLegend extends MultiPropertyTest {
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartStatistics.java b/qadevOOo/tests/java/ifc/chart/_ChartStatistics.java
new file mode 100644
index 000000000..3abbcc03c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartStatistics.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.ChartStatistics</code>
+* service properties :
+* <ul>
+* <li><code> RegressionCurves</code></li>
+* <li><code> ConstantErrorLow</code></li>
+* <li><code> ConstantErrorHigh</code></li>
+* <li><code> MeanValue</code></li>
+* <li><code> ErrorCategory</code></li>
+* <li><code> PercentageError</code></li>
+* <li><code> ErrorMargin</code></li>
+* <li><code> ErrorIndicator</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartStatistics
+*/
+public class _ChartStatistics extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartTableAddressSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartTableAddressSupplier.java
new file mode 100644
index 000000000..f3cf71a25
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartTableAddressSupplier.java
@@ -0,0 +1,59 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.chart.ChartSeriesAddress;
+
+/**
+* Testing <code>com.sun.star.chart.ChartTableAddressSupplier</code>
+* service properties :
+* <ul>
+* <li><code> CategoriesRangeAddress</code></li>
+* <li><code> SeriesAddresses</code></li>
+* <li><code> MainTitleAddress</code></li>
+* <li><code> SubTitleAddress</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartTableAddressSupplier
+*/
+public class _ChartTableAddressSupplier extends MultiPropertyTest {
+
+ /**
+ * Tests property 'SeriesAddresses'.
+ */
+ public void _SeriesAddresses() {
+ testProperty("SeriesAddresses", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ ChartSeriesAddress[] addr = (ChartSeriesAddress[]) oldValue ;
+ ChartSeriesAddress[] newAddr = null ;
+ if (addr.length > 1) {
+ newAddr = new ChartSeriesAddress[addr.length - 1] ;
+ System.arraycopy(addr, 0, newAddr, 0, addr.length - 1) ;
+ } else {
+ newAddr = addr ;
+ }
+
+ return newAddr ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartTitle.java b/qadevOOo/tests/java/ifc/chart/_ChartTitle.java
new file mode 100644
index 000000000..a8bf068cf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartTitle.java
@@ -0,0 +1,49 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import util.ValueChanger;
+
+/**
+* Testing <code>com.sun.star.chart.ChartTitle</code>
+* service properties :
+* <ul>
+* <li><code> TextRotation</code></li>
+* <li><code> String</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartTitle
+*/
+public class _ChartTitle extends MultiPropertyTest {
+
+ /**
+ * Tests property 'TextRotation'.
+ */
+ public void _TextRotation() {
+ testProperty("TextRotation", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ Object ValueToSet = ValueChanger.changePValue(oldValue);
+ int ro = ((Integer) ValueToSet).intValue() * 100;
+ return Integer.valueOf( ro );
+ }
+ } );
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisXSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisXSupplier.java
new file mode 100644
index 000000000..fcd260994
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisXSupplier.java
@@ -0,0 +1,100 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.ChartTwoAxisXSupplier</code>
+* service properties :
+* <ul>
+* <li><code> HasSecondaryXAxis</code></li>
+* <li><code> HasSecondaryXAxisDescription</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'BAR'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartTwoAxisXSupplier
+*/
+public class _ChartTwoAxisXSupplier extends MultiPropertyTest {
+
+ XChartDocument doc = null;
+ XDiagram oldDiagram = null;
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to BarDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram bar = (XDiagram) tEnv.getObjRelation("BAR");
+ if (bar == null) throw new StatusException(Status.failed
+ ("Relation 'BAR' not found"));
+
+ oldDiagram = doc.getDiagram();
+
+ doc.setDiagram(bar);
+ log.println("Set it to 3D");
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ try {
+ oObj.setPropertyValue("Dim3D", Boolean.TRUE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ @Override
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+} // EOF ChartTwoAxisXSupplier
+
diff --git a/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisYSupplier.java b/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisYSupplier.java
new file mode 100644
index 000000000..a6b690d71
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_ChartTwoAxisYSupplier.java
@@ -0,0 +1,100 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.ChartTwoAxisYSupplier</code>
+* service properties :
+* <ul>
+* <li><code> HasSecondaryYAxis</code></li>
+* <li><code> HasSecondaryYAxisDescription</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'BAR'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartTwoAxisYSupplier
+*/
+public class _ChartTwoAxisYSupplier extends MultiPropertyTest {
+
+ XChartDocument doc = null;
+ XDiagram oldDiagram = null;
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to BarDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram bar = (XDiagram) tEnv.getObjRelation("BAR");
+ if (bar == null) throw new StatusException(Status.failed
+ ("Relation 'BAR' not found"));
+
+ oldDiagram = doc.getDiagram();
+
+ doc.setDiagram(bar);
+ log.println("Set it to 3D");
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ try {
+ oObj.setPropertyValue("Dim3D", Boolean.TRUE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ @Override
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+} // EOF ChartTwoAxisYSupplier
+
diff --git a/qadevOOo/tests/java/ifc/chart/_Diagram.java b/qadevOOo/tests/java/ifc/chart/_Diagram.java
new file mode 100644
index 000000000..ea4fe01ca
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_Diagram.java
@@ -0,0 +1,59 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.Diagram</code>
+* service properties :
+* <ul>
+* <li><code> DataCaption</code></li>
+* <li><code> DataRowSource</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.Diagram
+*/
+public class _Diagram extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_Dim3DDiagram.java b/qadevOOo/tests/java/ifc/chart/_Dim3DDiagram.java
new file mode 100644
index 000000000..512bb0016
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_Dim3DDiagram.java
@@ -0,0 +1,58 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.Dim3DDiagram</code>
+* service properties :
+* <ul>
+* <li><code> Dim3D</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.Dim3DDiagram
+*/
+public class _Dim3DDiagram extends MultiPropertyTest {
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ XChartDocument doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+} // EOF Dim3DDiagram
+
diff --git a/qadevOOo/tests/java/ifc/chart/_LineDiagram.java b/qadevOOo/tests/java/ifc/chart/_LineDiagram.java
new file mode 100644
index 000000000..ef48ee877
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_LineDiagram.java
@@ -0,0 +1,199 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.LineDiagram</code>
+* service properties :
+* <ul>
+* <li><code> SymbolType</code></li>
+* <li><code> SymbolSize</code></li>
+* <li><code> SymbolBitmapURL</code></li>
+* <li><code> Lines</code></li>
+* <li><code> SplineType</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>space-metal.jpg</code> :
+* for test of property 'SymbolBitmapURL' </li>
+* <li> <code>crazy-blue.jpg</code> :
+* for test of property 'SymbolBitmapURL' </li>
+* <ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'LINE'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.LineDiagram
+*/
+public class _LineDiagram extends MultiPropertyTest {
+
+ XChartDocument doc = null;
+ XDiagram oldDiagram = null;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram Line = (XDiagram) tEnv.getObjRelation("LINE");
+ if (Line == null) throw new StatusException(Status.failed
+ ("Relation 'LINE' not found"));
+
+ oldDiagram = doc.getDiagram();
+ doc.setDiagram(Line);
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ @Override
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+
+ protected PropertyTester SymbolTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+
+ int a = com.sun.star.chart.ChartSymbolType.AUTO;
+ int b = com.sun.star.chart.ChartSymbolType.NONE;
+ if ( ((Integer) oldValue).intValue() == a)
+ return Integer.valueOf(b); else
+ return Integer.valueOf(a);
+ }
+ } ;
+
+ protected PropertyTester SplineTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+
+ int a = 0;
+ int b = 2;
+ if ( ((Integer) oldValue).intValue() == a)
+ return Integer.valueOf(b); else
+ return Integer.valueOf(a);
+ }
+ } ;
+
+ /**
+ * Tests property 'SymbolType'.
+ */
+ public void _SymbolType() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("SymbolType", SymbolTester) ;
+ try {
+ oObj.setPropertyValue("SymbolType",Integer.valueOf(-2));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+
+ /**
+ * Tests property 'SplineType'.
+ */
+ public void _SplineType() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("SplineType", SplineTester) ;
+ }
+
+ /**
+ * Tests property 'SymbolBitmapURL'.
+ */
+ public void _SymbolBitmapURL() {
+ log.println("Testing with custom Property tester") ;
+ try {
+ oObj.setPropertyValue("SymbolType",
+ Integer.valueOf(com.sun.star.chart.ChartSymbolType.BITMAPURL));
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+
+ try {
+ oObj.setPropertyValue(
+ "SymbolBitmapURL",
+ util.utils.getFullTestURL("space-metal.jpg") );
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while set property value");
+ e.printStackTrace(log);
+ throw new StatusException("Exception while set property value", e);
+ }
+ }
+} // EOF LineDiagram
+
diff --git a/qadevOOo/tests/java/ifc/chart/_StackableDiagram.java b/qadevOOo/tests/java/ifc/chart/_StackableDiagram.java
new file mode 100644
index 000000000..9fbb2bed2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_StackableDiagram.java
@@ -0,0 +1,81 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.StackableDiagram</code>
+* service properties :
+* <ul>
+* <li><code> Percent</code></li>
+* <li><code> Stacked</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'STACK'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.StackableDiagram
+*/
+public class _StackableDiagram extends MultiPropertyTest {
+
+ XChartDocument doc = null;
+ XDiagram oldDiagram = null;
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to LineDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram stack = (XDiagram) tEnv.getObjRelation("STACK");
+ if (stack == null) throw new StatusException(Status.failed
+ ("Relation 'STACK' not found"));
+
+ oldDiagram = doc.getDiagram();
+
+ doc.setDiagram(stack);
+ oObj = UnoRuntime.queryInterface( XPropertySet.class, doc.getDiagram() );
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ @Override
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+
+} // EOF StackableDiagram
+
diff --git a/qadevOOo/tests/java/ifc/chart/_StockDiagram.java b/qadevOOo/tests/java/ifc/chart/_StockDiagram.java
new file mode 100644
index 000000000..32c020024
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_StockDiagram.java
@@ -0,0 +1,79 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.StockDiagram</code>
+* service properties :
+* <ul>
+* <li><code> Volume</code></li>
+* <li><code> UpDown</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CHARTDOC'</code> (of type <code>XChartDocument</code>):
+* to have reference to chart document </li>
+* <li> <code>'STOCK'</code> (of type <code>XDiagram</code>):
+* relation that use as parameter for method setDiagram of chart document </li>
+* </ul> <p>
+* @see com.sun.star.chart.StockDiagram
+*/
+public class _StockDiagram extends MultiPropertyTest {
+
+ XDiagram oldDiagram = null;
+ XChartDocument doc = null;
+
+ /**
+ * Retrieves object relations and prepares a chart document.
+ * @throws StatusException if one of relations not found.
+ */
+ @Override
+ protected void before() {
+ log.println("Setting Diagram type to StockDiagram");
+ doc = (XChartDocument) tEnv.getObjRelation("CHARTDOC");
+ if (doc == null) throw new StatusException(Status.failed
+ ("Relation 'CHARTDOC' not found"));
+
+ XDiagram stock = (XDiagram) tEnv.getObjRelation("STOCK");
+ if (stock == null) throw new StatusException(Status.failed
+ ("Relation 'STOCK' not found"));
+
+ oldDiagram = doc.getDiagram();
+ doc.setDiagram(stock);
+ oObj = UnoRuntime.queryInterface(XPropertySet.class, doc.getDiagram());
+ }
+
+ /**
+ * Sets the old diagram for a chart document.
+ */
+ @Override
+ protected void after() {
+ doc.setDiagram(oldDiagram);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/chart/_X3DDisplay.java b/qadevOOo/tests/java/ifc/chart/_X3DDisplay.java
new file mode 100644
index 000000000..a9db80003
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_X3DDisplay.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.X3DDisplay;
+
+/**
+* Testing <code>com.sun.star.chart.X3DDisplay</code>
+* interface methods :
+* <ul>
+* <li><code> getWall()</code></li>
+* <li><code> getFloor()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.X3DDisplay
+*/
+public class _X3DDisplay extends MultiMethodTest {
+
+ public X3DDisplay oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getWall() {
+ result = true;
+
+ XPropertySet Wall = oObj.getWall();
+ result = (Wall != null);
+
+ tRes.tested("getWall()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getFloor() {
+ result = true;
+
+ XPropertySet Floor = oObj.getWall();
+ result = (Floor != null);
+
+ tRes.tested("getFloor()", result);
+ }
+
+} // EOF X3DDisplay
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XAxisXSupplier.java b/qadevOOo/tests/java/ifc/chart/_XAxisXSupplier.java
new file mode 100644
index 000000000..5063b9a4b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XAxisXSupplier.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XAxisXSupplier;
+import com.sun.star.drawing.XShape;
+
+/**
+* Testing <code>com.sun.star.chart.XAxisXSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getXMainGrid()</code></li>
+* <li><code> getXAxisTitle()</code></li>
+* <li><code> getXAxis()</code></li>
+* <li><code> getXHelpGrid()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XAxisXSupplier
+*/
+public class _XAxisXSupplier extends MultiMethodTest {
+
+ public XAxisXSupplier oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getXMainGrid() {
+ result = true;
+
+ XPropertySet MGrid = oObj.getXMainGrid();
+ result = (MGrid != null);
+
+ tRes.tested("getXMainGrid()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getXAxisTitle() {
+ result = true;
+
+ XShape title = oObj.getXAxisTitle();
+ result = (title != null);
+
+ tRes.tested("getXAxisTitle()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getXAxis() {
+ result = true;
+
+ XPropertySet axis = oObj.getXAxis();
+ result = (axis != null);
+
+ tRes.tested("getXAxis()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value that isn't null. <p>
+ */
+ public void _getXHelpGrid() {
+ result = true;
+
+ XPropertySet HGrid = oObj.getXHelpGrid();
+ result = (HGrid != null);
+
+ tRes.tested("getXHelpGrid()", result);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XAxisYSupplier.java b/qadevOOo/tests/java/ifc/chart/_XAxisYSupplier.java
new file mode 100644
index 000000000..a5f3fc84f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XAxisYSupplier.java
@@ -0,0 +1,100 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XAxisYSupplier;
+import com.sun.star.drawing.XShape;
+
+/**
+* Testing <code>com.sun.star.chart.XAxisYSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getYMainGrid()</code></li>
+* <li><code> getYAxisTitle()</code></li>
+* <li><code> getYAxis()</code></li>
+* <li><code> getYHelpGrid()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XAxisYSupplier
+*/
+public class _XAxisYSupplier extends MultiMethodTest {
+
+ public XAxisYSupplier oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getYMainGrid() {
+ result = true;
+
+ XPropertySet MGrid = oObj.getYMainGrid();
+ result = (MGrid != null);
+
+ tRes.tested("getYMainGrid()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getYAxisTitle() {
+ result = true;
+
+ XShape title = oObj.getYAxisTitle();
+ result = (title != null);
+
+ tRes.tested("getYAxisTitle()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getYAxis() {
+ result = true;
+
+ XPropertySet axis = oObj.getYAxis();
+ result = (axis != null);
+
+ tRes.tested("getYAxis()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getYHelpGrid() {
+ result = true;
+
+ XPropertySet HGrid = oObj.getYHelpGrid();
+ result = (HGrid != null);
+
+ tRes.tested("getYHelpGrid()", result);
+ }
+} // EOF XAxisYSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XAxisZSupplier.java b/qadevOOo/tests/java/ifc/chart/_XAxisZSupplier.java
new file mode 100644
index 000000000..00b89656c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XAxisZSupplier.java
@@ -0,0 +1,100 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XAxisZSupplier;
+import com.sun.star.drawing.XShape;
+
+/**
+* Testing <code>com.sun.star.chart.XAxisZSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getZMainGrid()</code></li>
+* <li><code> getZAxisTitle()</code></li>
+* <li><code> getZAxis()</code></li>
+* <li><code> getZHelpGrid()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XAxisZSupplier
+*/
+public class _XAxisZSupplier extends MultiMethodTest {
+ public XAxisZSupplier oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getZMainGrid() {
+ result = true;
+
+ XPropertySet MGrid = oObj.getZMainGrid();
+ result = (MGrid != null);
+
+ tRes.tested("getZMainGrid()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getZAxisTitle() {
+ result = true;
+
+ XShape title = oObj.getZAxisTitle();
+ result = (title != null);
+
+ tRes.tested("getZAxisTitle()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getZAxis() {
+ result = true;
+
+ XPropertySet axis = oObj.getZAxis();
+ result = (axis != null);
+
+ tRes.tested("getZAxis()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the method returns
+ * value that isn't null. <p>
+ */
+ public void _getZHelpGrid() {
+ result = true;
+
+ XPropertySet HGrid = oObj.getZHelpGrid();
+ result = (HGrid != null);
+
+ tRes.tested("getZHelpGrid()", result);
+ }
+
+} // EOF XAxisZSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XChartData.java b/qadevOOo/tests/java/ifc/chart/_XChartData.java
new file mode 100644
index 000000000..c0a4bc3c7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XChartData.java
@@ -0,0 +1,176 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.chart;
+
+import com.sun.star.chart.ChartDataChangeEvent;
+import com.sun.star.chart.XChartData;
+import com.sun.star.chart.XChartDataArray;
+import com.sun.star.chart.XChartDataChangeEventListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+
+
+/**
+* Testing <code>com.sun.star.chart.XChartData</code>
+* interface methods :
+* <ul>
+* <li><code> addChartDataChangeEventListener()</code></li>
+* <li><code> removeChartDataChangeEventListener()</code></li>
+* <li><code> getNotANumber()</code></li>
+* <li><code> isNotANumber()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XChartData
+*/
+public class _XChartData extends MultiMethodTest {
+ public XChartData oObj = null;
+ boolean result = true;
+ double nan = 0;
+ XChartDataArray dataArray = null;
+ boolean[] dataChanged = new boolean[2];
+ XChartDataChangeEventListener listener1 = new MyEventListener();
+ XChartDataChangeEventListener listener2 = new MyEventListener2();
+
+ /**
+ * Test calls the method adding two listeners and then changes data. <p>
+ * Has <b> OK </b> status if after data were changed
+ * listeners were called. <p>
+ */
+ public void _addChartDataChangeEventListener() {
+ dataChanged[0] = false;
+ dataChanged[1] = false;
+
+ oObj.addChartDataChangeEventListener(listener1);
+ oObj.addChartDataChangeEventListener(listener2);
+
+ dataArray = UnoRuntime.queryInterface(
+ XChartDataArray.class, oObj);
+
+ double[][] data = dataArray.getData();
+ data[0][0] += 0.1;
+ dataArray.setData(data);
+
+ if (!dataChanged[0]) {
+ log.println("ChartDataChangeEventListener1 " +
+ "isn't called after changing data");
+ }
+
+ if (!dataChanged[1]) {
+ log.println("ChartDataChangeEventListener2 " +
+ "isn't called after changing data");
+ }
+
+ tRes.tested("addChartDataChangeEventListener()",
+ dataChanged[0] && dataChanged[1]);
+ }
+
+ /**
+ * Test calls the method for one listener, changes data,
+ * calls the method for other listener and again changes data. <p>
+ * Has <b> OK </b> status if listener is not called after removing. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>addChartDataChangeEventListener</code> : to have listeners
+ * that must be removed by the method </li>
+ * </ul>
+ */
+ public void _removeChartDataChangeEventListener() {
+ requiredMethod("addChartDataChangeEventListener()");
+
+ dataChanged[0] = false;
+ dataChanged[1] = false;
+
+ oObj.removeChartDataChangeEventListener(listener1);
+ dataArray = UnoRuntime.queryInterface(
+ XChartDataArray.class, oObj);
+
+ double[][] data = dataArray.getData();
+ data[0][0] += 0.1;
+ dataArray.setData(data);
+ oObj.removeChartDataChangeEventListener(listener2);
+
+ if (dataChanged[0]) {
+ log.println("ChartDataChangeEventListener1 is " +
+ "called after removing listener");
+ }
+
+ tRes.tested("removeChartDataChangeEventListener()",
+ ((!dataChanged[0]) && (dataChanged[1])));
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if the return value isn't equal to 1. <p>
+ */
+ public void _getNotANumber() {
+ result = true;
+
+ nan = oObj.getNotANumber();
+ log.println("Current NotANumber is " + nan);
+ result = nan != 1;
+
+ tRes.tested("getNotANumber()", result);
+ }
+
+ /**
+ * Test calls the method with NAN value and with non NAN value. <p>
+ * Has <b> OK </b> status if the method returns true for NAN value and
+ * returns false for other value<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>getNotANumber</code> : to have the current NAN value </li>
+ * </ul>
+ */
+ public void _isNotANumber() {
+ requiredMethod("getNotANumber()");
+ result = true;
+
+ result = (oObj.isNotANumber(nan) && !oObj.isNotANumber(nan + 1));
+
+ tRes.tested("isNotANumber()", result);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+ class MyEventListener implements XChartDataChangeEventListener {
+ public void disposing(EventObject oEvent) {
+ System.out.println("Listener1 disposed");
+ }
+
+ public void chartDataChanged(ChartDataChangeEvent ev) {
+ dataChanged[0] = true;
+ }
+ }
+
+ class MyEventListener2 implements XChartDataChangeEventListener {
+ public void disposing(EventObject oEvent) {
+ System.out.println("Listener2 disposed");
+ }
+
+ public void chartDataChanged(ChartDataChangeEvent ev) {
+ dataChanged[1] = true;
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/chart/_XChartDataArray.java b/qadevOOo/tests/java/ifc/chart/_XChartDataArray.java
new file mode 100644
index 000000000..5021657ea
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XChartDataArray.java
@@ -0,0 +1,240 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import com.sun.star.beans.XPropertySet;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.chart.XChartDataArray;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.chart.XChartDataArray</code>
+* interface methods :
+* <ul>
+* <li><code> getColumnDescriptions()</code></li>
+* <li><code> getData()</code></li>
+* <li><code> getRowDescriptions()</code></li>
+* <li><code> setColumnDescriptions()</code></li>
+* <li><code> setData()</code></li>
+* <li><code> setRowDescriptions()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XChartDataArray
+*/
+public class _XChartDataArray extends MultiMethodTest {
+
+ public XChartDataArray oObj = null;
+ boolean bResult = true;
+ String[] colDscs = new String[3];
+ String[] rowDscs = new String[3];
+ double[][] data = null;
+ private boolean mbExcludeSetRowAndSetColumn = false;
+ private String msExcludeMessage;
+
+ @Override
+ protected void before() {
+ Object o = tEnv.getObjRelation("CRDESC");
+ if (o != null) {
+ mbExcludeSetRowAndSetColumn = true;
+ msExcludeMessage = (String)o;
+ }
+ if (mbExcludeSetRowAndSetColumn) {
+ return;
+ }
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ if(xProp != null) {
+ try {
+ boolean columnAsLabel = ((Boolean)xProp.getPropertyValue("ChartColumnAsLabel")).booleanValue();
+ boolean rowAsLabel = ((Boolean)xProp.getPropertyValue("ChartRowAsLabel")).booleanValue();
+ if (!columnAsLabel) {
+ xProp.setPropertyValue("ChartColumnAsLabel", Boolean.TRUE);
+ }
+ if (!rowAsLabel) {
+ xProp.setPropertyValue("ChartRowAsLabel", Boolean.TRUE);
+ }
+ }
+ catch(Exception e) {
+ // ignore
+ }
+ }
+ }
+
+ /**
+ * Test calls the method and restores new values. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setColumnDescriptions() {
+ bResult = true;
+
+ colDscs = oObj.getColumnDescriptions();
+ if (mbExcludeSetRowAndSetColumn) {
+ log.println(msExcludeMessage);
+ throw new StatusException(Status.skipped(true));
+ }
+ for (int i = 0; i < colDscs.length; i++) {
+ colDscs[i] = "Col" + i;
+ }
+ oObj.setColumnDescriptions(colDscs);
+
+ tRes.tested("setColumnDescriptions()", bResult);
+ }
+
+ /**
+ * Test calls the method and restores new values. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setColumnDescriptions </code></li>
+ * </ul>
+ */
+ public void _setRowDescriptions() {
+ bResult = true;
+
+ rowDscs = oObj.getRowDescriptions();
+ if (mbExcludeSetRowAndSetColumn) {
+ log.println(msExcludeMessage);
+ throw new StatusException(Status.skipped(true));
+ }
+ for (int i = 0; i < rowDscs.length; i++) {
+ rowDscs[i] = "Row" + i;
+ }
+ oObj.setRowDescriptions(rowDscs);
+
+ tRes.tested("setRowDescriptions()", bResult);
+ }
+
+ /**
+ * Test calls the method and restores new values. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setRowDescriptions </code></li>
+ * </ul>
+ */
+ public void _setData() {
+ rowDscs = oObj.getRowDescriptions();
+ colDscs = oObj.getColumnDescriptions();
+
+ bResult = true;
+ double[][] _data = oObj.getData();
+ data = _data;
+ if(rowDscs.length != 0 && rowDscs.length != data.length)
+ bResult = false;
+ if(colDscs.length != 0 && colDscs.length != data[0].length)
+ bResult = false;
+ for (int i = 0; i < data.length; i++) {
+ for (int j = 0; j < data[i].length; j++)
+ data[i][j] = i * (j + 1);
+ }
+ oObj.setData(data);
+
+ tRes.tested("setData()", bResult);
+ }
+
+ /**
+ * Test calls the method and compare returned values with values restored
+ * after method <code>setColumnDescriptions</code>. <p>
+ * Has <b> OK </b> status if the returned values equils to restored values. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setData </code> : to set and restore new values </li>
+ * </ul>
+ */
+ public void _getColumnDescriptions() {
+ requiredMethod("setColumnDescriptions()");
+
+ String[] dscs = oObj.getColumnDescriptions();
+ bResult = dscs.length == colDscs.length;
+ if (bResult) {
+ for (int i = 0; i < dscs.length; i++) {
+ log.println("Col " + i + ": got " + dscs[i] + " expected: " + colDscs[i]);
+ if (!dscs[i].equals(colDscs[i])) {
+ bResult = false;
+ }
+ }
+ }
+
+ tRes.tested("getColumnDescriptions()", bResult);
+ }
+
+ /**
+ * Test calls the method and compare returned values with values restored
+ * after method <code>setRowDescriptions</code>. <p>
+ * Has <b> OK </b> status if the returned values equils to restored values. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setData </code> : to set and restore new values </li>
+ * </ul>
+ */
+ public void _getRowDescriptions() {
+ requiredMethod("setRowDescriptions()");
+
+ String[] dscs = oObj.getRowDescriptions();
+ bResult = dscs.length == rowDscs.length;
+ if (bResult) {
+ for (int i = 0; i < dscs.length; i++) {
+ log.println("Row " + i + ": got " + dscs[i] + " expected: " + rowDscs[i]);
+ if (!dscs[i].equals(rowDscs[i])) {
+ bResult = false;
+ }
+ }
+ }
+
+ tRes.tested("getRowDescriptions()", bResult);
+ }
+
+ /**
+ * Test calls the method and compare returned values with values restored
+ * after method <code>setData</code>. <p>
+ * Has <b> OK </b> status if the returned values equils to restored values. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setData </code> : to set and restore new values </li>
+ * </ul>
+ */
+ public void _getData() {
+ requiredMethod("setData()");
+ bResult = true;
+
+ double[][] _data = oObj.getData();
+ data = _data;
+ if(rowDscs.length != 0 && rowDscs.length != data.length)
+ bResult = false;
+ if(colDscs.length != 0 && colDscs.length != data[0].length)
+ bResult = false;
+ for (int i = 0; i < data.length; i++) {
+ for (int j = 0; j < data[i].length; j++) {
+ if (data[i][j] != _data[i][j]) {
+ bResult = false;
+ }
+ }
+ }
+
+ tRes.tested("getData()", bResult);
+ }
+
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XChartDocument.java b/qadevOOo/tests/java/ifc/chart/_XChartDocument.java
new file mode 100644
index 000000000..87fe405c5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XChartDocument.java
@@ -0,0 +1,154 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartData;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.drawing.XShape;
+
+/**
+* Testing <code>com.sun.star.chart.XChartDocument</code>
+* interface methods :
+* <ul>
+* <li><code> getTitle()</code></li>
+* <li><code> getSubTitle()</code></li>
+* <li><code> getLegend()</code></li>
+* <li><code> getArea()</code></li>
+* <li><code> getDiagram()</code></li>
+* <li><code> setDiagram()</code></li>
+* <li><code> getData()</code></li>
+* <li><code> attachData()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DIAGRAM'</code> (of type <code>XDiagram</code>):
+* is used as parameter for method <code>setDiagram</code> </li>
+* <li> <code>'CHARTDATA'</code> (of type <code>XChartData</code>):
+* is used as parameter for method <code>attachData</code> </li>
+* </ul>
+*
+* @see com.sun.star.chart.XChartDocument
+*/
+public class _XChartDocument extends MultiMethodTest {
+
+ public XChartDocument oObj = null;
+ XDiagram diagram = null;
+ XChartData ChartData = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getTitle() {
+ XShape title = oObj.getTitle();
+ tRes.tested("getTitle()", title != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSubTitle() {
+ XShape subtitle = oObj.getSubTitle();
+ tRes.tested("getSubTitle()", subtitle != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getLegend() {
+ XShape legend = oObj.getLegend();
+ tRes.tested("getLegend()", legend != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getArea() {
+ XPropertySet area = oObj.getArea();
+ tRes.tested("getArea()", area != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getDiagram() {
+ diagram = oObj.getDiagram();
+ tRes.tested("getDiagram()", diagram != null);
+ }
+
+ /**
+ * Test compares type of diagram before method call and after.<p>
+ * Has <b> OK </b> status if diagram types are not equal. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getDiagram </code> : to have diagram before method call</li>
+ * </ul>
+ *
+ * @see com.sun.star.chart.XDiagram
+ */
+ public void _setDiagram() {
+ requiredMethod("getDiagram()");
+ String oldType = diagram.getDiagramType();
+ XDiagram diag = (XDiagram)tEnv.getObjRelation("DIAGRAM");
+ oObj.setDiagram(diag);
+ String newType = oObj.getDiagram().getDiagramType();
+ tRes.tested("setDiagram()", !(oldType.equals(newType)));
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getData() {
+ ChartData = oObj.getData();
+ tRes.tested("getData()", ChartData != null);
+ }
+
+ /**
+ * Test compares data before method call and after. <p>
+ * Has <b> OK </b> status if the data before method call and
+ * after are not equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getData </code> : to have data before method call </li>
+ * </ul>
+ * @see com.sun.star.chart.XChartData
+ */
+ public void _attachData() {
+ requiredMethod("getData()");
+ XChartData data = (XChartData)tEnv.getObjRelation("CHARTDATA");
+ oObj.attachData(data);
+ XChartData newdata = oObj.getData();
+
+ tRes.tested("attachData()", !(newdata.equals(ChartData)));
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XDiagram.java b/qadevOOo/tests/java/ifc/chart/_XDiagram.java
new file mode 100644
index 000000000..de51ea2e1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XDiagram.java
@@ -0,0 +1,148 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XDiagram;
+
+/**
+* Testing <code>com.sun.star.chart.XDiagram</code>
+* interface methods :
+* <ul>
+* <li><code> getDiagramType()</code></li>
+* <li><code> getDataRowProperties()</code></li>
+* <li><code> getDataPointProperties()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ROWAMOUNT'</code> (of type <code>Integer</code>):
+* to have amount of rows </li>
+* <li> <code>'COLAMOUNT'</code> (of type <code>Integer</code>):
+* to have amount of columns </li>
+* <ul> <p>
+* @see com.sun.star.chart.XDiagram
+*/
+public class _XDiagram extends MultiMethodTest {
+
+ public XDiagram oObj = null;
+ boolean result = true;
+ Integer rowamount = null;
+ Integer colamount = null;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ rowamount = (Integer)tEnv.getObjRelation("ROWAMOUNT");
+ if (rowamount == null) throw new StatusException(Status.failed
+ ("Relation 'ROWAMOUNT' not found"));
+
+ colamount = (Integer)tEnv.getObjRelation("COLAMOUNT");
+ if (colamount == null) throw new StatusException(Status.failed
+ ("Relation 'COLAMOUNT' not found"));
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value start from 'com.sun.star.chart.' <p>
+ */
+ public void _getDiagramType() {
+ result = true;
+
+ String stype = oObj.getDiagramType();
+ log.println("Current Diagram Type is " + stype);
+ result = stype.startsWith("com.sun.star.chart.");
+
+ tRes.tested("getDiagramType()", result);
+ }
+
+ /**
+ * Test calls the method for every row and checks returned value. <p>
+ * Has <b> OK </b> status if returned value for every row isn't null and
+ * no exceptions were thrown. <p>
+ */
+ public void _getDataRowProperties() {
+ result = true;
+
+ int rows = rowamount.intValue();
+ rows -= 1;
+ XPropertySet props = null;
+
+ log.println("There are " + rows + " rows.");
+ try {
+ for (int i = 0; i < rows; i++) {
+ props = oObj.getDataRowProperties(i);
+ if (props != null) {
+ log.println("Row " + i + " - OK");
+ } else {
+ log.println("Row " + i + " - FAILED");
+ result = false;
+ }
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception while get data row properties");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("getDataRowProperties()", result);
+ }
+
+ /**
+ * Test calls the method for every point and checks returned value. <p>
+ * Has <b> OK </b> status if returned value for every point isn't null and
+ * no exceptions were thrown. <p>
+ */
+ public void _getDataPointProperties() {
+ result = true;
+
+ int rows = rowamount.intValue();
+ int cols = colamount.intValue();
+ XPropertySet props = null;
+
+ log.println("There are " + rows + " rows and " + cols + " cols.");
+
+ try {
+ for (int i = 0; i < rows; i++)
+ for (int j = 0; j < cols; j++) {
+ props = oObj.getDataPointProperties(i, j);
+ if (props != null) {
+ log.println("Row " + i + " Col " + j + " - OK");
+ } else {
+ log.println("Row " + i + " Col " + j + " - FAILED");
+ result = false;
+ }
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception while get data point properties");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("getDataPointProperties()", result);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XStatisticDisplay.java b/qadevOOo/tests/java/ifc/chart/_XStatisticDisplay.java
new file mode 100644
index 000000000..779183856
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XStatisticDisplay.java
@@ -0,0 +1,82 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XStatisticDisplay;
+
+/**
+* Testing <code>com.sun.star.chart.XStatisticDisplay</code>
+* interface methods :
+* <ul>
+* <li><code> getMinMaxLine()</code></li>
+* <li><code> getUpBar()</code></li>
+* <li><code> getDownBar()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XStatisticDisplay
+*/
+public class _XStatisticDisplay extends MultiMethodTest {
+
+ public XStatisticDisplay oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getMinMaxLine() {
+ result = true;
+
+ XPropertySet MinMaxLine = oObj.getMinMaxLine();
+ result = (MinMaxLine != null);
+
+ tRes.tested("getMinMaxLine()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getUpBar() {
+ result = true;
+
+ XPropertySet UpBar = oObj.getUpBar();
+ result = (UpBar != null);
+
+ tRes.tested("getUpBar()", result);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getDownBar() {
+ result = true;
+
+ XPropertySet DownBar = oObj.getDownBar();
+ result = (DownBar != null);
+
+ tRes.tested("getDownBar()", result);
+ }
+
+} // EOF XStatisticDisplay
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XTwoAxisXSupplier.java b/qadevOOo/tests/java/ifc/chart/_XTwoAxisXSupplier.java
new file mode 100644
index 000000000..488181108
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XTwoAxisXSupplier.java
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XTwoAxisXSupplier;
+
+/**
+* Testing <code>com.sun.star.chart.XTwoAxisXSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getSecondaryXAxis()</code></li>
+* </ul> <p>
+* @see com.sun.star.chart.XTwoAxisXSupplier
+*/
+public class _XTwoAxisXSupplier extends MultiMethodTest {
+
+ public XTwoAxisXSupplier oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSecondaryXAxis() {
+ result = true;
+
+ XPropertySet SecXAxis = oObj.getSecondaryXAxis();
+ result = (SecXAxis != null);
+
+ tRes.tested("getSecondaryXAxis()", result);
+ }
+
+} // EOF XTwoAxisXSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/chart/_XTwoAxisYSupplier.java b/qadevOOo/tests/java/ifc/chart/_XTwoAxisYSupplier.java
new file mode 100644
index 000000000..bc88bdc72
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/chart/_XTwoAxisYSupplier.java
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.chart;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XTwoAxisYSupplier;
+
+/**
+* Testing <code>com.sun.star.chart.XTwoAxisYSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getSecondaryYAxis()</code></li>
+* </ul> <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.chart.XTwoAxisYSupplier
+*/
+public class _XTwoAxisYSupplier extends MultiMethodTest {
+
+ public XTwoAxisYSupplier oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSecondaryYAxis() {
+ result = true;
+
+ XPropertySet SecYAxis = oObj.getSecondaryYAxis();
+ result = (SecYAxis != null);
+
+ tRes.tested("getSecondaryYAxis()", result);
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // EOF XTwoAxisYSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/configuration/_XTemplateContainer.java b/qadevOOo/tests/java/ifc/configuration/_XTemplateContainer.java
new file mode 100644
index 000000000..6c000f23f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/_XTemplateContainer.java
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.configuration;
+
+import com.sun.star.configuration.XTemplateContainer;
+import lib.MultiMethodTest;
+
+
+public class _XTemplateContainer extends MultiMethodTest {
+
+ public XTemplateContainer oObj;
+
+ public void _getElementTemplateName() {
+ String tName = (String) tEnv.getObjRelation("TemplateName");
+ String oTName = oObj.getElementTemplateName();
+ log.println("TemplateName: "+oTName);
+ boolean res = oTName.equals(tName);
+ if (!res) {
+ log.println("Expected: "+tName);
+ log.println("Gained: "+oTName);
+ }
+ tRes.tested("getElementTemplateName()", res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/_XTemplateInstance.java b/qadevOOo/tests/java/ifc/configuration/_XTemplateInstance.java
new file mode 100644
index 000000000..fac45c493
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/_XTemplateInstance.java
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.configuration;
+
+import com.sun.star.configuration.XTemplateInstance;
+import lib.MultiMethodTest;
+
+
+public class _XTemplateInstance extends MultiMethodTest {
+
+ public XTemplateInstance oObj;
+
+
+ public void _getTemplateName() {
+ String expected = (String) tEnv.getObjRelation("TemplateInstance");
+ String getting = oObj.getTemplateName();
+ boolean res = getting.equals(expected);
+ if (!res) {
+ log.println("Expected: "+expected);
+ log.println("Getting: "+getting);
+ }
+ tRes.tested("getTemplateName()",res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XBackend.java b/qadevOOo/tests/java/ifc/configuration/backend/_XBackend.java
new file mode 100644
index 000000000..eb8a09cc6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XBackend.java
@@ -0,0 +1,250 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.configuration.backend;
+
+import com.sun.star.configuration.backend.XBackend;
+import com.sun.star.configuration.backend.XLayer;
+import com.sun.star.configuration.backend.XUpdateHandler;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XStringSubstitution;
+
+import lib.MultiMethodTest;
+
+import util.XLayerHandlerImpl;
+
+
+public class _XBackend extends MultiMethodTest {
+ public XBackend oObj;
+
+ public void _getOwnUpdateHandler() {
+ boolean res = true;
+
+ String noUpdate = (String) tEnv.getObjRelation("noUpdate");
+
+ if (noUpdate != null) {
+ log.println(noUpdate);
+ tRes.tested("getOwnUpdateHandler()", res);
+
+ return;
+ }
+
+ try {
+ XUpdateHandler aHandler = oObj.getOwnUpdateHandler(
+ "org.openoffice.Office.Linguistic");
+ res &= (aHandler != null);
+
+ if (aHandler == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getOwnUpdateHandler()", res);
+ }
+
+ public void _getUpdateHandler() {
+ boolean res = true;
+
+ String noUpdate = (String) tEnv.getObjRelation("noUpdate");
+
+ if (noUpdate != null) {
+ log.println(noUpdate);
+ tRes.tested("getUpdateHandler()", res);
+
+ return;
+ }
+
+ try {
+ oObj.getUpdateHandler(
+ "org.openoffice.Office.TypeDetection",
+ "illegal");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("expected Exception -- OK");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ }
+
+ try {
+ XStringSubstitution sts = createStringSubstitution(
+ tParam.getMSF());
+ String ent = sts.getSubstituteVariableValue("$(inst)") +
+ "/share/registry";
+ XUpdateHandler aHandler = oObj.getUpdateHandler(
+ "org.openoffice.Office.Jobs",
+ ent);
+
+ if (aHandler == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getUpdateHandler()", res);
+ }
+
+ public void _listLayers() {
+ boolean res = true;
+
+ try {
+ XStringSubstitution sts = createStringSubstitution(tParam.getMSF());
+ String ent = sts.getSubstituteVariableValue("$(inst)") +
+ "/share/registry";
+ XLayer[] Layers = oObj.listLayers(
+ "org.openoffice.Office.Linguistic", ent);
+
+ for (int i = 0; i < Layers.length; i++) {
+ log.println("Checking Layer " + i);
+ res &= checkLayer(Layers[i]);
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("listLayers()", res);
+ }
+
+ public void _listOwnLayers() {
+ boolean res = true;
+
+ try {
+ XLayer[] Layers = oObj.listOwnLayers(
+ "org.openoffice.Office.Common");
+
+ for (int i = 0; i < Layers.length; i++) {
+ log.println("Checking Layer " + i);
+ res &= checkLayer(Layers[i]);
+ }
+ if (Layers.length==0) {
+ System.out.println("No Layers found -- FAILED");
+ res &= false;
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("listOwnLayers()", res);
+ }
+
+ protected boolean checkLayer(XLayer aLayer) {
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ aLayer.readData(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println("checking read data with own XLayerHandler implementation");
+
+ try {
+ XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl();
+ aLayer.readData(xLayerHandler);
+
+ String implCalled = xLayerHandler.getCalls();
+ log.println(implCalled);
+
+ int sl = implCalled.indexOf("startLayer");
+
+ if (sl < 0) {
+ log.println("startLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startLayer was called -- OK");
+ res &= true;
+ }
+
+ int el = implCalled.indexOf("endLayer");
+
+ if (el < 0) {
+ log.println("endLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endLayer was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ return res;
+ }
+
+ public static XStringSubstitution createStringSubstitution(XMultiServiceFactory xMSF) throws com.sun.star.uno.Exception
+ {
+ Object xPathSubst = xMSF.createInstance(
+ "com.sun.star.util.PathSubstitution");
+ return UnoRuntime.queryInterface(XStringSubstitution.class, xPathSubst);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XBackendEntities.java b/qadevOOo/tests/java/ifc/configuration/backend/_XBackendEntities.java
new file mode 100644
index 000000000..5ed64c292
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XBackendEntities.java
@@ -0,0 +1,173 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.configuration.backend;
+
+import com.sun.star.configuration.backend.XBackendEntities;
+
+import lib.MultiMethodTest;
+
+
+public class _XBackendEntities extends MultiMethodTest {
+ String AdminEntity = "";
+ String OwnerEntity = "";
+ String adm = "";
+ public XBackendEntities oObj;
+
+ @Override
+ public void before() {
+ adm = (String) tEnv.getObjRelation("NoAdmin");
+ }
+
+ public void _getAdminEntity() {
+ if (adm != null) {
+ AdminEntity = adm;
+ log.println(
+ "This component doesn't have an AdminEntity, setting it to default");
+ tRes.tested("getAdminEntity()", true);
+
+ return;
+ }
+
+ AdminEntity = oObj.getAdminEntity();
+
+ boolean res = AdminEntity.endsWith("/share/registry");
+
+ if (!res) {
+ log.println("Expected the Entity to end with /share/registry");
+ log.println("getting: " + AdminEntity + " -- FAILED");
+ }
+
+ tRes.tested("getAdminEntity()", res);
+ }
+
+ public void _getOwnerEntity() {
+ OwnerEntity = oObj.getOwnerEntity();
+
+ boolean res = OwnerEntity.endsWith("/user/registry");
+
+ if (!res) {
+ log.println("Expected the Entity to end with /user/registry");
+ log.println("getting: " + OwnerEntity + " -- FAILED");
+ }
+
+ tRes.tested("getOwnerEntity()", res);
+ }
+
+ public void _isEqualEntity() {
+ boolean res = true;
+ boolean localRes = true;
+
+ try {
+ localRes = oObj.isEqualEntity("", "");
+ log.println(
+ "No Exception thrown for isEqualEntity(\"\",\"\") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Expected Exception (" + e + ") -- OK");
+ res &= true;
+ }
+
+ try {
+ localRes = oObj.isEqualEntity(AdminEntity, AdminEntity);
+
+ if (!localRes) {
+ log.println(
+ "isEqualEntity(AdminEntity,AdminEntity) returns false -- FAILED");
+ }
+
+ res &= localRes;
+
+ localRes = oObj.isEqualEntity(OwnerEntity, OwnerEntity);
+
+ if (!localRes) {
+ log.println(
+ "isEqualEntity(OwnerEntity,OwnerEntity) returns false -- FAILED");
+ }
+
+ res &= localRes;
+
+ localRes = !oObj.isEqualEntity(AdminEntity, OwnerEntity);
+
+ if (!localRes) {
+ log.println(
+ "isEqualEntity(AdminEntity,OwnerEntity) returns true -- FAILED");
+ }
+
+ res &= localRes;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("isEqualEntity()", res);
+ }
+
+ public void _supportsEntity() {
+ boolean res = true;
+ boolean localRes = true;
+
+ try {
+ localRes = oObj.supportsEntity("illegal");
+ log.println(
+ "No Exception thrown for supportsEntity(\"\") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("Expected Exception (" + e + ") -- OK");
+ res &= true;
+ }
+
+ try {
+ localRes = oObj.supportsEntity(AdminEntity);
+
+ if (adm != null) {
+ Object msb = tEnv.getObjRelation("MSB") ;
+ if (msb == null){
+ localRes = !localRes;
+ log.println("This Component doesn't support the AdminEntity");
+ }
+ }
+
+ if (!localRes) {
+ log.println(
+ "supportsEntity(AdminEntity) returns false -- FAILED");
+ }
+
+ res &= localRes;
+
+ localRes = oObj.supportsEntity(OwnerEntity);
+
+ if (!localRes) {
+ log.println(
+ "supportsEntity(OwnerEntity) returns false -- FAILED");
+ }
+
+ res &= localRes;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("supportsEntity()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XLayer.java b/qadevOOo/tests/java/ifc/configuration/backend/_XLayer.java
new file mode 100644
index 000000000..879a3113e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XLayer.java
@@ -0,0 +1,81 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.configuration.backend;
+
+import com.sun.star.configuration.backend.XLayer;
+import lib.MultiMethodTest;
+import util.XLayerHandlerImpl;
+
+public class _XLayer extends MultiMethodTest {
+
+ public XLayer oObj;
+
+ public void _readData() {
+ boolean res = false;
+
+ log.println("Checking for Exception in case of nul argument");
+
+ try {
+ oObj.readData(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception ("+e+") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception ("+e+") -- FAILED");
+ }
+
+ log.println("checking read data with own XLayerHandler implementation");
+ try {
+ XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl();
+ oObj.readData(xLayerHandler);
+ String implCalled = xLayerHandler.getCalls();
+ log.println(implCalled);
+ int sl = implCalled.indexOf("startLayer");
+ if (sl < 0) {
+ log.println("startLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startLayer was called -- OK");
+ res &= true;
+ }
+ int el = implCalled.indexOf("endLayer");
+ if (el < 0) {
+ log.println("endLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endLayer was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception ("+e+") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception ("+e+") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception ("+e+") -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("readData()",res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XLayerHandler.java b/qadevOOo/tests/java/ifc/configuration/backend/_XLayerHandler.java
new file mode 100644
index 000000000..609d1c9a8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XLayerHandler.java
@@ -0,0 +1,242 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.configuration.backend;
+
+import com.sun.star.configuration.backend.XLayer;
+import com.sun.star.configuration.backend.XLayerHandler;
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XInputStream;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+
+import util.XLayerHandlerImpl;
+
+
+public class _XLayerHandler extends MultiMethodTest {
+ public XLayerHandler oObj = null;
+
+ /** this method contains the logic for all test methods
+ * the others will be passed OK if this one is
+ */
+ public void _endLayer() {
+ boolean res = false;
+
+ try {
+ oObj.startLayer();
+ oObj.overrideNode("org.openoffice.Setup", (short) 0, false);
+ oObj.overrideNode("Office", (short) 0, false);
+ oObj.overrideProperty("ooSetupInstCompleted", (short) 0,
+ new Type(String.class), false);
+ oObj.setPropertyValue(Boolean.FALSE);
+ oObj.endProperty();
+ oObj.overrideNode("Factories", (short) 0, false);
+ oObj.addOrReplaceNode("com.sun.star.chart.ChartDocument",
+ (short) 0);
+ oObj.overrideProperty("ooSetupFactoryEmptyDocumentURL", (short) 0,
+ new Type(String.class), false);
+ oObj.setPropertyValue("private:factory/schart");
+ oObj.endProperty();
+ oObj.overrideProperty("ooSetupFactoryIcon", (short) 0,
+ new Type(java.lang.Long.class), false);
+ oObj.setPropertyValue(Integer.valueOf(13));
+ oObj.endProperty();
+ oObj.overrideProperty("ooSetupFactoryShortName", (short) 0,
+ new Type(String.class), false);
+ oObj.setPropertyValue("schart");
+ oObj.setPropertyValueForLocale("TemplateFile", "en-US");
+ oObj.endProperty();
+ oObj.overrideProperty("ooSetupFactoryTemplateFile", (short) 0,
+ new Type(String.class), false);
+ oObj.setPropertyValue("empty");
+ oObj.endProperty();
+ oObj.addProperty("ooSetupFactoryTemplateFile", (short) 0,
+ new Type(String.class));
+ oObj.addPropertyWithValue("ooSetupFactoryTemplateFile", (short) 0,
+ "TemplateFile");
+ oObj.endNode();
+
+ oObj.addOrReplaceNode("dropme", (short) 0);
+ oObj.overrideProperty("anyway", (short) 0,
+ new Type(String.class), false);
+ oObj.setPropertyValue("nice");
+ oObj.endProperty();
+ oObj.dropNode("dropme");
+ oObj.endNode();
+
+ oObj.addOrReplaceNodeFromTemplate("FromTemplate",
+ new com.sun.star.configuration.backend.TemplateIdentifier(
+ "org.openoffice.Setup",
+ "Setup"), (short) 0);
+ oObj.endNode();
+
+ oObj.endNode();
+ oObj.endNode();
+ oObj.endNode();
+ oObj.endLayer();
+
+ Object LayerParser = tParam.getMSF().createInstance(
+ "com.sun.star.comp.configuration.backend.xml.LayerParser");
+
+ XActiveDataSink xSink = UnoRuntime.queryInterface(
+ XActiveDataSink.class, LayerParser);
+ Object fileacc = tParam.getMSF().createInstance(
+ "com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess simpleAccess = UnoRuntime.queryInterface(
+ XSimpleFileAccess.class,
+ fileacc);
+
+ String filename = util.utils.getOfficeTemp(
+ tParam.getMSF()) +
+ "LayerWriter.xcu";
+ log.println("Going to parse: " + filename);
+
+ XInputStream xStream = simpleAccess.openFileRead(filename);
+
+ xSink.setInputStream(xStream);
+
+ XLayer xLayer = UnoRuntime.queryInterface(XLayer.class,
+ LayerParser);
+
+ XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl();
+
+ xLayer.readData(xLayerHandler);
+
+ res = xLayerHandler.getCalls().equals(getExpected());
+
+ if (!res) {
+ log.println("#### Getting: ");
+ log.println(xLayerHandler.getCalls());
+ log.println("#### Expected: ");
+ log.println(getExpected());
+ }
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception " + e);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception " + e);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected Exception " + e);
+ }
+
+ tRes.tested("endLayer()", res);
+ }
+
+ public void _addOrReplaceNode() {
+ requiredMethod("endLayer()");
+ tRes.tested("addOrReplaceNode()", true);
+ }
+
+ public void _addOrReplaceNodeFromTemplate() {
+ requiredMethod("endLayer()");
+ tRes.tested("addOrReplaceNodeFromTemplate()", true);
+ }
+
+ public void _addProperty() {
+ requiredMethod("endLayer()");
+ tRes.tested("addProperty()", true);
+ }
+
+ public void _addPropertyWithValue() {
+ requiredMethod("endLayer()");
+ tRes.tested("addPropertyWithValue()", true);
+ }
+
+ public void _dropNode() {
+ requiredMethod("endLayer()");
+ tRes.tested("dropNode()", true);
+ }
+
+ public void _endNode() {
+ requiredMethod("endLayer()");
+ tRes.tested("endNode()", true);
+ }
+
+ public void _endProperty() {
+ requiredMethod("endLayer()");
+ tRes.tested("endProperty()", true);
+ }
+
+ public void _overrideNode() {
+ requiredMethod("endLayer()");
+ tRes.tested("overrideNode()", true);
+ }
+
+ public void _overrideProperty() {
+ requiredMethod("endLayer()");
+ tRes.tested("overrideProperty()", true);
+ }
+
+ public void _setPropertyValue() {
+ requiredMethod("endLayer()");
+ tRes.tested("setPropertyValue()", true);
+ }
+
+ public void _setPropertyValueForLocale() {
+ requiredMethod("endLayer()");
+ tRes.tested("setPropertyValueForLocale()", true);
+ }
+
+ public void _startLayer() {
+ requiredMethod("endLayer()");
+ tRes.tested("startLayer()", true);
+ }
+
+ protected String getExpected() {
+ String ls = System.getProperty("line.separator");
+ String expected = "startLayer();" + ls;
+ expected += ("overrideNode(org.openoffice.Setup,0,false);" + ls);
+ expected += ("overrideNode(Office,0,false);" + ls);
+ expected += ("overrideProperty(ooSetupInstCompleted,0,Type[string],false);" + ls);
+ expected += ("setPropertyValue(false);" + ls);
+ expected += ("endProperty();" + ls);
+ expected += ("overrideNode(Factories,0,false);" + ls);
+ expected += ("addOrReplace(com.sun.star.chart.ChartDocument,0);" + ls);
+ expected += ("overrideProperty(ooSetupFactoryEmptyDocumentURL,0,Type[string],false);" + ls);
+ expected += ("setPropertyValue(private:factory/schart);" + ls);
+ expected += ("endProperty();" + ls);
+ expected += ("overrideProperty(ooSetupFactoryIcon,0,Type[hyper],false);" + ls);
+ expected += ("setPropertyValue(13);" + ls);
+ expected += ("endProperty();" + ls);
+ expected += ("overrideProperty(ooSetupFactoryShortName,0,Type[string],false);" + ls);
+ expected += ("setPropertyValue(schart);" + ls);
+ expected += ("setPropertyValueForLocale(TemplateFile,en-US);" + ls);
+ expected += ("endProperty();" + ls);
+ expected += ("overrideProperty(ooSetupFactoryTemplateFile,0,Type[string],false);" + ls);
+ expected += ("setPropertyValue(empty);" + ls);
+ expected += ("endProperty();" + ls);
+ expected += ("addProperty(ooSetupFactoryTemplateFile,0,Type[string]);" + ls);
+ expected += ("addPropertyWithValue(ooSetupFactoryTemplateFile,0,TemplateFile);" + ls);
+ expected += ("endNode();" + ls);
+ expected += ("addOrReplace(dropme,0);" + ls);
+ expected += ("overrideProperty(anyway,0,Type[string],false);" + ls);
+ expected += ("setPropertyValue(nice);" + ls);
+ expected += ("endProperty();" + ls);
+ expected += ("dropNode(dropme);" + ls);
+ expected += ("endNode();" + ls);
+ expected += ("addOrReplace(FromTemplate,0);" + ls);
+ expected += ("endNode();" + ls);
+ expected += ("endNode();" + ls);
+ expected += ("endNode();" + ls);
+ expected += ("endNode();" + ls);
+ expected += ("endLayer();" + ls);
+
+ return expected;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XLayerImporter.java b/qadevOOo/tests/java/ifc/configuration/backend/_XLayerImporter.java
new file mode 100644
index 000000000..0e42ec526
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XLayerImporter.java
@@ -0,0 +1,157 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.configuration.backend;
+
+import com.sun.star.configuration.backend.XBackend;
+import com.sun.star.configuration.backend.XLayerImporter;
+import lib.MultiMethodTest;
+
+public class _XLayerImporter extends MultiMethodTest {
+
+ public XLayerImporter oObj;
+ public XBackend xBackend = null;
+
+ public void _getTargetBackend() {
+ xBackend = oObj.getTargetBackend();
+ tRes.tested("getTargetBackend()", xBackend != null);
+ }
+
+ public void _importLayer() {
+ boolean res = false;
+ log.println("checking for exception is argument null is given");
+ try {
+ oObj.importLayer(null);
+ log.println("\tException expected -- FAILED");
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res = true;
+ log.println("\tExpected exception was thrown -- OK");
+ } catch (com.sun.star.configuration.backend.MalformedDataException mde) {
+ res = false;
+ log.println("\tWrong Expected "+mde+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ res = false;
+ log.println("\tWrong Expected "+iae+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ res = false;
+ log.println("\tWrong Expected "+wte+" exception was thrown -- FAILED");
+ }
+
+ log.println("checking own implementation of XLayer");
+ try {
+ util.XLayerImpl xLayer = new util.XLayerImpl();
+ oObj.importLayer(xLayer);
+ if (! xLayer.hasBeenCalled()) {
+ log.println("\tXLayer hasn't been imported -- FAILED");
+ res &= false;
+ } else {
+ log.println("\tXLayer has been imported -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res &= false;
+ log.println("\tExpected exception "+ne+" was thrown -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException mde) {
+ res &= false;
+ log.println("\tWrong Expected "+mde+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ res &= false;
+ log.println("\tWrong Expected "+iae+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ res &= false;
+ log.println("\tWrong Expected "+wte+" exception was thrown -- FAILED");
+ }
+
+ tRes.tested("importLayer()",res);
+ }
+
+ public void _importLayerForEntity() {
+ boolean res = false;
+ log.println("checking for exception for argument (null,\"\")");
+ try {
+ oObj.importLayerForEntity(null,"");
+ log.println("\tException expected -- FAILED");
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res = true;
+ log.println("\tExpected exception was thrown -- OK");
+ } catch (com.sun.star.configuration.backend.MalformedDataException mde) {
+ res = false;
+ log.println("\tWrong Expected "+mde+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ res = false;
+ log.println("\tWrong Expected "+iae+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ res = false;
+ log.println("\tWrong Expected "+wte+" exception was thrown -- FAILED");
+ }
+
+ log.println("checking own implementation of XLayer");
+ try {
+ util.XLayerImpl xLayer = new util.XLayerImpl();
+ oObj.importLayerForEntity(xLayer,"");
+ if (! xLayer.hasBeenCalled()) {
+ log.println("\tXLayer hasn't been imported -- FAILED");
+ res &= false;
+ } else {
+ log.println("\tXLayer has been imported -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res &= false;
+ log.println("\tExpected exception "+ne+" was thrown -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException mde) {
+ res &= false;
+ log.println("\tWrong Expected "+mde+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ res &= false;
+ log.println("\tWrong Expected "+iae+" exception was thrown -- FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ res &= false;
+ log.println("\tWrong Expected "+wte+" exception was thrown -- FAILED");
+ }
+
+ tRes.tested("importLayerForEntity()",res);
+ }
+
+ public void _setTargetBackend() {
+ requiredMethod("getTargetBackend()");
+ boolean res = false;
+ log.println("checking for exception if argument null is given");
+ try {
+ oObj.setTargetBackend(null);
+ log.println("\tException expected -- FAILED");
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res = true;
+ log.println("\tExpected exception was thrown -- OK");
+ }
+
+ log.println("checking argument previously gained by getTargetBackend");
+ try {
+ oObj.setTargetBackend(xBackend);
+ log.println("\t No Exception thrown -- OK");
+ res &= true;
+ } catch (com.sun.star.lang.NullPointerException ne) {
+ res &= false;
+ log.println("\tException was thrown -- FAILED");
+ }
+
+ tRes.tested("setTargetBackend()",res);
+
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XMultiLayerStratum.java b/qadevOOo/tests/java/ifc/configuration/backend/_XMultiLayerStratum.java
new file mode 100644
index 000000000..c0b7c438c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XMultiLayerStratum.java
@@ -0,0 +1,303 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.configuration.backend;
+
+import com.sun.star.configuration.backend.XLayer;
+import com.sun.star.configuration.backend.XMultiLayerStratum;
+import com.sun.star.configuration.backend.XUpdatableLayer;
+import lib.MultiMethodTest;
+
+import util.XLayerHandlerImpl;
+
+
+public class _XMultiLayerStratum extends MultiMethodTest {
+ public XMultiLayerStratum oObj;
+ protected String aLayerID;
+
+ public void _getLayer() {
+ boolean res = true;
+
+ try {
+ oObj.getLayer("", "");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("expected Exception -- OK");
+ }
+
+ try {
+ XLayer aLayer = oObj.getLayer(aLayerID, "");
+ res &= (aLayer != null);
+
+ if (aLayer == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ } else {
+ res &= checkLayer(aLayer);
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getLayer()", res);
+ }
+
+ public void _getLayers() {
+ boolean res = true;
+
+ try {
+ String[] LayerIds = new String[] {
+ "1 /org/openoffice/Office/Jobs.xcu",
+ "2 /org/openoffice/Office/Linguistic.xcu" };
+
+ XLayer[] Layers = oObj.getLayers(LayerIds, "");
+ res = Layers.length == 2;
+ log.println("Getting two XLayers -- OK");
+ log.println("Checking first on "+LayerIds[0]);
+ res &= checkLayer(Layers[0]);
+ log.println("Checking second on "+LayerIds[1]);
+ res &= checkLayer(Layers[1]);
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getLayers()", res);
+ }
+
+ public void _getMultipleLayers() {
+ boolean res = true;
+
+ try {
+ String[] LayerIds = new String[] {
+ "1 /org/openoffice/Office/Jobs.xcu",
+ "2 /org/openoffice/Office/Linguistic.xcu" };
+ String[] Times = new String[] { "", "" };
+
+ XLayer[] Layers = oObj.getMultipleLayers(LayerIds, Times);
+ res = Layers.length == 2;
+ log.println("Getting two XLayers -- OK");
+ log.println("Checking first on "+LayerIds[0]);
+ res &= checkLayer(Layers[0]);
+ log.println("Checking second on "+LayerIds[1]);
+ res &= checkLayer(Layers[1]);
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getMultipleLayers()", res);
+ }
+
+ public void _getUpdatableLayer() {
+ boolean res = true;
+
+ try {
+ oObj.getUpdatableLayer("");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("expected Exception -- OK");
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ try {
+ XUpdatableLayer aLayer = oObj.getUpdatableLayer(aLayerID);
+ res &= (aLayer != null);
+
+ if (aLayer == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ } else {
+ res &= checkLayer(aLayer);
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getUpdatableLayer()", res);
+ }
+
+ public void _getUpdateLayerId() throws com.sun.star.uno.Exception {
+ boolean res = true;
+
+ try {
+ oObj.getUpdateLayerId(
+ "org.openoffice.Office.TypeDetection",
+ "illegal");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("expected Exception -- OK");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ try {
+ String ent = util.utils.getOfficeURL(
+ tParam.getMSF()) +
+ "/../share/registry";
+ String UpdateLayerID = oObj.getUpdateLayerId(
+ "org.openoffice.Office.Linguistic", ent);
+ res &= UpdateLayerID.endsWith("Linguistic.xcu");
+
+ if (!UpdateLayerID.endsWith("Linguistic.xcu")) {
+ log.println("\tExpected the id to end with Linguistic.xcu");
+ log.println("\tBut got " + UpdateLayerID);
+ log.println("\t=> FAILED");
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception "+e+" -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getUpdateLayerId()", res);
+ }
+
+ public void _listLayerIds() throws com.sun.star.uno.Exception {
+ boolean res = true;
+
+ try {
+ oObj.listLayerIds(
+ "org.openoffice.Office.TypeDetection",
+ "illegal");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("expected Exception -- OK");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ try {
+ String ent = util.utils.getOfficeURL(
+ tParam.getMSF()) +
+ "/../share/registry";
+ String[] LayerIDs = oObj.listLayerIds("org.openoffice.Office.Jobs",
+ ent);
+ res &= LayerIDs[0].endsWith("Jobs.xcu");
+ aLayerID = LayerIDs[0];
+
+ if (!LayerIDs[0].endsWith("Jobs.xcu")) {
+ log.println("\tExpected the id to end with Jobs.xcu");
+ log.println("\tBut got " + LayerIDs[0]);
+ log.println("\t=> FAILED");
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("listLayerIds()", res);
+ }
+
+ protected boolean checkLayer(XLayer aLayer) {
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ aLayer.readData(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println("checking read data with own XLayerHandler implementation");
+
+ try {
+ XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl();
+ aLayer.readData(xLayerHandler);
+
+ String implCalled = xLayerHandler.getCalls();
+ log.println(implCalled);
+
+ int sl = implCalled.indexOf("startLayer");
+
+ if (sl < 0) {
+ log.println("startLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startLayer was called -- OK");
+ res &= true;
+ }
+
+ int el = implCalled.indexOf("endLayer");
+
+ if (el < 0) {
+ log.println("endLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endLayer was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ return res;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XSchema.java b/qadevOOo/tests/java/ifc/configuration/backend/_XSchema.java
new file mode 100644
index 000000000..597d245ef
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XSchema.java
@@ -0,0 +1,253 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.configuration.backend;
+
+import com.sun.star.configuration.backend.XSchema;
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XInputStream;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+
+import util.XSchemaHandlerImpl;
+
+public class _XSchema extends MultiMethodTest {
+ public XSchema oObj;
+ XSchemaHandlerImpl xSchemaHandlerImpl = new XSchemaHandlerImpl();
+ String filename = null;
+
+ @Override
+ protected void before() {
+ filename = (String)tEnv.getObjRelation("ParsedFileName");
+ }
+
+ public void _readComponent() {
+ requiredMethod("readTemplates()");
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ oObj.readComponent(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println(
+ "checking readComponent with own XSchemeHandler implementation");
+
+ try {
+ xSchemaHandlerImpl.cleanCalls();
+ oObj.readComponent(xSchemaHandlerImpl);
+
+ String implCalled = xSchemaHandlerImpl.getCalls();
+
+ System.out.println(implCalled);
+
+ int sc = implCalled.indexOf("startComponent");
+
+ if (sc < 0) {
+ log.println("startComponent wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startComponent was called -- OK");
+ res &= true;
+ }
+
+ int ec = implCalled.indexOf("endComponent");
+
+ if (ec < 0) {
+ log.println("endComponent wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endComponent was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("readComponent()", res);
+ reopenFile();
+ }
+
+ public void _readSchema() {
+ requiredMethod("readComponent()");
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ xSchemaHandlerImpl.cleanCalls();
+ oObj.readSchema(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println(
+ "checking read data with own XSchemeHandler implementation");
+
+ try {
+ xSchemaHandlerImpl.cleanCalls();
+ oObj.readSchema(xSchemaHandlerImpl);
+
+ String implCalled = xSchemaHandlerImpl.getCalls();
+
+ int sc = implCalled.indexOf("startSchema");
+
+ if (sc < 0) {
+ log.println("startSchema wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startSchema was called -- OK");
+ res &= true;
+ }
+
+ int ec = implCalled.indexOf("endSchema");
+
+ if (ec < 0) {
+ log.println("endSchema wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endSchema was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ // check for the wrapped target exception
+ try {
+ xSchemaHandlerImpl.cleanCalls();
+ oObj.readSchema(xSchemaHandlerImpl);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ tRes.tested("readSchema()", res);
+ reopenFile();
+ }
+
+ public void _readTemplates() {
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ oObj.readTemplates(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println(
+ "checking readComponent with own XSchemeHandler implementation");
+
+ try {
+ xSchemaHandlerImpl.cleanCalls();
+ oObj.readComponent(xSchemaHandlerImpl);
+
+ String implCalled = xSchemaHandlerImpl.getCalls();
+
+ int sc = implCalled.indexOf("startGroup");
+
+ if (sc < 0) {
+ log.println("startGroup wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startGroup was called -- OK");
+ res &= true;
+ }
+
+ int ec = implCalled.indexOf("endNode");
+
+ if (ec < 0) {
+ log.println("endNode wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endNode was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ tRes.tested("readTemplates()", res);
+ reopenFile();
+ }
+
+ /**
+ * reopen the parsed file again, to avoid the wrapped target exception.
+ */
+ private void reopenFile() {
+ XSimpleFileAccess simpleAccess = null;
+ XInputStream xStream = null;
+ try {
+ Object fileacc = tParam.getMSF().createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ simpleAccess = UnoRuntime.queryInterface(XSimpleFileAccess.class,fileacc);
+ log.println("Going to parse: "+filename);
+ xStream = simpleAccess.openFileRead(filename);
+ } catch (com.sun.star.uno.Exception e) {
+ }
+
+ XActiveDataSink xSink = UnoRuntime.queryInterface(XActiveDataSink.class, oObj);
+ xSink.setInputStream(xStream);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XSchemaSupplier.java b/qadevOOo/tests/java/ifc/configuration/backend/_XSchemaSupplier.java
new file mode 100644
index 000000000..aee858b6a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XSchemaSupplier.java
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.configuration.backend;
+
+import com.sun.star.configuration.backend.XSchema;
+import com.sun.star.configuration.backend.XSchemaSupplier;
+
+import lib.MultiMethodTest;
+import util.XSchemaHandlerImpl;
+
+public class _XSchemaSupplier extends MultiMethodTest {
+ public XSchemaSupplier oObj;
+
+ public void _getComponentSchema() {
+ boolean res = true;
+ XSchema aSchema = null;
+
+ try {
+ aSchema = oObj.getComponentSchema("org.openoffice.Office.Linguistic");
+ res &= (aSchema != null);
+
+ if (aSchema == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ } else {
+ res &= checkSchema(aSchema);
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+ tRes.tested("getComponentSchema()",res);
+ }
+
+ protected boolean checkSchema(XSchema aSchema) {
+ boolean res = false;
+ XSchemaHandlerImpl xSchemaHandlerImpl = new XSchemaHandlerImpl();
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ aSchema.readTemplates(null);
+ log.println("NoException thrown for null argument -- FAILED");
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println(
+ "checking readComponent with own XSchemaHandler implementation");
+
+ try {
+ aSchema.readComponent(xSchemaHandlerImpl);
+
+ String implCalled = xSchemaHandlerImpl.getCalls();
+ int sc = implCalled.indexOf("startComponent");
+
+ if (sc < 0) {
+ log.println("startComponent wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startComponent was called -- OK");
+ res &= true;
+ }
+
+ int ec = implCalled.indexOf("endComponent");
+
+ if (ec < 0) {
+ log.println("endComponent wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endComponent was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ return res;
+
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XSingleLayerStratum.java b/qadevOOo/tests/java/ifc/configuration/backend/_XSingleLayerStratum.java
new file mode 100644
index 000000000..33eb0cfa8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XSingleLayerStratum.java
@@ -0,0 +1,165 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.configuration.backend;
+
+import com.sun.star.configuration.backend.XLayer;
+import com.sun.star.configuration.backend.XSingleLayerStratum;
+import com.sun.star.configuration.backend.XUpdatableLayer;
+
+import lib.MultiMethodTest;
+
+import util.XLayerHandlerImpl;
+
+
+public class _XSingleLayerStratum extends MultiMethodTest {
+ public XSingleLayerStratum oObj;
+
+ public void _getLayer() {
+ String aLayerID = "org.openoffice.Office.Common";
+ boolean res = true;
+
+ try {
+ oObj.getLayer("", "");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("expected Exception -- OK");
+ }
+
+ try {
+ XLayer aLayer = oObj.getLayer(aLayerID, "");
+ res &= (aLayer != null);
+
+ if (aLayer == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ } else {
+ res &= checkLayer(aLayer);
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getLayer()", res);
+ }
+
+ public void _getUpdatableLayer() {
+ String aLayerID = "org.openoffice.Office.Common";
+ boolean res = true;
+
+ try {
+ oObj.getUpdatableLayer("");
+ log.println("Exception expected -- FAILED");
+ res = false;
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception " + e + " -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("expected Exception -- OK");
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ try {
+ XUpdatableLayer aLayer = oObj.getUpdatableLayer(aLayerID);
+ res &= (aLayer != null);
+
+ if (aLayer == null) {
+ log.println("\treturned Layer is NULL -- FAILED");
+ } else {
+ res &= checkLayer(aLayer);
+ }
+ } catch (com.sun.star.configuration.backend.BackendAccessException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("unexpected Exception -- FAILED");
+ res = false;
+ }
+
+ tRes.tested("getUpdatableLayer()", res);
+ }
+
+ protected boolean checkLayer(XLayer aLayer) {
+ boolean res = false;
+
+ log.println("Checking for Exception in case of null argument");
+
+ try {
+ aLayer.readData(null);
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Expected Exception -- OK");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ }
+
+ log.println("checking read data with own XLayerHandler implementation");
+
+ try {
+ XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl();
+ aLayer.readData(xLayerHandler);
+
+ String implCalled = xLayerHandler.getCalls();
+ log.println(implCalled);
+
+ int sl = implCalled.indexOf("startLayer");
+
+ if (sl < 0) {
+ log.println("startLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("startLayer was called -- OK");
+ res &= true;
+ }
+
+ int el = implCalled.indexOf("endLayer");
+
+ if (el < 0) {
+ log.println("endLayer wasn't called -- FAILED");
+ res &= false;
+ } else {
+ log.println("endLayer was called -- OK");
+ res &= true;
+ }
+ } catch (com.sun.star.lang.NullPointerException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception (" + e + ") -- FAILED");
+ res &= false;
+ }
+
+ return res;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XUpdateHandler.java b/qadevOOo/tests/java/ifc/configuration/backend/_XUpdateHandler.java
new file mode 100644
index 000000000..4c35cc70d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/configuration/backend/_XUpdateHandler.java
@@ -0,0 +1,234 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.configuration.backend;
+
+import com.sun.star.configuration.backend.TemplateIdentifier;
+import com.sun.star.configuration.backend.XUpdateHandler;
+import com.sun.star.uno.Type;
+
+import lib.MultiMethodTest;
+
+import util.XLayerHandlerImpl;
+import util.XLayerImpl;
+
+public class _XUpdateHandler extends MultiMethodTest {
+ public XUpdateHandler oObj;
+ protected XLayerHandlerImpl xLayerHandler = null;
+
+ @Override
+ public void before() {
+ xLayerHandler = (XLayerHandlerImpl) tEnv.getObjRelation("LayerHandler");
+
+ try {
+ xLayerHandler.startLayer();
+ xLayerHandler.overrideNode("org.openoffice.Setup", (short) 0,
+ false);
+ xLayerHandler.overrideNode("Office", (short) 0, false);
+ xLayerHandler.overrideProperty("ooSetupInstCompleted", (short) 0,
+ new Type(String.class),
+ false);
+ xLayerHandler.setPropertyValue(Boolean.FALSE);
+ xLayerHandler.endProperty();
+ xLayerHandler.overrideNode("Factories", (short) 0, false);
+ xLayerHandler.addOrReplaceNode("com.sun.star.chart.ChartDocument",
+ (short) 0);
+ xLayerHandler.overrideProperty("ooSetupFactoryEmptyDocumentURL",
+ (short) 0,
+ new Type(String.class),
+ false);
+ xLayerHandler.setPropertyValue("private:factory/schart");
+ xLayerHandler.endProperty();
+ xLayerHandler.overrideProperty("ooSetupFactoryIcon", (short) 0,
+ new Type(java.lang.Long.class),
+ false);
+ xLayerHandler.setPropertyValue(Integer.valueOf(13));
+ xLayerHandler.endProperty();
+ xLayerHandler.overrideProperty("ooSetupFactoryShortName",
+ (short) 0,
+ new Type(String.class),
+ false);
+ xLayerHandler.setPropertyValue("schart");
+ xLayerHandler.setPropertyValueForLocale("TemplateFile", "en-US");
+ xLayerHandler.endProperty();
+ xLayerHandler.overrideProperty("ooSetupFactoryTemplateFile",
+ (short) 0,
+ new Type(String.class),
+ false);
+ xLayerHandler.setPropertyValue("empty");
+ xLayerHandler.endProperty();
+ xLayerHandler.addProperty("ooSetupFactoryTemplateFile", (short) 0,
+ new Type(String.class));
+ xLayerHandler.addPropertyWithValue("ooSetupFactoryTemplateFile",
+ (short) 0, "TemplateFile");
+ xLayerHandler.endNode();
+
+ xLayerHandler.addOrReplaceNode("dropme", (short) 0);
+ xLayerHandler.overrideProperty("anyway", (short) 0,
+ new Type(String.class),
+ false);
+ xLayerHandler.setPropertyValue("nice");
+ xLayerHandler.endProperty();
+ xLayerHandler.dropNode("dropme");
+ xLayerHandler.endNode();
+
+ xLayerHandler.addOrReplaceNodeFromTemplate("FromTemplate",
+ new com.sun.star.configuration.backend.TemplateIdentifier(
+ "org.openoffice.Setup",
+ "Setup"),
+ (short) 0);
+ xLayerHandler.endNode();
+
+ xLayerHandler.endNode();
+ xLayerHandler.endNode();
+ xLayerHandler.endNode();
+ xLayerHandler.endLayer();
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected Exception " + e);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected Exception " + e);
+ }
+ }
+
+ public void _addOrReplaceNode() {
+ requiredMethod("startUpdate()");
+ tRes.tested("addOrReplaceNode()", true);
+ }
+
+ public void _addOrReplaceNodeFromTemplate() {
+ requiredMethod("startUpdate()");
+ tRes.tested("addOrReplaceNodeFromTemplate()", true);
+ }
+
+ public void _addOrReplaceProperty() {
+ requiredMethod("startUpdate()");
+ tRes.tested("addOrReplaceProperty()", true);
+ }
+
+ public void _addOrReplacePropertyWithValue() {
+ requiredMethod("startUpdate()");
+ tRes.tested("addOrReplacePropertyWithValue()", true);
+ }
+
+ public void _endNode() {
+ requiredMethod("startUpdate()");
+ tRes.tested("endNode()", true);
+ }
+
+ public void _endProperty() {
+ requiredMethod("startUpdate()");
+ tRes.tested("endProperty()", true);
+ }
+
+ public void _endUpdate() {
+ requiredMethod("startUpdate()");
+ tRes.tested("endUpdate()", true);
+ }
+
+ public void _modifyNode() {
+ requiredMethod("startUpdate()");
+ tRes.tested("modifyNode()", true);
+ }
+
+ public void _modifyProperty() {
+ requiredMethod("startUpdate()");
+ tRes.tested("modifyProperty()", true);
+ }
+
+ public void _removeNode() {
+ requiredMethod("startUpdate()");
+ tRes.tested("removeNode()", true);
+ }
+
+ public void _removeProperty() {
+ requiredMethod("startUpdate()");
+ tRes.tested("removeProperty()", true);
+ }
+
+ public void _resetProperty() {
+ requiredMethod("startUpdate()");
+ tRes.tested("resetProperty()", true);
+ }
+
+ public void _resetPropertyValue() {
+ requiredMethod("startUpdate()");
+ tRes.tested("resetPropertyValue()", true);
+ }
+
+ public void _resetPropertyValueForLocale() {
+ requiredMethod("startUpdate()");
+ tRes.tested("resetPropertyValueForLocale()", true);
+ }
+
+ public void _setPropertyValue() {
+ requiredMethod("startUpdate()");
+ tRes.tested("setPropertyValue()", true);
+ }
+
+ public void _setPropertyValueForLocale() {
+ requiredMethod("startUpdate()");
+ tRes.tested("setPropertyValueForLocale()", true);
+ }
+
+ public void _startUpdate() {
+ boolean res = true;
+
+ try {
+ XLayerImpl xLayer = (XLayerImpl) tEnv.getObjRelation("Layer");
+ log.println("Layer called (before): " + xLayer.hasBeenCalled());
+ oObj.startUpdate();
+ oObj.addOrReplaceNode("whatever", (short) 0);
+ oObj.addOrReplaceNodeFromTemplate("Office", (short) 0,
+ new TemplateIdentifier());
+ oObj.addOrReplaceProperty("prop", (short) 0,
+ new Type(String.class));
+ oObj.addOrReplacePropertyWithValue("prop2", (short) 0, "this");
+ oObj.modifyProperty("ooSetupFactoryIcon", (short) 0, (short) 0,
+ new Type(String.class));
+ oObj.resetPropertyValue();
+ oObj.resetPropertyValueForLocale("en-US");
+ oObj.endProperty();
+ oObj.modifyProperty("ooSetupFactoryEmptyDocumentURL", (short) 0,
+ (short) 0, new Type(String.class));
+ oObj.setPropertyValue("newValue");
+ oObj.setPropertyValueForLocale("newValue-US", "de-DE");
+ oObj.endProperty();
+ oObj.modifyNode("org.openoffice.Setup", (short) 0, (short) 0, true);
+ oObj.removeNode("whatever");
+ oObj.resetProperty("prop");
+ oObj.endNode();
+ oObj.endNode();
+ oObj.endNode();
+ oObj.endUpdate();
+
+ log.println("Layer called (after): " + xLayer.hasBeenCalled());
+
+ res = xLayer.hasBeenCalled();
+ } catch (com.sun.star.configuration.backend.MalformedDataException e) {
+ log.println("Unexpected exception " + e.getMessage());
+ res = false;
+ } catch (com.sun.star.lang.IllegalAccessException e) {
+ log.println("Unexpected exception " + e.getMessage());
+ res = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Unexpected exception " + e.getMessage());
+ res = false;
+ }
+
+ tRes.tested("startUpdate()", res);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/connection/_XAcceptor.java b/qadevOOo/tests/java/ifc/connection/_XAcceptor.java
new file mode 100644
index 000000000..2e69eab95
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/connection/_XAcceptor.java
@@ -0,0 +1,304 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.connection;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.connection.XConnector;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Tests methods of <code>XAcceptor</code> interface. <p>
+* Required relations :
+* <ul>
+* <li> <code>'XAcceptor.connectStr'</code> : String variable. Has
+* the following format :
+* <code>'socket,host=<SOHost>,port=<UniquePort>' where <SOHost> is
+* the host where StarOffice is started. This string must be passed
+* as parameter to <code>accept()</code> method. </li>
+* <ul> <p>
+* This test <b>can not</b> be run in multiply threads.
+*/
+public class _XAcceptor extends MultiMethodTest {
+
+ /**
+ * Calls <code>accept()</code> method in a separate thread.
+ * Then stores exception thrown by call if it occurred, or
+ * return value.
+ */
+ protected class AcceptorThread extends Thread {
+ /**
+ * If exception occurred during method call it is
+ * stored in this field.
+ */
+ public Exception ex = null ;
+ private final XAcceptor acc;
+ /**
+ * If method call returns some value it stores in this field.
+ */
+ public XConnection acceptedCall = null ;
+
+ /**
+ * Creates object which can call <code>accept</code> method
+ * of the Acceptor object specified.
+ */
+ public AcceptorThread(XAcceptor acc) {
+ this.acc = acc ;
+ }
+
+ /**
+ * Call <code>accept()</code> method.
+ */
+ @Override
+ public void run() {
+ try {
+ acceptedCall = acc.accept(connectString) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ ex = e ;
+ }
+ }
+ }
+
+ public XAcceptor oObj = null;
+ protected String connectString = null ;
+
+ /**
+ * Retrieves object relation.
+ */
+ @Override
+ public void before() throws StatusException {
+ connectString = (String)
+ tEnv.getObjRelation("XAcceptor.connectStr") ;
+
+ if (connectString == null)
+ throw new StatusException("No object relation found",
+ new NullPointerException()) ;
+ }
+
+ /**
+ * First part : Thread with acceptor created, and it starts listening.
+ * The main thread tries to connect to acceptor. Acception thread must
+ * return and valid connection must be returned by Acceptor. <p>
+ *
+ * Second part : Trying to create second acceptor which listen on
+ * the same port. Calling <code>accept()</code> method of the second
+ * Acceptor must rise appropriate exception. <p>
+ *
+ * Has OK status if both test parts executed properly.
+ */
+ public void _accept() {
+ boolean result = true ;
+ AcceptorThread acception = null,
+ dupAcception = null ;
+ XAcceptor dupAcceptor = null ;
+ XConnector xConnector = null ;
+
+ // creating services required
+ try {
+ Object oConnector = tParam.getMSF().createInstance("com.sun.star.connection.Connector") ;
+
+ xConnector = UnoRuntime.queryInterface
+ (XConnector.class, oConnector) ;
+
+ XInterface acceptor = (XInterface) tParam.getMSF().createInstance
+ ("com.sun.star.connection.Acceptor") ;
+
+ dupAcceptor = UnoRuntime.queryInterface
+ (XAcceptor.class, acceptor) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create service", e) ;
+ }
+
+ // Testing connection to the acceptor
+ try {
+ acception = new AcceptorThread(oObj) ;
+ acception.start() ;
+
+ util.utils.shortWait();
+
+ XConnection con = xConnector.connect(connectString) ;
+
+ if (con == null)
+ log.println("Connector returned : null") ;
+ else
+ log.println("Connector returned : " + con.getDescription()) ;
+
+ try {
+ acception.join(5 * 1000) ;
+ } catch(InterruptedException e) {}
+
+ if (acception.isAlive()) {
+
+ result = false ;
+ log.println("Method call haven't returned") ;
+
+ if (acception.acceptedCall == null)
+ log.println("Acceptor returned : null") ;
+ else
+ log.println("Acceptor returned : " +
+ acception.acceptedCall.getDescription()) ;
+ } else {
+ if (acception.ex != null) {
+ log.println("Exception occurred in accept() thread :") ;
+ acception.ex.printStackTrace(log) ;
+ }
+
+ if (acception.acceptedCall == null)
+ log.println("Method returned : null") ;
+ else
+ log.println("Method returned : " +
+ acception.acceptedCall.getDescription()) ;
+
+ result &= acception.acceptedCall != null ;
+ }
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.connection.NoConnectException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } finally {
+ oObj.stopAccepting();
+ if (acception.isAlive()) {
+ acception.interrupt();
+ }
+ }
+
+ // duplicate acceptor test
+ // creating the additional acceptor which listens
+ // on the same port
+
+ log.println("___ Testing for accepting on the same port ...") ;
+
+ try {
+ dupAcception = new AcceptorThread(dupAcceptor) ;
+ dupAcception.start() ;
+
+ try {
+ dupAcception.join(1 * 1000) ;
+ } catch(InterruptedException e) {}
+
+
+ if (dupAcception.isAlive()) {
+ log.println("Duplicate acceptor is listening ...") ;
+
+ // now trying to accept on the same port as additional
+ // acceptor
+ acception = new AcceptorThread(oObj) ;
+ acception.start() ;
+
+ try {
+ acception.join(3 * 1000) ;
+ } catch(InterruptedException e) {}
+
+ if (acception.isAlive()) {
+ oObj.stopAccepting() ;
+ acception.interrupt() ;
+
+ log.println("Acceptor with the same port must cause"+
+ " an error but didn't") ;
+ result = false ;
+ } else {
+ log.println("Accepted call = " + acception.acceptedCall) ;
+ if (acception.ex == null) {
+ //result = false ;
+ log.println("No exception was thrown when trying"+
+ " to listen on the same port") ;
+ } else {
+ if (acception.ex instanceof
+ com.sun.star.connection.AlreadyAcceptingException ||
+ acception.ex instanceof
+ com.sun.star.connection.ConnectionSetupException) {
+
+ log.println("Right exception was thrown when trying"+
+ " to listen on the same port") ;
+ } else {
+ result = false ;
+ log.println("Wrong exception was thrown when trying"+
+ " to listen on the same port :") ;
+ acception.ex.printStackTrace(log) ;
+ }
+ }
+ }
+ }
+ } finally {
+ dupAcceptor.stopAccepting() ;
+ if (dupAcception.isAlive()) {
+ dupAcception.interrupt() ;
+ }
+ }
+
+ tRes.tested("accept()", result) ;
+ }
+
+ /**
+ * Starts thread with Acceptor and then calls <code>stopListening</code>
+ * method. <p>
+ * Has OK status if <code>accept</code> method successfully returns and
+ * rises no exceptions.
+ */
+ public void _stopAccepting() {
+ boolean result = true ;
+
+
+ AcceptorThread acception = new AcceptorThread(oObj) ;
+
+ acception.start() ;
+
+ oObj.stopAccepting() ;
+
+ try {
+ acception.join(3 * 1000) ;
+ } catch (InterruptedException e) {}
+
+ if (acception.isAlive()) {
+ acception.interrupt() ;
+
+ result = false ;
+ log.println("Method call haven't returned") ;
+
+ } else {
+ if (acception.ex != null) {
+ log.println("Exception occurred in accept() thread :") ;
+ acception.ex.printStackTrace(log) ;
+ result = false ;
+ } else {
+ result = true ;
+ }
+
+ if (acception.acceptedCall == null)
+ log.println("accept() returned : null") ;
+ else
+ log.println("accept() returned : " +
+ acception.acceptedCall.getDescription()) ;
+ }
+
+ tRes.tested("stopAccepting()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/connection/_XConnector.java b/qadevOOo/tests/java/ifc/connection/_XConnector.java
new file mode 100644
index 000000000..5d63fafd2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/connection/_XConnector.java
@@ -0,0 +1,186 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.connection;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.connection.XConnector;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Tests methods of <code>XConnector</code> interface. <p>
+* Required relations :
+* <ul>
+* <li> <code>'XConnector.connectStr'</code> : String variable. Has
+* the following format :
+* <code>'socket,host=<SOHost>,port=<UniquePort>' where <SOHost> is
+* the host where StarOffice is started. This string must be passed
+* as parameter to <code>accept()</code> method. </li>
+* <ul> <p>
+* This test <b>can not</b> be run in multiply threads.
+*/
+public class _XConnector extends MultiMethodTest {
+
+ /**
+ * Calls <code>accept()</code> method in a separate thread.
+ * Then stores exception thrown by call if it occurred, or
+ * return value.
+ */
+ protected class AcceptorThread extends Thread {
+ /**
+ * the acceptor
+ */
+ private final XAcceptor acc;
+ /**
+ * If exception occurred during method call it is
+ * stored in this field.
+ */
+ public Exception ex = null ;
+ /**
+ * If method call returns some value it stores in this field.
+ */
+ public XConnection acceptedCall = null ;
+
+ /**
+ * Gets an object which can call <code>accept</code> method.
+ */
+ public AcceptorThread(XAcceptor acc) {
+ this.acc = acc ;
+ }
+
+ /**
+ * Call <code>accept()</code> method.
+ */
+ @Override
+ public void run() {
+ try {
+ acceptedCall = acc.accept(connectString) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ ex = e ;
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ ex = e ;
+ }
+ }
+ }
+
+ public XConnector oObj = null;
+ protected String connectString = null ;
+
+ /**
+ * Retrieves object relation.
+ */
+ @Override
+ public void before() throws StatusException {
+ connectString = (String)
+ tEnv.getObjRelation("XConnector.connectStr") ;
+ if (connectString == null)
+ throw new StatusException("No object relation found",
+ new NullPointerException()) ;
+ }
+
+ /**
+ * Thread with acceptor is created, and it starts listening.
+ * The main thread tries to connect to acceptor. Acception thread must
+ * return and a valid connection must be returned by Acceptor. <p>
+ *
+ */
+ public void _connect() {
+ boolean result = true ;
+ AcceptorThread acceptorThread = null;
+ XAcceptor xAcceptor = null ;
+ XConnection aCon = null;
+ XInterface x = null;
+
+ // create the acceptor
+ try {
+ x = (XInterface) tParam.getMSF().createInstance
+ ("com.sun.star.connection.Acceptor") ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create service", e) ;
+ }
+
+ xAcceptor = UnoRuntime.queryInterface(XAcceptor.class, x);
+
+ acceptorThread = new AcceptorThread(xAcceptor) ;
+ acceptorThread.start() ;
+
+ util.utils.shortWait();
+
+ // connect to acceptor
+ try {
+ aCon = oObj.connect(connectString);
+
+ if (aCon == null)
+ log.println("Connector returned: null") ;
+ else
+ log.println("Connector returned: " + aCon.getDescription()) ;
+
+ try {
+ acceptorThread.join(30 * 1000) ;
+ } catch(InterruptedException e) {}
+
+ // connection not established
+ if (acceptorThread.isAlive()) {
+
+ result = false ;
+ log.println("Method call hasn't returned") ;
+
+ if (acceptorThread.acceptedCall == null)
+ log.println("Acceptor returned : null") ;
+ else
+ log.println("Acceptor returned : " +
+ acceptorThread.acceptedCall.getDescription()) ;
+ } else {
+ if (acceptorThread.ex != null) {
+ log.println("Exception occurred in accept() thread :") ;
+ acceptorThread.ex.printStackTrace(log) ;
+ }
+
+ if (acceptorThread.acceptedCall == null)
+ log.println("Method returned : null") ;
+ else
+ log.println("Method returned : " +
+ acceptorThread.acceptedCall.getDescription()) ;
+
+ result &= acceptorThread.acceptedCall != null ;
+ }
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.connection.NoConnectException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } finally {
+ acceptorThread.acc.stopAccepting();
+ if (acceptorThread.isAlive()) {
+ acceptorThread.interrupt();
+ }
+ }
+
+ tRes.tested("connect()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/container/_XChild.java b/qadevOOo/tests/java/ifc/container/_XChild.java
new file mode 100644
index 000000000..fc32dc9c4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XChild.java
@@ -0,0 +1,91 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.container.XChild;
+import com.sun.star.container.XNamed;
+import com.sun.star.uno.UnoRuntime;
+
+/*
+* Testing <code>com.sun.star.container.XChild</code>
+* interface methods :
+* <ul>
+* <li><code> getParent()</code></li>
+* <li><code> setParent()</code></li>
+* </ul>
+* @see com.sun.star.container.XChild
+*/
+public class _XChild extends MultiMethodTest {
+
+ public XChild oObj = null;
+ public Object gotten = null;
+
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. Parent returned is stored.<p>
+ * Has <b> OK </b> status if the method returns not null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getParent() {
+ gotten = oObj.getParent();
+ XNamed the_name = UnoRuntime.queryInterface(XNamed.class,gotten);
+ if (the_name != null)
+ log.println("Parent:"+the_name.getName());
+ tRes.tested("getParent()",gotten != null);
+ }
+
+ /**
+ * Sets existing parent and checks that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getParent() </code> : to get the parent. </li>
+ * </ul>
+ */
+ public void _setParent() {
+ requiredMethod("getParent()") ;
+
+ String parentComment = (String) tEnv.getObjRelation("cannotSwitchParent");
+
+ if (parentComment != null) {
+ log.println(parentComment);
+ tRes.tested("setParent()",Status.skipped(true));
+ return;
+ }
+
+ try {
+ oObj.setParent(gotten);
+ tRes.tested("setParent()",true);
+ }
+ catch (com.sun.star.lang.NoSupportException ex) {
+ log.println("Exception occurred during setParent()");
+ ex.printStackTrace(log);
+ tRes.tested("setParent()",false);
+ }
+
+ }
+
+} // finish class _XChild
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XContainer.java b/qadevOOo/tests/java/ifc/container/_XContainer.java
new file mode 100644
index 000000000..6d0d37255
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XContainer.java
@@ -0,0 +1,342 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.container.ContainerEvent;
+import com.sun.star.container.XContainer;
+import com.sun.star.container.XContainerListener;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.container.XNameReplace;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XNamingService;
+
+
+/**
+* Testing <code>com.sun.star.container.XContainer</code>
+* interface methods :
+* <ul>
+* <li><code> addContainerListener()</code></li>
+* <li><code> removeContainerListener()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'INSTANCE'</code> : Object which can be inserted into
+* container.</li>
+* <li> <code>'INSTANCE2'</code> : <b>(optional)</b>
+* Object which can be inserted into container. The relation
+* must be specified when container can't contain two
+* identical objects. Replaces the first instance.</li>
+* <li> <code>'XContainer.Container'</code> (of type
+* <code>com.sun.star.container.XNameContainer</code>)
+* <b>optional</b> : is required when the tested component
+* doesn't implement <code>XNameContainer</code> and is used
+* for adding and removing elements.</li>
+* <ul> <p>
+* Object <b>must implement</b>
+* <code>com.sun.star.container.XNameContainer</code>.
+* <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.container.XContainer
+*/
+public class _XContainer extends MultiMethodTest {
+
+ public XContainer oObj = null;
+ private boolean bElementInserted = false;
+ private boolean bElementRemoved = false;
+ private boolean bElementReplaced = false;
+ private XNameContainer NC = null ;
+ private XControlContainer CC = null ;
+ private XNamingService NV = null ;
+ private XNameReplace NR = null ;
+ private Object inst = null ;
+ private Object inst2 = null ;
+
+ /**
+ * Retrieves object relations, and tries to query object for
+ * <code>XNameContainer</code> interface.
+ * @throws StatusException If one of relations not found or
+ * object doesn't implement <code>XNameContainer</code> interface.
+ */
+ @Override
+ public void before() throws StatusException {
+ // do this test with a different object
+ Object altObj = tEnv.getObjRelation("XContainer.AlternateObject");
+ if (altObj != null) {
+ oObj = UnoRuntime.queryInterface(XContainer.class, altObj);
+ }
+
+ NC = UnoRuntime.queryInterface
+ (XNameContainer.class, oObj) ;
+
+ Object container = null;
+ if (NC == null) {
+ container = tEnv.getObjRelation("XContainer.Container") ;
+ }
+
+ if (container != null) {
+ if (container instanceof com.sun.star.awt.XControlContainer) {
+ CC = (XControlContainer) container;
+ } else if (container instanceof com.sun.star.uno.XNamingService) {
+ NV = (XNamingService) container;
+ } else if (container instanceof com.sun.star.container.XNameReplace) {
+ NR = (XNameReplace) container;
+ inst2 = tEnv.getObjRelation("XContainer.NewValue");
+ inst = tEnv.getObjRelation("XContainer.ElementName");
+ } else if (container instanceof com.sun.star.container.XNameContainer) {
+ NC = (XNameContainer) container;
+ }
+ }
+
+ if (NC == null && CC == null && NV == null && NR == null)
+ throw new StatusException(
+ Status.failed("Neither object implements XNameContainer" +
+ " nor relation 'XContainer.Container' found.")) ;
+
+ if (inst == null)
+ inst = tEnv.getObjRelation("INSTANCE");
+ if (inst == null) {
+ log.println("No INSTANCE ObjRelation!!! ");
+ throw new StatusException(Status.failed("No INSTANCE ObjRelation!!!")) ;
+ }
+ if (inst2 == null)
+ inst2 = tEnv.getObjRelation("INSTANCE2");
+ }
+
+ /**
+ * Listener implementation which just set flags on appropriate
+ * events.
+ */
+ public class MyListener implements XContainerListener {
+ public void elementInserted(ContainerEvent e) {
+ bElementInserted = true;
+ }
+ public void elementRemoved(ContainerEvent e) {
+ bElementRemoved = true;
+ }
+ public void elementReplaced(ContainerEvent e) {
+ bElementReplaced = true;
+ }
+ public void disposing (EventObject obj) {}
+ }
+
+ MyListener listener = new MyListener();
+
+ /**
+ * Adds <code>MyListener</code> and performs all possible changes
+ * (insert, replace, remove) with container. The checks which
+ * events were called. <p>
+ * Has <b>OK</b> status if all methods of the listener were called.
+ */
+ public void _addContainerListener() {
+ boolean bResult = true;
+
+ oObj.addContainerListener(listener);
+ bResult &= performChanges();
+ //we can't replace if the container is XControlContainer
+ if (NC != null) bResult &= bElementReplaced;
+ // we do not remove and insert if the listener is triggered by XNameReplace
+ if (NR == null) bResult &= bElementRemoved;
+ if (NR == null) bResult &= bElementInserted;
+
+ if (!bResult) {
+ log.println("inserted was " + (bElementInserted ? "" : "NOT")
+ + " called.");
+
+ if (NC != null) {
+ log.println("replaced was " + (bElementReplaced ? "" : "NOT")
+ + " called.");
+ }
+ log.println("removed was " + (bElementRemoved ? "" : "NOT")
+ + " called.");
+ }
+
+ tRes.tested("addContainerListener()", bResult);
+ }
+
+ /**
+ * Removes listener added before and performs all possible changes
+ * (insert, replace, remove) with container. The checks which
+ * events were called. <p>
+ * Has <b>OK</b> status if no methods of the listener were called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addContainerListener() </code> : to remove it now. </li>
+ * </ul>
+ */
+ public void _removeContainerListener() {
+ requiredMethod("addContainerListener()") ;
+
+ boolean bResult = true;
+ bElementReplaced = bElementRemoved = bElementInserted = false;
+
+ oObj.removeContainerListener(listener);
+ bResult &= performChanges();
+ bResult &= !bElementReplaced;
+ bResult &= !bElementRemoved;
+ bResult &= !bElementInserted;
+
+ tRes.tested("removeContainerListener()", bResult);
+ }
+
+ /**
+ * Inserts, replaces and finally removes object from container.
+ * Object is gotten from <code>'INSTANCE'</code> relation. If
+ * the relation <code>'INSTANCE2'</code> exists then the first
+ * instance is replaced with second.
+ */
+ protected boolean performChanges() {
+ if (CC != null) return performChanges2();
+ if (NV != null) return performChanges3();
+ if (NR != null) return performChanges4();
+ boolean bResult = true;
+ try {
+ String[] names = NC.getElementNames();
+ log.println("Elements count = " + names.length);
+ NC.insertByName("XContainer_dummy", inst);
+ names = NC.getElementNames();
+ log.println("Elements count = " + names.length);
+ if (inst2 == null) {
+ NC.replaceByName("XContainer_dummy", inst);
+ } else {
+ NC.replaceByName("XContainer_dummy", inst2);
+ }
+ NC.removeByName("XContainer_dummy");
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred ");
+ ex.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.lang.WrappedTargetException ex) {
+ log.println("Exception occurred ");
+ ex.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.container.NoSuchElementException ex) {
+ log.println("Exception occurred ");
+ ex.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.container.ElementExistException ex) {
+ log.println("Exception occurred ");
+ ex.printStackTrace(log);
+ bResult = false;
+ }
+
+ return bResult;
+ }
+
+ /**
+ * In case no XNameContainer is available, but a XControlContainer
+ * instead.
+ * the XControl instance is inserted
+ * Method returns true if the count of Controls is changed afterwards
+ */
+ protected boolean performChanges2() {
+ int precount = CC.getControls().length;
+ CC.addControl("NewControl",(XControl) inst);
+ waitForEventIdle();
+ int count = CC.getControls().length;
+ CC.removeControl(CC.getControl("NewControl"));
+ waitForEventIdle();
+ return count>precount;
+ }
+
+ /**
+ * In case no XNameContainer is available, but a XNamingService
+ * instead.
+ * the instance is registered and revoked again
+ * Method return true if getRegisteredObject() works after
+ * registering and doesn't after revoke
+ */
+ protected boolean performChanges3() {
+ boolean res = true;
+ Object reg = null;
+
+ try {
+ reg = NV.getRegisteredObject("MyFactory");
+ NV.revokeObject("MyFactory");
+ } catch (Exception e) {
+
+ }
+
+ try {
+ NV.registerObject("MyFactory", inst);
+ reg = NV.getRegisteredObject("MyFactory");
+ res &= (reg != null);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ log.println("registerObject failed");
+ res &= false;
+ }
+
+ try {
+ NV.revokeObject("MyFactory");
+ reg = NV.getRegisteredObject("MyFactory");
+ log.println("revokeObject failed");
+ res &= false;
+ } catch (Exception e) {
+ res &= true;
+ }
+
+ return res;
+ }
+
+ /**
+ * In case no XNameContainer is available, but a XNamingReplace
+ * instead.
+ */
+ protected boolean performChanges4() {
+ boolean res = true;
+ Object newValue = inst2;
+ Object originalValue = null;
+ String name = null;
+
+ try {
+ name = (String)inst;
+ }
+ catch(java.lang.ClassCastException e) {
+ log.write("Expected String as object relations 'XContainer.ElementName'.");
+ e.printStackTrace(log);
+ return false;
+ }
+
+ try {
+ originalValue = NR.getByName(name);
+ NR.replaceByName(name, newValue);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ try {
+ NR.replaceByName(name, originalValue);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ return res;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XContainerQuery.java b/qadevOOo/tests/java/ifc/container/_XContainerQuery.java
new file mode 100644
index 000000000..68cacca00
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XContainerQuery.java
@@ -0,0 +1,154 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.container.XContainerQuery;
+import com.sun.star.container.XEnumeration;
+
+
+/**
+* Testing <code>com.sun.star.container.XContainerQuery</code>
+* interface methods :
+* <ul>
+* <li><code> createSubSetEnumerationByProperties()</code></li>
+* <li><code> createSubSetEnumerationByQuery()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XContainerQuery.createSubSetEnumerationByProperties'</code> :
+* <code>NameValue[]</code> which is a valid argument for
+* <code>createSubSetEnumerationByProperties()</code>.</li>
+* <li> <code>'XContainerQuery.createSubSetEnumerationByQuery'</code> : <b>(optional)</b>
+* Normally <code>createSubSetEnumerationByProperties()</code> covers all
+* possible queries. But for special cases, i.e. sorted output, the function
+* <code>createSubSetEnumerationByQuery()</code> was made. The special cases was not
+* implemented by default in the implementation object. So this function could be
+* marked as <code>optional</code></li>
+* <ul> <p>
+* <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.container.XContainerQuery
+*/
+public class _XContainerQuery extends MultiMethodTest {
+
+ public XContainerQuery oObj = null;
+ private NamedValue[] m_querySequenze = null;
+ private String[] m_queryStrings = null;
+
+
+ /**
+ * Retrieves object relations
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() throws StatusException {
+
+ m_querySequenze = (NamedValue[]) tEnv.getObjRelation(
+ "XContainerQuery.createSubSetEnumerationByProperties");
+ if (m_querySequenze == null) {
+ throw new StatusException(
+ Status.failed("Could not get object relation " +
+ "'XContainerQuery.createSubSetEnumerationByProperties'")) ;
+ }
+
+ m_queryStrings = (String[]) tEnv.getObjRelation(
+ "XContainerQuery.createSubSetEnumerationByQuery");
+ if (m_queryStrings == null) {
+ log.println("Could not get object relation " +
+ "'XContainerQuery.createSubSetEnumerationByQuery'");
+ }
+ }
+
+
+ /**
+ * If object relation is available, the function was called with relation
+ * as parameter. The returned <code>XEnumeration</code> must not be null and
+ * elements of it must be valid.
+ * If object relation is not available, the result is always <code>true</code>
+ */
+ public void _createSubSetEnumerationByQuery() {
+
+ boolean bResult = true;
+ if ( m_queryStrings == null ) {
+ log.println("This object does not have an implementation for this function");
+ // This is not a bug, because it's a feature for future purposes
+ } else {
+ for (int i = 0; i < m_queryStrings.length; i++){
+ String queryString = m_queryStrings[i];
+ XEnumeration subSet = oObj.createSubSetEnumerationByQuery( queryString );
+
+ bResult &= subSet.hasMoreElements();
+
+ while (subSet.hasMoreElements()) {
+ try{
+ subSet.nextElement();
+
+ } catch (com.sun.star.container.NoSuchElementException e){
+ log.println("Exception occurred ");
+ e.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("Exception occurred ");
+ e.printStackTrace(log);
+ bResult = false;
+ }
+ }
+ }
+ }
+
+ tRes.tested("createSubSetEnumerationByQuery()", bResult);
+ }
+
+ /**
+ * The function was called with object relation
+ * as parameter. The returned <code>XEnumeration</code> must not be null and
+ * elements of it must be valid.
+ *
+ */
+ public void _createSubSetEnumerationByProperties() {
+
+ boolean bResult = true;
+
+ XEnumeration subSet = oObj.createSubSetEnumerationByProperties( m_querySequenze );
+
+ bResult = subSet.hasMoreElements();
+
+ while (subSet.hasMoreElements()) {
+ try{
+ subSet.nextElement();
+
+ } catch (com.sun.star.container.NoSuchElementException e){
+ log.println("Exception occurred ");
+ e.printStackTrace(log);
+ bResult = false;
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("Exception occurred ");
+ e.printStackTrace(log);
+ bResult = false;
+ }
+ }
+
+ tRes.tested("createSubSetEnumerationByProperties()", bResult);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/container/_XContentEnumerationAccess.java b/qadevOOo/tests/java/ifc/container/_XContentEnumerationAccess.java
new file mode 100644
index 000000000..24488025e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XContentEnumerationAccess.java
@@ -0,0 +1,86 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XContentEnumerationAccess;
+import com.sun.star.container.XEnumeration;
+
+/**
+* Testing <code>com.sun.star.container.XContentEnumerationAccess</code>
+* interface methods :
+* <ul>
+* <li><code> createContentEnumeration()</code></li>
+* <li><code> getAvailableServiceNames()</code></li>
+* </ul> <p>
+* @see com.sun.star.container.XContentEnumerationAccess
+*/
+public class _XContentEnumerationAccess extends MultiMethodTest{
+ public XContentEnumerationAccess oObj = null;
+ String[] serviceNames = null;
+
+ /**
+ * Retrieves service names and stores them. <p>
+ * Has <b> OK </b> status if not <code>null</code>
+ * value returned.
+ */
+ public void _getAvailableServiceNames(){
+ boolean bResult = true;
+ try {
+ serviceNames = oObj.getAvailableServiceNames();
+ bResult = serviceNames != null ;
+ } catch (Exception e) {
+ log.println("Exception occurred. " + e);
+ bResult = false;
+ }
+ tRes.tested("getAvailableServiceNames()", bResult);
+ }
+
+ /**
+ * If at least one service available then an enumeration for
+ * it created. <p>
+ * Has <b> OK </b> status if no services available or enumeration
+ * created for available service is not <code>null</code>.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>getAvailableServiceNames()</code> :
+ * to have at least one service name for enumeration to create for.</li>
+ * </ul>
+ */
+ public void _createContentEnumeration(){
+ requiredMethod("getAvailableServiceNames()");
+
+ if (serviceNames.length == 0) {
+ log.println("No service name available") ;
+ tRes.tested("createContentEnumeration()", true) ;
+ return ;
+ }
+
+ boolean bResult = true;
+
+ log.println( "creating Enumeration" );
+ XEnumeration oEnum = oObj.createContentEnumeration(serviceNames[0]);
+ bResult &= oEnum != null;
+
+ tRes.tested( "createContentEnumeration()", bResult);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XElementAccess.java b/qadevOOo/tests/java/ifc/container/_XElementAccess.java
new file mode 100644
index 000000000..25dee4a09
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XElementAccess.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XElementAccess;
+
+/**
+ * Testing <code>com.sun.star.container.XElementAccess</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getElementType()</code></li>
+ * <li><code> hasElements()</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XElementAccess
+ */
+public class _XElementAccess extends MultiMethodTest {
+ public XElementAccess oObj = null;
+
+ /**
+ * Test calls the method and checks return value. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>,
+ * only in the case the container is not empty.<p>
+ */
+ public void _hasElements(){
+ // Testing hasElements() method
+ tRes.tested( "hasElements()", oObj.hasElements() );
+ } // end hasElements
+
+ /**
+ * Test calls the method and checks return value. <p>
+ * Has <b> OK </b> status if the method returns not null value.<p>
+ */
+ public void _getElementType(){
+ // Testing getElementType() method
+ com.sun.star.uno.Type type = oObj.getElementType();
+ tRes.tested( "getElementType()", type != null );
+ } // end ElementType
+
+} /// finished class _XElementAccess
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XEnumeration.java b/qadevOOo/tests/java/ifc/container/_XEnumeration.java
new file mode 100644
index 000000000..4cddb309e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XEnumeration.java
@@ -0,0 +1,115 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.lang.WrappedTargetException;
+
+/**
+* Testing <code>com.sun.star.container.XEnumeration</code>
+* interface methods :
+* <ul>
+* <li><code> hasMoreElements()</code></li>
+* <li><code> nextElement()</code></li>
+* </ul>
+* Test is multithread compliant. <p>
+* @see com.sun.star.container.XEnumeration
+*/
+public class _XEnumeration extends MultiMethodTest {
+
+ public XEnumeration oObj = null;
+
+ /**
+ * Retrieves relation and sets oObj to a separate enumeration
+ * created. Retrieves all elements from enumeration.<p>
+ * Has <b> OK </b> status if all elements successfully retrieved
+ * and exceptions occurred.
+ */
+ public void _hasMoreElements() {
+ boolean result = true;
+
+ log.println("get all elements");
+ int counter = 0;
+ int tmpCounter = 0;
+ while ( oObj.hasMoreElements() ) {
+ try {
+ oObj.nextElement();
+ counter ++;
+ if (counter - tmpCounter > 10000) {
+ log.println(counter+ " Elements");
+ tmpCounter = counter;
+ }
+ } catch (WrappedTargetException e) {
+ log.println("hasMoreElements() : " + e);
+ result = false;
+ break;
+ } catch (NoSuchElementException e) {
+ log.println("hasMoreElements() : " + e);
+ result = false;
+ break;
+ }
+ }
+ Object expCount = tEnv.getObjRelation("ExpectedCount");
+ if (expCount != null) {
+ int ec = ((Integer) expCount).intValue();
+ boolean locResult = counter == ec;
+ if (!locResult) {
+ log.println("Not all Elements are returned: ");
+ log.println("\tExpected: "+ ec);
+ log.println("\tFound: "+counter);
+ }
+ result &= locResult;
+ }
+ tRes.tested("hasMoreElements()", result);
+ } // end hasMoreElements
+
+ /**
+ * Calls the method (on starting this method there is no more elements
+ * in the enumeration. <p>
+ * Has <b> OK </b> status if only <code>NoSuchElementException</code>
+ * exception rises. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> hasMoreElements() </code> : it retrieves all elements </li>
+ * </ul>
+ */
+ public void _nextElement(){
+ requiredMethod("hasMoreElements()");
+ boolean result = true;
+ log.println("additional call must throw NoSuchElementException");
+
+ try {
+ oObj.nextElement();
+ log.println("nextElement: no exception!");
+ result = false;
+ } catch (WrappedTargetException e) {
+ log.println("nextElement: wrong exception!");
+ result = false;
+ } catch (NoSuchElementException e) {
+ log.println("nextElement: correct exception");
+ }
+
+ tRes.tested("nextElement()", result);
+ } // end NextElement
+
+} //end XEnumeration
+
diff --git a/qadevOOo/tests/java/ifc/container/_XEnumerationAccess.java b/qadevOOo/tests/java/ifc/container/_XEnumerationAccess.java
new file mode 100644
index 000000000..df79c9a53
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XEnumerationAccess.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+
+
+/**
+* Testing <code>com.sun.star.container.XEnumerationAccess</code>
+* interface methods. <p>
+* Test is multithread compliant. <p>
+*/
+public class _XEnumerationAccess extends MultiMethodTest{
+ public XEnumerationAccess oObj = null;
+
+ /**
+ * Test calls the method and checks return value. <p>
+ * Has <b> OK </b> status if the method returns not null value. <p>
+ */
+ public void _createEnumeration(){
+ log.println( "creating Enumeration" );
+ XEnumeration oEnum = oObj.createEnumeration();
+ tRes.tested( "createEnumeration()", oEnum != null );
+ } // end createEnumeration()
+} // finish class _XEnumerationAccess
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XHierarchicalName.java b/qadevOOo/tests/java/ifc/container/_XHierarchicalName.java
new file mode 100644
index 000000000..f828c1f61
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XHierarchicalName.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.container;
+
+import com.sun.star.container.XHierarchicalName;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+
+public class _XHierarchicalName extends MultiMethodTest {
+ public XHierarchicalName oObj;
+
+ public void _composeHierarchicalName() {
+ String expName = (String) tEnv.getObjRelation("HierarchicalName");
+ String element = (String) tEnv.getObjRelation("ElementName");
+ boolean res = false;
+
+ try {
+ String hn = oObj.composeHierarchicalName(element);
+ res = hn.startsWith(expName);
+
+ if (!res) {
+ log.println("Getting : " + hn +
+ " but expected it to start with " + expName);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception " + e.getMessage());
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println("Exception " + e.getMessage());
+ }
+
+ tRes.tested("composeHierarchicalName()", res);
+ }
+
+ public void _getHierarchicalName() {
+ String hName = oObj.getHierarchicalName();
+ String expName = (String) tEnv.getObjRelation("HierarchicalName");
+ boolean res = true;
+System.out.println("### "+hName);
+ if (expName != null) {
+ res = hName.startsWith(expName);
+
+ if (!res) {
+ log.println("Expected the name to start with " + expName);
+ log.println("got " + hName);
+ }
+ } else {
+ throw new StatusException(Status.failed(
+ "ObjectRelation 'HierarchicalName' missing"));
+ }
+
+ tRes.tested("getHierarchicalName()", res);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/container/_XHierarchicalNameAccess.java b/qadevOOo/tests/java/ifc/container/_XHierarchicalNameAccess.java
new file mode 100644
index 000000000..b128f199d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XHierarchicalNameAccess.java
@@ -0,0 +1,83 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XHierarchicalNameAccess;
+
+/**
+* Testing <code>com.sun.star.container.XHierarchicalNameAccess</code>
+* interface methods :
+* <ul>
+* <li><code> getByHierarchicalName()</code></li>
+* <li><code> hasByHierarchicalName()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ElementName'</code> (of type <code>String</code>):
+* name of the element which exists in the container. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.container.XHierarchicalNameAccess
+*/
+public class _XHierarchicalNameAccess extends MultiMethodTest{
+ public XHierarchicalNameAccess oObj = null;
+
+ /**
+ * Calls the method with existing and nonexistent
+ * element names. <p>
+ * Has <b>OK</b> status if for existing name <code>true</code>
+ * is returned and for nonexistent - <code>false</code>.
+ */
+ public void _hasByHierarchicalName(){
+ String name = (String) tEnv.getObjRelation("ElementName") ;
+ boolean res = oObj.hasByHierarchicalName(name) ;
+ name +="ItMakesThisNameNonExistantForSure";
+ boolean res2 = oObj.hasByHierarchicalName(name);
+ res &= !res2;
+ tRes.tested("hasByHierarchicalName()", res) ;
+ } // end _hasByHierarchicalName()
+
+ /**
+ * Tries to retrieve an element with existing name. <p>
+ * Has <b>OK</b> status if non null object is returned.
+ */
+ public void _getByHierarchicalName(){
+ String name = (String) tEnv.getObjRelation("ElementName") ;
+ Object res ;
+
+ try {
+ res = oObj.getByHierarchicalName(name) ;
+
+ } catch (NoSuchElementException e) {
+ log.println("Element with name '" + name +
+ "' doesn't exist in this container") ;
+ res = null ;
+ }
+
+ tRes.tested("getByHierarchicalName()", res != null) ;
+
+ } // end _getByHierarchicalName()
+
+} // finish class _XHierarchicalNameAccess
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XIndexAccess.java b/qadevOOo/tests/java/ifc/container/_XIndexAccess.java
new file mode 100644
index 000000000..6b1908428
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XIndexAccess.java
@@ -0,0 +1,144 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.IndexOutOfBoundsException;
+import com.sun.star.lang.WrappedTargetException;
+
+/**
+* Testing <code>com.sun.star.container.XIndexAccess</code>
+* interface methods :
+* <ul>
+* <li><code> getCount()</code></li>
+* <li><code> getByIndex()</code></li>
+* </ul> <p>
+* Test seems to work properly in multithreaded environment.
+* @see com.sun.star.container.XIndexAccess
+*/
+public class _XIndexAccess extends MultiMethodTest {
+
+ public XIndexAccess oObj = null;
+
+ /**
+ * Number of elements in the container.
+ */
+ public int count = 0;
+
+ /**
+ * Get number of element in the container. <p>
+ * Has <b> OK </b> status if method returns number lager than -1.
+ */
+ public void _getCount() {
+ boolean result = true;
+ log.println("getting the number of the elements");
+ // hope we haven't a count lower than zero ;-)
+ count = -1;
+ count = oObj.getCount();
+ result = (count != -1);
+ tRes.tested("getCount()", result);
+ } //end getCount()
+
+ /**
+ * This method tests the IndexAccess from the first element,
+ * the middle element and the last element. Finally it test
+ * Exceptions which throws by a not available index. <p>
+ * Has <b> OK </b> status if first, middle and last elements
+ * successfully returned and has non null value; and if on
+ * invalid index parameter <code>IndexOutOfBoundsException</code>
+ * is thrown.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getCount() </code> : to have number of elements
+ * in container. </li>
+ * </ul>
+ */
+ public void _getByIndex() {
+ requiredMethod("getCount()");
+ // get count from holder
+
+ waitForEventIdle();
+
+ boolean result = true;
+ log.println("Testing getByIndex()");
+
+ if (count > 0) {
+ // Check the first element
+ log.println("Check the first element");
+ result &= checkGetByIndex(0);
+
+ // Check the middle element
+ log.println("Check the middle element");
+ result &= checkGetByIndex(count /2);
+
+ // Check the last element
+ log.println("Check the last element");
+ result &= checkGetByIndex(count -1);
+
+ // Testing getByIndex with wrong params.
+ log.println("Testing getByIndex with wrong params.");
+ try {
+ log.println("getByIndex(" + count + ")");
+ oObj.getByIndex(count);
+ log.println("no exception thrown - FAILED");
+ result = false;
+ } catch (IndexOutOfBoundsException e) {
+ log.println("Expected exception caught! " + e + " OK");
+ } catch (WrappedTargetException e) {
+ log.println("Wrong exception! " + e + " FAILED");
+ result = false;
+ }
+ }
+
+ tRes.tested("getByIndex()", result);
+
+ } // end getByIndex
+
+ private boolean checkGetByIndex(int index){
+ Object o = null;
+ boolean result = true;
+ try {
+ log.println("getByIndex(" + index + ")");
+ o = oObj.getByIndex(index);
+
+ if ( tEnv.getObjRelation("XIndexAccess.getByIndex.mustBeNull") != null){
+ result = (o == null);
+ if (result) log.println("OK"); else log.println("FAILED -> not null");
+ } else {
+ result = (o != null);
+ if (result) log.println("OK"); else log.println("FAILED -> null");
+ }
+
+ } catch (WrappedTargetException e) {
+ log.println("Exception! " + e);
+ result = false;
+ } catch (IndexOutOfBoundsException e) {
+ log.println("Exception! " + e);
+ result = false;
+ }
+
+ return result;
+ }
+
+} // end XIndexAccess
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XIndexContainer.java b/qadevOOo/tests/java/ifc/container/_XIndexContainer.java
new file mode 100644
index 000000000..9b3a23f97
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XIndexContainer.java
@@ -0,0 +1,201 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.lang.IndexOutOfBoundsException;
+
+/**
+* Testing <code>com.sun.star.container.XIndexContainer</code>
+* interface methods :
+* <ul>
+* <li><code> insertByIndex()</code></li>
+* <li><code> removeByIndex()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> : N relations
+* which represents objects to be inserted. See below
+* for more information.</li>
+* <li> <code>'XIndexContainerINDEX'</code> : For internal test
+* usage. Contains current thread number. </li>
+* <li> Test environment variable <code>'THRCNT'</code> : number
+* of interface threads running concurrently. </li>
+* <ul> <p>
+* XIndexContainer needs n ObjectRelations "INSTANCEn" , where n=1, ...,
+* THRCNT.<p>
+* When this interface tested by different threads, it must use different
+* instances to insert/remove - one for each thread.
+* <p>
+* That's why we use objRelation "XIndexContainerINDEX" to store the number of
+* last taken instance. If there is no such relation, it initialize with 1.
+* <p>
+* This ObjectRelations should be necessary to create an Object,
+* which is insertable by insterByIndex()
+* INSTANCEn are n Objectrelations so that every thread can insert its own
+* object. n depends on the variable THRCNT which and comes from API.INI
+* <p>
+* Why that:
+* If you insert the same Object by insertByIndex() several times you
+* don't insert the Object several times. The first insertByIndex() inserts
+* the Object to the Container but all other insertByIndex() changes
+* the Index in the Container because it's the same Object. <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.container.XIndexContainer
+*/
+
+public class _XIndexContainer extends MultiMethodTest {
+ public XIndexContainer oObj = null;
+
+ int Index = 0;
+
+ /**
+ * First tries to insert proper object. Second tries to insert
+ * null value. For each test thread different objects are inserted
+ * on different indexes. For example for the first started test index
+ * is 0 and object is get from relation 'INSTANCE1', and so on. <p>
+ * Has <b>OK</b> status if in the first case <code>getByIndex</code>
+ * method returns non null value and in the second <code>
+ * IndexOutOfBoundsException</code> was thrown.
+ */
+ public void _insertByIndex() {
+ boolean result = true;
+
+ log.println("get ObjRelation(\"XIndexContainerINDEX\")");
+ String sIndex = (String)tEnv.getObjRelation("XIndexContainerINDEX");
+ if (sIndex == null) {
+ log.println("No XIndexContainerINDEX - so set it to 1.");
+ tEnv.addObjRelation("XIndexContainerINDEX", Integer.toString(1));
+ Index = 1;
+ } else {
+ Index = Integer.parseInt(sIndex);
+ Index++;
+ tEnv.addObjRelation("XIndexContainerINDEX",
+ Integer.toString(Index));
+ }
+
+
+ log.println("get ObjRelation(\"INSTANCE" + Index +"\")");
+ Object oInstance = tEnv.getObjRelation("INSTANCE"+ Index);
+ if (oInstance == null) {
+ log.println("ObjRelation(\"INSTANCE" + Index +"\") Object n.a.");
+ }
+
+ log.println("testing insertByIndex(\"" + Index + "\")...");
+ try {
+ oObj.insertByIndex(Index, oInstance);
+ result &= oObj.getByIndex(Index) != null ;
+ log.println("insertByIndex(\""+Index+"\")...OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("insertByIndex(\""+Index+"\"): " + e + " FLASE");
+ result = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("insertByIndex(\""+Index+"\"): " + e + " FLASE");
+ result = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("insertByIndex(\""+Index+"\"): " + e + " FLASE");
+ result = false;
+ }
+
+ log.println("inserting a wrong Object occurs Exceptions ...");
+ try {
+ Object dummy = null;
+ oObj.insertByIndex(0, dummy);
+ log.println("No Exception: -> FALSE");
+ result = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Dummy-Exception: " + e + " -> OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("!!! Wrong Exception: " + e + " -> FAILED");
+ result = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("!!! Wrong Exception: " + e + " -> FAILED");
+ result = false;
+ }
+
+ tRes.tested("insertByIndex()", result);
+ }
+
+ /**
+ * Removes the element inserted by <code>insertByIndex</code> method test.
+ * The number of elements is checked before and after removing.
+ * Then tries to remove an element with invalid index and checks exceptions.
+ * <p>
+ * Has <b>OK</b> status if after removing number of elements decreases by
+ * one and <code>IndexOutOfBoundsException</code> is thrown on invalid index
+ * removing.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertByIndex </code> : to have an object which can be
+ * removed.</li>
+ * </ul>
+ */
+ public void _removeByIndex() {
+ requiredMethod("insertByIndex()");
+ boolean result = true;
+
+ log.println("testing removeByIndex() ...");
+
+ try {
+ log.println("remove " +Index);
+ int cnt1 = -1 , cnt2 = -1 ;
+ synchronized (oObj) {
+ cnt1 = oObj.getCount() ;
+ oObj.removeByIndex(Index);
+ cnt2 = oObj.getCount() ;
+ }
+ log.println("Count before removing : " + cnt1 +
+ ", and after : " + cnt2) ;
+
+ result &= cnt1 == cnt2 + 1 ;
+
+ log.println("1. removeByIndex(\""+Index+"\") ...OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ result = false;
+ log.println("1. removeByIndex:(\""+Index+"\") " +
+ e + " - FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("1. removeByIndex:(\""+Index+"\") " +
+ e + " - FAILED");
+ }
+
+ log.println("removing a non existent object to get an exception");
+ try {
+ oObj.removeByIndex(100);
+ result = false;
+ log.println("2. removeByIndex(): Exception expected! - FAILED");
+ } catch (IndexOutOfBoundsException e) {
+ log.println("2. removeByIndex(): Expected exception - OK");
+ result &= true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("2. removeByIndex(): Unexpected exception! - " +
+ e + " - FAILED");
+ }
+
+ tRes.tested("removeByIndex()", result);
+ }
+}
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XIndexReplace.java b/qadevOOo/tests/java/ifc/container/_XIndexReplace.java
new file mode 100644
index 000000000..f97dfb0d9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XIndexReplace.java
@@ -0,0 +1,200 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.container.XIndexReplace;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.IndexOutOfBoundsException;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.container.XIndexReplace</code>
+* interface methods :
+* <ul>
+* <li><code> replaceByIndex()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> : N relations
+* which represents objects to be replaced with. See below
+* for more information.</li>
+* <li> <code>'XIndexReplaceINDEX'</code> : For internal test
+* usage. Contains current thread number. </li>
+* <li> Test environment variable <code>'THRCNT'</code> : number
+* of interface threads running concurrently. </li>
+* <ul> <p>
+* XIndexReplace needs n ObjectRelations "INSTANCEn" , where n = 1, ..., THRCNT.
+* <p>
+* When this interface tested by different threads, it must use different
+* instances to replace - one for each thread.<p>
+* That's why we use objRelation "XIndexReplaceINDEX" to store the number of
+* last taken instance. If there is no such relation, it initialize with 1.
+* <p>
+* This ObjectRelations should be necessary to create an Object,
+* which is can be replaced by index
+* INSTANCEn are n Objectrelations so that every thread can insert its own
+* object. n depends on the variable THRCNT which and comes from API.INI
+* <p>
+* Why that:
+* If you insert the same Object by replaceByIndex() several times you
+* don't insert the Object several times. The first replaceByIndex() inserts
+* the Object to the Container but all other replaceByIndex() changes
+* the Index in the Container because it's the same Object. <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.container.XIndexReplace
+*/
+
+public class _XIndexReplace extends MultiMethodTest {
+ public XIndexReplace oObj = null;
+
+ /**
+ * Primarily tries to replace elements in a proper way :
+ * replaces the first, middle and the last element then
+ * checks if elements were properly replaced.
+ * Then wrong parameters are passed : invalid index and
+ * null value for replacing, and test checks for proper
+ * exceptions to be thrown. <p>
+ * In different threads it replaces elements with different
+ * objects.
+ * Has <b>OK</b> status if in the first (correct) case
+ * elements were successfully replaced (i.e. values got
+ * after replacing must be equal to those replaced with),
+ * and in the second case proper exceptions were thrown.
+ */
+ public void _replaceByIndex() {
+ boolean result = true;
+ Object old = null;
+ Object oInstance = null;
+ int Index = 0;
+
+ //get for every thread its own Object to insert it
+ log.println("get ObjRelation(\"XIndexReplaceINDEX\")");
+ String sIndex = (String)tEnv.getObjRelation("XIndexReplaceINDEX");
+ if (sIndex == null) {
+ log.println("No XIndexReplaceINDEX - so set it to 1.");
+ tEnv.addObjRelation("XIndexReplaceINDEX", Integer.toString(1));
+ Index = 1;
+ } else {
+ Index = Integer.parseInt(sIndex);
+ Index++;
+ tEnv.addObjRelation("XIndexReplaceINDEX", Integer.toString(Index));
+ }
+
+
+ log.println("get ObjRelation(\"INSTANCE" + Index +"\")");
+ oInstance = tEnv.getObjRelation("INSTANCE"+ Index);
+ if (oInstance == null) {
+ log.println("ObjRelation(\"INSTANCE" + Index +"\") Object n.a.");
+ }
+
+ log.println("testing replaceByIndex(0)...");
+
+ try {
+
+ log.println("Getting old object");
+ old = oObj.getByIndex(0);
+ oObj.replaceByIndex(0, oInstance);
+ result = !(oObj.getByIndex(0)).equals(old);
+ result = ! ValueComparer.equalValue(oObj,old);
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log) ;
+ result = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ result = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ result = false;
+ }
+
+
+ log.println("replace with a wrong Object occurs Exceptions ...");
+ try {
+ oObj.replaceByIndex(999, oInstance);
+ result = false;
+ log.println("1. replaceByIndex(): Exception expected! - FAILED");
+
+
+ XNameContainer xNC = UnoRuntime.queryInterface(XNameContainer.class, oObj) ;
+ String[] names = xNC.getElementNames() ;
+ log.println("Element names :") ;
+ for (int i = 0; i<names.length; i++) {
+ log.println(" '" + names[i] + "'") ;
+ }
+ } catch (IndexOutOfBoundsException e) {
+ log.println("1. replaceByIndex(): Expected exception - OK");
+ result &= true;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ log.println("1. replaceByIndex(): Unexpected exception! - " +
+ e + " - FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("1. replaceByIndex(): Unexpected exception! - " +
+ e + " - FAILED");
+ }
+
+ log.println("replace with a wrong Object occurs Exceptions ...");
+ try {
+ oObj.replaceByIndex(0, null);
+ result = false;
+ log.println("2. replaceByIndex(): Exception expected! - FAILED");
+
+
+ XNameContainer xNC = UnoRuntime.queryInterface(XNameContainer.class, oObj) ;
+ String[] names = xNC.getElementNames() ;
+ log.println("Element names :") ;
+ for (int i = 0; i<names.length; i++) {
+ log.println(" '" + names[i] + "'") ;
+ }
+ } catch (IllegalArgumentException e) {
+ log.println("2. replaceByIndex(): Expected exception - OK");
+ result &= true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("2. replaceByIndex(): Unexpected exception! - " +
+ e + " - FAILED");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ result = false;
+ log.println("2. replaceByIndex(): Unexpected exception! - " +
+ e + " - FAILED");
+ }
+
+ log.println("replace with the old object");
+ try {
+ oObj.replaceByIndex(0, old);
+ } catch (IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log) ;
+ }
+
+ tRes.tested("replaceByIndex()", result);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XNameAccess.java b/qadevOOo/tests/java/ifc/container/_XNameAccess.java
new file mode 100644
index 000000000..765fb8fcd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XNameAccess.java
@@ -0,0 +1,149 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameAccess;
+
+/**
+* Testing <code>com.sun.star.container.XNameAccess</code> interface methods. <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+*/
+public class _XNameAccess extends MultiMethodTest {
+ public XNameAccess oObj = null;
+ public String[] Names = null;
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * not null value and no exceptions were thrown. <p>
+ */
+ public void _getElementNames() {
+ boolean result = true;
+ log.println("getting elements names");
+ Names = oObj.getElementNames();
+
+ result = (Names != null);
+ tRes.tested("getElementNames()", result);
+ } // end getElementNames()
+
+ /**
+ * First test calls the method with existing element name,
+ * then with non existing. <p>
+ * Has <b> OK </b> status if in the first case the method returns
+ * true and in the second - false. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getElementNames </code> : to retrieve at least one
+ * element name. </li>
+ * </ul>
+ */
+ public void _hasByName() {
+ requiredMethod("getElementNames()");
+ log.println("testing hasByName() ...");
+
+ boolean result = true;
+ boolean loc_result = true;
+
+ String name = null;
+
+ if (Names.length != 0) {
+ name = Names[0];
+ log.println("testing hasByName() with valid name '" + name + "'");
+ loc_result = oObj.hasByName(name);
+ log.println("hasByName with valid names: " + loc_result);
+ result &= loc_result;
+ }
+
+ name = "non_existent_name__1234";
+ log.println("testing hasByName() with invalid name");
+ try {
+ loc_result = !oObj.hasByName(name);
+ } catch ( Exception nsee) {
+ log.println("Expected exception was thrown");
+ }
+ log.println("hasByName with invalid names: " + loc_result);
+ result &= loc_result;
+
+ tRes.tested("hasByName()", result);
+ } // end hasByName()
+
+
+ /**
+ * First test calls the method with existing element name,
+ * then with non existing. <p>
+ * Has <b> OK </b> status if in the first case the method returns
+ * not null value and no exceptions were thrown,
+ * and in the second case <code>NoSuchElementException</code> was
+ * thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getElementNames </code> : to retrieve at least one
+ * element name. </li>
+ * </ul>
+ */
+ public void _getByName() {
+ log.println("require getElementNames() ...");
+ requiredMethod("getElementNames()");
+ log.println("require getElementNames() ...OK");
+ log.println("testing getByName() ...");
+
+ boolean result = true;
+ boolean loc_result = true;
+
+ String name = null;
+
+ if (Names.length != 0) {
+ name = Names[0];
+ log.println("testing with valid name '" + name + "'");
+ try {
+ loc_result = (null != oObj.getByName(name));
+ } catch (Exception e) {
+ log.println("Exception! - FAILED");
+ log.println(e.toString());
+ loc_result = false;
+ }
+ log.println("getByName with valid name: " + loc_result);
+ result &= loc_result;
+ }
+
+ log.println("testing with non-existent name");
+ name = "non_existent_name__1234";
+ try {
+ loc_result = (null != oObj.getByName(name));
+ loc_result = false;
+ log.println("getByName: Exception expected - FAILED");
+ } catch (NoSuchElementException e) {
+ log.println("getByName: Expected exception - OK");
+ loc_result = true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("getByName: Wrong exception - " + e + " - FAILED");
+ loc_result = false;
+ }
+
+ result &= loc_result;
+ tRes.tested("getByName()", result);
+ } // end getByName()
+} /// finished class _XNameAccess
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XNameContainer.java b/qadevOOo/tests/java/ifc/container/_XNameContainer.java
new file mode 100644
index 000000000..45a1b2c92
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XNameContainer.java
@@ -0,0 +1,245 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameContainer;
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+/**
+* Testing <code>com.sun.star.container.XNameContainer</code>
+* interface methods :
+* <ul>
+* <li><code> insertByName()</code></li>
+* <li><code> removeByName()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> : N relations
+* which represents objects to be inserted. See below
+* for more information.</li>
+* <li> <code>'XNameContainerINDEX'</code> : For internal test
+* usage. Contains current thread number. </li>
+* <li> <code>'XNameContainer.AllowDuplicateNames'</code> <b>optional</b>:
+* if this relation exists then container elements can have duplicate
+* names. </li>
+* <li> Test environment variable <code>'THRCNT'</code> : number
+* of interface threads running concurrently. </li>
+* <ul> <p>
+* XNameContainer needs n ObjectRelations "INSTANCEn" , where n=1, ..., THRCNT.
+*
+* When this interface tested by different threads, it must use different
+* instances to insert/remove - one for each thread.
+*
+* That's why we use objRelation "XNameContainerINDEX" to store the number of
+* last taken instance. If there is no such relation, it initialize with 1.
+*
+* If you insert the same Object by insertByName() several times you
+* don't insert the Object several times. The first insertByName() inserts
+* the Object to the Container but all other insertByName() changes
+* the Name in the Container because it's the same Object.
+* @see com.sun.star.container.XNameContainer
+*/
+
+public class _XNameContainer extends MultiMethodTest {
+ public XNameContainer oObj = null;
+ String Name = "XNameContainer";
+
+ /**
+ * First inserts object by name (different objects for different threads)
+ * and checks if it exists. Second, if duplicate names are not allowed
+ * test tries to insert element with the same name and checks for
+ * proper exception. Third, tries to add <code>null</code> element and
+ * checks for proper exception. <p>
+ * Has <b>OK</b> status if in the first case element added exists in
+ * the container, in the second case <code>ElementExistException</code>
+ * is thrown, and in the third case <code>IllegalArgumentException</code>
+ * is thrown.
+ */
+ public void _insertByName() {
+ boolean result = true;
+ int Index = 0;
+
+ //get for every thread its own Object to insert it
+ log.println("get ObjRelation(\"XNameContainerINDEX\")");
+ String sIndex = null ;
+ synchronized (tEnv) {
+ sIndex = (String)tEnv.getObjRelation("XNameContainerINDEX");
+ if (sIndex == null) {
+ log.println("No XNameContainerINDEX - so set it to 1.");
+ tEnv.addObjRelation("XNameContainerINDEX",Integer.toString(1));
+ Index = 1;
+ } else {
+ Index = Integer.parseInt(sIndex);
+ Index++;
+ tEnv.addObjRelation("XNameContainerINDEX",
+ Integer.toString(Index));
+ }
+ }
+ Name += Index ;
+
+ log.println("get ObjRelation(\"INSTANCE" + Index +"\")");
+ Object oInstance = tEnv.getObjRelation("INSTANCE"+ Index);
+ log.println("ObjRelation(\"INSTANCE" + Index +"\") Object n.a.");
+
+ log.println("testing insertByName(\""+Name+"\")...");
+ try {
+ String[] names = oObj.getElementNames() ;
+ log.println("Element names :") ;
+ for (int i = 0; i<names.length; i++) {
+ log.println(" '" + names[i] + "'") ;
+ }
+
+ oObj.insertByName(Name, oInstance);
+
+ names = oObj.getElementNames() ;
+ log.println("Element names :") ;
+ for (int i = 0; i<names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+
+ result &= oObj.hasByName(Name) ;
+ log.println("insertByName(\""+Name+"\")...OK");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("insertByName(\""+Name+"\"): " + e + " FALSE");
+ result = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("insertByName(\""+Name+"\"): " + e + " FALSE");
+ result = false;
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("insertByName(\""+Name+"\"): " + e + " FALSE");
+ result = false;
+ }
+
+ // if duplicate names is not allowed test for valid exception
+ if (tEnv.getObjRelation("XNameContainer.AllowDuplicateNames")==null) {
+ Object secondInstance = tEnv.getObjRelation("SecondInstance");
+ if (secondInstance != null) {
+ oInstance = secondInstance;
+ }
+ log.println("Trying to add element with the same name ...") ;
+ try {
+ oObj.insertByName(Name, oInstance);
+ result = false ;
+ log.println("!!! No exception were thrown !!!");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("!!! Wrong exception : " + e + " FALSE");
+ result = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("!!! Wrong exception : " + e + " FALSE");
+ result = false;
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("Right exception : " + e + " OK");
+ }
+ }
+
+ log.println("inserting a wrong Object occurs Exceptions ...");
+ try {
+ Object dummy = null;
+ oObj.insertByName("Dummy", dummy);
+ log.println("No Exception: -> FALSE");
+ result = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Dummy-Exception: " + e + " -> OK");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("!!! This exception not expected: " +e+ " -> FAILED");
+ result = false;
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("!!! This exception not expected: " +e+ " -> FAILED");
+ result = false;
+ }
+
+ tRes.tested("insertByName()", result);
+
+ } // end insertByName()
+
+ /**
+ * Test removes element inserted before and checks if element
+ * still exists in the container. Second test tries to remove
+ * element with non-existing name and checks for proper exception. <p>
+ * Has <b> OK </b> status if in the first case element doesn't
+ * exist anymore (or duplicate names are allowed), and in the
+ * second case <code>NoSuchElementException</code> is thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertByName() </code> : to remove the element inserted
+ * in this test. </li>
+ * </ul>
+ */
+ public void _removeByName() {
+ try {
+ requiredMethod("insertByName()");
+ } catch (StatusException e) {
+ // removing the name anywhere
+ try {
+ oObj.removeByName(Name);
+ } catch (com.sun.star.container.NoSuchElementException e1) {
+ } catch (com.sun.star.lang.WrappedTargetException e1) {
+ }
+ }
+
+ boolean result = true;
+
+ log.println("testing removeByName() ...");
+
+ try {
+ log.println("remove " + Name);
+ String[] names = oObj.getElementNames() ;
+ log.println("Element names :") ;
+ for (int i = 0; i<names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+ oObj.removeByName(Name);
+ boolean loc_res = !oObj.hasByName(Name) || tEnv.getObjRelation
+ ("XNameContainer.AllowDuplicateNames") != null ;
+ result &= loc_res ;
+ if (loc_res)
+ log.println("1. removeByName(\""+Name+"\") ...OK");
+ else
+ log.println("1. !!! Container still has element with name "
+ + Name) ;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("1. removeByName:(\""+Name+"\") " + e + " - FAILED");
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ log.println("1. removeByName:(\""+Name+"\") " + e + " - FAILED");
+ }
+
+ log.println("removing a non existent object to get an exception");
+ try {
+ oObj.removeByName(Name+ " dummy");
+ result = false;
+ log.println("2. removeByName(): Exception expected! - FAILED");
+ } catch (NoSuchElementException e) {
+ log.println("2. removeByName(): Expected exception - OK");
+ result &= true;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ log.println("2. removeByName(): Unexpected exception! - " +
+ e + " - FAILED");
+ }
+
+ tRes.tested("removeByName()", result);
+ } // end removeByName()
+} //XNameContainer
+
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XNameReplace.java b/qadevOOo/tests/java/ifc/container/_XNameReplace.java
new file mode 100644
index 000000000..d0ca70971
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XNameReplace.java
@@ -0,0 +1,216 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import com.sun.star.sheet.XCellRangeAddressable;
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameReplace;
+import com.sun.star.uno.UnoRuntime;
+/**
+* Testing <code>com.sun.star.container.XNameReplace</code>
+* interface methods :
+* <ul>
+* <li><code> replaceByName()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> : N relations
+* which represents objects to be replaced with. See below
+* for more information.</li>
+* <li> <code>'NAMEREPLACE'</code> <b>optional</b>: <code>String</code>
+* relation which represents element name to be replaced.
+* Some Objects can't replace the first that comes along, i.e.
+* SwXStyleFamily. It has some pool styles which can't be replaced.
+* So the test need a special object to replace it by name. </li>
+* <li> <code>'XNameReplaceINDEX'</code> : For internal test
+* usage. Contains current thread number. </li>
+* <li> Test environment variable <code>'THRCNT'</code> : number
+* of interface threads running concurrently. </li>
+* <ul> <p>
+* XNameReplace needs n ObjectRelations "INSTANCEn" , where n = 1, ..., THRCNT.
+* <p>
+* When this interface tested by different threads, it must use different instances
+* to replace - one for each thread.
+* <p>
+* That's why we use objRelation "XNameReplaceINDEX" to store the number of last
+* taken instance. If there is no such relation, it initialize with 1.
+* <p>
+* In one of the last steps the replaced object will be compared with the old
+* object. For that it is necessary that every thread replace its own object.
+* INSTANCEn are n Objectrelations so that every thread can insert its own
+* object. n depends on the variable THRCNT which and comes from API.INI
+* Some Object-Container can't replace the first that comes belong. So in
+* NAMEREPLACE you can determine a container object, which is replaceable. <p>
+*
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.container.XNameReplace
+*/
+public class _XNameReplace extends MultiMethodTest {
+
+ public XNameReplace oObj = null;
+
+ /**
+ * First test retrieves instance to be replaced with for each interface thread.
+ * Then list of element names is retrieved, the first of them will
+ * be replaced. In special case when <code>'NAMEREPLACE'</code> relation
+ * exists, element with the specified name is replaced.
+ * Test replaces element and checks values of element with the
+ * specified name before and after replacement. <p>
+ * Has <b>OK</b> status if values before and after replacement are
+ * different.
+ */
+ public void _replaceByName(){
+ boolean result = true;
+ String[] oNames = null;
+
+ int Index = 0;
+
+ //get for every thread its own Object to insert it
+ log.println("get ObjRelation(\"XNameReplaceINDEX\")");
+ String sIndex = (String)tEnv.getObjRelation("XNameReplaceINDEX");
+ System.out.println("Index: "+sIndex);
+ if (sIndex == null) {
+ log.println("No XNameReplaceINDEX - so set it to 1.");
+ tEnv.addObjRelation("XNameReplaceINDEX", Integer.toString(1));
+ Index = 1;
+ } else {
+ Index = Integer.parseInt(sIndex);
+ Index++;
+ tEnv.addObjRelation("XNameReplaceINDEX", Integer.toString(Index));
+ }
+
+ log.println("get ObjRelation(\"INSTANCE" + Index +"\")");
+ Object oInstance = tEnv.getObjRelation("INSTANCE"+ Index);
+ if (oInstance == null) {
+ log.println("ObjRelation(\"INSTANCE" + Index +"\") Object n.a.");
+ }
+
+ log.println("getting the existing object's name");
+ XNameAccess oNameAccess = UnoRuntime.queryInterface(
+ XNameAccess.class, oObj);
+ oNames = oNameAccess.getElementNames();
+ /* Some Objects can't replace the first that comes along, i.e.
+ SwXStyleFamily. It has some pool styles which can't be replaced.
+ So the test need a special object to replace it by name.
+ */
+ log.println("get ObjRelation(\"NAMEREPLACE\")");
+ Object oNameReplace = tEnv.getObjRelation("NAMEREPLACE");
+ if (oNameReplace != null) {
+ oNames[0] = oNameReplace.toString();
+ }
+
+ log.println("replaceByName()");
+ try {
+ boolean ok;
+ log.println("get current object '" + oNames[0] + "'");
+ Object old = oObj.getByName(oNames[0]) ;
+ log.println("replace object '" + oNames[0] + "' with another instance");
+ oObj.replaceByName(oNames[0],oInstance);
+ Object newEl = oObj.getByName(oNames[0]) ;
+
+ if (tEnv.getTestCase().getObjectName().equals("ScCellRangesObj")) {
+ ok = compareRanges(old, newEl);
+ } else {
+ ok = ! ValueComparer.equalValue(old, newEl);
+ }
+ result &= ok;
+ log.println("result of replace: " + ok);
+ log.println("replace back the old object");
+ oObj.replaceByName(oNames[0],old);
+ Object origEl = oObj.getByName(oNames[0]) ;
+
+ if (tEnv.getTestCase().getObjectName().equals("ScCellRangesObj")) {
+ ok = ! compareRanges(old, origEl);
+ } else {
+ ok = ValueComparer.equalValue(old, origEl);
+ }
+
+ result &= ok;
+ log.println("result of replace back: " + ok);
+ } catch (com.sun.star.lang.IllegalArgumentException e ) {
+ result = false;
+ e.printStackTrace(log) ;
+ } catch (com.sun.star.container.NoSuchElementException e ) {
+ result = false;
+ e.printStackTrace(log) ;
+ } catch (com.sun.star.lang.WrappedTargetException e ) {
+ result = false;
+ e.printStackTrace(log) ;
+ }
+
+ tRes.tested("replaceByName()", result);
+
+ } // end replaceByName()
+
+ /**
+ * Forces object environment recreation.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+ // method returns false if the ranges are equal and true otherwise
+
+ private boolean compareRanges(Object old, Object newEl) {
+ XCellRangeAddressable xCRA = UnoRuntime.queryInterface(XCellRangeAddressable.class,old);
+
+ XCellRangeAddressable xCRA2 = UnoRuntime.queryInterface(XCellRangeAddressable.class,newEl);
+
+ int orgStartCol = xCRA.getRangeAddress().StartColumn;
+ int orgEndCol = xCRA.getRangeAddress().EndColumn;
+ int orgStartRow = xCRA.getRangeAddress().StartRow;
+ int orgEndRow = xCRA.getRangeAddress().EndRow;
+
+ int newStartCol = xCRA2.getRangeAddress().StartColumn;
+ int newEndCol = xCRA2.getRangeAddress().EndColumn;
+ int newStartRow = xCRA2.getRangeAddress().StartRow;
+ int newEndRow = xCRA2.getRangeAddress().EndRow;
+
+ boolean ret = true;
+
+ if (orgStartCol == newStartCol) {
+ log.println("\t StartColumn is the same");
+ ret = false;
+ }
+
+ if (orgEndCol == newEndCol) {
+ log.println("\t EndColumn is the same");
+ ret = false;
+ }
+ if (orgStartRow == newStartRow) {
+ log.println("\t StartRow is the same");
+ ret = false;
+ }
+
+ if (orgEndRow == newEndRow) {
+ log.println("\t EndRow is the same");
+ ret = false;
+ }
+
+ return ret;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/container/_XNamed.java b/qadevOOo/tests/java/ifc/container/_XNamed.java
new file mode 100644
index 000000000..054306f40
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XNamed.java
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.container;
+
+import com.sun.star.container.XNamed;
+
+import lib.MultiMethodTest;
+
+import util.utils;
+
+
+/**
+* Testing <code>com.sun.star.container.XNamed</code>
+* interface methods :
+* <ul>
+* <li><code> getName()</code></li>
+* <li><code> setName()</code></li>
+* </ul>
+* This test need the following object relations :
+* <ul>
+* <li> <code>'setName'</code> : of <code>Boolean</code>
+* type. If it exists then <code>setName</code> method
+* isn't to be tested and result of this test will be
+* equal to relation value.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.container.XNamed
+*/
+public class _XNamed extends MultiMethodTest {
+ public XNamed oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method returns non null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getName() {
+ // write to log what we try next
+ log.println("test for getName()");
+
+ boolean result = true;
+ boolean loc_result = true;
+ String name = null;
+
+ loc_result = ((name = oObj.getName()) != null);
+ log.println("getting the name \"" + name + "\"");
+
+ if (loc_result) {
+ log.println("... getName() - OK");
+ } else {
+ log.println("... getName() - FAILED");
+ }
+
+ result &= loc_result;
+ tRes.tested("getName()", result);
+ }
+
+ /**
+ * Sets a new name for object and checks if it was properly
+ * set. Special cases for the following objects :
+ * <ul>
+ * <li><code>ScSheetLinkObj</code> : name must be in form of URL.</li>
+ * <li><code>ScDDELinkObj</code> : name must contain link to cell in
+ * some external Sheet.</li>
+ * </ul>
+ * Has <b> OK </b> status if new name was successfully set, or if
+ * object environment contains relation <code>'setName'</code> with
+ * value <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getName() </code> : to be sure the method works</li>
+ * </ul>
+ */
+ public void _setName() {
+ String Oname = tEnv.getTestCase().getObjectName();
+ String nsn = (String) tEnv.getObjRelation("NoSetName");
+
+ if (nsn != null) {
+ Oname = nsn;
+ }
+
+ if ((Oname.indexOf("Exporter") > 0) || (nsn != null)) {
+ log.println("With " + Oname + " setName() doesn't work");
+ log.println("see idl-file for further information");
+ tRes.tested("setName()", true);
+
+ return;
+ }
+
+ requiredMethod("getName()");
+ log.println("testing setName() ... ");
+
+ String oldName = oObj.getName();
+ String NewName = (oldName == null) ? "XNamed" : oldName + "X";
+
+ String testobjname = tEnv.getTestCase().getObjectName();
+
+ if (testobjname.equals("ScSheetLinkObj")) {
+ // special case, here name is equals to links URL.
+ NewName = "file:///c:/somename/from/XNamed";
+ } else if (testobjname.equals("ScDDELinkObj")) {
+ String fileName = utils.getFullTestDocName("ScDDELinksObj.ods");
+ NewName = "soffice|" + fileName + "!Sheet1.A2";
+ } else if (testobjname.equals("SwXAutoTextGroup")) {
+ //This avoids a GPF
+ NewName = "XNamed*1";
+ }
+
+ boolean result = true;
+ boolean loc_result = true;
+ Boolean sName = (Boolean) tEnv.getObjRelation("setName");
+
+ if (sName == null) {
+ log.println("set the name of object to \"" + NewName + "\"");
+ oObj.setName(NewName);
+ log.println("check that container has element with this name");
+
+ String name = oObj.getName();
+ log.println("getting the name \"" + name + "\"");
+ loc_result = name.equals(NewName);
+
+ if (loc_result) {
+ log.println("... setName() - OK");
+ } else {
+ log.println("... setName() - FAILED");
+ }
+
+ result &= loc_result;
+ oObj.setName(oldName);
+ } else {
+ log.println("The names for the object '" + testobjname +
+ "' are fixed.");
+ log.println("It is not possible to rename.");
+ log.println("So 'setName()' is always OK");
+ result = sName.booleanValue();
+ }
+
+ tRes.tested("setName()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/container/_XSet.java b/qadevOOo/tests/java/ifc/container/_XSet.java
new file mode 100644
index 000000000..743a894f5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/container/_XSet.java
@@ -0,0 +1,141 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.container;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XSet;
+import com.sun.star.lang.XMultiServiceFactory;
+
+/**
+* Testing <code>com.sun.star.container.XSet</code>
+* interface methods :
+* <ul>
+* <li><code> has()</code></li>
+* <li><code> insert()</code></li>
+* <li><code> remove()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.container.XSet
+*/
+public class _XSet extends MultiMethodTest {
+
+ public static XSet oObj = null;
+
+ private Object element = null ;
+ private boolean hasResult = true ;
+
+ /**
+ * Inserts the element stored and removed before. <p>
+ * Has <b> OK </b> status if <code>has()</code> method returns
+ * <code>true</code>.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> remove() </code> : element from set is stored and
+ * removed </li>
+ * </ul>
+ */
+ public void _insert() {
+ boolean res = true ;
+ try {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ element = xMSF.createInstance(
+ "com.sun.star.reflection.TypeDescriptionProvider");
+
+
+ oObj.insert(element) ;
+
+ if (!oObj.has(element)) {
+ res = false ;
+ log.println("After adding element method has()" +
+ " returned false") ;
+ hasResult = false ;
+ }
+ } catch (com.sun.star.container.ElementExistException e) {
+ e.printStackTrace(log) ;
+ res = false ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ res = false ;
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("insert()", res) ;
+ }
+
+ /**
+ * Through <code>XEnumeration</code> interface an element from the set
+ * is retrieved. Then this element removed.<p>
+ * Has <b> OK </b> status if after removing <code>has()</code> method
+ * returns false.
+ */
+ public void _remove() {
+ requiredMethod("insert()");
+ boolean res = true ;
+
+ try {
+
+ // get an element to be removed/inserted
+
+ oObj.remove(element) ;
+
+ if (oObj.has(element)) {
+ res = false ;
+ log.println("After removing element method has()" +
+ " returned true") ;
+ hasResult = false ;
+ }
+
+
+
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log) ;
+ res = false ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log) ;
+ res = false ;
+ }
+
+ tRes.tested("remove()", res) ;
+ }
+
+ /**
+ * Does nothing. Testing performed in previous methods.<p>
+ * Has <b> OK </b> status if after <code>remove()</code> call
+ * methods returned <code>false</code>, and after <code>remove()</code>
+ * call methods returned <code>true</code>.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insert() </code> : here the method is checked </li>
+ * <li> <code> remove() </code> : here the method is checked </li>
+ * </ul>
+ */
+ public void _has() {
+
+ requiredMethod("insert()") ;
+ requiredMethod("remove()") ;
+
+ tRes.tested("has()", hasResult) ;
+ }
+
+} // finished class _XSet
+
diff --git a/qadevOOo/tests/java/ifc/datatransfer/_XDataFormatTranslator.java b/qadevOOo/tests/java/ifc/datatransfer/_XDataFormatTranslator.java
new file mode 100644
index 000000000..93213a0d8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/_XDataFormatTranslator.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.datatransfer;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.datatransfer.DataFlavor;
+import com.sun.star.datatransfer.XDataFormatTranslator;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.datatransfer.XDataFormatTranslator</code>
+* interface methods :
+* <ul>
+* <li><code> getSystemDataTypeFromDataFlavor()</code></li>
+* <li><code> getDataFlavorFromSystemDataType()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.datatransfer.XDataFormatTranslator
+*/
+public class _XDataFormatTranslator extends MultiMethodTest {
+
+ public XDataFormatTranslator oObj = null;
+
+ /**
+ * Get a system data type for 'text/html' MIME type. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned.
+ */
+ public void _getSystemDataTypeFromDataFlavor() {
+ DataFlavor df = new DataFlavor
+ ("text/html","HTML-Documents", new Type());
+ Object res = oObj.getSystemDataTypeFromDataFlavor(df);
+ tRes.tested("getSystemDataTypeFromDataFlavor()",res != null);
+ }
+
+ /**
+ * Gets data flavor from system data type, which was gotten
+ * from 'text/html' MIME type. <p>
+ * Has <b>OK</b> status if DataFlavour returned has 'text/html' MIME
+ * type.
+ */
+ public void _getDataFlavorFromSystemDataType() {
+ DataFlavor in = new DataFlavor
+ ("text/html","HTML-Documents", new Type());
+ Object res = oObj.getSystemDataTypeFromDataFlavor(in);
+ DataFlavor out = oObj.getDataFlavorFromSystemDataType(res);
+ tRes.tested("getDataFlavorFromSystemDataType()",
+ out.MimeType.equals("text/html"));
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/datatransfer/_XMimeContentTypeFactory.java b/qadevOOo/tests/java/ifc/datatransfer/_XMimeContentTypeFactory.java
new file mode 100644
index 000000000..18b6e9102
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/_XMimeContentTypeFactory.java
@@ -0,0 +1,88 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.datatransfer;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.datatransfer.XMimeContentType;
+import com.sun.star.datatransfer.XMimeContentTypeFactory;
+
+/**
+* Testing <code>com.sun.star.datatransfer.XMimeContentTypeFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createMimeContentType()</code></li>
+* </ul> <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.datatransfer.XMimeContentTypeFactory
+*/
+public class _XMimeContentTypeFactory extends MultiMethodTest {
+
+ public XMimeContentTypeFactory oObj = null;
+
+ /**
+ * First tries to create 'image/jpeg' MIME type and checks that
+ * valid <code>XMimeContentType</code> object was created.
+ * Second tries to create type with wrong argument and exception
+ * throwing is checked. <p>
+ * Has <b>OK</b> status if in the first case valid object is
+ * returned and in the second case <code>IllegalArgumentException</code>
+ * was thrown.
+ */
+ public void _createMimeContentType() {
+ boolean result = true ;
+ XMimeContentType type = null;
+
+ try {
+ type = oObj.createMimeContentType("image/jpeg") ;
+
+ if (type != null) {
+ String typeS = type.getFullMediaType() ;
+
+ log.println("MediaType = '" + type.getMediaType() + "'") ;
+ log.println("MediaSubType = '" + type.getMediaSubtype() + "'") ;
+ log.println("FullMediaType = '" + typeS + "'") ;
+
+ result = "image/jpeg".equals(typeS) ;
+ } else {
+ log.println("!!! Null was returned !!!") ;
+ result = false ;
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred : " ) ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ if (result == true) {
+ try {
+ oObj.createMimeContentType("nosuchtype") ;
+
+ log.println("!!! No exception was thrown on wrong MIME type !!!") ;
+ result = false ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Right exception was thrown." ) ;
+ }
+ }
+
+ tRes.tested("createMimeContentType()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboard.java b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboard.java
new file mode 100644
index 000000000..95606a684
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboard.java
@@ -0,0 +1,131 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.datatransfer.clipboard;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.datatransfer.DataFlavor;
+import com.sun.star.datatransfer.XTransferable;
+import com.sun.star.datatransfer.clipboard.XClipboard;
+import com.sun.star.datatransfer.clipboard.XClipboardOwner;
+
+/**
+* Testing <code>com.sun.star.datatransfer.clipboard.XClipboard</code>
+* interface methods :
+* <ul>
+* <li><code> getContents()</code></li>
+* <li><code> setContents()</code></li>
+* <li><code> getName()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.datatransfer.clipboard.XClipboard
+*/
+public class _XClipboard extends MultiMethodTest {
+
+ public XClipboard oObj;
+
+ MyTransferable myTransferable1;
+ MyTransferable myTransferable2;
+
+ /**
+ * <code>XClipboardOwner</code> interface implementation which
+ * stores parameters passed to <code>lostOwnership</code> method.
+ */
+ static class MyOwner implements XClipboardOwner {
+
+ public void lostOwnership(XClipboard board, XTransferable contents) {
+ }
+
+ }
+
+ /**
+ * Simplest <code>XTransferable</code> interface implementation.
+ */
+ static class MyTransferable implements XTransferable {
+ public Object getTransferData(DataFlavor dataFlavor) {
+ return "";
+ }
+
+ public com.sun.star.datatransfer.DataFlavor[] getTransferDataFlavors() {
+ return new DataFlavor[0];
+ }
+
+ public boolean isDataFlavorSupported(DataFlavor dataFlavor) {
+ return false;
+ }
+
+ }
+
+ /**
+ * Initially sets the content of the clipboard.
+ */
+ @Override
+ public void before() {
+ oObj.setContents(myTransferable1 = new MyTransferable(), new MyOwner());
+ }
+
+ /**
+ * Gets the name of the clipboard. <p>
+ * Has <b>OK</b> status if not <code>null</code> value returned.
+ */
+ public void _getName() {
+ String name = oObj.getName();
+ tRes.tested("getName()", name != null);
+ }
+
+ /**
+ * Gets the contents of the clipboard. <p>
+ * Has <b>OK</b> status if the content obtained is equal to content
+ * set in <code>before</code> method.
+ */
+ public void _getContents() {
+ tRes.tested("getContents()", oObj.getContents() == myTransferable1);
+ }
+
+ /**
+ * Sets new contents for the clipboard. Then checks if it was set,
+ * and if <code>lostOwnership()</code> notification of the previous
+ * contents was called with appropriate parameters.<p>
+ * Has <b> OK </b> status if <code>getContents</code> returns the same
+ * object which is set, and notification was received.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getContents() </code> : for right testing order </li>
+ * </ul>
+ */
+ public void _setContents() {
+ requiredMethod("getContents()");
+ myTransferable2 = new MyTransferable();
+
+ oObj.setContents(myTransferable2, new MyOwner());
+
+ log.println("sleeping for 1 second");
+
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ log.println("interrupted");
+ e.printStackTrace(log);
+ throw new StatusException("Operation interrupted", e);
+ }
+
+ tRes.tested("setContents()", oObj.getContents() == myTransferable2);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardEx.java b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardEx.java
new file mode 100644
index 000000000..ecd39fe1b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardEx.java
@@ -0,0 +1,46 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.datatransfer.clipboard;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.datatransfer.clipboard.XClipboardEx;
+
+/**
+* Testing <code>com.sun.star.datatransfer.clipboard.XClipboardEx</code>
+* interface methods :
+* <ul>
+* <li><code> getRenderingCapabilities()</code></li>
+* </ul> <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.datatransfer.clipboard.XClipboardEx
+*/
+public class _XClipboardEx extends MultiMethodTest {
+
+ public XClipboardEx oObj;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _getRenderingCapabilities() {
+ oObj.getRenderingCapabilities();
+ tRes.tested("getRenderingCapabilities()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardNotifier.java b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardNotifier.java
new file mode 100644
index 000000000..b26e89333
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XClipboardNotifier.java
@@ -0,0 +1,162 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.datatransfer.clipboard;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.datatransfer.DataFlavor;
+import com.sun.star.datatransfer.XTransferable;
+import com.sun.star.datatransfer.clipboard.ClipboardEvent;
+import com.sun.star.datatransfer.clipboard.XClipboard;
+import com.sun.star.datatransfer.clipboard.XClipboardListener;
+import com.sun.star.datatransfer.clipboard.XClipboardNotifier;
+import com.sun.star.datatransfer.clipboard.XClipboardOwner;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.datatransfer.clipboard.XClipboardNotifier</code>
+* interface methods :
+* <ul>
+* <li><code> addClipboardListener()</code></li>
+* <li><code> removeClipboardListener()</code></li>
+* </ul> <p>
+* The object <b>must also implement</b> <code>XClipboard</code>
+* interface. <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.datatransfer.clipboard.XClipboardNotifier
+* @see com.sun.star.datatransfer.clipboard.XClipboard
+*/
+public class _XClipboardNotifier extends MultiMethodTest {
+
+ public XClipboardNotifier oObj;
+
+ /**
+ * <code>XClipboardOwner</code> interface implementation which
+ * stores parameters passed to <code>lostOwnership</code> method.
+ */
+ static class MyOwner implements XClipboardOwner {
+
+ public void lostOwnership(XClipboard board, XTransferable contents) {
+ }
+ }
+
+ /**
+ * Simplest <code>XTransferable</code> interface implementation
+ * which supports "text/html" data type.
+ */
+ static class MyTransferable implements XTransferable {
+ DataFlavor[] supportedFlavors;
+
+ public MyTransferable() {
+ supportedFlavors = new DataFlavor[] {
+ new DataFlavor("text/plain", "Plain text", new Type(String.class))
+ };
+ }
+
+ public Object getTransferData(DataFlavor dataFlavor) {
+ return "";
+ }
+
+ public DataFlavor[] getTransferDataFlavors() {
+ return supportedFlavors;
+ }
+
+ public boolean isDataFlavorSupported(DataFlavor dataFlavor) {
+ return supportedFlavors[0].MimeType.equals(dataFlavor.MimeType);
+ }
+ }
+
+ /**
+ * Implementation of listener which registers its method calls.
+ */
+ class MyClipboardListener implements XClipboardListener {
+ boolean called = false;
+
+ public void changedContents(ClipboardEvent evt) {
+ called = true;
+ }
+
+ public void disposing(EventObject wvt) {
+ log.println("");
+ }
+ }
+
+ MyClipboardListener myListener;
+
+ /**
+ * Adds a listener and put a new contents into clipboard. <p>
+ * Has <b> OK </b> status if the listener was called on contents changing.
+ */
+ public void _addClipboardListener() {
+ oObj.addClipboardListener(myListener = new MyClipboardListener());
+
+ XClipboard board = UnoRuntime.queryInterface(
+ XClipboard.class, tEnv.getTestObject());
+
+ board.setContents(new MyTransferable(), new MyOwner());
+
+ log.println("sleeping for 1 second");
+
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ log.println("interrupted");
+ e.printStackTrace(log);
+ throw new StatusException("Operation interrupted", e);
+ }
+
+ tRes.tested("addClipboardListener()", myListener.called);
+ }
+
+ /**
+ * Removes the listener and put a new contents into clipboard. <p>
+ * Has <b> OK </b> status if the listener was not called on contents
+ * changing.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>addClipboardListener()</code> </li>
+ * </ul>
+ */
+ public void _removeClipboardListener() {
+ try {
+ requiredMethod("addClipboardListener()");
+ myListener.called = false;
+ } finally {
+ oObj.removeClipboardListener(myListener);
+ }
+
+ XClipboard board = UnoRuntime.queryInterface(
+ XClipboard.class, oObj);
+
+ board.setContents(new MyTransferable(), new MyOwner());
+
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ log.println("interrupted");
+ e.printStackTrace(log);
+ throw new StatusException("Operation interrupted", e);
+ }
+
+ tRes.tested("removeClipboardListener()", !myListener.called);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XFlushableClipboard.java b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XFlushableClipboard.java
new file mode 100644
index 000000000..2af4554c7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/datatransfer/clipboard/_XFlushableClipboard.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.datatransfer.clipboard;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.datatransfer.clipboard.XFlushableClipboard;
+
+/**
+* Testing <code>com.sun.star.datatransfer.clipboard.XFlushableClipboard</code>
+* interface methods :
+* <ul>
+* <li><code> flushClipboard()</code></li>
+* </ul> <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.datatransfer.clipboard.XFlushableClipboard
+*/
+public class _XFlushableClipboard extends MultiMethodTest {
+
+ public XFlushableClipboard oObj;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _flushClipboard() {
+ oObj.flushClipboard();
+ tRes.tested("flushClipboard()",true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/document/_ExportFilter.java b/qadevOOo/tests/java/ifc/document/_ExportFilter.java
new file mode 100644
index 000000000..7fcbdb711
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_ExportFilter.java
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.document.ExportFilter</code>
+* service properties :
+* <ul>
+* <li><code> Type</code></li>
+* <li><code> UIName</code></li>
+* <li><code> DocumentService</code></li>
+* <li><code> FilterService</code></li>
+* <li><code> Flags</code></li>
+* <li><code> UserData</code></li>
+* <li><code> FileFormatVersion</code></li>
+* <li><code> TemplateName</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.document.ExportFilter
+*/
+public class _ExportFilter extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/document/_ImportFilter.java b/qadevOOo/tests/java/ifc/document/_ImportFilter.java
new file mode 100644
index 000000000..aef27e02d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_ImportFilter.java
@@ -0,0 +1,43 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+/**
+* Testing <code>com.sun.star.document.ImportFilter</code>
+* service properties :
+* <ul>
+* <li><code> Type</code></li>
+* <li><code> UIName</code></li>
+* <li><code> DocumentService</code></li>
+* <li><code> FilterService</code></li>
+* <li><code> Flags</code></li>
+* <li><code> UserData</code></li>
+* <li><code> FileFormatVersion</code></li>
+* <li><code> TemplateName</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.document.ImportFilter
+*/
+import lib.MultiPropertyTest;
+
+public class _ImportFilter extends MultiPropertyTest {
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/document/_LinkTarget.java b/qadevOOo/tests/java/ifc/document/_LinkTarget.java
new file mode 100644
index 000000000..f39c5d694
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_LinkTarget.java
@@ -0,0 +1,66 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.document.LinkTarget</code>
+* service properties :
+* <ul>
+* <li><code> LinkDisplayName </code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.document.LinkTarget
+*/
+public class _LinkTarget extends MultiPropertyTest {
+
+/*
+ public XPropertySet oObj = null; // oObj filled by MultiMethodTest
+
+ public void _LinkDisplayName() {
+ // check if Service is available
+ XServiceInfo xInfo = (XServiceInfo)
+ UnoRuntime.queryInterface(XServiceInfo.class, oObj);
+ String [] sa = xInfo.getSupportedServiceNames();
+
+ for (int i = 0; i < sa.length; i++) {
+ System.out.println(sa[i]);
+ }
+
+ if ( ! xInfo.supportsService("com.sun.star.document.LinkTarget")) {
+ log.println("Service not available !!!!!!!!!!!!!");
+ tRes.tested("Supported", false);
+ }
+ //the only property is read only
+ try {
+ String LDN = (String) oObj.getPropertyValue("LinkDisplayName");
+ tRes.tested("LinkDisplayName",LDN!=null);
+ }
+ catch (Exception ex) {
+ log.println("Exception occurred during LinkDisplayName");
+ ex.printStackTrace(log);
+ tRes.tested("LinkDisplayName",false);
+ }
+
+ }// EOF LinkDisplayName
+*/
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/document/_OfficeDocument.java b/qadevOOo/tests/java/ifc/document/_OfficeDocument.java
new file mode 100644
index 000000000..7b1c2abde
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_OfficeDocument.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.document.OfficeDocument</code>
+* service properties :
+* <ul>
+* <li><code> AutomaticControlFocus</code></li>
+* <li><code> ApplyFormDesignMode</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.document.OfficeDocument
+*/
+public class _OfficeDocument extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/document/_Settings.java b/qadevOOo/tests/java/ifc/document/_Settings.java
new file mode 100644
index 000000000..a0b0f87b6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_Settings.java
@@ -0,0 +1,160 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.document;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.i18n.XForbiddenCharacters;
+import com.sun.star.uno.UnoRuntime;
+import java.lang.reflect.Method;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+
+/*
+ * Generic test for all properties contained in this service
+ */
+public class _Settings extends MultiPropertyTest {
+
+ /**
+ * This property accepts only values in a range of 1-3
+ * @see com.sun.star.document.PrinterIndependentLayout
+ */
+ public void _PrinterIndependentLayout() {
+ try{
+ Short oldVal = (Short) oObj.getPropertyValue("PrinterIndependentLayout");
+ Short newVal = oldVal.intValue() == 1 ? Short.valueOf("3") : Short.valueOf("1");
+
+
+ testProperty("PrinterIndependentLayout", oldVal, newVal);
+
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ throw new StatusException(e, Status.failed("the property 'PrinterIndependentLayout' is unknown."));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ throw new StatusException(e, Status.failed("the property 'PrinterIndependentLayout' could not be tested."));
+ }
+ }
+
+ public void _PrinterName() {
+ Object[] oServices = null;
+ Exception ex = null;
+
+ try {
+ Class<?> cPrinterJob = Class.forName("java.awt.print.PrinterJob");
+ Method lookupMethod = cPrinterJob.getDeclaredMethod("lookupPrintServices", new Class[0]);
+ Object retValue = lookupMethod.invoke(cPrinterJob, new Object[0]);
+ oServices = (Object[])retValue;
+ }
+ catch(java.lang.ClassNotFoundException e) {
+ ex = e;
+ }
+ catch(java.lang.NoSuchMethodException e) {
+ ex = e;
+ }
+ catch(java.lang.IllegalAccessException e) {
+ ex = e;
+ }
+ catch(java.lang.reflect.InvocationTargetException e) {
+ ex = e;
+ }
+
+ if (ex != null) {
+ // get Java version:
+ String javaVersion = System.getProperty("java.version");
+ throw new StatusException(Status.failed(
+ "Cannot execute test with current Java version (Java 1.4 required) " +
+ javaVersion + ": " + ex.getMessage()));
+ }
+
+ if (oServices.length > 1) {
+ testProperty("PrinterName", getPrinterNameWithReflection(oServices[0]),
+ getPrinterNameWithReflection(oServices[1]));
+ } else {
+ log.println(
+ "checking this property needs at least two printers to be installed on your system");
+ throw new StatusException(Status.failed(
+ "only one printer installed so I can't change it"));
+ }
+ }
+
+ public void _ForbiddenCharacters() {
+ boolean res = true;
+
+ try {
+ //check if it is read only as specified
+ res &= isReadOnly("ForbiddenCharacters");
+
+ if (!isReadOnly("ForbiddenCharacters")) {
+ log.println(
+ "The Property 'ForbiddenCharacters' isn't readOnly as specified");
+ }
+
+ //check if the property has the right type
+ Object pValue = oObj.getPropertyValue("ForbiddenCharacters");
+ XForbiddenCharacters fc = UnoRuntime.queryInterface(
+ XForbiddenCharacters.class,
+ pValue);
+ res &= (fc != null);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println(
+ "Exception while checking property 'ForbiddenCharacters' " +
+ e.getMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(
+ "Exception while checking property 'ForbiddenCharacters' " +
+ e.getMessage());
+ }
+
+ tRes.tested("ForbiddenCharacters", res);
+ }
+
+ protected boolean isReadOnly(String PropertyName) {
+ boolean res = false;
+ Property[] props = oObj.getPropertySetInfo().getProperties();
+
+ for (int i = 0; i < props.length; i++) {
+ if (props[i].Name.equals(PropertyName)) {
+ res = ((props[i].Attributes & PropertyAttribute.READONLY) != 0);
+ }
+ }
+
+ return res;
+ }
+
+ private String getPrinterNameWithReflection(Object pService) {
+ String pName = null;
+ try {
+ Class<?> cPrintService = Class.forName("javax.print.PrintService");
+ Method getNameMethod = cPrintService.getDeclaredMethod("getName", new Class[0]);
+ Object retValue = getNameMethod.invoke(pService, new Object[0]);
+ pName = (String)retValue;
+ }
+ // ignore all exceptions: we already ran into one of these if Java is too old
+ catch(java.lang.ClassNotFoundException e) {
+ }
+ catch(java.lang.NoSuchMethodException e) {
+ }
+ catch(java.lang.IllegalAccessException e) {
+ }
+ catch(java.lang.reflect.InvocationTargetException e) {
+ }
+ return pName;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/document/_XActionLockable.java b/qadevOOo/tests/java/ifc/document/_XActionLockable.java
new file mode 100644
index 000000000..8276eb62a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XActionLockable.java
@@ -0,0 +1,100 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.document.XActionLockable;
+
+/**
+* Testing <code>com.sun.star.document.XActionLockable</code>
+* interface methods :
+* <ul>
+* <li><code> isActionLocked()</code></li>
+* <li><code> addActionLock()</code></li>
+* <li><code> removeActionLock()</code></li>
+* <li><code> setActionLocks()</code></li>
+* <li><code> resetActionLocks()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.document.XActionLockable
+*/
+public class _XActionLockable extends MultiMethodTest {
+ public XActionLockable oObj = null;
+
+ /**
+ * Method addActionLock called first and then
+ * checked value returned by isActionLocked().<p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * and returned value is true.
+ */
+ public void _isActionLocked() {
+ //determines if at least one lock exists
+ oObj.addActionLock();
+ boolean result = oObj.isActionLocked();
+ tRes.tested("isActionLocked()", result);
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _addActionLock() {
+ requiredMethod("resetActionLocks()");
+ oObj.addActionLock();
+ tRes.tested("addActionLock()", true);
+ }
+
+ /**
+ * Calls the method and check value returned by isActionLocked(). <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * and returned value is false.
+ */
+ public void _removeActionLock() {
+ requiredMethod("addActionLock()");
+ oObj.removeActionLock();
+ boolean result = ! oObj.isActionLocked();
+ tRes.tested("removeActionLock()", result);
+ }
+
+ /**
+ * Calls the method with specific value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _setActionLocks() {
+ oObj.setActionLocks( nLock );
+ tRes.tested("setActionLocks()", true);
+ }
+
+ static final short nLock = 8;
+
+ /**
+ * Calls the method and checks returned value.<p>
+ * Has <b> OK </b> status if the component is not currently
+ * locked and returned value is the same as locks number
+ * set by <code>setActionLocks</code> method test.
+ */
+ public void _resetActionLocks() {
+ requiredMethod("setActionLocks()");
+ short nLocksBeforeReset = oObj.resetActionLocks();
+ boolean result = !oObj.isActionLocked() && nLocksBeforeReset == nLock;
+ tRes.tested("resetActionLocks()", result);
+ }
+}// finish class _XActionLockable
+
diff --git a/qadevOOo/tests/java/ifc/document/_XDocumentInsertable.java b/qadevOOo/tests/java/ifc/document/_XDocumentInsertable.java
new file mode 100644
index 000000000..c3417118e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XDocumentInsertable.java
@@ -0,0 +1,190 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+import com.sun.star.io.IOException;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.document.XDocumentInsertable;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.document.XDocumentInsertable</code>
+* interface methods :
+* <ul>
+* <li><code> insertDocumentFromURL()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDocumentInsertable.Checker'</code>
+* (of type <code>_XDocumentInsertable.InsertChecker</code>)
+* <b> optional </b> :
+* relation for checking if document was inserted properly and
+* for obtaining document file name. For details see the class
+* description. If the relation doesn't exist default document
+* name is used, and <code>XTextRange</code> interface of
+* component is used for checking.</li>
+* <ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>XDocumentInsertable.sxw</code> : StarWriter document
+* which content started with 'XDocumentInsertable test.' string.
+* The file is needed if no other file name specified by relation.
+* </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.document.XDocumentInsertable
+*/
+public class _XDocumentInsertable extends MultiMethodTest {
+
+ public XDocumentInsertable oObj = null;
+ protected XTextRange range = null ;
+ protected static final String defaultFileName = "XDocumentInsertable.sxw" ;
+ protected InsertChecker checker = null ;
+ protected String fileName = defaultFileName ;
+
+ /**
+ * Abstract class for relation passing. It must check if
+ * document was inserted successfully and can specify its
+ * own document name to be inserted.
+ */
+ public static abstract class InsertChecker {
+ /**
+ * Must be overridden to check if document was
+ * successfully inserted.
+ * @return <code>true</code> if document was inserted.
+ */
+ public abstract boolean isInserted() ;
+ /**
+ * Can be overridden to specify different than default
+ * document name. This document must be situated in
+ * the test document directory, and its name must
+ * be specified relational to this directory. By
+ * default 'XDocumentInsertable.swx' file name returned.
+ * @return File name of the document to be inserted.
+ */
+ public String getFileNameToInsert() {
+ return defaultFileName ;
+ }
+ }
+
+ /**
+ * Retrieves object relation. If the relation is not found
+ * then the object tested is tried to query <code>XTextRange</code>
+ * interface for testing. If the relation is found then document name
+ * for testing is retrieved, else the default one is used.
+ *
+ * @throws StatusException If neither relation found nor
+ * <code>XTextRange</code> interface is queried.
+ */
+ @Override
+ public void before() {
+ checker = (InsertChecker)
+ tEnv.getObjRelation("XDocumentInsertable.Checker") ;
+
+ if (checker == null) {
+ log.println("Relation not found, trying to query for "+
+ "XTextRange ...") ;
+ range = UnoRuntime.queryInterface (XTextRange.class, oObj) ;
+ if (range == null) {
+ log.println("XTextRange isn't supported by the component.");
+ throw new StatusException(Status.failed
+ ("XTextRange isn't supported and relation not found")) ;
+ }
+ } else {
+ fileName = checker.getFileNameToInsert();
+ }
+ }
+
+ /**
+ * Tries to insert document from URL specified by relation or
+ * from default URL. If no relation was passed, text range is
+ * checked for existence of loaded document content. In case
+ * if relation was found, then its <code>isInserted</code>
+ * method is used to check insertion.<p>
+ * A Second test uses an invalid URL and checks for correct exceptions.
+ *
+ * Has <b> OK </b> status if at first insertion was completed successfully
+ * and no exceptions were thrown and as second an expected exception was thrown. <p>
+ */
+ public void _insertDocumentFromURL() {
+ boolean result = true ;
+
+ try {
+ PropertyValue [] szEmptyArgs = new PropertyValue [0];
+ String docURL = utils.getFullTestURL(fileName) ;
+ log.println("Inserting document from URL '" + docURL + "'");
+ oObj.insertDocumentFromURL(docURL, szEmptyArgs);
+
+ if (checker == null) {
+ log.println("Checker is not specified, testing through "+
+ "XTextRange ...") ;
+ String text = range.getString() ;
+ log.println("Document text :\n" + text);
+ log.println("---");
+ result &= ( text.indexOf("XDocumentInsertable test.") >= 0 );
+ } else {
+ result &= checker.isInserted();
+ }
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred while testing "+
+ "insertDocumentFromURL()");
+ ex.printStackTrace(log);
+ result = false ;
+ } catch (com.sun.star.io.IOException ex) {
+ log.println("Exception occurred while testing "+
+ "insertDocumentFromURL()");
+ ex.printStackTrace(log);
+ result = false ;
+ }
+
+ if (result) {
+ try {
+ PropertyValue [] szEmptyArgs = new PropertyValue [0];
+ String docURL = "file:///c:/ThisIsAnInvalidURL";
+ log.println("Inserting document from URL '" + docURL + "'");
+ oObj.insertDocumentFromURL(docURL, szEmptyArgs);
+
+ result=false;
+
+ } catch (IOException ex) {
+ log.println("expected exception was thrown -> ok");
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected exception was thrown -> ok");
+ }
+ }
+
+ tRes.tested("insertDocumentFromURL()", result);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+} // finish class _XDocumentInsertable
diff --git a/qadevOOo/tests/java/ifc/document/_XEmbeddedObjectSupplier.java b/qadevOOo/tests/java/ifc/document/_XEmbeddedObjectSupplier.java
new file mode 100644
index 000000000..63aa6f4bf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XEmbeddedObjectSupplier.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.document.XEmbeddedObjectSupplier;
+
+/**
+* Testing <code>com.sun.star.document.XEmbeddedObjectSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getEmbeddedObject()</code></li>
+* </ul> <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.document.XEmbeddedObjectSupplier
+*/
+public class _XEmbeddedObjectSupplier extends MultiMethodTest {
+
+ public XEmbeddedObjectSupplier oObj = null;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned.
+ */
+ public void _getEmbeddedObject() {
+ tRes.tested("getEmbeddedObject()",
+ oObj.getEmbeddedObject() != null);
+ }
+} // finish class _XEmbeddedObjectSupplier
+
diff --git a/qadevOOo/tests/java/ifc/document/_XEventBroadcaster.java b/qadevOOo/tests/java/ifc/document/_XEventBroadcaster.java
new file mode 100644
index 000000000..cc30c7ebb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XEventBroadcaster.java
@@ -0,0 +1,74 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.document.XEventBroadcaster;
+import com.sun.star.document.XEventListener;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+
+public class _XEventBroadcaster extends MultiMethodTest {
+
+ public XEventBroadcaster oObj;
+ protected boolean listenerCalled = false;
+ private XEventListener listener = null;
+
+ public class MyEventListener implements XEventListener {
+
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ }
+
+ public void notifyEvent(com.sun.star.document.EventObject eventObject) {
+ System.out.println("EventObject "+eventObject.EventName);
+ listenerCalled = true;
+ }
+
+ }
+
+ private void switchFocus() {
+ XModel docModel = UnoRuntime.queryInterface(
+ XModel.class,tEnv.getTestObject());
+ docModel.getCurrentController().getFrame().getContainerWindow().setFocus();
+ waitForEventIdle();
+ XController xc = UnoRuntime.queryInterface(XController.class,tEnv.getObjRelation("CONT2"));
+ xc.getFrame().getContainerWindow().setFocus();
+ }
+
+ public void _addEventListener() {
+ listener = new MyEventListener();
+ listenerCalled = false;
+ oObj.addEventListener(listener);
+ switchFocus();
+ waitForEventIdle();
+ tRes.tested("addEventListener()",listenerCalled);
+ }
+
+ public void _removeEventListener() {
+ requiredMethod("addEventListener()");
+ listenerCalled = false;
+ oObj.removeEventListener(listener);
+ switchFocus();
+ waitForEventIdle();
+ tRes.tested("removeEventListener()",!listenerCalled);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/document/_XEventsSupplier.java b/qadevOOo/tests/java/ifc/document/_XEventsSupplier.java
new file mode 100644
index 000000000..ee41f37c4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XEventsSupplier.java
@@ -0,0 +1,51 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameReplace;
+import com.sun.star.document.XEventsSupplier;
+
+/**
+* Testing <code>com.sun.star.document.XEventsSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getEvents()</code></li>
+* </ul> <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.document.XEventsSupplier
+*/
+public class _XEventsSupplier extends MultiMethodTest {
+
+ public XEventsSupplier oObj = null;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned.
+ */
+ public void _getEvents() {
+
+ XNameReplace xNR = oObj.getEvents();
+ xNR.getElementNames();
+ tRes.tested("getEvents()", true);
+ }
+
+} // finish class _XEventSupplier
+
diff --git a/qadevOOo/tests/java/ifc/document/_XExporter.java b/qadevOOo/tests/java/ifc/document/_XExporter.java
new file mode 100644
index 000000000..067f8b5d5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XExporter.java
@@ -0,0 +1,82 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+
+/**
+* Testing <code>com.sun.star.document.XExporter</code>
+* interface methods :
+* <ul>
+* <li><code> setSourceDocument()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'SourceDocument'</code> (of type <code>XComponent</code>):
+* the source document to be passed to the method. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.document.XExporter
+*/
+public class _XExporter extends MultiMethodTest {
+
+ public XExporter oObj = null;
+ public XComponent source = null ;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ source = (XComponent) tEnv.getObjRelation("SourceDocument") ;
+
+ if (source == null) throw new StatusException(Status.failed
+ ("Relation not found")) ;
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ * Usually this interface is supported both with <code>XFilter</code>
+ * where source document setting is checked.
+ */
+ public void _setSourceDocument() {
+ boolean result = true ;
+
+ try {
+ oObj.setSourceDocument(source);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking :");
+ ex.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("setSourceDocument()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/document/_XFilter.java b/qadevOOo/tests/java/ifc/document/_XFilter.java
new file mode 100644
index 000000000..8ea1326bc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XFilter.java
@@ -0,0 +1,177 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.document.XExporter;
+import com.sun.star.document.XFilter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.document.XFilter</code>
+* interface methods :
+* <ul>
+* <li><code> filter()</code></li>
+* <li><code> cancel()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'MediaDescriptor'</code> (of type <code>PropertyValue[]</code>):
+* the property set described in
+* <code>com.sun.star.document.MediaDescriptor</code>
+* </li>
+* <li> <code>'XFilter.Checker'</code> <b>(optional)</b> (of type
+* <code>ifc.document._XFilter.FilterChecker</code>) : implementation
+* of interface must allow checking that document was exported successfully.
+* If the relation doesn't exist then by default successful filtering
+* assumed.
+* </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.document.XFilter
+*/
+public class _XFilter extends MultiMethodTest {
+
+ public interface FilterChecker {
+ boolean checkFilter() ;
+ }
+
+ public XFilter oObj = null;
+ protected PropertyValue[] mDesc = null ;
+ protected FilterChecker checker = null ;
+ protected XComponent sourceDoc = null;
+ protected boolean dummy = false;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.<br>
+ * In case of Importers only a dummy implementation exists
+ * therefore the methods of this interface will be skipped
+ * in this case
+ */
+ @Override
+ public void before() {
+ String name = tEnv.getTestCase().getObjectName();
+ if (name.indexOf("Importer")>0) {
+ log.println(name+" contains only a dummy implementation");
+ log.println("therefore all methods are skipped");
+ dummy = true;
+ }
+ mDesc = (PropertyValue[]) tEnv.getObjRelation("MediaDescriptor") ;
+ checker = (FilterChecker) tEnv.getObjRelation("XFilter.Checker") ;
+ if (mDesc == null && !dummy) throw new StatusException(
+ Status.failed("Relation not found.")) ;
+ sourceDoc = (XComponent)tEnv.getObjRelation("SourceDocument");
+ try {
+ if (sourceDoc != null) {
+ XExporter xEx = UnoRuntime.queryInterface(
+ XExporter.class,oObj);
+ xEx.setSourceDocument(sourceDoc);
+ }
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {}
+ }
+
+ @Override
+ public void after() {
+ if (dummy) {
+ throw new StatusException(Status.skipped(true));
+ }
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _filter() {
+ if (dummy) {
+ tRes.tested("filter()", true);
+ return;
+ }
+ boolean result = true ;
+ result = oObj.filter(mDesc) ;
+
+ if (checker == null) {
+ log.println("!!! Warning : can't check filter as no relation found");
+ } else {
+ result &= checker.checkFilter() ;
+ }
+
+ tRes.tested("filter()", result) ;
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _cancel() {
+ if (dummy) {
+ tRes.tested("cancel()",true);
+ return;
+ }
+ requiredMethod("filter()");
+ if (tEnv.getObjRelation("NoFilter.cancel()") != null) {
+ System.out.println("Cancel not tested.");
+ log.println("Method 'cancel()' is not working and therefore "+
+ "not tested.\nResult is set to SKIPPED.OK");
+ tRes.tested("cancel()", Status.skipped(true));
+ return;
+ }
+
+ boolean result = false ;
+ FilterThread newFilter = new FilterThread(oObj);
+ newFilter.mdesc = mDesc;
+ newFilter.start();
+ oObj.cancel();
+ while (newFilter.isAlive()) {
+ }
+ result = !newFilter.filterRes;
+ tRes.tested("cancel()", result) ;
+ }
+
+ /**
+ * Calls <code>filter()</code> method in a separate thread.
+ * Necessary to check if the cancel method works
+ */
+ protected static class FilterThread extends Thread {
+
+ public boolean filterRes = true;
+ private final XFilter Filter;
+ public PropertyValue[] mdesc = null;
+
+ public FilterThread(XFilter Filter) {
+ this.Filter = Filter ;
+ }
+
+ @Override
+ public void run() {
+ filterRes = Filter.filter(mdesc);
+ }
+ }
+
+}
+
+
+
diff --git a/qadevOOo/tests/java/ifc/document/_XImporter.java b/qadevOOo/tests/java/ifc/document/_XImporter.java
new file mode 100644
index 000000000..087494e65
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XImporter.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XComponent;
+
+/**
+* Testing <code>com.sun.star.document.XImporter</code>
+* interface methods :
+* <ul>
+* <li><code> setTargetDocument()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'TargetDocument'</code> (of type <code>XComponent</code>):
+* the target document to be passed to the method. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.document.XImporter
+*/
+public class _XImporter extends MultiMethodTest {
+
+ public XImporter oObj = null;
+
+ /**
+ * Retrieves relation and sets target document. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred,
+ * really this method tested when the whole import result
+ * checked.
+ */
+ public void _setTargetDocument() {
+ boolean res = true;
+ try {
+ XComponent the_doc = (XComponent)
+ tEnv.getObjRelation("TargetDocument");
+ oObj.setTargetDocument(the_doc);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'setTargetDocument'");
+ ex.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("setTargetDocument()",res);
+
+ }
+
+} // finish class _XImporter
+
diff --git a/qadevOOo/tests/java/ifc/document/_XLinkTargetSupplier.java b/qadevOOo/tests/java/ifc/document/_XLinkTargetSupplier.java
new file mode 100644
index 000000000..1cc5b3299
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XLinkTargetSupplier.java
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.document.XLinkTargetSupplier;
+
+/**
+* Testing <code>com.sun.star.document.XLinkTargetSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getLinks()</code></li>
+* </ul> <p>
+* @see com.sun.star.document.XLinkTargetSupplier
+*/
+public class _XLinkTargetSupplier extends MultiMethodTest {
+
+ public XLinkTargetSupplier oObj = null;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if not <code>null</code> value returned.
+ */
+ public void _getLinks() {
+ XNameAccess links = oObj.getLinks();
+ links.getElementNames();
+ tRes.tested("getLinks()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/document/_XMimeTypeInfo.java b/qadevOOo/tests/java/ifc/document/_XMimeTypeInfo.java
new file mode 100644
index 000000000..81b39942b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XMimeTypeInfo.java
@@ -0,0 +1,80 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.document.XMimeTypeInfo;
+
+/**
+ * Testing <code>com.sun.star.document.XMimeTypeInfo</code>
+ * interface methods :
+ * <ul>
+ * <li><code> supportsMimeType()</code></li>
+ * <li><code> getSupportedMimeTypeNames()</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.document.XMimeTypeInfo
+ */
+public class _XMimeTypeInfo extends MultiMethodTest {
+
+ public XMimeTypeInfo oObj = null;
+ public String[] smi = null;
+
+ /**
+ * Gets supported types and stores them. <p>
+ * Has <b> OK </b> status if at least one type exists.
+ */
+ public void _getSupportedMimeTypeNames() {
+ smi = oObj.getSupportedMimeTypeNames();
+ tRes.tested("getSupportedMimeTypeNames()", smi.length>0) ;
+ }
+
+ /**
+ * Calls the method for one supported type retrieved by
+ * <code>getSupportedMimeTypeNames</code> method and for
+ * bad type. <p>
+ *
+ * Has <b> OK </b> status if <code>true</code> returned for
+ * supported type and <code>false</code> for bad type.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSupportedMimeTypeNames </code> : to have a list of
+ * supported types. </li>
+ * </ul>
+ */
+ public void _supportsMimeType() {
+ requiredMethod("getSupportedMimeTypeNames()");
+ boolean pos = false;
+ pos = oObj.supportsMimeType(smi[0]);
+ if (!pos) {
+ log.println("Method returns false for existing MimeType");
+ }
+ boolean neg = true;
+ neg = oObj.supportsMimeType("NoRealMimeType");
+ if (neg) {
+ log.println("Method returns true for non existing MimeType");
+ }
+ tRes.tested("supportsMimeType()", (pos && !neg)) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/document/_XTypeDetection.java b/qadevOOo/tests/java/ifc/document/_XTypeDetection.java
new file mode 100644
index 000000000..8aa1f5cdb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XTypeDetection.java
@@ -0,0 +1,115 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.document;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.document.XTypeDetection;
+
+/**
+ * Testing <code>com.sun.star.document.XTypeDetection</code>
+ * interface methods :
+ * <ul>
+ * <li><code> queryTypeByURL()</code></li>
+ * <li><code> queryTypeByDescriptor()</code></li>
+ * </ul> <p>
+ *
+ * The following predefined files needed to complete the test:
+ * <ul>
+ * <li> <code>XTypeDetection.sxw</code> : <b>Calc</b>
+ * document which extension is <b>sxw</b>. </li>
+ * <ul> <p>
+ *
+ * @see com.sun.star.document.XTypeDetection
+ */
+public class _XTypeDetection extends MultiMethodTest {
+ public XTypeDetection oObj = null;
+
+ private String docURL = null;
+ private String bookmarkURL = null;
+
+ /**
+ * Get the document URL.
+ */
+ @Override
+ public void before() {
+ docURL = utils.getFullTestURL("XTypeDetection.sxw");
+ bookmarkURL = (String) tEnv.getObjRelation("XTypeDetection.bookmarkDoc");
+ }
+
+ /**
+ * Tries to detect type by writer document URL. <p>
+ *
+ * Has <b> OK </b> status if type returned contains
+ * 'writer' as substring.
+ */
+ public void _queryTypeByURL() {
+
+ boolean result = true ;
+ String type = oObj.queryTypeByURL(docURL) ;
+ result &= type.indexOf("writer") > -1;
+
+ tRes.tested("queryTypeByURL()", result) ;
+ }
+
+ /**
+ * Tries to detect type of the document using <i>flat</i>
+ * and <i>deep</i> detection. For flat detection a writer type
+ * must be returned (file has writer extension), but deep
+ * detection must return calc type (document has calc contents)<p>
+ *
+ * Has <b> OK </b> status if for the first case type contains
+ * 'writer' string and for the second 'calc' string.
+ */
+ public void _queryTypeByDescriptor() {
+ boolean result = true ;
+ boolean ok = true;
+ log.println("test document with wrong extension");
+ log.println("the document '" + docURL + "' is not what it seems to be ;-)");
+ PropertyValue[][] mediaDescr = new PropertyValue[1][1];
+ mediaDescr[0][0] = new PropertyValue();
+ mediaDescr[0][0].Name = "URL";
+ mediaDescr[0][0].Value = docURL;
+
+ String type = oObj.queryTypeByDescriptor(mediaDescr, false);
+ ok = type.indexOf("writer") > -1;
+ result &= ok;
+ log.println("flat detection should detect a writer and has detected '"+ type +"': " + ok);
+
+ type = oObj.queryTypeByDescriptor(mediaDescr, true);
+ ok = type.indexOf("calc") > -1;
+ result &= ok;
+ log.println("deep detection should detect a calc and has detected '"+ type +"': " + ok);
+
+ log.println("test document with bookmark: " + bookmarkURL);
+ mediaDescr = new PropertyValue[1][1];
+ mediaDescr[0][0] = new PropertyValue();
+ mediaDescr[0][0].Name = "URL";
+ mediaDescr[0][0].Value = bookmarkURL;
+ type = oObj.queryTypeByDescriptor(mediaDescr, true);
+ ok = type.indexOf("writer") > -1;
+ result &= ok;
+ log.println("deep detection should detect a writer and has detected '"+ type +"': " + ok);
+
+ tRes.tested("queryTypeByDescriptor()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java b/qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java
new file mode 100644
index 000000000..81a92e7c3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/document/_XViewDataSupplier.java
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.document;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.document.XViewDataSupplier;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+import lib.Status;
+
+/**
+ * Check the XViewDataSupplier interface.
+ * Test idea: take the property values from the index access, change one
+ * property value, put this into the index access and write it back.
+ * Get the property value again and check that the change made it.
+ */
+public class _XViewDataSupplier extends MultiMethodTest {
+ public XViewDataSupplier oObj = null;
+ XIndexAccess xAccess = null;
+ PropertyValue[] newProps = null;
+ PropertyValue[] oldProps = null;
+ String myview = "myview1";
+
+ public void _getViewData() {
+ xAccess = oObj.getViewData();
+ if (xAccess != null) {
+ setViewID(xAccess, myview);
+ }
+ tRes.tested("getViewData()", true);
+ }
+
+ public void _setViewData() {
+ if (xAccess == null) {
+ log.println("No view data to change available");
+ tRes.tested("setViewData()", Status.skipped(true));
+ }
+ else {
+ // 2do: provide an own implementation of the XIndexAccess to set.
+ // this will work without "setViewData()", it just checks that a
+ // setViewData can be done.
+ oObj.setViewData(xAccess);
+ XIndexAccess xAccess2 = oObj.getViewData();
+ String newView = getViewID(xAccess2);
+ tRes.tested("setViewData()", newView != null && newView.equals(myview));
+ }
+ }
+
+ private void setViewID(XIndexAccess xAccess, String value) {
+ XIndexContainer xIndexContainer = UnoRuntime.queryInterface(XIndexContainer.class, xAccess);
+ int count = xAccess.getCount();
+ try {
+ if (count > 0) {
+ oldProps = (PropertyValue[])xAccess.getByIndex(0);
+ newProps = new PropertyValue[oldProps.length];
+ for (int j=0; j<oldProps.length; j++) {
+ newProps[j] = new PropertyValue();
+ newProps[j].Name = oldProps[j].Name;
+ newProps[j].Handle = oldProps[j].Handle;
+ newProps[j].State = oldProps[j].State;
+ if (oldProps[j].Name.equals("ViewId")) {
+ newProps[j].Value = value;
+ }
+
+ }
+ xIndexContainer.insertByIndex(0, newProps);
+ }
+ }
+ catch(Exception e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ private String getViewID(XIndexAccess xAccess) {
+ String retValue = null;
+ int count = xAccess.getCount();
+ try {
+ if (count > 0) {
+ oldProps = (PropertyValue[])xAccess.getByIndex(0);
+ for (int j=0; j<oldProps.length; j++) {
+ if (oldProps[j].Name.equals("ViewId")) {
+ retValue = (String)newProps[j].Value;
+ }
+
+ }
+ }
+ }
+ catch(Exception e) {
+ e.printStackTrace(log);
+ }
+ return retValue;
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/drawing/_AreaShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_AreaShapeDescriptor.java
new file mode 100644
index 000000000..1bee62098
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_AreaShapeDescriptor.java
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+public class _AreaShapeDescriptor extends MultiPropertyTest {
+
+ @Override
+ protected boolean compare(Object ob1, Object ob2) {
+
+ return super.compare(ob1, ob2);
+
+ }
+
+ protected PropertyTester URLTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg"); else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ } ;
+
+ protected PropertyTester StringTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(str1))
+ return str2; else
+ return str1;
+ }
+ } ;
+
+ public void _FillBitmapURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("FillBitmapURL", URLTester) ;
+ }
+
+ public String str1 = "";
+ public String str2 = "";
+
+ public void _FillGradientName() {
+ log.println("Testing with custom Property tester") ;
+ str1 = "Gradient 1";
+ str2 = "Gradient 3";
+ testProperty("FillGradientName", StringTester) ;
+ }
+
+ public void _FillBitmapName() {
+ log.println("Testing with custom Property tester") ;
+ str1 = "Sky";
+ str2 = "Blank";
+ testProperty("FillBitmapName", StringTester) ;
+ }
+
+ public void _FillTransparenceGradientName() {
+ log.println("Testing with custom Property tester") ;
+ str1 = "Standard 1";
+ str2 = "Standard 2";
+ testProperty("FillTransparenceGradientName", StringTester) ;
+ }
+
+ public void _FillHatchName() {
+ log.println("Testing with custom Property tester") ;
+ str1 = "Black 0 degrees";
+ str2 = "Black 45 degrees";
+ testProperty("FillHatchName", StringTester) ;
+ }
+
+ public void _FillBitmapMode() {
+ log.println("Testing with custom Property tester") ;
+ try {
+ Object getting = oObj.getPropertyValue("FillBitmapMode");
+ if (! (getting instanceof com.sun.star.drawing.BitmapMode)) {
+ log.println("getting the property 'FillBitmapMode'");
+ log.println("return "+ oObj.getClass().getName());
+ log.println("Expected was 'com.sun.star.drawing.BitmapMode'");
+ tRes.tested("FillBitmapMode",false);
+ } else testProperty("FillBitmapMode");
+ }
+ catch (Exception ex) {
+ log.println("Exception while checking 'FillBitmapMode'");
+ ex.printStackTrace(log);
+ tRes.tested("FillBitmapMode",false);
+ }
+
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ConnectorProperties.java b/qadevOOo/tests/java/ifc/drawing/_ConnectorProperties.java
new file mode 100644
index 000000000..1cbe9f077
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ConnectorProperties.java
@@ -0,0 +1,39 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.ConnectorProperties</code>
+* service properties :
+* <ul>
+* <li><code> EdgeKind</code></li>
+* <li><code> EdgeNode1HorzDist</code></li>
+* <li><code> EdgeNode1VertDist</code></li>
+* <li><code> EdgeNode2HorzDist</code></li>
+* <li><code> EdgeNode2VertDist</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.ConnectorProperties
+*/
+public class _ConnectorProperties extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ConnectorShape.java b/qadevOOo/tests/java/ifc/drawing/_ConnectorShape.java
new file mode 100644
index 000000000..d338126d7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ConnectorShape.java
@@ -0,0 +1,70 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.drawing.XShape;
+/**
+* Testing <code>com.sun.star.drawing.ConnectorShape</code>
+* service properties :
+* <ul>
+* <li><code> EdgeLine1Delta</code></li>
+* <li><code> EdgeLine2Delta</code></li>
+* <li><code> EdgeLine3Delta</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.ConnectorShape
+*/
+public class _ConnectorShape extends MultiPropertyTest {
+ public XShape[] conShapes = null;
+
+ @Override
+ protected void before() {
+ conShapes = (XShape[]) tEnv.getObjRelation("XConnectorShape.Shapes");
+ }
+
+ public void _EndShape() {
+ Object oldProp = null;
+ try {
+ oldProp = oObj.getPropertyValue("EndShape");
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ }
+ testProperty("EndShape",oldProp,conShapes[0]);
+ }
+
+ public void _StartShape() {
+ Object oldProp = null;
+ log.println("Special for StartShape");
+ try {
+ oldProp = oObj.getPropertyValue("StartShape");
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ }
+ testProperty("StartShape",oldProp,conShapes[1]);
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ConnectorShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_ConnectorShapeDescriptor.java
new file mode 100644
index 000000000..99f974b49
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ConnectorShapeDescriptor.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+public class _ConnectorShapeDescriptor extends MultiPropertyTest {
+
+ @Override
+ protected boolean compare(Object ob1, Object ob2) {
+
+ return super.compare(ob1, ob2);
+
+ }
+
+} // finish class _ConnectorShapeDescriptor
+
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_DimensioningShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_DimensioningShapeDescriptor.java
new file mode 100644
index 000000000..ef55d860e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_DimensioningShapeDescriptor.java
@@ -0,0 +1,39 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+
+public class _DimensioningShapeDescriptor extends MultiPropertyTest {
+
+/*
+ protected PropertyTester lengthTester = new PropertyTester() {
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+
+ int val = ((Integer)oldValue).intValue() ;
+ return Integer.valueOf(val + 100) ;
+ }
+ } ;
+*/
+
+} // finish class _ParagraphProperties
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_DrawingDocument.java b/qadevOOo/tests/java/ifc/drawing/_DrawingDocument.java
new file mode 100644
index 000000000..a0df35bcb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_DrawingDocument.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.DrawingDocument</code>
+* service properties :
+* <ul>
+* <li><code> TabStop</code></li>
+* <li><code> CharLocale</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.DrawingDocument
+*/
+public class _DrawingDocument extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_DrawingDocumentDrawView.java b/qadevOOo/tests/java/ifc/drawing/_DrawingDocumentDrawView.java
new file mode 100644
index 000000000..597e44cee
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_DrawingDocumentDrawView.java
@@ -0,0 +1,172 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.uno.UnoRuntime;
+import util.ValueChanger;
+
+/**
+* Testing <code>com.sun.star.drawing.DrawingDocumentDrawView</code>
+* service properties :
+* <ul>
+* <li><code> IsMasterPageMode</code></li>
+* <li><code> IsLayerMode</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DrawPage'</code> (of type <code>XDrawPage</code>):
+* a draw page which will be current page. </li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+*/
+public class _DrawingDocumentDrawView extends MultiPropertyTest {
+
+ XDrawPage drawPage = null;
+ static String test_name = "For DrawingDocumentDrawView";
+
+ @Override
+ protected void before() {
+ drawPage = (XDrawPage)tEnv.getObjRelation("DrawPage");
+ XNamed xNamed = UnoRuntime.queryInterface(XNamed.class, drawPage);
+ xNamed.setName(test_name);
+ }
+
+ /**
+ * Property tester which returns new <code>XDrawPage</code> object
+ * and compares draw pages.
+ */
+ protected PropertyTester CurPageTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ return drawPage;
+ }
+
+ @Override
+ protected boolean compare(Object obj1, Object obj2) {
+ XNamed named1 = UnoRuntime.queryInterface(XNamed.class, obj1);
+ XNamed named2 = UnoRuntime.queryInterface(XNamed.class, obj2);
+ boolean res = false;
+
+ if (named1 != null && named2 != null) {
+ String name1 = named1.getName();
+ String name2 = named2.getName();
+ res = name1.equals(name2);
+ } else {
+ log.println("Interface XNamed not supported");
+ }
+
+ return res;
+ }
+
+ @Override
+ protected String toString(Object obj) {
+ XNamed named = UnoRuntime.queryInterface(XNamed.class, obj);
+ String res = (named == null) ? "null" : named.getName();
+ return res;
+ }
+ } ;
+
+ public void _CurrentPage() {
+ log.println("Testing with custom Property tester");
+ Object oldCurPage = null;
+ try {
+ oldCurPage = oObj.getPropertyValue("CurrentPage");
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ }
+
+ testProperty("CurrentPage", CurPageTester);
+
+ try {
+ log.println("Back old current page");
+ oObj.setPropertyValue("CurrentPage", oldCurPage);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ public void _IsMasterPageMode() {
+ testProperty("IsMasterPageMode");
+ try {
+ oObj.setPropertyValue("IsMasterPageMode", Boolean.FALSE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ public void _IsLayerMode() {
+ testProperty("IsLayerMode");
+ try {
+ oObj.setPropertyValue("IsLayerMode", Boolean.FALSE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ }
+ }
+
+ public void _ZoomType() {
+ Object oldValue=null;
+ Object newValue=null;
+ try {
+ oldValue = oObj.getPropertyValue("ZoomValue");
+ Object oldZoom = oObj.getPropertyValue("ZoomType");
+ Object newZoom = ValueChanger.changePValue(oldZoom);
+ oObj.setPropertyValue("ZoomType", newZoom);
+ newValue = oObj.getPropertyValue("ZoomValue");
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ }
+ log.println("oldZoomValue: "+oldValue);
+ log.println("newZoomValue: "+newValue);
+ if (oldValue != null)
+ tRes.tested("ZoomType",(!oldValue.equals(newValue)));
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_EllipseShape.java b/qadevOOo/tests/java/ifc/drawing/_EllipseShape.java
new file mode 100644
index 000000000..7cc84ea12
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_EllipseShape.java
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.EllipseShape</code>
+* service properties :
+* <ul>
+* <li><code> CircleKind</code></li>
+* <li><code> CircleStartAngle</code></li>
+* <li><code> CircleEndAngle</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.EllipseShape
+*/
+public class _EllipseShape extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_EllipseShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_EllipseShapeDescriptor.java
new file mode 100644
index 000000000..d291a9e9c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_EllipseShapeDescriptor.java
@@ -0,0 +1,27 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+
+public class _EllipseShapeDescriptor extends MultiPropertyTest {
+
+} // finish class _EllipseShapeDescriptor
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_FillProperties.java b/qadevOOo/tests/java/ifc/drawing/_FillProperties.java
new file mode 100644
index 000000000..f4e64d7b5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_FillProperties.java
@@ -0,0 +1,213 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.drawing;
+
+import com.sun.star.beans.XPropertySetInfo;
+import lib.MultiPropertyTest;
+
+import com.sun.star.awt.XBitmap;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * Testing <code>com.sun.star.drawing.FillProperties</code>
+ * service properties :
+ * <ul>
+ * <li><code> FillStyle</code></li>
+ * <li><code> FillColor</code></li>
+ * <li><code> FillTransparence</code></li>
+ * <li><code> FillTransparenceGradientName</code></li>
+ * <li><code> FillTransparenceGradient</code></li>
+ * <li><code> FillGradientName</code></li>
+ * <li><code> FillGradient</code></li>
+ * <li><code> FillHatchName</code></li>
+ * <li><code> FillHatch</code></li>
+ * <li><code> FillBitmapName</code></li>
+ * <li><code> FillBitmap</code></li>
+ * <li><code> FillBitmapURL</code></li>
+ * <li><code> FillBitmapOffsetX</code></li>
+ * <li><code> FillBitmapOffsetY</code></li>
+ * <li><code> FillBitmapPositionOffsetX</code></li>
+ * <li><code> FillBitmapPositionOffsetY</code></li>
+ * <li><code> FillBitmapRectanglePoint</code></li>
+ * <li><code> FillBitmapLogicalSize</code></li>
+ * <li><code> FillBitmapSizeX</code></li>
+ * <li><code> FillBitmapSizeY</code></li>
+ * <li><code> FillBitmapMode</code></li>
+ * <li><code> FillBackground</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.drawing.FillProperties
+ */
+public class _FillProperties extends MultiPropertyTest {
+
+ XBitmap the_bitmap = null;
+ XBitmap the_secondBitmap = null;
+ /**
+ * Property tester which changes URL.
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg"))) {
+ return util.utils.getFullTestURL("crazy-blue.jpg");
+ } else {
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ }
+ };
+ /**
+ * Property tester which switches two strings.
+ */
+ protected PropertyTester StringTester = new PropertyTester() {
+
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(str1)) {
+ return str2;
+ } else {
+ return str1;
+ }
+ }
+ };
+ /**
+ * Property tester which switches two XBitmap objects.
+ */
+ protected PropertyTester BitmapTester = new PropertyTester() {
+
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (util.ValueComparer.equalValue(oldValue, the_bitmap)) {
+ return the_secondBitmap;
+ } else {
+ return the_bitmap;
+ }
+ }
+ };
+
+ /**
+ * This property must have a URL format
+ */
+ public void _FillBitmapURL() {
+ log.println("Testing with custom Property tester");
+ testProperty("FillBitmapURL", URLTester);
+ }
+ public String str1 = "";
+ public String str2 = "";
+
+ /**
+ * This property must have predefined values
+ */
+ public void _FillGradientName() {
+ log.println("Testing with custom Property tester");
+ str1 = "Gradient 1";
+ str2 = "Gradient 3";
+ testProperty("FillGradientName", StringTester);
+ }
+
+ /**
+ * This property must have predefined values
+ */
+ public void _FillBitmapName() {
+ log.println("Testing with custom Property tester");
+ str1 = "Sky";
+ str2 = "Blank";
+ testProperty("FillBitmapName", StringTester);
+ }
+
+ /**
+ * This property must have predefined values
+ */
+ public void _FillTransparenceGradientName() {
+ log.println("Testing with custom Property tester");
+ str1 = "Transparency 2";
+ str2 = "Transparency 1";
+ testProperty("FillTransparenceGradientName", StringTester);
+ }
+
+ /**
+ * This property must have predefined values
+ */
+ public void _FillHatchName() {
+ log.println("Testing with custom Property tester");
+ str1 = "Black 0 degrees";
+ str2 = "Black 45 degrees";
+ testProperty("FillHatchName", StringTester);
+ }
+
+ /**
+ * This property is very interesting. After setting URL of bitmap you get
+ * <code>XBitmap</code> interface of the image file specified.
+ * The method first gets two different bitmaps and then tests the property.
+ */
+ public void _FillBitmap() {
+
+ String propName = "FillBitmap";
+
+ XPropertySetInfo info = oObj.getPropertySetInfo();
+
+ if (!info.hasPropertyByName(propName)) {
+ if (isOptional(propName)) {
+ // skipping optional property test
+ log.println("Property '" + propName + "' is optional and not supported");
+ tRes.tested(propName, true);
+ return;
+ }
+ } else {
+
+ try {
+
+ oObj.setPropertyValue("FillBitmapURL", util.utils.getFullTestURL("crazy-blue.jpg"));
+
+ the_bitmap = (XBitmap) AnyConverter.toObject(
+ new Type(XBitmap.class), oObj.getPropertyValue("FillBitmap"));
+
+ oObj.setPropertyValue("FillBitmapURL", util.utils.getFullTestURL("space-metal.jpg"));
+
+ the_secondBitmap = (XBitmap) AnyConverter.toObject(
+ new Type(XBitmap.class), oObj.getPropertyValue("FillBitmap"));
+
+ testProperty("FillBitmap", BitmapTester);
+
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Couldn't change Bitmap");
+ e.printStackTrace(log);
+ tRes.tested("FillBitmap", false);
+
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Couldn't change Bitmap");
+ e.printStackTrace(log);
+ tRes.tested("FillBitmap", false);
+
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't change Bitmap");
+ e.printStackTrace(log);
+ tRes.tested("FillBitmap", false);
+
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't change Bitmap");
+ e.printStackTrace(log);
+ tRes.tested("FillBitmap", false);
+ }
+ }
+ }
+ }
diff --git a/qadevOOo/tests/java/ifc/drawing/_GenericDrawPage.java b/qadevOOo/tests/java/ifc/drawing/_GenericDrawPage.java
new file mode 100644
index 000000000..71cfb5688
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_GenericDrawPage.java
@@ -0,0 +1,87 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.drawing.GenericDrawPage</code>
+* service properties :
+* <ul>
+* <li><code> BorderBottom</code></li>
+* <li><code> BorderLeft</code></li>
+* <li><code> BorderRight</code></li>
+* <li><code> BorderTop</code></li>
+* <li><code> Height</code></li>
+* <li><code> Width</code></li>
+* <li><code> Number</code></li>
+* <li><code> Orientation</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.GenericDrawPage
+*/
+public class _GenericDrawPage extends MultiPropertyTest {
+
+ public void _Number() {
+ log.println("Number started");
+ boolean res = false;
+ log.println("trying to get the value");
+ try {
+ Short wat = (Short) oObj.getPropertyValue("Number");
+ if (wat == null) {
+ log.println("it is null");
+ } else {
+ log.println("it isn't null");
+ res=true;
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("an UnknownPropertyException occurred");
+
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("an WrappedTargetException occurred");
+ }
+
+ tRes.tested("Number",res);
+ }
+
+ public void _UserDefinedAttributes() {
+ log.println("Userdefined started");
+ boolean res = false;
+ log.println("trying to get the value");
+ try {
+ Object wat = oObj.getPropertyValue("UserDefinedAttributes");
+ if (wat == null) {
+ log.println("it is null");
+ } else {
+ log.println("it isn't null");
+ res=true;
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("an UnknownPropertyException occurred");
+
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("an WrappedTargetException occurred");
+ }
+
+ tRes.tested("UserDefinedAttributes",res);
+ }
+
+} // end of GenericDrawPage
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_GenericDrawingDocument.java b/qadevOOo/tests/java/ifc/drawing/_GenericDrawingDocument.java
new file mode 100644
index 000000000..2e72d03d8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_GenericDrawingDocument.java
@@ -0,0 +1,25 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+public class _GenericDrawingDocument extends MultiPropertyTest {
+
+}
diff --git a/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShape.java b/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShape.java
new file mode 100644
index 000000000..dfbde7de1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShape.java
@@ -0,0 +1,157 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.awt.XBitmap;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.GraphicObjectShape</code>
+* service properties :
+* <ul>
+* <li><code> GraphicURL</code></li>
+* <li><code> GraphicStreamURL</code></li>
+* <li><code> GraphicObjectFillBitmap</code></li>
+* <li><code> AdjustLuminance</code></li>
+* <li><code> AdjustContrast</code></li>
+* <li><code> AdjustRed</code></li>
+* <li><code> AdjustGreen</code></li>
+* <li><code> AdjustBlue</code></li>
+* <li><code> Gamma</code></li>
+* <li><code> Transparency</code></li>
+* <li><code> GraphicColorMode</code></li>
+* <li><code> ImageMap</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Bitmap1', 'Bitmap2'</code> (of type <code>XBitmap</code>):
+* values to be set for property GraphicObjectFillBitmap </li>
+* <li> <code>'IMAP'</code>
+* (<code>com.sun.star.image.ImageMapRectangleObject</code> service instance):
+* is used to be added to ImageMap container.</li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.GraphicObjectShape
+*/
+public class _GraphicObjectShape extends MultiPropertyTest {
+
+ /**
+ * Property tester which changes URL.
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg"); else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ } ;
+
+ /**
+ * Property tester which switches two XBitmap objects.
+ * It also uses two object relations with bitmaps.
+ */
+ protected PropertyTester BitmapTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue){
+ XBitmap aBitmap1=(XBitmap) tEnv.getObjRelation("Bitmap1");
+ XBitmap aBitmap2=(XBitmap) tEnv.getObjRelation("Bitmap2");
+ if (oldValue.equals(aBitmap1)) return aBitmap2;
+ else return aBitmap1;
+ }
+ } ;
+
+ /**
+ * This property must have URL format
+ */
+ public void _GraphicURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("GraphicURL", URLTester) ;
+ }
+
+ public void _GraphicStreamURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("GraphicStreamURL", URLTester) ;
+ }
+
+ public void _GraphicObjectFillBitmap() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("GraphicObjectFillBitmap", BitmapTester) ;
+ }
+
+ /**
+ * The test first retrieves ImageMap relation, then inserts it
+ * to the current container.
+ */
+ public void _ImageMap() {
+ if (! util.utils.hasPropertyByName(oObj,"ImageMap")) {
+ log.println("optional property 'ImageMap' isn't available");
+ tRes.tested("ImageMap",true);
+ return;
+ }
+ try {
+ boolean result = true;
+ Object imapObject = tEnv.getObjRelation("ImapObject");
+
+ if ( imapObject == null){
+ System.out.println("ERROR: object relation 'ImapObject' isn't available");
+ tRes.tested("ImageMap", false);
+ return;
+ }
+
+ Object o = oObj.getPropertyValue("ImageMap");
+ XIndexContainer xIndexContainer = UnoRuntime.queryInterface(XIndexContainer.class, o);
+ util.dbg.printInterfaces(xIndexContainer);
+ int elementCountFirst = xIndexContainer.getCount();
+ xIndexContainer.insertByIndex(elementCountFirst, imapObject);
+
+ // this does not really change the property: the implementation
+ // behind "ImageMap" stays the same, but for a real change a C++
+ // implementation is needed. See css.lang.XUnoTunnel
+ oObj.setPropertyValue("ImageMap", xIndexContainer);
+ Object newObject = oObj.getPropertyValue("ImageMap");
+ xIndexContainer = UnoRuntime.queryInterface(XIndexContainer.class, newObject);
+
+ int elementCountSecond = xIndexContainer.getCount();
+ result = (elementCountFirst + 1 == elementCountSecond);
+
+ tRes.tested("ImageMap", result);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while checking 'ImageMap'");
+ e.printStackTrace(log);
+ tRes.tested("ImageMap",false);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while checking 'ImageMap'");
+ e.printStackTrace(log);
+ tRes.tested("ImageMap",false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while checking 'ImageMap'");
+ e.printStackTrace(log);
+ tRes.tested("ImageMap",false);
+ }
+ catch(Exception e) {
+ e.printStackTrace(log);
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShapeDescriptor.java
new file mode 100644
index 000000000..830a065d4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_GraphicObjectShapeDescriptor.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.awt.XBitmap;
+
+public class _GraphicObjectShapeDescriptor extends MultiPropertyTest {
+
+ @Override
+ protected boolean compare(Object ob1, Object ob2) {
+
+ return super.compare(ob1, ob2);
+
+ }
+
+ protected PropertyTester URLTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg"); else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ } ;
+
+ protected PropertyTester BitmapTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ XBitmap aBitmap1=(XBitmap) tEnv.getObjRelation("Bitmap1");
+ XBitmap aBitmap2=(XBitmap) tEnv.getObjRelation("Bitmap2");
+ if (oldValue.equals(aBitmap1)) return aBitmap2; else return aBitmap1;
+ }
+ } ;
+
+ public void _GraphicURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("GraphicURL", URLTester) ;
+ }
+
+ public void _GraphicObjectFillBitmap() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("GraphicObjectFillBitmap", BitmapTester) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_Layer.java b/qadevOOo/tests/java/ifc/drawing/_Layer.java
new file mode 100644
index 000000000..c11b39cd4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_Layer.java
@@ -0,0 +1,38 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.Layer</code>
+* service properties :
+* <ul>
+* <li><code> Name</code></li>
+* <li><code> IsVisible</code></li>
+* <li><code> IsPrintable</code></li>
+* <li><code> IsLocked</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.Layer
+*/
+public class _Layer extends MultiPropertyTest {
+
+}// end of _Layer.java
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_LineProperties.java b/qadevOOo/tests/java/ifc/drawing/_LineProperties.java
new file mode 100644
index 000000000..d37d6506d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_LineProperties.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import com.sun.star.drawing.LineDash;
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.LineProperties</code>
+* service properties :
+* <ul>
+* <li><code> LineStyle</code></li>
+* <li><code> LineDash</code></li>
+* <li><code> LineColor</code></li>
+* <li><code> LineTransparence</code></li>
+* <li><code> LineWidth</code></li>
+* <li><code> LineJoint</code></li>
+* <li><code> LineStartName</code></li>
+* <li><code> LineStart</code></li>
+* <li><code> LineEnd</code></li>
+* <li><code> LineStartCenter</code></li>
+* <li><code> LineStartWidth</code></li>
+* <li><code> LineEndCenter</code></li>
+* <li><code> LineEndWidth</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.LineProperties
+*/
+public class _LineProperties extends MultiPropertyTest {
+
+ /**
+ * Tester used for property LineStartName which can have
+ * only predefined String values.
+ */
+ protected PropertyTester LineTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals("Arrow"))
+ return "Square"; else
+ return "Arrow";
+ }
+ } ;
+
+ /**
+ * The property switched between 'Square' and 'Arrow' values.
+ */
+ public void _LineStartName() {
+ log.println("Testing with custom Property tester");
+ testProperty("LineStartName", LineTester) ;
+ }
+
+ public void _LineDash() {
+ LineDash aLineDash = new LineDash();
+ LineDash aLineDash2 = new LineDash();
+ aLineDash.DashLen = 5;
+ aLineDash2.DashLen = 1;
+ testProperty("LineDash",aLineDash,aLineDash2);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_LineShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_LineShapeDescriptor.java
new file mode 100644
index 000000000..a619b952f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_LineShapeDescriptor.java
@@ -0,0 +1,137 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+import util.ValueChanger;
+
+import com.sun.star.awt.Point;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.UnoRuntime;
+
+
+public class _LineShapeDescriptor extends MultiMethodTest {
+
+ public XPropertySet oObj = null; // oObj filled by MultiMethodTest
+
+
+ public void _LineColor() {
+ XServiceInfo xInfo = UnoRuntime.queryInterface(XServiceInfo.class, oObj);
+ if ( ! xInfo.supportsService
+ ("com.sun.star.drawing.LineShapeDescriptor")) {
+ log.println("Service not available !!!!!!!!!!!!!");
+ tRes.tested("Supported", false);
+ }
+ changeProp("LineColor");
+ }
+
+ public void _LineDash() {
+ changeProp("LineDash");
+ }
+ public void _LineEnd() {
+ changeProp("LineEnd");
+ }
+ public void _LineEndCenter() {
+ changeProp("LineEndCenter");
+ }
+ public void _LineEndWidth() {
+ changeProp("LineEndWidth");
+ }
+ public void _LineJoint() {
+ changeProp("LineJoint");
+ }
+ public void _LineStart() {
+ changeProp("LineStart");
+ }
+ public void _LineStartCenter() {
+ changeProp("LineStartCenter");
+ }
+ public void _LineStartWidth() {
+ changeProp("LineStartWidth");
+ }
+ public void _LineStyle() {
+ changeProp("LineStyle");
+ }
+ public void _LineTransparence() {
+ changeProp("LineTransparence");
+ }
+ public void _LineWidth() {
+ changeProp("LineWidth");
+ }
+
+ public void changeProp(String name) {
+
+ Object gValue = null;
+ Object sValue = null;
+ Object ValueToSet = null;
+
+ try {
+ gValue = oObj.getPropertyValue(name);
+ if ( (name.equals("LineEnd")) || (name.equals("LineStart")) ) {
+ if (gValue == null) gValue = newPoints(null);
+ ValueToSet = newPoints( (Point[]) gValue);
+ }
+ else {
+ ValueToSet = ValueChanger.changePValue(gValue);
+ }
+ oObj.setPropertyValue(name,ValueToSet);
+ sValue = oObj.getPropertyValue(name);
+
+
+ //check get-set methods
+ if (gValue.equals(sValue)) {
+ log.println("Value for '"+name+"' hasn't changed");
+ tRes.tested(name, false);
+ }
+ else {
+ log.println("Property '"+name+"' OK");
+ tRes.tested(name, true);
+ }
+ } catch (Exception e) {
+ log.println("Exception occurred while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+
+
+ } // end of ChangeProp
+
+ public Point[] newPoints(Point[] old) {
+
+ Point [] newP = new Point[3];
+
+ if (old == null) {
+ newP[0] = new Point(0, 2);
+ newP[1] = new Point(2, 0);
+ newP[2] = new Point(0, -2);
+ }
+ else {
+ newP = old;
+ newP[0].X += 1;
+ newP[1].X += 1;
+ newP[2].X += 1;
+ }
+ return newP;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_MeasureProperties.java b/qadevOOo/tests/java/ifc/drawing/_MeasureProperties.java
new file mode 100644
index 000000000..9bc3d2aa2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_MeasureProperties.java
@@ -0,0 +1,51 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.MeasureProperties</code>
+* service properties :
+* <ul>
+* <li><code> MeasureBelowReferenceEdge</code></li>
+* <li><code> MeasureHelpLine1Length</code></li>
+* <li><code> MeasureHelpLine2Length</code></li>
+* <li><code> MeasureHelpLineDistance</code></li>
+* <li><code> MeasureHelpLineOverhang</code></li>
+* <li><code> MeasureKind</code></li>
+* <li><code> MeasureLineDistance</code></li>
+* <li><code> MeasureOverhang</code></li>
+* <li><code> MeasureShowUnit</code></li>
+* <li><code> MeasureTextAutoAngle</code></li>
+* <li><code> MeasureTextAutoAngleView</code></li>
+* <li><code> MeasureTextFixedAngle</code></li>
+* <li><code> MeasureTextHorizontalPosition</code></li>
+* <li><code> MeasureTextVerticalPosition</code></li>
+* <li><code> MeasureTextIsFixedAngle</code></li>
+* <li><code> MeasureTextRotate90</code></li>
+* <li><code> MeasureTextUpsideDown</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.MeasureProperties
+*/
+public class _MeasureProperties extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_MeasureShape.java b/qadevOOo/tests/java/ifc/drawing/_MeasureShape.java
new file mode 100644
index 000000000..bbac993d6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_MeasureShape.java
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.MeasureShape</code>
+* service properties :
+* <ul>
+* <li><code> StartPosition</code></li>
+* <li><code> EndPosition</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.MeasureShape
+*/
+public class _MeasureShape extends MultiPropertyTest {
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_PolyPolygonBezierDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_PolyPolygonBezierDescriptor.java
new file mode 100644
index 000000000..340e7978f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_PolyPolygonBezierDescriptor.java
@@ -0,0 +1,38 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.PolyPolygonBezierDescriptor</code>
+* service properties :
+* <ul>
+* <li><code> PolygonKind</code></li>
+* <li><code> PolyPolygonBezier</code></li>
+* <li><code> Geometry</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.PolyPolygonBezierDescriptor
+*/
+public class _PolyPolygonBezierDescriptor extends MultiPropertyTest {
+
+} // finish class _PolyPolygonBezierDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_PolyPolygonDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_PolyPolygonDescriptor.java
new file mode 100644
index 000000000..ba9e8b097
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_PolyPolygonDescriptor.java
@@ -0,0 +1,38 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.PolyPolygonDescriptor</code>
+* service properties :
+* <ul>
+* <li><code> PolygonKind</code></li>
+* <li><code> PolyPolygon</code></li>
+* <li><code> Geometry</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.PolyPolygonDescriptor
+*/
+public class _PolyPolygonDescriptor extends MultiPropertyTest {
+
+} // finish class _PolyPolygonDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_RotationDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_RotationDescriptor.java
new file mode 100644
index 000000000..85db87e12
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_RotationDescriptor.java
@@ -0,0 +1,94 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+
+/**
+* Testing <code>com.sun.star.drawing.RotationDescriptor</code>
+* service properties :
+* <ul>
+* <li><code> RotateAngle</code></li>
+* <li><code> ShearAngle</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.RotationDescriptor
+*/
+public class _RotationDescriptor extends MultiPropertyTest {
+
+ /**
+ * Custom tester which increases value by 200
+ */
+ protected PropertyTester drawMeasureTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ int val = ((Integer)oldValue).intValue() ;
+ return Integer.valueOf(val + 200) ;
+ }
+ } ;
+
+ /**
+ * !!! DEPRECATED !!!
+ */
+ public void _RotationPointX() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("RotationPointX", drawMeasureTester) ;
+ }
+
+ /**
+ * !!! DEPRECATED !!!
+ */
+ public void _RotationPointY() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("RotationPointY", drawMeasureTester) ;
+ }
+
+ /**
+ * Tests the property with custom tester
+ */
+ public void _ShearAngle() {
+
+ Object noShear = tEnv.getObjRelation("NoShear");
+
+ if (noShear != null) {
+ log.println("This shape type doesn't support shear, see #85556#");
+ tRes.tested("ShearAngle",Status.skipped(true));
+ return;
+ }
+
+ try {
+ oObj.setPropertyValue("RotateAngle",Short.valueOf((short) 0));
+ } catch (Exception e) {
+ }
+ log.println("Testing with custom Property tester") ;
+ testProperty("ShearAngle", drawMeasureTester) ;
+ }
+
+ /**
+ * Tests the property with custom tester
+ */
+ public void _RotateAngle() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("RotateAngle", drawMeasureTester) ;
+ }
+
+} // finish class _RotationDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ShadowDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_ShadowDescriptor.java
new file mode 100644
index 000000000..ec95fea71
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ShadowDescriptor.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+public class _ShadowDescriptor extends MultiPropertyTest {
+
+ @Override
+ protected boolean compare(Object ob1, Object ob2) {
+
+ return super.compare(ob1, ob2);
+
+ }
+
+} // finish class _ShadowDescriptor
+
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ShadowProperties.java b/qadevOOo/tests/java/ifc/drawing/_ShadowProperties.java
new file mode 100644
index 000000000..b1c039a8c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ShadowProperties.java
@@ -0,0 +1,39 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.ShadowProperties</code>
+* service properties :
+* <ul>
+* <li><code> Shadow</code></li>
+* <li><code> ShadowColor</code></li>
+* <li><code> ShadowTransparence</code></li>
+* <li><code> ShadowXDistance</code></li>
+* <li><code> ShadowYDistance</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.ShadowProperties
+*/
+public class _ShadowProperties extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_Shape.java b/qadevOOo/tests/java/ifc/drawing/_Shape.java
new file mode 100644
index 000000000..9ef654283
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_Shape.java
@@ -0,0 +1,151 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.style.XStyle;
+
+/**
+* Testing <code>com.sun.star.drawing.Shape</code>
+* service properties :
+* <ul>
+* <li><code> ZOrder</code></li>
+* <li><code> LayerID</code></li>
+* <li><code> LayerName</code></li>
+* <li><code> Printable</code></li>
+* <li><code> MoveProtect</code></li>
+* <li><code> Name</code></li>
+* <li><code> SizeProtect</code></li>
+* <li><code> Style</code></li>
+* <li><code> Transformation</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Style1', 'Style2'</code>
+* (of type <code>com.sun.star.style.XStyle</code>):
+* relations used to change property 'Style'</li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.Shape
+*/
+public class _Shape extends MultiPropertyTest {
+
+ XStyle style1 = null;
+ XStyle style2 = null;
+
+ /**
+ * Custom tester which switches between two styles.
+ */
+ protected PropertyTester StyleTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (util.ValueComparer.equalValue(oldValue,style1))
+ return style2; else
+ return style1;
+ }
+ } ;
+
+ /**
+ * Custom tester for 'LayerName' property which switches two
+ * Strings ('layout' and 'controls').
+ */
+ protected PropertyTester StringTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (util.ValueComparer.equalValue(oldValue,"layout"))
+ return "controls"; else
+ return "layout";
+ }
+ } ;
+
+ /**
+ * Tested with custom StyleTester which switches between two
+ * styles.
+ */
+ public void _Style() {
+ log.println("Testing with custom Property tester") ;
+ style1 = (XStyle) tEnv.getObjRelation("Style1");
+ style2 = (XStyle) tEnv.getObjRelation("Style2");
+ testProperty("Style", StyleTester) ;
+ }
+
+ /**
+ * Tested with custom StringTester which switches two
+ * Strings ('layout' and 'controls')
+ */
+ public void _LayerName() {
+ if (tEnv.getTestCase().getObjectName().equals("SwXShape")) {
+ log.println("There is only one Layer for SwXShape");
+ log.println("Therefore this property can't be changed");
+ tRes.tested("LayerName",true);
+ } else if (tEnv.getTestCase().getObjectName().equals("ScShapeObj")) {
+ log.println("There is only one Layer for ScShapeObj");
+ log.println("Therefore this property can't be changed");
+ tRes.tested("LayerName",true);
+ } else if (tEnv.getTestCase().getObjectName().equals("ScAnnotationShapeObj")) {
+ log.println("There is only one Layer for ScAnnotationShapeObj");
+ log.println("Therefore this property can't be changed");
+ String aName = null;
+ try {
+ aName = (String) oObj.getPropertyValue ("LayerName");
+ log.println("LayerName: '"+aName+"'");
+ } catch (Exception e) {
+ e.printStackTrace (log);
+ }
+ tRes.tested("LayerName",aName != null);
+ } else {
+ log.println("Testing with custom Property tester") ;
+ testProperty("LayerName", StringTester) ;
+ }
+ }
+
+ public void _ZOrder() {
+ if (tEnv.getTestCase().getObjectName().equals("ScAnnotationShapeObj")) {
+ log.println("There is only one Layer for ScAnnotationShapeObj");
+ log.println("Therefore this property can't be changed");
+ tRes.tested("ZOrder",true);
+ } else {
+ testProperty("ZOrder", Integer.valueOf(0), Integer.valueOf(1));
+ }
+ }
+
+ public void _LayerID() {
+ if (tEnv.getTestCase().getObjectName().equals("ScAnnotationShapeObj")) {
+ log.println("There is only one Layer for ScAnnotationShapeObj");
+ log.println("Therefore this property can't be changed");
+ Short aID = null;
+ try {
+ aID = (Short) oObj.getPropertyValue ("LayerID");
+ log.println("LayerID: '"+aID.intValue ()+"'");
+ } catch (Exception e) {
+ e.printStackTrace (log);
+ }
+ tRes.tested("LayerID",aID != null);
+ } else {
+ log.println("Testing with custom Property tester") ;
+ testProperty("LayerID");
+ }
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_ShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_ShapeDescriptor.java
new file mode 100644
index 000000000..1ffc66ee2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_ShapeDescriptor.java
@@ -0,0 +1,134 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+import util.ValueChanger;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.UnoRuntime;
+
+
+public class _ShapeDescriptor extends MultiMethodTest {
+
+ public XPropertySet oObj = null; // oObj filled by MultiMethodTest
+ public boolean ro = false;
+
+ public void _LayerID() {
+ com.sun.star.lang.XServiceInfo xInfo = UnoRuntime.queryInterface
+ (com.sun.star.lang.XServiceInfo.class, oObj);
+ if ( ! xInfo.supportsService("com.sun.star.drawing.ShapeDescriptor")) {
+ log.println("Service not available !!!!!!!!!!!!!");
+ tRes.tested("Supported", false);
+ }
+ ro = true;
+ changeProp("LayerID");
+ ro = false;
+ }
+ public void _LayerName() {
+ ro = true;
+ changeProp("LayerName");
+ ro = false;
+ }
+ public void _MoveProtect() {
+ changeProp("MoveProtect");
+ }
+ public void _Name() {
+ changeProp("Name");
+ }
+ public void _Printable() {
+ changeProp("Printable");
+ }
+ public void _SizeProtect() {
+ changeProp("SizeProtect");
+ }
+ public void _Style() {
+ changeProp("Style");
+ }
+
+ public void _Transformation() {
+ changeProp("Transformation");
+ }
+
+ public void changeProp(String name) {
+
+ Object gValue = null;
+ Object sValue = null;
+ Object ValueToSet = null;
+
+
+ try {
+ gValue = oObj.getPropertyValue(name);
+ if (!ro) {
+ ValueToSet = ValueChanger.changePValue(gValue);
+ if ( name.equals("Style") ) {
+ ValueToSet = newStyle(gValue);
+ }
+ oObj.setPropertyValue(name,ValueToSet);
+ sValue = oObj.getPropertyValue(name);
+ }
+
+ //check get-set methods
+ if (gValue.equals(sValue)) {
+ log.println("Value for '"+name+"' hasn't changed");
+ tRes.tested(name, false);
+ } else {
+ log.println("Property '"+name+"' OK");
+ tRes.tested(name, true);
+ }
+ } catch (com.sun.star.beans.UnknownPropertyException ex) {
+ if (isOptional(name)) {
+ log.println("Property '"+name+
+ "' is optional and not supported");
+ tRes.tested(name,true);
+ } else {
+ log.println("Exception occurred while testing property '" +
+ name + "'");
+ ex.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+ }
+ catch (Exception e) {
+ log.println("Exception occurred while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+
+
+ }// end of changeProp
+
+ public XStyle newStyle(Object oldStyle) {
+ XStyle Style1 = (XStyle) tEnv.getObjRelation("Style1");
+ XStyle Style2 = (XStyle) tEnv.getObjRelation("Style2");
+ XStyle back = null;
+ if ( (Style1!=null) && (Style2!=null) ) {
+ if ( ((XStyle) oldStyle).equals(Style1) ) {
+ back = Style2;
+ } else {
+ back = Style1;
+ }
+ }
+ return back;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_Text.java b/qadevOOo/tests/java/ifc/drawing/_Text.java
new file mode 100644
index 000000000..9ffffab6e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_Text.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+public class _Text extends MultiPropertyTest {
+
+ @Override
+ protected boolean compare(Object ob1, Object ob2) {
+
+ return super.compare(ob1, ob2);
+
+ }
+
+ public void _NumberingRules() {
+ //This property is readOnly
+ boolean bResult = false;
+
+ try {
+ Object theRules2 = oObj.getPropertyValue( "NumberingRules" );
+ if (!(theRules2 instanceof com.sun.star.container.XIndexReplace)) {
+ log.println("Property 'NumberingRules' is an instance of "+
+ theRules2.getClass().getName());
+ log.println("Expected was an instance of "+
+ "com.sun.star.container.XIndexReplace");
+ }
+ log.println("Trying to cast property 'NumberingRules' "+
+ "to XIndexReplace");
+ oObj.getPropertyValue( "NumberingRules" );
+ bResult = true;
+ } catch( Exception e ) {
+ log.println("Error occurred while trying to get property"+
+ " 'NumberingRules'");
+ e.printStackTrace( log );
+ bResult = false;
+ }
+
+ tRes.tested( "NumberingRules", bResult);
+ }
+
+} // finish class _Text
+
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_TextProperties.java b/qadevOOo/tests/java/ifc/drawing/_TextProperties.java
new file mode 100644
index 000000000..29f40c01a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_TextProperties.java
@@ -0,0 +1,58 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.TextProperties</code>
+* service properties :
+* <ul>
+* <li><code> IsNumbering</code></li>
+* <li><code> NumberingRules</code></li>
+* <li><code> TextAutoGrowHeight</code></li>
+* <li><code> TextAutoGrowWidth</code></li>
+* <li><code> TextContourFrame</code></li>
+* <li><code> TextFitToSize</code></li>
+* <li><code> HorizontalAdjust</code></li>
+* <li><code> VerticalAdjust</code></li>
+* <li><code> TextLeftDistance</code></li>
+* <li><code> TextRightDistance</code></li>
+* <li><code> TextUpperDistance</code></li>
+* <li><code> TextLowerDistance</code></li>
+* <li><code> TextMaximumFrameHeight</code></li>
+* <li><code> TextMaximumFrameWidth</code></li>
+* <li><code> TextMinimumFrameHeight</code></li>
+* <li><code> TextMinimumFrameWidth</code></li>
+* <li><code> TextAnimationAmount</code></li>
+* <li><code> TextAnimationCount</code></li>
+* <li><code> TextAnimationDelay</code></li>
+* <li><code> TextAnimationDirection</code></li>
+* <li><code> TextAnimationKind</code></li>
+* <li><code> TextAnimationStartInside</code></li>
+* <li><code> TextAnimationStopInside</code></li>
+* <li><code> TextWritingMode</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.TextProperties
+*/
+public class _TextProperties extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_TextShape.java b/qadevOOo/tests/java/ifc/drawing/_TextShape.java
new file mode 100644
index 000000000..e2a5c8a22
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_TextShape.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.drawing.TextShape</code>
+* service properties :
+* <ul>
+* <li><code> CornerRadius</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.drawing.TextShape
+*/
+public class _TextShape extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_TextShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_TextShapeDescriptor.java
new file mode 100644
index 000000000..3a4012399
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_TextShapeDescriptor.java
@@ -0,0 +1,27 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiPropertyTest;
+
+
+public class _TextShapeDescriptor extends MultiPropertyTest {
+
+} // finish class _TextShapeDescriptor
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XConnectorShape.java b/qadevOOo/tests/java/ifc/drawing/_XConnectorShape.java
new file mode 100644
index 000000000..ef9395f33
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XConnectorShape.java
@@ -0,0 +1,139 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.drawing.ConnectionType;
+import com.sun.star.drawing.XConnectableShape;
+import com.sun.star.drawing.XConnectorShape;
+import com.sun.star.drawing.XShape;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XConnectorShape</code>
+* interface methods :
+* <ul>
+* <li><code> connectStart()</code></li>
+* <li><code> connectEnd()</code></li>
+* <li><code> disconnectBegin()</code></li>
+* <li><code> disconnectEnd()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XConnectorShape.Shapes'</code>
+* (of type <code>com.sun.star.drawing.XShape[]</code>):
+* an array of two shapes which <b>must</b> implement
+* <code>com.sun.star.drawing.XConnectableShape</code>
+* interface and are used for being connected by
+* connector shape.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XConnectorShape
+*/
+public class _XConnectorShape extends MultiMethodTest {
+
+ public XConnectorShape oObj = null; //oObj filled by MultiMethodTest
+ private XConnectableShape shape1 = null,
+ shape2 = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throw StatusException If the relation is not found or shapes don't
+ * support <code>XConnectableShape</code> interface.
+ */
+ @Override
+ public void before() {
+ log.println("No shapes implementing XConnectableShape still found.");
+ XShape[] shapes = (XShape[])
+ tEnv.getObjRelation("XConnectorShape.Shapes") ;
+ if (shapes == null) throw new StatusException(Status.failed
+ ("Relation not found.")) ;
+ shape1 = UnoRuntime.queryInterface
+ (XConnectableShape.class, shapes[0]) ;
+ shape2 = UnoRuntime.queryInterface
+ (XConnectableShape.class, shapes[1]) ;
+ if (shape1 == null || shape2 == null) throw new StatusException
+ (Status.failed("Shapes don't implement XConnectableShape"+
+ " interface.")) ;
+ }
+
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _connectStart() {
+ oObj.connectStart(shape1, ConnectionType.AUTO);
+
+ tRes.tested("connectStart()", true) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _connectEnd() {
+ oObj.connectEnd(shape2, ConnectionType.AUTO);
+
+ tRes.tested("connectEnd()", true) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> connectStart() </code> : first shape needs to be
+ * connected. </li>
+ * </ul>
+ */
+ public void _disconnectBegin() {
+ requiredMethod("connectStart()");
+
+ oObj.disconnectBegin(shape1);
+
+ tRes.tested("disconnectBegin()", true) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> connectEnd() </code> : first shape needs to be
+ * connected. </li>
+ * </ul>
+ */
+ public void _disconnectEnd() {
+ requiredMethod("connectEnd()");
+
+ oObj.disconnectEnd(shape2);
+
+ tRes.tested("disconnectEnd()", true) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XControlShape.java b/qadevOOo/tests/java/ifc/drawing/_XControlShape.java
new file mode 100644
index 000000000..fadf945a8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XControlShape.java
@@ -0,0 +1,96 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+import util.FormTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.drawing.XControlShape</code>
+* interface methods :
+* <ul>
+* <li><code> getControl()</code></li>
+* <li><code> setControl()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'xDoc'</code> (of type <code>XComponent</code>):
+* the document where shape tested is situated. This document
+* must also implement <code>XMultiServiceFactory</code> interface
+* to create some control model. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XControlShape
+*/
+public class _XControlShape extends MultiMethodTest {
+
+ public XControlShape oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _getControl() {
+ oObj.getControl();
+ tRes.tested("getControl()", true) ;
+ }
+
+ /**
+ * With the help of document passed as relation, a new button control
+ * model is created and set as a control. <p>
+ * Has <b> OK </b> status if <code>getControl()</code> method returns
+ * the same control as was set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getControl() </code> </li>
+ * </ul>
+ */
+ public void _setControl()
+ throws com.sun.star.uno.Exception
+ {
+ requiredMethod("getControl()") ;
+
+ XInterface oNewControl = FormTools.createControl
+ ((XComponent)tEnv.getObjRelation("xDoc"), "ComboBox") ;
+
+ XControlModel xControl = UnoRuntime.queryInterface
+ (XControlModel.class, oNewControl) ;
+
+ oObj.setControl(xControl) ;
+
+ XControlModel gControl = oObj.getControl() ;
+
+ if (oNewControl.equals(gControl))
+ tRes.tested("setControl()", true) ;
+ else {
+ log.println("Control set is not equal to control get") ;
+ tRes.tested("setControl()", false) ;
+ }
+ }
+
+} // finish class _XControlShape
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawPageDuplicator.java b/qadevOOo/tests/java/ifc/drawing/_XDrawPageDuplicator.java
new file mode 100644
index 000000000..75073765b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawPageDuplicator.java
@@ -0,0 +1,81 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageDuplicator;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Testing <code>com.sun.star.drawing.XDrawPageDuplicator</code>
+* interface methods :
+* <ul>
+* <li><code> duplicate()</code></li>
+* </ul> <p>
+* The object tested <b> must implement </b>
+* <code>XDrawPagesSupplier</code> interface to have access to draw
+* pages collection. <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.drawing.XDrawPageDuplicator
+*/
+public class _XDrawPageDuplicator extends MultiMethodTest {
+ public XDrawPageDuplicator oObj = null;
+
+ /**
+ * First queries object tested for <code>XDrawPagesSupplier</code>
+ * interface and obtains one draw page from document. Then it
+ * tries to duplicate it.<p>
+ * Has <b> OK </b> status if the method returns not null value and
+ * this value is not equal to the page which was duplicated. <p>
+ */
+ public void _duplicate(){
+ boolean result = false;
+ XInterface testobj = tEnv.getTestObject();
+ XDrawPagesSupplier PS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, testobj);
+ XDrawPages DPs = PS.getDrawPages();
+ XDrawPage DP = null;
+ try {
+ DP = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),DPs.getByIndex(0));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while testing: " + e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while testing: " + e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while testing: " + e);
+ }
+
+ if (DP != null) {
+ XDrawPage newPage = oObj.duplicate(DP);
+ result = (newPage != null) && !(newPage.equals(DP));
+ }
+ tRes.tested("duplicate()", result);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawPageSupplier.java b/qadevOOo/tests/java/ifc/drawing/_XDrawPageSupplier.java
new file mode 100644
index 000000000..dd4b20601
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawPageSupplier.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.drawing;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import lib.MultiMethodTest;
+
+/**
+ *
+ */
+public class _XDrawPageSupplier extends MultiMethodTest {
+ public XDrawPageSupplier oObj = null;
+
+ public void _getDrawPage() {
+ XDrawPage xPage = oObj.getDrawPage();
+ log.println("xPage: " + util.utils.getImplName(xPage));
+ tRes.tested("getDrawPage()", xPage != null);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawPages.java b/qadevOOo/tests/java/ifc/drawing/_XDrawPages.java
new file mode 100644
index 000000000..a2cf2c3b3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawPages.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+
+/**
+* Testing <code>com.sun.star.drawing.XDrawPages</code>
+* interface methods :
+* <ul>
+* <li><code> insertNewByIndex()</code></li>
+* <li><code> remove()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XDrawPages
+*/
+public class _XDrawPages extends MultiMethodTest {
+ public XDrawPages oObj = null;
+ public XDrawPage DrawPage;
+
+ /**
+ * Inserts a draw page at index 0. Number of pages is obtained
+ * before and after insertion.<p>
+ * Has <b> OK </b> status if the value returned is not null and
+ * number of pages increases by one after insertion. <p>
+ */
+ public void _insertNewByIndex(){
+ boolean result = true;
+ log.println("testing insertNewByIndex() ... ");
+
+ int cntBefore = oObj.getCount();
+ DrawPage = oObj.insertNewByIndex(0);
+ int cntAfter = oObj.getCount();
+ result = DrawPage != null &&
+ cntAfter == cntBefore + 1 ;
+
+ tRes.tested("insertNewByIndex()", result);
+ } // end InsertNewByIndex
+
+ /**
+ * Removes the draw page inserted before. Number of pages is obtained
+ * before and after removing.<p>
+ * Has <b> OK </b> status if the number of pages decreases by one
+ * after removing. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertByIndex() </code> : the page to be removed must
+ * be inserted first.</li>
+ * </ul>
+ */
+ public void _remove(){
+ requiredMethod("insertNewByIndex()") ;
+
+ boolean result = true;
+ log.println("removing DrawPage...");
+
+ int cntBefore = oObj.getCount();
+ oObj.remove(DrawPage);
+ int cntAfter = oObj.getCount();
+ result = cntAfter + 1 == cntBefore ;
+
+ tRes.tested("remove()", result);
+ } // end remove()
+
+} // end XDrawPages
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawPagesSupplier.java b/qadevOOo/tests/java/ifc/drawing/_XDrawPagesSupplier.java
new file mode 100644
index 000000000..8350f665d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawPagesSupplier.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+
+/**
+* Testing <code>com.sun.star.drawing.XDrawPagesSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getDrawPages()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XDrawPagesSupplier
+*/
+public class _XDrawPagesSupplier extends MultiMethodTest {
+ public XDrawPagesSupplier oObj = null;
+
+ /**
+ * Gets draw page collection. <p>
+ * Has <b> OK </b> status if the value returned is not null. <p>
+ */
+ public void _getDrawPages(){
+ boolean result = true;
+ XDrawPages DrawPages = null;
+
+ log.println("testing getDrawPages() ... ");
+
+ DrawPages = oObj.getDrawPages();
+ result = DrawPages != null;
+
+ tRes.tested("getDrawPages()", result);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XDrawView.java b/qadevOOo/tests/java/ifc/drawing/_XDrawView.java
new file mode 100644
index 000000000..30f54f67d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XDrawView.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawView;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.drawing.XDrawView</code>
+* interface methods :
+* <ul>
+* <li><code> setCurrentPage()</code></li>
+* <li><code> getCurrentPage()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Pages'</code> (of type <code>XDrawPages</code>):
+* needed to have the access to pages collection.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XDrawView
+*/
+public class _XDrawView extends MultiMethodTest {
+
+ public XDrawView oObj = null;
+ public XDrawPage the_page = null;
+
+ /**
+ * This methods gets the current DrawPage.<p>
+ * Has <b> OK </b> status if the returned DrawPage
+ * isn't empty.
+ */
+ public void _getCurrentPage(){
+ the_page = oObj.getCurrentPage();
+ tRes.tested("getCurrentPage()",the_page != null);
+ } // end getCurrentPage
+
+ /**
+ * This methods sets the current DrawPage<br>
+ * First a new DrawPage is inserted in the document.
+ * Then this DrawPage is set as current Page.
+ * Has <b> OK </b> status if the getCurrentPage() method returns
+ * the DrawPage that was previously set.
+ * @see ifc.drawing._XDrawPages
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getCurrentPage() </code> </li>
+ * </ul>
+ */
+ public void _setCurrentPage(){
+ requiredMethod("getCurrentPage()");
+ try {
+ XDrawPages the_pages = (XDrawPages) tEnv.getObjRelation("Pages");
+ the_pages.insertNewByIndex(0);
+ XDrawPage newPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),the_pages.getByIndex(1));
+ oObj.setCurrentPage(newPage);
+ XDrawPage getting = oObj.getCurrentPage();
+ boolean eq = newPage.equals(getting);
+ if (!eq) {
+ log.println("Getting: "+getting.hasElements());
+ log.println("Expected: "+newPage.hasElements());
+ }
+ //back to the previous page
+ oObj.setCurrentPage(the_page);
+ tRes.tested("setCurrentPage()",eq);
+ } catch (com.sun.star.lang.WrappedTargetException ex) {
+ log.println("Exception occurred while checking 'setCurrentPage()'");
+ ex.printStackTrace(log);
+ tRes.tested("setCurrentPage()",false);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("Exception occurred while checking 'setCurrentPage()'");
+ ex.printStackTrace(log);
+ tRes.tested("setCurrentPage()",false);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred while checking 'setCurrentPage()'");
+ ex.printStackTrace(log);
+ tRes.tested("setCurrentPage()",false);
+ }
+ } // end setCurrentPage
+
+} // end DrawView
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XGluePointsSupplier.java b/qadevOOo/tests/java/ifc/drawing/_XGluePointsSupplier.java
new file mode 100644
index 000000000..c29963f5d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XGluePointsSupplier.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.drawing.XGluePointsSupplier;
+
+/**
+* Testing <code>com.sun.star.drawing.XGluePointsSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getGluePoints()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XGluePointsSupplier
+*/
+public class _XGluePointsSupplier extends MultiMethodTest {
+ public XGluePointsSupplier oObj = null;
+
+ /**
+ * Gets gluepoints collection. <p>
+ * Has <b> OK </b> status if the value returned is not null. <p>
+ */
+ public void _getGluePoints(){
+ boolean result = true;
+ XIndexContainer points = null;
+
+ log.println("testing getDrawPages() ... ");
+
+ points = oObj.getGluePoints();
+ result = points != null;
+
+ tRes.tested("getGluePoints()", result);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XLayerManager.java b/qadevOOo/tests/java/ifc/drawing/_XLayerManager.java
new file mode 100644
index 000000000..b44ce0fa7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XLayerManager.java
@@ -0,0 +1,157 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+import util.XInstCreator;
+
+import com.sun.star.drawing.XLayer;
+import com.sun.star.drawing.XLayerManager;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.drawing.XLayerManager</code>
+* interface methods :
+* <ul>
+* <li><code> insertNewByIndex()</code></li>
+* <li><code> remove()</code></li>
+* <li><code> attachShapeToLayer()</code></li>
+* <li><code> getLayerForShape()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Shape'</code> (of type <code>util.XInstCreator</code>):
+* instance creator which can create shapes.</li>
+* <li> <code>'Shapes'</code>
+* (of type <code>com.sun.star.drawing.XShapes</code>):
+* The collection of shapes in the document. Is used
+* to add new created shapes.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XLayerManager
+*/
+public class _XLayerManager extends MultiMethodTest {
+
+ public XLayerManager oObj = null; // oObj filled by MultiMethodTest
+ XInstCreator shape = null;
+ public XInterface oShape = null;
+ public XLayer oL = null;
+
+ /**
+ * Inserts a new layer into collection. <p>
+ * Has <b> OK </b> status if the value returned is not null. <p>
+ */
+ public void _insertNewByIndex(){
+ log.println("insertNewByName() ... ");
+ oL = oObj.insertNewByIndex(0);
+ tRes.tested("insertNewByIndex()", oL != null);
+ }
+
+ /**
+ * First a shape created and inserted into the document using
+ * relations retrieved. Attaches this shape to layer created before. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertNewByIndex </code> : to have a layer attach to.</li>
+ * </ul>
+ */
+ public void _attachShapeToLayer() {
+ requiredMethod("insertNewByIndex()");
+ shape = (XInstCreator)tEnv.getObjRelation("Shape");
+ oShape = shape.createInstance();
+ XShape oSh = (XShape) oShape;
+ XShapes oShapes = (XShapes) tEnv.getObjRelation("Shapes");
+ oShapes.add(oSh);
+ boolean result = false;
+
+ log.println("attachShapeToLayer() ... ");
+
+ oObj.attachShapeToLayer((XShape) oShape,oL);
+ result = true;
+
+ tRes.tested("attachShapeToLayer()", result);
+ }
+
+ /**
+ * Gets the layer for shape which was attached before. <p>
+ * Has <b> OK </b> status if the names of layer get and
+ * the layer attached before are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> attachShapeToLayer() </code> </li>
+ * </ul>
+ */
+ public void _getLayerForShape() {
+ requiredMethod("attachShapeToLayer()");
+ log.println("getLayerForShape() ... ");
+ XLayer Lay1 = oL;
+ XLayer Lay2 = oObj.getLayerForShape((XShape)oShape);
+ Object Obj1 = null;
+ Object Obj2 = null;
+
+ try {
+ Obj1 = Lay1.getPropertyValue("Name");
+ Obj2 = Lay2.getPropertyValue("Name");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ }
+
+ tRes.tested("getLayerForShape()",ValueComparer.equalValue(Obj1,Obj2));
+ }
+
+ /**
+ * Test removes the layer added before. Number of layers are get before
+ * and after removing.<p>
+ * Has <b> OK </b> status if number of layers decreases by one. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLayerForShape() </code> </li>
+ * </ul>
+ */
+ public void _remove () {
+ requiredMethod("getLayerForShape()");
+ boolean result = true ;
+ // get the current thread's holder
+ log.println("removing the Layer...");
+
+ int cntBefore = oObj.getCount();
+
+ try {
+ oObj.remove(oL);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ int cntAfter = oObj.getCount();
+
+ result = cntBefore == cntAfter + 1;
+
+ tRes.tested("remove()", result);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XLayerSupplier.java b/qadevOOo/tests/java/ifc/drawing/_XLayerSupplier.java
new file mode 100644
index 000000000..ced5953ee
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XLayerSupplier.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.drawing.XLayerManager;
+import com.sun.star.drawing.XLayerSupplier;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XLayerSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getLayerManager()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XLayerSupplier
+*/
+public class _XLayerSupplier extends MultiMethodTest{
+ public XLayerSupplier oObj = null;
+
+ /**
+ * Gets the manager and it is queried for <code>XLayerManager</code>. <p>
+ * Has <b> OK </b> status if returned value is successfully
+ * queried for <code>XLayerManager</code>. <p>
+ */
+ public void _getLayerManager(){
+ XNameAccess oNA =null;
+ XLayerManager oLM = null;
+ boolean result = true;
+
+ log.println("testing getLayerManager() ... ");
+
+ oNA = oObj.getLayerManager();
+ oLM = UnoRuntime.queryInterface ( XLayerManager.class, oNA);
+ result = oLM != null;
+
+ tRes.tested("getLayerManager()", result);
+ } // finished test
+
+} // end XLayerSupplier
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XMasterPageTarget.java b/qadevOOo/tests/java/ifc/drawing/_XMasterPageTarget.java
new file mode 100644
index 000000000..a1716bbe5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XMasterPageTarget.java
@@ -0,0 +1,99 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XMasterPageTarget;
+
+/**
+* Testing <code>com.sun.star.drawing.XMasterPageTarget</code>
+* interface methods :
+* <ul>
+* <li><code> getMasterPage()</code></li>
+* <li><code> setMasterPage()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'MasterPageSupplier'</code>
+* (of type <code>XDrawPages</code>):
+* the relation is used to create a new draw page. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XMasterPageTarget
+*/
+public class _XMasterPageTarget extends MultiMethodTest{
+
+ public XMasterPageTarget oObj = null;
+ public XDrawPage DrawPage = null;
+
+ /**
+ * Gets the master page and stores. <p>
+ * Has <b> OK </b> status if the value returned is not null. <p>
+ */
+ public void _getMasterPage(){
+ boolean result = false;
+ log.println("get the MasterPage");
+
+ DrawPage = oObj.getMasterPage();
+ result = DrawPage != null ;
+
+ tRes.tested("getMasterPage()",result);
+ }
+
+ /**
+ * Gets the pages supplier from relation. Then a new page is created,
+ * inserted and set as master page.<p>
+ * Has <b> OK </b> status if the master page get is equal to page
+ * which was set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getMasterPage() </code> : to get old master page.</li>
+ * </ul>
+ */
+ public void _setMasterPage() {
+ requiredMethod("getMasterPage()") ;
+
+ boolean result = true;
+ XDrawPage oNewPage = null;
+
+ XDrawPages oPages = (XDrawPages) tEnv.getObjRelation("MasterPageSupplier");
+ log.println("inserting new MasterPage");
+ oNewPage = oPages.insertNewByIndex(oPages.getCount());
+
+ // save the old MasterPage
+ XDrawPage oOldPage = DrawPage;
+
+ // set the new Page as MasterPage
+ log.println("set the new MasterPage");
+ oObj.setMasterPage(oNewPage);
+
+ // get the new MasterPage
+ DrawPage = oObj.getMasterPage();
+
+ // test the different MasterPages
+ if (DrawPage.equals(oOldPage)) result = false;
+
+ tRes.tested("setMasterPage()",result);
+ }
+
+} // end of XMasterPageTarget
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XMasterPagesSupplier.java b/qadevOOo/tests/java/ifc/drawing/_XMasterPagesSupplier.java
new file mode 100644
index 000000000..313f0f142
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XMasterPagesSupplier.java
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XMasterPagesSupplier;
+
+/**
+* Testing <code>com.sun.star.drawing.XMasterPagesSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getMasterPages()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XMasterPagesSupplier
+*/
+public class _XMasterPagesSupplier extends MultiMethodTest{
+ public XMasterPagesSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the value returned is not null.
+ */
+ public void _getMasterPages(){
+ boolean result = false;
+ XDrawPages DrawPages = null;
+
+ log.println("get the MasterPages");
+
+ DrawPages = oObj.getMasterPages();
+ result = DrawPages != null;
+
+ tRes.tested("getMasterPages()",result);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShape.java b/qadevOOo/tests/java/ifc/drawing/_XShape.java
new file mode 100644
index 000000000..8f6b5d791
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShape.java
@@ -0,0 +1,186 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.drawing.XShape;
+
+/**
+* Testing <code>com.sun.star.drawing.XShape</code>
+* interface methods :
+* <ul>
+* <li><code> getPosition()</code></li>
+* <li><code> setPosition()</code></li>
+* <li><code> getSize()</code></li>
+* <li><code> setSize()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'NoPos'</code> <b>optional</b>
+* (of type <code>Object</code>):
+* if this relation exists then position setting is
+* not supported by the object.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XShape
+*/
+public class _XShape extends MultiMethodTest {
+
+ public XShape oObj = null; //oObj filled by MultiMethodTest
+
+ Size sOld = new Size();
+ Point pOld = new Point();
+ Size sNew = new Size();
+ Point pNew = new Point();
+
+ /**
+ * Gets the size and stores it. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _getSize(){
+
+ boolean result = false;
+
+ log.println("get the size");
+
+ sOld = oObj.getSize();
+ result = true;
+
+ tRes.tested("getSize()", result);
+ }
+
+ /**
+ * Gets the current position and stores it if the object
+ * supports position setting. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown or object doesn't
+ * support position setting. <p>
+ */
+ public void _getPosition(){
+ boolean result = false;
+
+ String obj = (String) tEnv.getObjRelation("NoPos");
+ if (obj != null) {
+ log.println("Can't be used with "+obj);
+ result = true;
+ tRes.tested("getPosition()", result);
+ return;
+ }
+
+ log.println("get the position");
+ pOld = oObj.getPosition();
+ result = true;
+
+ tRes.tested("getPosition()", result);
+ }
+
+ /**
+ * Sets a new size different from the size get before. <p>
+ * Has <b> OK </b> status if the size returned by <code>getSize()</code>
+ * is equal to the size which was set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSize() </code> : to set the original size changed.</li>
+ * </ul>
+ */
+ public void _setSize(){
+ requiredMethod("getSize()");
+
+ boolean result = true;
+
+ String obj = (String) tEnv.getObjRelation("NoSetSize");
+ if (obj != null) {
+ log.println("Can't be used with " + obj);
+ tRes.tested("setSize()", true);
+ return;
+ }
+ // get the current thread's holder
+ sNew = new Size(sOld.Width + 10,sOld.Height + 10) ;
+
+ //set new size
+ log.println("change the size");
+ try {
+ oObj.setSize(sNew);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while calling the method :" + e);
+ result = true ;
+ }
+
+ Size gSize = oObj.getSize() ;
+
+ log.println("Previously: "+sOld.Height+";"+sOld.Width);
+ log.println("Expected: "+sNew.Height+";"+sNew.Width);
+ log.println("Getting: "+gSize.Height+";"+gSize.Width);
+
+ //errors in calculation from points/twips less than 1 are acceptable
+ result &= (sNew.Height-gSize.Height <= 2) && (sNew.Width-gSize.Width <= 2);
+
+ if (result && ((sNew.Height-gSize.Height != 0) || (sNew.Width-gSize.Width != 0))){
+ log.println("NOTE: there is a difference between the expected and the gotten value. " +
+ "This might be ok because of problems in calculation from points <-> twips");
+ }
+ tRes.tested("setSize()", result);
+ }
+
+ /**
+ * If object doesn't support position setting the test does nothing.
+ * Else a new position is created and set.<p>
+ * Has <b> OK </b> status if get position is equal to set position or
+ * if the position setting isn't supported. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPosition() </code> : to change old position. </li>
+ * </ul>
+ */
+ public void _setPosition(){
+ requiredMethod("getPosition()");
+
+ boolean result = true;
+
+ String obj = (String) tEnv.getObjRelation("NoPos");
+ if (obj != null) {
+ log.println("Can't be used with " + obj);
+ tRes.tested("setPosition()", true);
+ return;
+ }
+
+ // get the current thread's holder
+ pNew = new Point(pOld.X + 100, pOld.Y + 100) ;
+ oObj.setPosition(pNew);
+
+ Point gPos = oObj.getPosition() ;
+
+ log.println("Previously: "+pOld.X+";"+pOld.Y);
+ log.println("Expected: "+pNew.X+";"+pNew.Y);
+ log.println("Getting: "+gPos.X+";"+gPos.Y);
+
+ result = !util.ValueComparer.equalValue(pOld, gPos) ;
+
+ tRes.tested("setPosition()", result);
+ }
+
+
+} // finish class _XShape
+
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapeBinder.java b/qadevOOo/tests/java/ifc/drawing/_XShapeBinder.java
new file mode 100644
index 000000000..5ebe37e1c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapeBinder.java
@@ -0,0 +1,100 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapeBinder;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XShapeBinder</code>
+* interface methods :
+* <ul>
+* <li><code> bind()</code></li>
+* <li><code> unbind()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DrawPage'</code> (must implement <code>XShapes</code>):
+* the collection of shapes in a document which used to create a group.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XShapeBinder
+*/
+public class _XShapeBinder extends MultiMethodTest {
+
+ public XShapeBinder oObj = null;
+ XShape group = null;
+ int countBeforeBind = 0;
+ XShapes oShapes = null;
+
+ /**
+ * Retrieves draw page collection from relation and binds them. <p>
+ *
+ * Has <b> OK </b> status if the shape group returned is not null
+ * number of shapes in collection is 1 (shapes are bound into a single
+ * shape). <p>
+ */
+ public void _bind () {
+ XDrawPage dp = (XDrawPage) tEnv.getObjRelation("DrawPage");
+ oShapes = UnoRuntime.queryInterface( XShapes.class, dp );
+ boolean result = false;
+ log.println("testing bind() ... ");
+ countBeforeBind = oShapes.getCount();
+ log.println("Count before bind:" + countBeforeBind);
+ group = oObj.bind(oShapes);
+ int countAfterBind = oShapes.getCount();
+ log.println("Count after bind:" + countAfterBind);
+ result = group != null && countAfterBind == 1;
+
+ tRes.tested("bind()", result);
+
+ }
+
+ /**
+ * Unbinds the group created before. <p>
+ *
+ * Has <b> OK </b> status if number of shapes in collection
+ * increases after the method call. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> bind() </code> : to create a shape group </li>
+ * </ul>
+ */
+ public void _unbind () {
+ requiredMethod("bind()");
+ boolean result = false;
+
+ // get the current thread's holder
+ log.println("unbinding the shape...");
+
+ oObj.unbind(group);
+ int countAfterUnbind = oShapes.getCount();
+ log.println("Count after unbind:" + countAfterUnbind);
+ result = countAfterUnbind >= countBeforeBind;
+
+ tRes.tested("unbind()", result);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapeCombiner.java b/qadevOOo/tests/java/ifc/drawing/_XShapeCombiner.java
new file mode 100644
index 000000000..8cc1cf754
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapeCombiner.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapeCombiner;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XShapeCombiner</code>
+* interface methods :
+* <ul>
+* <li><code> combine()</code></li>
+* <li><code> split()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DrawPage'</code> (must implement <code>XShapes</code>):
+* the collection of shapes in a document which used to create a group.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XShapeCombiner
+*/
+public class _XShapeCombiner extends MultiMethodTest {
+
+ public XShapeCombiner oObj = null; //filled by MultiMethodTest
+ protected XShape oGroup = null;
+ int countBeforeComb = 0;
+ XShapes oShapes = null;
+
+ /**
+ * Retrieves draw page collection from relation and combines them. <p>
+ * Has <b> OK </b> status if the shape group returned is not null nd
+ * number of shapes in collection is 1 (shapes are combined into a single
+ * shape). <p>
+ */
+ public void _combine () {
+ XDrawPage dp = (XDrawPage) tEnv.getObjRelation("DrawPage");
+ oShapes = UnoRuntime.queryInterface( XShapes.class, dp );
+
+ boolean result = false;
+
+ log.println("testing combine() ... ");
+ countBeforeComb = oShapes.getCount();
+ log.println("Count before combining:" + countBeforeComb);
+ oGroup = oObj.combine(oShapes);
+ int countAfterComb = oShapes.getCount();
+ log.println("Count after combining:" + countAfterComb);
+ result = oGroup != null && countAfterComb == 1;
+
+ tRes.tested("combine()", result);
+ }
+
+ /**
+ * Splits the group created before. <p>
+ *
+ * Has <b> OK </b> status if number of shapes in collection after
+ * <code>split</code> is the same as before <code>combine</code>. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> combine() </code> : to create a shape group </li>
+ * </ul>
+ */
+ public void _split() {
+ requiredMethod("combine()");
+
+ boolean result = false;
+
+ log.println("splitting the shape...");
+
+ oObj.split(oGroup);
+ int countAfterSplit = oShapes.getCount();
+ log.println("Count after split:" + countAfterSplit);
+ result = countAfterSplit == countBeforeComb;
+
+ tRes.tested("split()", result);
+ } // end of split
+
+} // end of XShapeCombiner
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapeDescriptor.java b/qadevOOo/tests/java/ifc/drawing/_XShapeDescriptor.java
new file mode 100644
index 000000000..ef088b91c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapeDescriptor.java
@@ -0,0 +1,87 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XShapeDescriptor;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XShapeDescriptor</code>
+* interface methods :
+* <ul>
+* <li><code> getShapeType()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XShapeDescriptor
+*/
+public class _XShapeDescriptor extends MultiMethodTest {
+
+ public XShapeDescriptor oObj = null;
+ boolean result = true;
+
+ /**
+ * Gets the type of shape. This type must be a service name which
+ * is supported by object (except of ChartObject and Frame shapes).
+ * The object is queried for <code>XServiceInfo</code> and
+ * the type is checked to be among supported service names.<p>
+ *
+ * Has <b> OK </b> status if the type is found among supported
+ * services. Or if the object represents a text frame.<p>
+ */
+ public void _getShapeType() {
+ result = false;
+
+ String stype = oObj.getShapeType();
+ log.println("Current Shape Type is " + stype);
+
+ XServiceInfo SI = UnoRuntime.queryInterface(XServiceInfo.class, oObj);
+
+ String[] serviceNames = SI.getSupportedServiceNames();
+
+ log.println("Supported services :");
+ for (int i = 0; i < serviceNames.length; i++) {
+ log.println(" " + serviceNames[i]);
+ if (serviceNames[i].equals(stype))
+ result = true;
+ }
+
+ //remark: we should provide the expected name as ObjRelation
+
+ //Chart has its own behaviour it always return 'ChartObject'
+ if (stype.equals("com.sun.star.chart.ChartObject")) result=true;
+ if (stype.equals("com.sun.star.drawing.ControlShape")) result=true;
+ if (stype.equals("com.sun.star.drawing.ClosedBezierShape")) result=true;
+ if (stype.equals("com.sun.star.drawing.CaptionShape")) result=true;
+
+ //Writer has its own behaviour it returns a 'FrameShape'
+ if (stype.equals("FrameShape")) result=true;
+
+ if (!result) {
+ log.println("Service " + stype + " not supported in the object.");
+ }
+
+ tRes.tested("getShapeType()", result);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapeGroup.java b/qadevOOo/tests/java/ifc/drawing/_XShapeGroup.java
new file mode 100644
index 000000000..883bd1481
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapeGroup.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.drawing.XShapeGroup;
+
+/**
+* Testing <code>com.sun.star.drawing.XShapeGroup</code>
+* interface methods :
+* <ul>
+* <li><code> enterGroup()</code></li>
+* <li><code> leaveGroup()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XShapeGroup
+*/
+public class _XShapeGroup extends MultiMethodTest {
+ public XShapeGroup oObj = null;
+
+ /**
+ * The method called.
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _enterGroup() {
+ log.println("Testing enterGroup()...");
+ oObj.enterGroup();
+ tRes.tested("enterGroup()", true);
+ }
+
+ /**
+ * The method called.
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _leaveGroup() {
+ log.println("Testing leaveGroup()...");
+ oObj.leaveGroup();
+ tRes.tested("leaveGroup()", true);
+ }
+
+} // end of _XShapeGroup
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapeGrouper.java b/qadevOOo/tests/java/ifc/drawing/_XShapeGrouper.java
new file mode 100644
index 000000000..26b5045d1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapeGrouper.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapeGroup;
+import com.sun.star.drawing.XShapeGrouper;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.drawing.XShapeGrouper</code>
+* interface methods :
+* <ul>
+* <li><code> group()</code></li>
+* <li><code> ungroup()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DrawPage'</code> (must implement <code>XShapes</code>):
+* the collection of shapes in a document which used to create a group.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XShapeGrouper
+*/
+public class _XShapeGrouper extends MultiMethodTest {
+
+ public XShapeGrouper oObj = null; // oObj filled by MultiMethodTest
+ XShape oGroup = null;
+ int countAfterGr = 0;
+ XShapes oShapes = null;
+
+ /**
+ * Retrieves draw page collection from relation and groups them. <p>
+ * Has <b> OK </b> status if the shape group returned is not null. <p>
+ */
+ public void _group() {
+ Object dp = tEnv.getObjRelation("DrawPage");
+ if (dp == null)
+ throw new StatusException(Status.failed("Relation not found")) ;
+
+ oShapes = UnoRuntime.queryInterface( XShapes.class, dp );
+ boolean result = false;
+ log.println("Grouping " + oShapes.getCount() + " shapes ... ");
+
+ int countBeforeGr = oShapes.getCount();
+ oGroup = oObj.group(oShapes);
+ countAfterGr = oShapes.getCount();
+ log.println("Number of shapes after grouping: " + countAfterGr);
+ result = oGroup != null ;
+ result &= countAfterGr < countBeforeGr;
+
+ tRes.tested("group()", result);
+ }
+
+ /**
+ * Ungroups the group created before. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> group() </code> : to create a shape group </li>
+ * </ul>
+ */
+ public void _ungroup() {
+ requiredMethod("group()");
+ boolean result = false;
+ log.println("ungrouping the shape...");
+
+ oObj.ungroup((XShapeGroup)oGroup);
+ int countAfterUnGr = oShapes.getCount();
+ log.println("Number of shapes after ungrouping: " + countAfterUnGr);
+
+ result = countAfterUnGr != countAfterGr;
+
+ tRes.tested("ungroup()", result);
+ }
+}
+
+
+
diff --git a/qadevOOo/tests/java/ifc/drawing/_XShapes.java b/qadevOOo/tests/java/ifc/drawing/_XShapes.java
new file mode 100644
index 000000000..fc23687b8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/drawing/_XShapes.java
@@ -0,0 +1,100 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.drawing;
+
+import lib.MultiMethodTest;
+import util.XInstCreator;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Testing <code>com.sun.star.drawing.XShapes</code>
+* interface methods :
+* <ul>
+* <li><code> add()</code></li>
+* <li><code> remove()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Shape'</code> (of type <code>XShape</code>):
+* a shape which can be inserted into shape collection. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.drawing.XShapes
+*/
+public class _XShapes extends MultiMethodTest {
+
+ public XShapes oObj = null; // oObj filled by MultiMethodTest
+ XInstCreator shape = null;
+ XInterface oShape = null;
+
+
+ /**
+ * Retrieves a shape from relation and adds it to the collection.
+ * Number of shapes is checked before and after adding.<p>
+ * Has <b> OK </b> status if after adding number of shapes increases by
+ * 1. <p>
+ */
+ public void _add () {
+
+ boolean result = false;
+ shape = (XInstCreator)tEnv.getObjRelation("Shape");
+ oShape = shape.createInstance();
+ XShape oSh = (XShape) oShape;
+
+ log.println("testing add() ... ");
+
+ int cntBefore = oObj.getCount();
+ oObj.add(oSh);
+ int cntAfter = oObj.getCount();
+ result = cntBefore + 1 == cntAfter ;
+
+ tRes.tested("add()", result);
+ }
+
+ /**
+ * Removes the shape added before from the collection.
+ * Number of shapes is checked before and after removing.<p>
+ * Has <b> OK </b> status if after removing number of shapes decreases by
+ * 1. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> add() </code> : a shape added. </li>
+ * </ul>
+ */
+ public void _remove () {
+ requiredMethod("add()");
+ boolean result = false;
+
+ log.println("removing the shape...");
+
+ int cntBefore = oObj.getCount();
+ oObj.remove((XShape) oShape);
+ int cntAfter = oObj.getCount();
+ result = cntBefore == cntAfter + 1;
+
+ tRes.tested("remove()", result);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_DataAwareControlModel.java b/qadevOOo/tests/java/ifc/form/_DataAwareControlModel.java
new file mode 100644
index 000000000..60dcd7f63
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_DataAwareControlModel.java
@@ -0,0 +1,163 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+import com.sun.star.form.XLoadable;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.form.DataAwareControlModel</code>
+* service properties :
+* <ul>
+* <li><code> DataField</code></li>
+* <li><code> BoundField</code></li>
+* <li><code> LabelControl</code></li>
+* </ul> <p>
+* This test need the following object relations :
+* <ul>
+* <li> <code>'FL'</code> as <code>com.sun.star.form.XLoadable</code>
+* implementation : used to connect control to data source. </li>
+* <li> <code>'LC'</code> as <code>com.sun.star.uno.XInterface</code>
+* implementation : as value for LabelControl property (see property
+* documentation). </li>
+* <li> <code>'DataAwareControlModel.NewFieldName'</code> :
+* <b>optional</b> <code>String</code> relation which is used
+* for new value of DataField property.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.form.DataAwareControlModel
+*/
+public class _DataAwareControlModel extends MultiPropertyTest {
+
+ /**
+ * First checks if <code>com.sun.star.form.DataAwareControlModel</code>
+ * service is supported by the object. Then <code>load</code> method
+ * of <code>'FL'</code> relation is called to connect control model
+ * to data source. Because the property is READONLY its value is
+ * just checked to be non null. After that model is disconnected. <p>
+ * Has <b> OK </b> status if the property has non null value. <p>
+ * The following property tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> DataField </code> : to bind the control to some database
+ * field.</li>
+ * </ul>
+ */
+ public void _BoundField() {
+ requiredMethod("DataField") ;
+
+ // This property is TRANSIENT and READONLY.
+ boolean bResult = true;
+ Object gValue = null;
+
+ // get the loader to load the form
+ XLoadable loader = (XLoadable) tEnv.getObjRelation("FL");
+
+ try {
+ if (loader.isLoaded()) {
+ loader.unload() ;
+ }
+ loader.load();
+ gValue = oObj.getPropertyValue("BoundField");
+ loader.unload();
+ bResult &= gValue != null;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log) ;
+ bResult = false;
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ bResult = false;
+ }
+ tRes.tested("BoundField", bResult);
+ }
+
+ /**
+ * Sets the property to a Database field name, and then checks
+ * if it was properly set. If <code>'DataAwareControlModel.NewFieldName'
+ * </code> relation is not found, then new property value is
+ * 'Address'. <p>
+ * Has <b> OK </b> status if the property was properly set
+ * and no exceptions were thrown. If old and new values are equal
+ * the test is OK if no exceptions occurred and the value remains
+ * the same.<p>
+ */
+ public void _DataField() {
+ String relVal = (String) tEnv.getObjRelation
+ ("DataAwareControlModel.NewFieldName") ;
+ final String newVal = relVal == null ? "Address" : relVal ;
+ testProperty("DataField", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object oldVal) {
+ return newVal ;
+ }
+ @Override
+ protected void checkResult(String propName, Object oldValue,
+ Object newValue, Object resValue, Exception exception)
+ throws java.lang.Exception{
+
+ if (exception == null && oldValue.equals(newValue)) {
+ boolean res = true ;
+ if (newValue.equals(resValue)) {
+ log.println("Old value is equal to new value ('" +
+ oldValue + "'). Possibly no other suitable fields found.") ;
+ } else {
+ log.println("The value was '" + oldValue + "', set to the" +
+ " same value, but result is '" + resValue + "' : FAILED") ;
+ res = false ;
+ }
+
+ tRes.tested(propName, res) ;
+ } else {
+ super.checkResult(propName, oldValue, newValue,
+ resValue, exception);
+ }
+ }
+ }) ;
+ }
+
+ /**
+ * Sets the new value (<code>'LC'</code> relation if <code>null</code>
+ * was before, and <code> null </code> otherwise and then checks if
+ * the value have successfully changed. <p>
+ * Has <b>OK</b> status if the value successfully changed.
+ */
+ public void _LabelControl() {
+ final XInterface xTextLabel = (XInterface)tEnv.getObjRelation("LC");
+
+ testProperty("LabelControl", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object oldVal) {
+ if (utils.isVoid(oldVal)) return xTextLabel ;
+ else return super.getNewValue("LabelControl",oldVal);
+ }
+ }) ;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/_FormComponent.java b/qadevOOo/tests/java/ifc/form/_FormComponent.java
new file mode 100644
index 000000000..99cdfc683
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_FormComponent.java
@@ -0,0 +1,34 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.FormComponent</code>
+* service properties :
+* <ul>
+* <li><code> Name</code></li>
+* </ul>
+* @see com.sun.star.form.FormComponent
+*/
+public class _FormComponent extends MultiPropertyTest {
+
+} // finish class _FormComponent
+
diff --git a/qadevOOo/tests/java/ifc/form/_FormControlModel.java b/qadevOOo/tests/java/ifc/form/_FormControlModel.java
new file mode 100644
index 000000000..36c48dd30
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_FormControlModel.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.FormControlModel</code>
+* service properties :
+* <ul>
+* <li><code> ClassId</code></li>
+* <li><code> TabIndex</code></li>
+* <li><code> Tag</code></li>
+* </ul>
+* @see com.sun.star.form
+*/
+public class _FormControlModel extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/_XApproveActionBroadcaster.java b/qadevOOo/tests/java/ifc/form/_XApproveActionBroadcaster.java
new file mode 100644
index 000000000..f02f02516
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XApproveActionBroadcaster.java
@@ -0,0 +1,102 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.form.XApproveActionBroadcaster;
+import com.sun.star.form.XApproveActionListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.form.XApproveActionBroadcaster</code>
+* interface methods:
+* <ul>
+* <li><code> addApproveActionListener() </code></li>
+* <li><code> removeApproveActionListener() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.form.XApproveActionBroadcaster
+*/
+public class _XApproveActionBroadcaster extends MultiMethodTest {
+ public XApproveActionBroadcaster oObj = null;
+
+ /**
+ * Class we need to test methods.
+ */
+ protected class TestListener implements XApproveActionListener {
+ public boolean approve = false ;
+
+ public void init() {
+ approve = false ;
+ }
+ public void disposing(EventObject ev) {}
+ public boolean approveAction(EventObject ev) {
+ log.println("XApproveActionListener: ActionListener was called");
+ return approve ;
+ }
+
+ }
+
+ private final TestListener listener = new TestListener();
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _addApproveActionListener() {
+ oObj.addApproveActionListener(listener) ;
+ tRes.tested("addApproveActionListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addApproveActionListener() </code> : adds listener to an
+ * object </li>
+ * </ul>
+ */
+ public void _removeApproveActionListener() {
+ requiredMethod("addApproveActionListener()");
+ listener.init() ;
+ listener.approve = true ;
+ oObj.removeApproveActionListener(listener);
+ tRes.tested("removeApproveActionListener()", true);
+ }
+
+
+ /**
+ * Just log output
+ */
+ @Override
+ protected void after() {
+ log.println("Skipping all XApproveActionBroadcaster methods, since they"
+ + " need user interaction");
+ throw new StatusException(Status.skipped(true));
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XBoundComponent.java b/qadevOOo/tests/java/ifc/form/_XBoundComponent.java
new file mode 100644
index 000000000..3f38ba689
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XBoundComponent.java
@@ -0,0 +1,49 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XBoundComponent;
+
+/**
+* Testing <code>com.sun.star.form.XBoundComponent</code>
+* interface methods :
+* <ul>
+* <li><code> commit()</code></li>
+* </ul> <p>
+* More deep tests of this interface are made in
+* <code>com.sun.star.form.XUpdateBroadcaster</code> interface
+* test as it is the ancestor of <code>XBoundComponent</code>
+* interface.
+* @see com.sun.star.form.XBoundComponent
+*/
+public class _XBoundComponent extends MultiMethodTest {
+
+ public XBoundComponent oObj = null;
+
+ public void _commit() {
+ oObj.commit() ;
+
+ tRes.tested("commit()",true);
+ }
+
+} //EOF of XBoundComponent
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XBoundControl.java b/qadevOOo/tests/java/ifc/form/_XBoundControl.java
new file mode 100644
index 000000000..2d6bb8c73
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XBoundControl.java
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XBoundControl;
+
+/**
+* Testing <code>com.sun.star.form.XBoundControl</code>
+* interface methods:
+* <ul>
+* <li><code> getLock() </code></li>
+* <li><code> setLock() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.form.XBoundControl
+*/
+public class _XBoundControl extends MultiMethodTest {
+ public XBoundControl oObj = null;
+ public boolean defaultState = false;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _getLock() {
+ boolean res = false;
+ defaultState = oObj.getLock();
+ res = true;
+ tRes.tested("getLock()",res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if method locks input (set and gotten values are
+ * equal). <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLock() </code>: determines whether the input is
+ * currently locked or not </li>
+ * </ul>
+ */
+ public void _setLock() {
+ boolean res = false;
+ boolean toSet = !defaultState;
+
+ requiredMethod("getLock()");
+ oObj.setLock(toSet);
+ res = (oObj.getLock() != defaultState);
+ oObj.setLock(defaultState);
+ tRes.tested("setLock()", res);
+ }
+
+} //EOF of XBoundControl
+
diff --git a/qadevOOo/tests/java/ifc/form/_XChangeBroadcaster.java b/qadevOOo/tests/java/ifc/form/_XChangeBroadcaster.java
new file mode 100644
index 000000000..7583ca6ec
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XChangeBroadcaster.java
@@ -0,0 +1,179 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XWindow;
+import com.sun.star.form.XChangeBroadcaster;
+import com.sun.star.form.XChangeListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.form.XChangeBroadcaster</code>
+* interface methods:
+* <ul>
+* <li><code> addChangeListener() </code></li>
+* <li><code> removeChangeListener() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Win1'</code> (of type <code>XWindow</code>):
+* used to change context when testing interface methods</li>
+* <li> <code>'Win2'</code> (of type <code>XWindow</code>):
+* used to change context when testing interface methods </li>
+* <li> <code>'CONTROL'</code> (of type <code>XControl</code> and
+* must implement <code>XTextComponent</code> interface):
+* used to change context when testing interface methods </li>
+* <li> <code>'XChangeBroadcaster.Changer'</code>
+* (of type <code>ifc.form._XChangeBroadcaster.Changer</code>)
+* <b>optional</b> : this relation <b>must be specified</b> when
+* <code>XTextComponent</code> is not supported by the tested
+* component. It is used to change some component content
+* which must cause listener call. </li>
+* </ul> <p>
+*
+* <b>Prerequisites:</b> component must implement <code>XTextComponent</code>
+* interface for changing component's text which must cause listener call.
+* If the component can't support the interface, then the relation
+* <code>'XChangeBroadcaster.Changer'</code> must be passed. <p>
+*
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.form.XChangeBroadcaster
+*/
+public class _XChangeBroadcaster extends MultiMethodTest {
+ public static XChangeBroadcaster oObj = null;
+ protected boolean changed = false;
+
+ /**
+ * This interface must be implemented by component and passed
+ * in relation if it doesn't support <code>XTextComponent</code>
+ * interface. It used to change the content of component.
+ */
+ public interface Changer {
+ /**
+ * The method must change the component's content to
+ * cause a listener call.
+ */
+ void change() ;
+ }
+
+ /**
+ * Class we need to test methods
+ */
+ protected class MyChangeListener implements XChangeListener {
+ public void disposing ( EventObject oEvent ) {}
+ public void changed ( EventObject oEvent ) {
+ System.out.println("Listener called");
+ changed = true;
+ }
+ }
+
+ protected XChangeListener listener = new MyChangeListener();
+ protected XTextComponent xText = null ;
+ protected Changer changer = null ;
+
+ /**
+ * Tries to query the tested component for <code>XTextComponent</code>
+ * interface and retrieves a relation
+ * <code>'XChangeBroadcaster.Changer'</code>.
+ * @throw StatusException If neither relation is found nor interface
+ * is queried.
+ */
+ @Override
+ public void before() {
+ xText = UnoRuntime.queryInterface(XTextComponent.class,oObj);
+ changer = (Changer) tEnv.getObjRelation("XChangeBroadcaster.Changer") ;
+
+ if (xText == null && changer == null)
+ throw new StatusException(Status.failed
+ ("Neither 'XChangeBroadcaster.Changer' relation found " +
+ "nor XTextComponent is supported")) ;
+ }
+
+ /**
+ * Test calls the method, then object relations 'Win1', 'Win2', 'CONTROL'
+ * are obtained, and context is changed.<p>
+ * Has <b> OK </b> status if listener was called after context has changed.
+ */
+ public void _addChangeListener() {
+ log.println("Testing addChangeListener ...");
+ oObj.addChangeListener( listener );
+ XWindow win1 = (XWindow) tEnv.getObjRelation("Win1");
+ XWindow win2 = (XWindow) tEnv.getObjRelation("Win2");
+ win1.setFocus();
+
+ changeContent() ;
+ waitForEventIdle();
+
+ win2.setFocus();
+ XTextComponent TC = UnoRuntime.queryInterface
+ (XTextComponent.class,tEnv.getObjRelation("CONTROL"));
+ TC.setText("NOXChangeBroadcaster");
+ waitForEventIdle();
+ tRes.tested("addChangeListener()", changed);
+ }
+
+ /**
+ * Test calls the method, then object relations 'Win1', 'Win2', 'CONTROL'
+ * are obtained, and context is changed.<p>
+ * Has <b> OK </b> status if listener was not called after context has
+ * changed.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addChangeListener() </code> : adds the specified listener
+ * to receive the "changed" event</li>
+ * </ul>
+ */
+ public void _removeChangeListener() {
+ requiredMethod("addChangeListener()");
+ changed = false;
+ log.println("Testing removeChangeListener ...");
+ oObj.addChangeListener( listener );
+ XWindow win2 = (XWindow) tEnv.getObjRelation("Win2");
+ win2.setFocus();
+
+ changeContent() ;
+
+ win2.setFocus();
+ waitForEventIdle();
+ tRes.tested("removeChangeListener()", !changed);
+ }
+
+ /**
+ * Changes the content of the component depending on whether
+ * <code>XTextComponent</code> is supported or not. If yes
+ * then the text is changed, if not the relation <code>change()</code>
+ * method is used.
+ */
+ protected void changeContent() {
+ if (xText != null) {
+ xText.setText("XChangeBroadcaster".equals(xText.getText()) ?
+ "NoXChangeBroadcaster" : "XChangeBroadcaster") ;
+ } else {
+ changer.change();
+ }
+ }
+
+} // finished class _XChangeBroadcaster
+
diff --git a/qadevOOo/tests/java/ifc/form/_XConfirmDeleteBroadcaster.java b/qadevOOo/tests/java/ifc/form/_XConfirmDeleteBroadcaster.java
new file mode 100644
index 000000000..496227c9b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XConfirmDeleteBroadcaster.java
@@ -0,0 +1,64 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import com.sun.star.form.XConfirmDeleteBroadcaster;
+import com.sun.star.form.XConfirmDeleteListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.sdb.RowChangeEvent;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.util.XConfirmDeleteBroadcaster</code>
+* interface methods :
+* <ul>
+* <li><code>addConfirmDeleteListener()</code></li>
+* <li><code>removeConfirmDeleteListener()</code></li>
+* </ul> <p>
+*
+* Result checking is not performed. Confirm delete
+* listeners are called only in case of
+* interaction with UI. <p>
+*
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.util.XConfirmDeleteBroadcaster
+*/
+public class _XConfirmDeleteBroadcaster extends MultiMethodTest {
+ public XConfirmDeleteBroadcaster oObj = null;
+ protected XConfirmDeleteListener mxConfirmDeleteListener =
+ new ConfirmDeleteImpl();
+
+ private static class ConfirmDeleteImpl implements XConfirmDeleteListener {
+ public boolean confirmDelete(RowChangeEvent rowChangeEvent) {
+ return true;
+ }
+ public void disposing(EventObject eventObject) {
+ }
+ }
+
+ protected void addConfirmDeleteListener() {
+ oObj.addConfirmDeleteListener(mxConfirmDeleteListener);
+ tRes.tested("addConfirmDeleteListener()", true);
+ }
+
+ protected void removeConfirmDeleteListener() {
+ oObj.removeConfirmDeleteListener(mxConfirmDeleteListener);
+ tRes.tested("removeConfirmDeleteListener()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/form/_XDatabaseParameterBroadcaster.java b/qadevOOo/tests/java/ifc/form/_XDatabaseParameterBroadcaster.java
new file mode 100644
index 000000000..384493d58
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XDatabaseParameterBroadcaster.java
@@ -0,0 +1,93 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.form;
+
+import com.sun.star.form.XDatabaseParameterBroadcaster;
+import com.sun.star.form.XDatabaseParameterListener;
+import com.sun.star.sdbc.XRowSet;
+import com.sun.star.uno.UnoRuntime;
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+
+/**
+ *
+ */
+public class _XDatabaseParameterBroadcaster extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XDatabaseParameterBroadcaster oObj = null ;
+ private CheckParameterListener listenerChecker = null;
+
+ /**
+ * Interface to implement so the call of the listener can be checked.
+ */
+ public interface CheckParameterListener extends XDatabaseParameterListener {
+ /**
+ * Set a log of the listener, so messages of the listener get printed
+ * into the file of the interface
+ */
+ void setLog(PrintWriter log);
+ /**
+ * Return True, when the listener was called correctly.
+ */
+ boolean checkListener();
+ }
+
+ /**
+ * Get the object relation 'ParameterListenerChecker' and
+ * set the log inside of the implementation.
+ */
+ @Override
+ protected void before() {
+ listenerChecker = (CheckParameterListener)
+ tEnv.getObjRelation("ParameterListenerChecker");
+ listenerChecker.setLog(log);
+ }
+
+ /**
+ */
+ public void _addParameterListener() {
+ oObj.addParameterListener(listenerChecker);
+ tRes.tested("addParameterListener()", true);
+ }
+
+ /**
+ */
+ public void _removeParameterListener() {
+ requiredMethod("addParameterListener()");
+
+ // trigger the action.
+ try {
+ XRowSet xRowSet = UnoRuntime.queryInterface(XRowSet.class, oObj);
+ xRowSet.execute();
+ }
+ catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Exception in XDatabaseParameterBroadcaster test.");
+ log.println("This does not let the test fail, but should be inquired.");
+ e.printStackTrace(log);
+ }
+ // was the listener called?
+ oObj.removeParameterListener(listenerChecker);
+ tRes.tested("removeParameterListener()", listenerChecker.checkListener());
+ }
+
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/form/_XFormController.java b/qadevOOo/tests/java/ifc/form/_XFormController.java
new file mode 100644
index 000000000..339610c32
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XFormController.java
@@ -0,0 +1,151 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XWindow;
+import com.sun.star.form.XFormController;
+import com.sun.star.form.XFormControllerListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.form.XFormController</code>
+* interface methods :
+* <ul>
+* <li><code> getCurrentControl()</code></li>
+* <li><code> addActivateListener()</code></li>
+* <li><code> removeActivateListener()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'otherWindow'</code>
+* (of type <code>com.sun.star.awt.XWindow</code>):
+* The another window is used to activate it, causing deactivating
+* of the component tested. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.form.XFormController
+*/
+public class _XFormController extends MultiMethodTest {
+
+ public static XFormController oObj = null;
+
+ /**
+ * Listener which determines and stores events occurred.
+ */
+ protected static class MyListener implements XFormControllerListener {
+ public boolean activated = false ;
+ public boolean deactivated = false ;
+ public void disposing ( EventObject oEvent ) {}
+
+ public void init() {
+ activated = false;
+ deactivated = false;
+ }
+
+ public void formActivated(EventObject ev) {
+ activated = true ;
+ }
+
+ public void formDeactivated(EventObject ev) {
+ deactivated = true ;
+ }
+ }
+
+ MyListener listener = new MyListener() ;
+
+ /**
+ * Adds a listener, then switches focus between two windows.
+ * The current controller must be deactivated and activated.<p>
+ *
+ * Has <b> OK </b> status if listener <code>deactivate</code>
+ * and <code>activate</code> methods was called. <p>
+ */
+ public void _addActivateListener() {
+ requiredMethod("getCurrentControl()");
+ oObj.addActivateListener(listener) ;
+
+ XWindow wind = UnoRuntime.queryInterface(XWindow.class, cntrl);
+ wind.setFocus();
+ waitForEventIdle();
+ XWindow otherWind = (XWindow)tEnv.getObjRelation("otherWindow");
+ otherWind.setFocus();
+ waitForEventIdle();
+ log.println("activated = " + listener.activated +
+ ", deactivated = " + listener.deactivated) ;
+
+ tRes.tested("addActivateListener()",
+ listener.deactivated && listener.activated) ;
+ }
+
+ /**
+ * Removes the listener added before, then switches focus between two windows.
+ *
+ * Has <b> OK </b> status if no listener methods were called. <p>
+ */
+ public void _removeActivateListener() {
+ requiredMethod("addActivateListener()") ;
+
+ oObj.removeActivateListener(listener);
+ log.println("ActiveListener removed");
+ listener.init();
+
+ XWindow wind = UnoRuntime.queryInterface(XWindow.class, cntrl);
+ wind.setFocus();
+ waitForEventIdle();
+ XWindow otherWind = (XWindow)tEnv.getObjRelation("otherWindow");
+ otherWind.setFocus();
+ waitForEventIdle();
+ log.println("activated = " + listener.activated +
+ ", deactivated = " + listener.deactivated) ;
+
+ tRes.tested("removeActivateListener()",
+ !listener.activated && !listener.deactivated);
+ }
+
+ XControl cntrl;
+
+ /**
+ * Retrieves current control and searches for it among child controls.
+ *
+ * Has <b>OK</b> status if the current control was found among component
+ * children.
+ */
+ public void _getCurrentControl() {
+ cntrl = oObj.getCurrentControl();
+ XControl[] children = oObj.getControls() ;
+
+ boolean res = false;
+ for(int i = 0; i < children.length; i++) {
+ if (children[i].equals(cntrl)) {
+ log.println("Current control is equal to the object control" +
+ " #" + i + ":");
+ log.println(cntrl);
+ res = true;
+ break;
+ }
+ }
+
+ tRes.tested("getCurrentControl()", res) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/_XFormsSupplier.java b/qadevOOo/tests/java/ifc/form/_XFormsSupplier.java
new file mode 100644
index 000000000..6a67b0920
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XFormsSupplier.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import com.sun.star.container.XNameContainer;
+
+public class _XFormsSupplier extends lib.MultiMethodTest {
+
+ public com.sun.star.form.XFormsSupplier oObj = null;
+
+ public void _getForms() {
+ XNameContainer forms = oObj.getForms();
+ if (!forms.hasElements()) {
+ log.println("NameContainer doesn't contain forms");
+ }
+ tRes.tested("getForms()",forms.hasElements());
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/_XGrid.java b/qadevOOo/tests/java/ifc/form/_XGrid.java
new file mode 100644
index 000000000..f241af55a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XGrid.java
@@ -0,0 +1,74 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XGrid;
+
+/**
+* Testing <code>com.sun.star.form.XGrid</code>
+* interface methods :
+* <ul>
+* <li><code> getCurrentColumnPosition()</code></li>
+* <li><code> setCurrentColumnPosition(short nPos)</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.form.XGrid
+*/
+public class _XGrid extends MultiMethodTest {
+ public XGrid oObj = null;
+ public short positionValue;
+
+ /**
+ * The method called. Then CurrentColumnPosition is obtained and
+ * compared with previously changed value.
+ * Has <b> OK </b> status if the method successfully returns
+ * and the returned value is correct.
+ */
+ public void _getCurrentColumnPosition() {
+ boolean result;
+
+ requiredMethod("setCurrentColumnPosition()");
+ log.println("Testing getCurrentColumnPosition()...");
+ if (oObj.getCurrentColumnPosition() == positionValue) {
+ result = true;
+ } else {
+ result = false;
+ }
+ tRes.tested("getCurrentColumnPosition()", result);
+ }
+
+ /**
+ * The method called. Then CurrentColumnPosition is obtained, changed
+ * and saved.
+ * Has <b> OK </b> status if no exception has occurred.
+ */
+ public void _setCurrentColumnPosition() {
+ log.println("Testing setCurrentColumnPosition()...");
+ if (oObj.getCurrentColumnPosition() != 0) {
+ positionValue = 0;
+ } else {
+ positionValue = 1;
+ }
+ oObj.setCurrentColumnPosition(positionValue);
+ tRes.tested("setCurrentColumnPosition()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/_XGridColumnFactory.java b/qadevOOo/tests/java/ifc/form/_XGridColumnFactory.java
new file mode 100644
index 000000000..376bdbf8c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XGridColumnFactory.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.form.XGridColumnFactory;
+
+
+/**
+* Testing <code>com.sun.star.form.XGridColumnFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createColumn()</code></li>
+* <li><code> getColumnTypes()</code></li>
+* </ul>
+* Test is multithread compliant. <p>
+* @see com.sun.star.form.XGridColumnFactory
+*/
+public class _XGridColumnFactory extends MultiMethodTest {
+
+ public XGridColumnFactory oObj = null;
+
+
+ /**
+ * Test calls the method and checks return value. <p>
+ * Has <b> OK </b> status if the method returns
+ * non null value.
+ */
+ public void _getColumnTypes() {
+
+ String[] types = oObj.getColumnTypes();
+ tRes.tested("getColumnTypes()",types!=null);
+ }
+
+ /**
+ * Creates column of type 'TextField'. <p>
+ * Has <b>OK</b> status if non null value returned.
+ */
+ public void _createColumn() {
+
+ try {
+ XPropertySet column = oObj.createColumn("TextField");
+ tRes.tested("createColumn()",column!=null);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred while creating Column");
+ tRes.tested("createColumn()",false);
+ }
+ }
+} // finish class _XGridColumnFactory
+
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XGridFieldDataSupplier.java b/qadevOOo/tests/java/ifc/form/_XGridFieldDataSupplier.java
new file mode 100644
index 000000000..af1631be2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XGridFieldDataSupplier.java
@@ -0,0 +1,59 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XGridFieldDataSupplier;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.form.XGridFieldDataSupplier</code>
+* interface methods :
+* <ul>
+* <li><code>queryFieldDataType()</code></li>
+* <li><code>queryFieldData()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.form.XGridFieldDataSupplier
+*/
+public class _XGridFieldDataSupplier extends MultiMethodTest {
+ public XGridFieldDataSupplier oObj = null;
+
+ /**
+ * Calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * and returned value is not null.
+ */
+ public void _queryFieldDataType() {
+ boolean[] dataType = oObj.queryFieldDataType(new Type(String.class));
+ tRes.tested("queryFieldDataType()", dataType != null);
+ }
+
+ /**
+ * Calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * and returned value is not null.
+ */
+ public void _queryFieldData() {
+ Object[] data = oObj.queryFieldData(0, new Type(String.class));
+ tRes.tested("queryFieldData()", data != null);
+ }
+}// finish class _XGridFieldDataSupplier
+
diff --git a/qadevOOo/tests/java/ifc/form/_XImageProducerSupplier.java b/qadevOOo/tests/java/ifc/form/_XImageProducerSupplier.java
new file mode 100644
index 000000000..86f2eb0b8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XImageProducerSupplier.java
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.XImageProducer;
+import com.sun.star.form.XImageProducerSupplier;
+
+/**
+* Testing <code>com.sun.star.form.XImageProducerSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getImageProducer()</code></li>
+* </ul>
+* @see com.sun.star.form.XImageProducerSupplier
+*/
+public class _XImageProducerSupplier extends MultiMethodTest {
+
+ public XImageProducerSupplier oObj = null;
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method returns non null value
+ * and no exceptions were thrown. <p>
+ */
+ public void _getImageProducer() {
+ boolean bResult = false;
+ XImageProducer ip = oObj.getImageProducer();
+ bResult = ip!=null;
+ tRes.tested("getImageProducer()", bResult);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XLoadListener.java b/qadevOOo/tests/java/ifc/form/_XLoadListener.java
new file mode 100644
index 000000000..0a6450582
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XLoadListener.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XLoadListener;
+
+/**
+* Testing <code>com.sun.star.form.XLoadListener</code>
+* interface methods :
+* <ul>
+* <li><code> loaded()</code></li>
+* <li><code> unloading()</code></li>
+* <li><code> unloaded()</code></li>
+* <li><code> reloading()</code></li>
+* <li><code> reloaded()</code></li>
+* </ul> <p>
+* This interface methods are not testable, because their
+* behaviour is not documented.
+* @see com.sun.star.form.XLoadListener
+*/
+public class _XLoadListener extends MultiMethodTest {
+
+ public XLoadListener oObj = null;
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _loaded() {
+ log.println("nothing to test here");
+ tRes.tested("loaded()",true);
+ }
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _reloaded() {
+ log.println("nothing to test here");
+ tRes.tested("reloaded()",true);
+ }
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _reloading() {
+ log.println("nothing to test here");
+ tRes.tested("reloading()",true);
+ }
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _unloaded() {
+ log.println("nothing to test here");
+ tRes.tested("unloaded()",true);
+ }
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _unloading() {
+ log.println("nothing to test here");
+ tRes.tested("unloading()",true);
+ }
+
+} //EOF of XLoadListener
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XLoadable.java b/qadevOOo/tests/java/ifc/form/_XLoadable.java
new file mode 100644
index 000000000..a4bf0e78d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XLoadable.java
@@ -0,0 +1,225 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XLoadable;
+
+/**
+* Testing <code>com.sun.star.form.XLoadable</code>
+* interface methods :
+* <ul>
+* <li><code> load()</code></li>
+* <li><code> unload()</code></li>
+* <li><code> reload()</code></li>
+* <li><code> isLoaded()</code></li>
+* <li><code> addLoadListener()</code></li>
+* <li><code> removeLoadListener()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.form.XLoadable
+*/
+public class _XLoadable extends MultiMethodTest {
+
+ public XLoadable oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected static class TestLoadListener implements com.sun.star.form.XLoadListener {
+ public boolean loadedCalled = false ;
+ public boolean reloadedCalled = false ;
+ public boolean unloadedCalled = false ;
+ private final java.io.PrintWriter log;
+
+ public TestLoadListener(java.io.PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ log.println(" disposing was called.") ;
+ }
+
+ public void loaded(com.sun.star.lang.EventObject e) {
+ loadedCalled = true ;
+ log.println(" loaded was called.") ;
+ }
+
+ public void reloaded(com.sun.star.lang.EventObject e) {
+ reloadedCalled = true ;
+ log.println(" reloaded was called.") ;
+ }
+
+ public void reloading(com.sun.star.lang.EventObject e) {
+ log.println(" reloading was called.") ;
+ }
+
+ public void unloaded(com.sun.star.lang.EventObject e) {
+ unloadedCalled = true ;
+ log.println(" unloaded was called.") ;
+ }
+
+ public void unloading(com.sun.star.lang.EventObject e) {
+ log.println(" unloading was called.") ;
+ }
+ }
+
+ TestLoadListener loadListener = null ;
+
+ /**
+ * Creates new listener.
+ */
+ @Override
+ public void before() {
+ loadListener = new TestLoadListener(log) ;
+ }
+
+ /**
+ * Loads the form. <p>
+ * Has <b> OK </b> status if <code>isLoaded()</code> returns
+ * <code>true</code> and listener method <code>loaded()</code>
+ * is called.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> isLoaded() </code> : to be sure form is not loaded </li>
+ * <li> <code> addLoadListener() </code> : to check if this listener method
+ * is called. </li>
+ * </ul>
+ */
+ public void _load() {
+ requiredMethod("isLoaded()") ;
+ requiredMethod("addLoadListener()") ;
+
+ boolean result = true ;
+ oObj.load() ;
+
+ waitForEventIdle();
+ result = oObj.isLoaded() && loadListener.loadedCalled ;
+
+ tRes.tested("load()", result) ;
+ }
+
+ /**
+ * Unloads the form. <p>
+ * Has <b> OK </b> status if <code>isLoaded()</code> returns
+ * <code>false</code> and listener method <code>unloaded()</code>
+ * is called.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> reload() </code> : to be sure the form is loaded </li>
+ * <li> <code> addLoadListener() </code> : to check if this listener method
+ * is called. </li>
+ * </ul>
+ */
+ public void _unload() {
+ requiredMethod("reload()") ;
+ requiredMethod("addLoadListener()") ;
+
+ boolean result = true ;
+ oObj.unload() ;
+
+ waitForEventIdle();
+ result = !oObj.isLoaded() && loadListener.unloadedCalled ;
+
+ tRes.tested("unload()", result) ;
+ }
+
+ /**
+ * Reloads the form. <p>
+ * Has <b> OK </b> status if <code>isLoaded()</code> returns
+ * <code>true</code> and listener method <code>reloaded()</code>
+ * is called.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> load() </code> : to be sure form is loaded </li>
+ * <li> <code> addLoadListener() </code> : to check if this listener method
+ * is called. </li>
+ * </ul>
+ */
+ public void _reload() {
+ requiredMethod("load()") ;
+ requiredMethod("addLoadListener()") ;
+
+ boolean result = true ;
+ oObj.reload() ;
+
+ waitForEventIdle();
+ result = oObj.isLoaded() && loadListener.reloadedCalled;
+
+ tRes.tested("reload()", result) ;
+ }
+
+ /**
+ * Checks if the component is already loaded. If yes it unloads
+ * it <p>
+ * Has <b> OK </b> status if finally <code>isLoaded()</code> method
+ * returns <code>false</code>.
+ */
+ public void _isLoaded() {
+
+ boolean isLoaded = oObj.isLoaded() ;
+ if (isLoaded) oObj.unload();
+ isLoaded = oObj.isLoaded() ;
+
+ tRes.tested("isLoaded()", !isLoaded) ;
+ }
+
+ /**
+ * Adds a listener. If its methods are called or not is checked
+ * in other object methods. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _addLoadListener() {
+
+ boolean result = true ;
+ oObj.addLoadListener(loadListener) ;
+
+ tRes.tested("addLoadListener()", result) ;
+ }
+
+ /**
+ * Removes the listener added before. <p>
+ * Has <b> OK </b> status if after <code>load()</code> call no
+ * listener methods were called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> unload() </code> : to make this test run finally.</li>
+ * </ul>
+ */
+ public void _removeLoadListener() {
+ requiredMethod("unload()") ;
+
+ boolean result = true ;
+ oObj.removeLoadListener(loadListener) ;
+ loadListener.loadedCalled = false ;
+ oObj.load();
+
+ result = ! loadListener.loadedCalled ;
+
+ tRes.tested("removeLoadListener()", result) ;
+ }
+
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/_XReset.java b/qadevOOo/tests/java/ifc/form/_XReset.java
new file mode 100644
index 000000000..b3afa18df
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XReset.java
@@ -0,0 +1,170 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.form.XReset;
+import com.sun.star.form.XResetListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.form.XReset</code>
+* interface methods :
+* <ul>
+* <li><code> reset()</code></li>
+* <li><code> addResetListener()</code></li>
+* <li><code> removeResetListener()</code></li>
+* </ul>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.form.XReset
+*/
+public class _XReset extends MultiMethodTest {
+
+ public static XReset oObj = null;
+
+ /**
+ * Indicates if listeners must approve reset requests or not.
+ */
+ protected boolean approve = true;
+ /**
+ * Array of two elements, each of them indicates <code>reset</code>
+ * call of appropriate listener.
+ */
+ protected boolean resetted[] = new boolean[2];
+ /**
+ * Array of two elements, each of them indicates
+ * <code>approveReset</code> call of appropriate listener.
+ */
+ protected boolean approveReset[] = new boolean[2];
+
+ /**
+ * The listener which sets flags (in array elements with index 0)
+ * on <code>reset</code> and
+ * <code>approveReset</code> events. It approves reset request
+ * depending on <code>approve</code> field.
+ */
+ protected class MyResetListener implements XResetListener {
+ public void disposing ( EventObject oEvent ) {}
+ public boolean approveReset ( EventObject oEvent ) {
+ approveReset[0] = true;
+ //cancel the reset action
+ return approve;
+ }
+ public void resetted ( EventObject oEvent ) {
+ resetted[0] = true;
+ }
+ }
+
+
+ /**
+ * The listener which sets flags (in array elements with index 1)
+ * on <code>reset</code> and
+ * <code>approveReset</code> events. It approves reset request
+ * depending on <code>approve</code> field.
+ */
+ protected class MyResetListener2 implements XResetListener {
+ public void disposing ( EventObject oEvent ) {}
+ public boolean approveReset ( EventObject oEvent ) {
+ approveReset[1] = true;
+ //don't cancel the reset action
+ return true;
+ }
+ public void resetted ( EventObject oEvent ) {
+ resetted[1] = true;
+ }
+ }
+
+ /**
+ * Listener which is added in test
+ */
+ protected XResetListener listener1 = new MyResetListener();
+ /**
+ * Listener which is added in test
+ */
+ protected XResetListener listener2 = new MyResetListener2();
+
+ /**
+ * Just adds two reset listeners. <p>
+ * Status for it is set later in <code>reset</code> method test.
+ */
+ public void _addResetListener() {
+
+ log.println("Testing addResetListener ...");
+ oObj.addResetListener( listener2 );
+ oObj.addResetListener( listener1 );
+
+ } // finished _addResetListener()
+
+ /**
+ * First calls <code>reset</code> method without approving
+ * the request, in this case only <code>approveReset</code>
+ * event must be called. Second calls <code>reset</code> with
+ * approving the request. In this case both listener's events
+ * must be called. <p>
+ * Has <b>OK</b> status for <code>reset</code> method if in
+ * the first case only <code>approveReset</code> method was
+ * called. <p>
+ * Has <b>OK</b> status for <code>addResetListener</code> method
+ * if in the second case both listener's methods were called.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addResetListener </code> : to have listeners added.</li>
+ * </ul>
+ */
+ public void _reset() {
+
+ executeMethod("addResetListener()");
+ log.println("Testing reset() ...");
+ approve = false;
+ oObj.reset();
+ waitForEventIdle();
+ tRes.tested("reset()", (approveReset[0] && (! resetted[0])));
+ approve = true;
+ oObj.reset();
+ waitForEventIdle();
+ tRes.tested("addResetListener()", (approveReset[1] && resetted[1]));
+
+ } // finished _reset
+
+ /**
+ * Removes the first listener, clears it's call flags, and
+ * calls <code>reset</code> method.<p>
+ * Has <b> OK </b> status if no methods of the listener removed
+ * were called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> reset </code> : to test this method last. </li>
+ * </ul>
+ */
+ public void _removeResetListener() {
+ requiredMethod("reset()");
+ log.println("Testing removeResetListener ...");
+ approveReset[0] = resetted[0] = false;
+ oObj.removeResetListener(listener1);
+ oObj.reset();
+ waitForEventIdle();
+ tRes.tested("removeResetListener()", !approveReset[0] && !resetted[0]);
+ //removing the second listener here may avoid crashing the office
+ } // finished _removeResetListener()
+
+
+} // finished class _XRefresh
+
+
diff --git a/qadevOOo/tests/java/ifc/form/_XSubmit.java b/qadevOOo/tests/java/ifc/form/_XSubmit.java
new file mode 100644
index 000000000..3b3346900
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XSubmit.java
@@ -0,0 +1,171 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.awt.MouseEvent;
+import com.sun.star.awt.XControl;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.form.XSubmit;
+import com.sun.star.form.XSubmitListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.form.XSubmit</code>
+* interface methods :
+* <ul>
+* <li><code> submit()</code></li>
+* <li><code> addSubmitListener()</code></li>
+* <li><code> removeSubmitListener()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XSubmit.Control'</code> <b>optional</b>
+* (of type <code>com.sun.star.awt.XControl</code>):
+* is used to pass as parameters to <code>submit</code>
+* method. <code>null</code> is passed if the relation
+* is not found.</li>
+* <ul> <p>
+*
+* Other <b> prerequicity </b> is the object must have
+* <code>TargetURL</code> property. <p>
+*
+* Short description: test adds two listeners, call
+* <code> submit </code> method and checks if both listeners
+* were called. Then one listener is removed and after
+* <code> submit </code> method call it must not be called. <p>
+*
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.form.XSubmit
+*/
+public class _XSubmit extends MultiMethodTest {
+
+ public static XSubmit oObj = null;
+
+ public static class MySubmitListener implements XSubmitListener {
+ public int called = 0 ;
+ public void disposing ( EventObject oEvent ) {
+ }
+ public boolean approveSubmit( EventObject oEvent ) {
+ called += 1;
+ System.out.println("Listener called");
+ return true;
+ }
+ }
+
+
+ MySubmitListener listener1 = new MySubmitListener();
+ MySubmitListener listener2 = new MySubmitListener();
+
+ /**
+ * Just adds two submit listeners. <p>
+ * Status of this method test is defined in <code>
+ * submit </code> method test.
+ */
+ public void _addSubmitListener() {
+ log.println("Testing addSubmitListener ...");
+ oObj.addSubmitListener( listener1 );
+ oObj.addSubmitListener( listener2 );
+ }
+
+ /**
+ * Before submission tries to set 'TargetURL' property
+ * of component to some value assuming that component
+ * supports <code>com.sun.star.form.HTMLForm</code>
+ * service.
+ * Then calls the <code> submit </code> method and checks
+ * if listener removed were not called, and other was
+ * called only once.<p>
+ *
+ * Has <b> OK </b> status for <code>submit</code> if
+ * listener was called at least ones, for
+ * <code>addSubmitListener</code> method if the remaining
+ * listener was called only once, for
+ * <code>removeSubmitListener</code> method if the removed
+ * listener was not called. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> removeSubmitListener </code> : to have one listener
+ * added and other removed.</li>
+ * </ul>
+ */
+ public void _submit() {
+ executeMethod("removeSubmitListener()");
+ log.println("Testing submit() ...");
+ XControl cntrl = (XControl) tEnv.getObjRelation("XSubmit.Control") ;
+
+ XPropertySet xPS = UnoRuntime.queryInterface
+ (XPropertySet.class, oObj) ;
+
+ if (xPS != null) {
+ try {
+ xPS.setPropertyValue("TargetURL", "someserver");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+ }
+ } else {
+ log.println("!!! The tested component doesn't support XPropertySet ");
+ }
+
+ oObj.submit(cntrl, new MouseEvent());
+ waitForEventIdle();
+
+ log.println("Listener1 called " + listener1.called + " times");
+ log.println("Listener2 called " + listener2.called + " times");
+
+ tRes.tested("addSubmitListener()", listener2.called == 1);
+ tRes.tested("removeSubmitListener()", listener1.called == 0);
+ tRes.tested("submit()", listener2.called > 0);
+ oObj.removeSubmitListener(listener2);
+ }
+
+ /**
+ * Just removes one of submit listeners. <p>
+ * Status of this method test is defined in <code>
+ * submit </code> method test.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> removeSubmitListener </code> : to have listeners added</li>
+ * </ul>
+ */
+ public void _removeSubmitListener() {
+ requiredMethod("addSubmitListener()");
+ oObj.removeSubmitListener(listener1);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/_XUpdateBroadcaster.java b/qadevOOo/tests/java/ifc/form/_XUpdateBroadcaster.java
new file mode 100644
index 000000000..3df9eecd6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/_XUpdateBroadcaster.java
@@ -0,0 +1,232 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.form.XUpdateBroadcaster;
+import com.sun.star.form.XUpdateListener;
+import com.sun.star.lang.EventObject;
+
+/**
+* Testing <code>com.sun.star.form.XUpdateBroadcaster</code>
+* interface methods :
+* <ul>
+* <li><code> addUpdateListener()</code></li>
+* <li><code> removeUpdateListener()</code></li>
+* </ul>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XUpdateBroadcaster.Checker'</code> : <code>
+* _XUpdateBroadcaster.UpdateChecker</code> interface implementation
+* which can update, commit data and check if the data was successfully
+* committed.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.form.XUpdateBroadcaster
+*/
+public class _XUpdateBroadcaster extends MultiMethodTest {
+
+ public XUpdateBroadcaster oObj = null;
+ UpdateChecker checker = null ;
+
+ /**
+ * Interface for relation. Updating, committing and checking
+ * if data was committed is object dependent behaviour.
+ */
+ public interface UpdateChecker {
+ /**
+ * Method must make some data update in the object tested.
+ */
+ void update() throws com.sun.star.uno.Exception ;
+ /**
+ * Method must commit data change made by method <code>update</code>.
+ */
+ void commit() throws com.sun.star.uno.Exception ;
+ /**
+ * Checks if the data committed by <code>commit</code> method
+ * became permanent in data source.
+ * @return <code>true</code> if data was committed.
+ */
+ boolean wasCommited() throws com.sun.star.uno.Exception ;
+ }
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ checker = (UpdateChecker)
+ tEnv.getObjRelation("XUpdateBroadcaster.Checker") ;
+ if (checker == null) {
+ log.println("Relation not found") ;
+ throw new StatusException("Relation not found",
+ new NullPointerException("Relation not found")) ;
+ }
+ }
+
+ /**
+ * Listener implementation, which can accept or reject update
+ * requests and store event calls.
+ */
+ protected static class TestListener implements XUpdateListener {
+ /**
+ * Indicates must listener approve update requests or not.
+ */
+ public boolean approve = false ;
+ /**
+ * Indicates that <code>approveUpdate</code> method was called.
+ */
+ public boolean approveCalled = false ;
+ /**
+ * Indicates that <code>updated</code> method was called.
+ */
+ public boolean updateCalled = false ;
+
+ /**
+ * Clears all flags.
+ */
+ public void init() {
+ approveCalled = false ;
+ updateCalled = false ;
+ }
+ public void disposing(EventObject ev) {}
+ public boolean approveUpdate(EventObject ev) {
+ approveCalled = true ;
+ return approve ;
+ }
+ public void updated(EventObject ev) {
+ updateCalled = true ;
+ }
+ }
+
+ private final TestListener listener = new TestListener();
+
+ /**
+ * The listener methods calls are checked twice with approving
+ * and rejecting updates. <p>
+ * Has <b>OK</b> status if on update rejected only <code>
+ * approveUpdate</code> listener method was called, and if
+ * on update approved <code>approveUpdate</code> and
+ * <code>updated</code> methods called, and data was committed
+ * to the source.
+ */
+ public void _addUpdateListener() {
+ boolean bResult = true;
+
+ oObj.addUpdateListener(listener) ;
+
+ try {
+ checker.update() ;
+ waitForEventIdle();
+ checker.commit() ;
+ waitForEventIdle();
+ boolean committed = checker.wasCommited() ;
+
+ waitForEventIdle();
+
+ bResult = listener.approveCalled &&
+ ! listener.updateCalled &&
+ ! committed ;
+
+ log.println("Calling with no approving : approveUpdate() was " +
+ (listener.approveCalled ? "":"NOT")+" called, updated() was "+
+ (listener.updateCalled ? "":"NOT")+" called, the value was " +
+ (committed ? "" : "NOT") + " committed.") ;
+
+ waitForEventIdle();
+
+ listener.init() ;
+ listener.approve = true ;
+ waitForEventIdle();
+ checker.update() ;
+ waitForEventIdle();
+ checker.commit() ;
+ waitForEventIdle();
+ committed = checker.wasCommited() ;
+
+ waitForEventIdle();
+
+ log.println("Calling with approving : approveUpdate() was " +
+ (listener.approveCalled ? "":"NOT")+" called, updated() was "+
+ (listener.updateCalled ? "":"NOT")+" called, the value was "+
+ (committed ? "" : "NOT") + " committed.") ;
+
+ bResult = listener.approveCalled &&
+ listener.updateCalled &&
+ committed ;
+ } catch (com.sun.star.uno.Exception e) {
+ bResult = false ;
+ e.printStackTrace(log) ;
+ }
+
+ tRes.tested("addUpdateListener()", bResult);
+ }
+
+ /**
+ * Removes listener, updates data, and checks if no listener
+ * methods were called. <p>
+ * Has <b> OK </b> status if after listener removing no of its methods
+ * were called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addUpdateListener </code> : to have a listener added.</li>
+ * </ul>
+ */
+ public void _removeUpdateListener() {
+ requiredMethod("addUpdateListener()");
+ boolean bResult = true;
+
+ listener.init() ;
+ listener.approve = true ;
+
+ oObj.removeUpdateListener(listener);
+
+ try {
+ checker.update() ;
+ waitForEventIdle();
+ checker.commit() ;
+
+ waitForEventIdle();
+
+ bResult = ! listener.approveCalled &&
+ ! listener.updateCalled ;
+ }
+ catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occurred during removeUpdateListener()");
+ e.printStackTrace(log);
+ bResult = false;
+ }
+
+ tRes.tested("removeUpdateListener()", bResult);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseCheckBox.java b/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseCheckBox.java
new file mode 100644
index 000000000..23d01c1fe
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseCheckBox.java
@@ -0,0 +1,27 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+
+package ifc.form.binding;
+
+import lib.MultiPropertyTest;
+
+public class _BindableDatabaseCheckBox extends MultiPropertyTest
+{
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseRadioButton.java b/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseRadioButton.java
new file mode 100644
index 000000000..dd59dba3f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/binding/_BindableDatabaseRadioButton.java
@@ -0,0 +1,27 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+
+package ifc.form.binding;
+
+import lib.MultiPropertyTest;
+
+public class _BindableDatabaseRadioButton extends MultiPropertyTest
+{
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/binding/_XBindableValue.java b/qadevOOo/tests/java/ifc/form/binding/_XBindableValue.java
new file mode 100644
index 000000000..e0131bb45
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/binding/_XBindableValue.java
@@ -0,0 +1,106 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.form.binding;
+
+import com.sun.star.form.binding.XBindableValue;
+import com.sun.star.form.binding.XValueBinding;
+import com.sun.star.uno.Type;
+
+import java.util.ArrayList;
+
+import lib.MultiMethodTest;
+
+
+public class _XBindableValue extends MultiMethodTest {
+ public XBindableValue oObj;
+ protected XValueBinding xValueBinding = null;
+
+ public void _getValueBinding() {
+ requiredMethod("setValueBinding");
+
+ boolean res = true;
+ xValueBinding = oObj.getValueBinding();
+ res &= checkValueBinding(xValueBinding);
+ tRes.tested("getValueBinding()", res);
+ }
+
+ public void _setValueBinding() {
+ String rightOne = "";
+
+ try {
+ oObj.setValueBinding(new MyValueBinding());
+ rightOne = (String) oObj.getValueBinding().getValue(null);
+ } catch (com.sun.star.form.binding.IncompatibleTypesException e) {
+ e.printStackTrace();
+ }
+
+ boolean res = rightOne.equals("MyValueBinding");
+
+ if (!res) {
+ log.println("Expected: MyValueBinding");
+ log.println("getting: " + rightOne);
+ }
+
+ tRes.tested("setValueBinding()", res);
+ }
+
+ protected boolean checkValueBinding(XValueBinding xValueBinding) {
+ boolean res = true;
+ Type[] types = xValueBinding.getSupportedValueTypes();
+ log.println("Checking: ");
+
+ for (int i = 0; i < types.length; i++) {
+ log.println("\t" + types[i].getTypeName());
+
+ boolean localRes = xValueBinding.supportsType(types[i]);
+
+ if (!localRes) {
+ log.println("\t\tsupportsType returns false -- FAILED");
+ } else {
+ log.println("\t\tis supported -- OK");
+ }
+
+ res &= localRes;
+ }
+
+ return res;
+ }
+
+ static class MyValueBinding implements XValueBinding {
+ private final ArrayList<Type> types = new ArrayList<Type>();
+
+ public com.sun.star.uno.Type[] getSupportedValueTypes() {
+ return types.toArray(new Type[types.size()]);
+ }
+
+ public Object getValue(com.sun.star.uno.Type type)
+ throws com.sun.star.form.binding.IncompatibleTypesException {
+ return "MyValueBinding";
+ }
+
+ public void setValue(Object obj)
+ throws com.sun.star.form.binding.IncompatibleTypesException,
+ com.sun.star.lang.NoSupportException {
+ }
+
+ public boolean supportsType(com.sun.star.uno.Type type) {
+ types.add(type);
+ return true;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/form/component/_CheckBox.java b/qadevOOo/tests/java/ifc/form/component/_CheckBox.java
new file mode 100644
index 000000000..9fc401a5a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_CheckBox.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.CheckBox</code>
+* service properties :
+* <ul>
+* <li><code> DefaultState</code></li>
+* <li><code> RefValue</code></li>
+* </ul> <p>
+* @see com.sun.star.form.component.CheckBox
+*/
+public class _CheckBox extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_ComboBox.java b/qadevOOo/tests/java/ifc/form/component/_ComboBox.java
new file mode 100644
index 000000000..84001ce11
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_ComboBox.java
@@ -0,0 +1,34 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.ComboBox</code>
+* service properties :
+* <ul>
+* <li><code> DefaultText</code></li>
+* </ul> <p>
+* @see com.sun.star.form.component.ComboBox
+*/
+public class _ComboBox extends MultiPropertyTest {
+ // these properties don't needed in special code.
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_CommandButton.java b/qadevOOo/tests/java/ifc/form/component/_CommandButton.java
new file mode 100644
index 000000000..ac1bfaafd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_CommandButton.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.CommandButton</code>
+* service properties :
+* <ul>
+* <li><code> ButtonType</code></li>
+* <li><code> TargetFrame</code></li>
+* <li><code> TargetURL</code></li>
+* </ul>
+* @see com.sun.star.form.component.CommandButton
+*/
+public class _CommandButton extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_CurrencyField.java b/qadevOOo/tests/java/ifc/form/component/_CurrencyField.java
new file mode 100644
index 000000000..ae1d7de26
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_CurrencyField.java
@@ -0,0 +1,50 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.CurrencyField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultValue</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.CurrencyField
+*/
+public class _CurrencyField extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _DefaultValue() {
+ testProperty("DefaultValue", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return util.utils.isVoid(old) ? new Double(17.5) :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+} // finish class _CurrencyField
+
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DataForm.java b/qadevOOo/tests/java/ifc/form/component/_DataForm.java
new file mode 100644
index 000000000..4ea3e11ce
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DataForm.java
@@ -0,0 +1,83 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.form.TabulatorCycle;
+import com.sun.star.uno.Enum;
+
+/**
+* Testing <code>com.sun.star.form.component.DataForm</code>
+* service properties :
+* <ul>
+* <li><code> MasterFields</code></li>
+* <li><code> DetailFields</code></li>
+* <li><code> Cycle</code></li>
+* <li><code> NavigationBarMode</code></li>
+* <li><code> AllowInserts</code></li>
+* <li><code> AllowUpdates</code></li>
+* <li><code> AllowDeletes</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DataForm
+*/
+public class _DataForm extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _NavigationBarMode() {
+ testProperty("NavigationBarMode", new PropertyTester() {
+ @Override
+ public String toString(Object obj) {
+ if (util.utils.isVoid(obj)) {
+ return "null";
+ } else {
+ return "(" + obj.getClass().toString() + ")"
+ + ((Enum)obj).getValue();
+ }
+ }
+ });
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _Cycle() {
+ testProperty("Cycle", new PropertyTester() {
+ @Override
+ public Object getNewValue(String propName, Object oldValue) {
+ return TabulatorCycle.CURRENT;
+ }
+ @Override
+ public String toString(Object obj) {
+ if (util.utils.isVoid(obj))
+ return "null";
+ else
+ return "(" + obj.getClass().toString() + ")"
+ + ((Enum)obj).getValue();
+ }
+ });
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseComboBox.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseComboBox.java
new file mode 100644
index 000000000..cb72ff5ed
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseComboBox.java
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component ;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.DatabaseComboBox</code>
+* service properties :
+* <ul>
+* <li><code> ConvertEmptyToNull</code></li>
+* <li><code> ListSource</code></li>
+* <li><code> ListSourceType</code></li>
+* </ul> <p>
+* All properties are tested by class <code>MultiPropertyTest</code>
+* @see com.sun.star.form.component.DatabaseComboBox
+*/
+public class _DatabaseComboBox extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseForm.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseForm.java
new file mode 100644
index 000000000..887c881a2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseForm.java
@@ -0,0 +1,88 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+import util.dbg;
+
+import com.sun.star.form.TabulatorCycle;
+import com.sun.star.uno.Enum;
+import java.io.UnsupportedEncodingException;
+
+/**
+* Testing <code>com.sun.star.form.component.DatabaseForm</code>
+* service properties:
+* <ul>
+* <li><code> MasterFields</code></li>
+* <li><code> DetailFields</code></li>
+* <li><code> Cycle</code></li>
+* <li><code> NavigationBarMode</code></li>
+* <li><code> AllowInserts</code></li>
+* <li><code> AllowUpdates</code></li>
+* <li><code> AllowDeletes</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DatabaseForm
+*/
+public class _DatabaseForm extends MultiPropertyTest {
+
+ /**
+ * In this property test only debugging information output
+ * is customized.
+ */
+ public void _NavigationBarMode() throws UnsupportedEncodingException {
+ dbg.printPropertyInfo(oObj, "NavigationBarMode");
+ testProperty("NavigationBarMode", new PropertyTester() {
+ @Override
+ public String toString(Object obj) {
+ if (obj == null) {
+ return "null";
+ } else {
+ return "(" + obj.getClass().toString() + ")"
+ + ((Enum)obj).getValue();
+ }
+ }
+ });
+ }
+
+ /**
+ * This property new value is always fixed and debugging
+ * information output is customized.
+ */
+ public void _Cycle() throws UnsupportedEncodingException {
+ dbg.printPropertyInfo(oObj, "Cycle");
+ testProperty("Cycle", new PropertyTester() {
+ @Override
+ public Object getNewValue(String propName, Object oldValue) {
+ return TabulatorCycle.CURRENT;
+ }
+
+ @Override
+ public String toString(Object obj) {
+ if (obj == null) {
+ return "null";
+ } else {
+ return "(" + obj.getClass().toString() + ")"
+ + ((Enum)obj).getValue();
+ }
+ }
+ });
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseFormattedField.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseFormattedField.java
new file mode 100644
index 000000000..85b352ef6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseFormattedField.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component ;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.DatabaseFormattedField</code>
+* service properties :
+* <ul>
+* <li><code> ConvertEmptyToNull</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DatabaseFormattedField
+*/
+public class _DatabaseFormattedField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseImageControl.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseImageControl.java
new file mode 100644
index 000000000..ab675911a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseImageControl.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.DatabaseImageControl</code>
+* service properties :
+* <ul>
+* <li><code> ReadOnly</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DatabaseImageControl
+*/
+public class _DatabaseImageControl extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseListBox.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseListBox.java
new file mode 100644
index 000000000..ef8299080
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseListBox.java
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/*
+* Testing <code>com.sun.star.form.component.DatabaseListBox</code>
+* service properties :
+* <ul>
+* <li><code> BoundColumn</code></li>
+* <li><code> ListSourceType</code></li>
+* </ul> <p>
+* All properties testing is automated by
+* <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DatabaseListBox
+*/
+public class _DatabaseListBox extends MultiPropertyTest {
+ // these properties don't needed in special code.
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabasePatternField.java b/qadevOOo/tests/java/ifc/form/component/_DatabasePatternField.java
new file mode 100644
index 000000000..184e92511
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabasePatternField.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.DatabasePatternField</code>
+* service properties :
+* <ul>
+* <li><code> ConvertEmptyToNull</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.DatabasePatternField
+*/
+public class _DatabasePatternField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DatabaseTextField.java b/qadevOOo/tests/java/ifc/form/component/_DatabaseTextField.java
new file mode 100644
index 000000000..37ff264c6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DatabaseTextField.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.DatabaseTextField</code>
+* service properties :
+* <ul>
+* <li><code> ConvertEmptyToNull</code></li>
+* </ul> <p>
+* All properties are tested by class <code>MultiPropertyTest</code>
+* @see com.sun.star.form.component.DatabaseTextField
+*/
+public class _DatabaseTextField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_DateField.java b/qadevOOo/tests/java/ifc/form/component/_DateField.java
new file mode 100644
index 000000000..4a0688a22
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_DateField.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.DateField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultDate</code></li>
+* </ul>
+* @see com.sun.star.form.component.DateField
+*/
+public class _DateField extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _DefaultDate() {
+ testProperty("DefaultDate", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? Integer.valueOf(20010507) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_FileControl.java b/qadevOOo/tests/java/ifc/form/component/_FileControl.java
new file mode 100644
index 000000000..2cc5e5292
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_FileControl.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/*
+* Testing <code>com.sun.star.form.component.FileControl</code>
+* service properties :
+* <ul>
+* <li><code> DefaultText</code></li>
+* </ul>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.FileControl
+*/
+public class _FileControl extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_FormattedField.java b/qadevOOo/tests/java/ifc/form/component/_FormattedField.java
new file mode 100644
index 000000000..37ce620f3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_FormattedField.java
@@ -0,0 +1,26 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component ;
+
+import lib.MultiPropertyTest;
+
+public class _FormattedField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_GridControl.java b/qadevOOo/tests/java/ifc/form/component/_GridControl.java
new file mode 100644
index 000000000..de773f4d2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_GridControl.java
@@ -0,0 +1,96 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.GridControl</code>
+* service properties :
+* <ul>
+* <li><code> Border</code></li>
+* <li><code> Enabled</code></li>
+* <li><code> FontDescriptor</code></li>
+* <li><code> RowHeight</code></li>
+* <li><code> Tabstop</code></li>
+* <li><code> TextColor</code></li>
+* </ul>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.GridControl
+*/
+public class _GridControl extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _RowHeight() {
+ testProperty("RowHeight", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? Integer.valueOf(11) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _Tabstop() {
+ testProperty("Tabstop", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? Boolean.TRUE :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? Integer.valueOf(342) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _BorderColor() {
+ testProperty("BorderColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? Integer.valueOf(342) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+} // finish class _GridControl
+
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_HTMLForm.java b/qadevOOo/tests/java/ifc/form/component/_HTMLForm.java
new file mode 100644
index 000000000..a79e2500e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_HTMLForm.java
@@ -0,0 +1,38 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.HTMLForm</code>
+* service properties :
+* <ul>
+* <li><code> TargetFrame</code></li>
+* <li><code> TargetURL</code></li>
+* <li><code> SubmitMethod</code></li>
+* <li><code> SubmitEncoding</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.HTMLForm
+*/
+public class _HTMLForm extends MultiPropertyTest {
+
+} // finish class _HTMLForm
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_HiddenControl.java b/qadevOOo/tests/java/ifc/form/component/_HiddenControl.java
new file mode 100644
index 000000000..eb77e1cd5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_HiddenControl.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.HiddenControl</code>
+* service properties :
+* <ul>
+* <li><code> HiddenValue</code></li>
+* </ul>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.HiddenControl
+*/
+public class _HiddenControl extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_ImageButton.java b/qadevOOo/tests/java/ifc/form/component/_ImageButton.java
new file mode 100644
index 000000000..208defc43
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_ImageButton.java
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.ImageButton</code>
+* service properties :
+* <ul>
+* <li><code> ButtonType</code></li>
+* <li><code> TargetFrame</code></li>
+* <li><code> TargetURL</code></li>
+* </ul>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.ImageButton
+*/
+public class _ImageButton extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_ListBox.java b/qadevOOo/tests/java/ifc/form/component/_ListBox.java
new file mode 100644
index 000000000..bdcdad7f1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_ListBox.java
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.ListBox</code>
+* service properties :
+* <ul>
+* <li><code> DefaultSelection</code></li>
+* <li><code> ListSource</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.ListBox
+*/
+public class _ListBox extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_NavigationToolBar.java b/qadevOOo/tests/java/ifc/form/component/_NavigationToolBar.java
new file mode 100644
index 000000000..23e3473c1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_NavigationToolBar.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+public class _NavigationToolBar extends MultiPropertyTest {
+
+ public void _TextColor() {
+ testProperty("TextColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? Integer.valueOf(20010507) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+ public void _TextLineColor() {
+ testProperty("TextLineColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? Integer.valueOf(20050507) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/form/component/_NumericField.java b/qadevOOo/tests/java/ifc/form/component/_NumericField.java
new file mode 100644
index 000000000..463e780c9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_NumericField.java
@@ -0,0 +1,49 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.NumericField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultValue</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.NumericField
+*/
+public class _NumericField extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _DefaultValue() {
+ testProperty("DefaultValue", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ return util.utils.isVoid(old) ? new Double(111.11) :
+ super.getNewValue(prop, old) ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_PatternField.java b/qadevOOo/tests/java/ifc/form/component/_PatternField.java
new file mode 100644
index 000000000..67623ddfd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_PatternField.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.PatternField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultText</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.PatternField
+*/
+public class _PatternField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_RadioButton.java b/qadevOOo/tests/java/ifc/form/component/_RadioButton.java
new file mode 100644
index 000000000..17a45a46f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_RadioButton.java
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.form.component.RadioButton</code>
+* service properties :
+* <ul>
+* <li><code> DefaultState</code></li>
+* <li><code> RefValue</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.RadioButton
+*/
+public class _RadioButton extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_RichTextControl.java b/qadevOOo/tests/java/ifc/form/component/_RichTextControl.java
new file mode 100644
index 000000000..4150be3a5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_RichTextControl.java
@@ -0,0 +1,25 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+public class _RichTextControl extends MultiPropertyTest {
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/component/_ScrollBar.java b/qadevOOo/tests/java/ifc/form/component/_ScrollBar.java
new file mode 100644
index 000000000..d6021c73d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_ScrollBar.java
@@ -0,0 +1,25 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+public class _ScrollBar extends MultiPropertyTest{
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/component/_SpinButton.java b/qadevOOo/tests/java/ifc/form/component/_SpinButton.java
new file mode 100644
index 000000000..8d7ae9c11
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_SpinButton.java
@@ -0,0 +1,25 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+public class _SpinButton extends MultiPropertyTest {
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/component/_TextField.java b/qadevOOo/tests/java/ifc/form/component/_TextField.java
new file mode 100644
index 000000000..f6b81a1ea
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_TextField.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.form.component.TextField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultText</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.TextField
+*/
+public class _TextField extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/component/_TimeField.java b/qadevOOo/tests/java/ifc/form/component/_TimeField.java
new file mode 100644
index 000000000..1faa5d959
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/component/_TimeField.java
@@ -0,0 +1,49 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.component;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.form.component.TimeField</code>
+* service properties :
+* <ul>
+* <li><code> DefaultTime</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.form.component.TimeField
+*/
+public class _TimeField extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must defined.
+ */
+ public void _DefaultTime() {
+ testProperty("DefaultTime", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return utils.isVoid(old) ? Integer.valueOf(4321) :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/form/submission/_XSubmission.java b/qadevOOo/tests/java/ifc/form/submission/_XSubmission.java
new file mode 100644
index 000000000..ce70afb20
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/submission/_XSubmission.java
@@ -0,0 +1,178 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.form.submission;
+
+import com.sun.star.form.submission.XSubmission;
+import com.sun.star.form.submission.XSubmissionVetoListener;
+
+import lib.MultiMethodTest;
+
+
+public class _XSubmission extends MultiMethodTest {
+ public XSubmission oObj = null;
+
+ public void _addSubmissionVetoListener() {
+ log.println(
+ "submitting with VetoListener ... exception should appear");
+
+ boolean res = true;
+ XSubmissionVetoListener aListener = new MyListener();
+
+ try {
+ oObj.addSubmissionVetoListener(aListener);
+ oObj.submit();
+ res = false;
+ log.println(
+ "the expected exception wasn't thrown ... FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(
+ "Expected exception was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println(
+ "NoSupportExpected exception was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.util.VetoException e) {
+ log.println(
+ "VetoException was thrown while calling submit() "
+ + e.getMessage() + "OK");
+ }
+
+ try {
+ oObj.removeSubmissionVetoListener(aListener);
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println(
+ "NoSupportExpected exception was thrown while removing the listener) "
+ + e.getMessage() + "FAILED");
+ res = false;
+ }
+
+ tRes.tested("addSubmissionVetoListener()", res);
+ }
+
+ public void _removeSubmissionVetoListener() {
+ log.println(
+ "submitting with VetoListener ... exception should appear");
+
+ boolean res = true;
+ XSubmissionVetoListener aListener = new MyListener();
+
+ try {
+ oObj.addSubmissionVetoListener(aListener);
+ oObj.submit();
+ res = false;
+ log.println(
+ "the expected exception wasn't thrown ... FAILED");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(
+ "WrappedTargetException exception was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println(
+ "NoSupportExpected exception was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.util.VetoException e) {
+ log.println(
+ "VetoException was thrown while calling submit() "
+ + e.getMessage() + "OK");
+ }
+
+ log.println("removing the listener");
+
+ try {
+ oObj.removeSubmissionVetoListener(aListener);
+ } catch (com.sun.star.lang.NoSupportException e) {
+ log.println(
+ "NoSupportExpected exception was thrown while removing the listener) "
+ + e.getMessage() + "FAILED");
+ res = false;
+ }
+
+ log.println("Sleeping 2s");
+
+ waitForEventIdle();
+
+ log.println("... done");
+
+ log.println(
+ "submitting after VetoListener has been removed... no exception should appear");
+
+ try {
+ oObj.submit();
+ log.println("No Exception ... OK");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(
+ "WrappedTargetException was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.util.VetoException e) {
+ log.println(
+ "VetoException was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ }
+
+ tRes.tested("removeSubmissionVetoListener()", res);
+ }
+
+ /** Calls submit and returns true if no exception was thrown
+ * then adds a SubmissionVetoListener and checks if the
+ * exception is thrown in case of a veto of this listener.
+ */
+ public void _submit() {
+ boolean res = true;
+ log.println(
+ "submitting without VetoListener ... no exception should appear");
+
+ try {
+ oObj.submit();
+ log.println("No Exception ... OK");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(
+ "Exception was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ } catch (com.sun.star.util.VetoException e) {
+ log.println(
+ "VetoException was thrown while calling submit() "
+ + e.getMessage() + "FAILED");
+ res = false;
+ }
+
+ tRes.tested("submit()", res);
+ }
+
+ public class MyListener implements XSubmissionVetoListener {
+ public void disposing(
+ com.sun.star.lang.EventObject eventObject) {
+ }
+
+ public void submitting(
+ com.sun.star.lang.EventObject eventObject)
+ throws com.sun.star.util.VetoException {
+ log.println("MyVetoListener was called");
+ throw new com.sun.star.util.VetoException(
+ "submission isn't allowed ...");
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/submission/_XSubmissionSupplier.java b/qadevOOo/tests/java/ifc/form/submission/_XSubmissionSupplier.java
new file mode 100644
index 000000000..d0fd030af
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/submission/_XSubmissionSupplier.java
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.form.submission;
+
+import com.sun.star.form.submission.XSubmission;
+import com.sun.star.form.submission.XSubmissionSupplier;
+import com.sun.star.form.submission.XSubmissionVetoListener;
+import com.sun.star.task.XInteractionHandler;
+import lib.MultiMethodTest;
+
+public class _XSubmissionSupplier extends MultiMethodTest
+{
+ public XSubmissionSupplier oObj = null;
+ public boolean submitWasCalled = false;
+
+ public void _Submission() {
+ XSubmission stub = new MyXSubmission();
+ oObj.setSubmission (stub);
+ XSubmission xSubmission = oObj.getSubmission ();
+ try {
+ xSubmission.submit ();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception during submit "+e.getMessage ());
+ }
+ catch (com.sun.star.util.VetoException e) {
+ log.println("VetoException during submit "+e.getMessage ());
+ }
+ tRes.tested ("Submission()",submitWasCalled);
+ }
+
+ private class MyXSubmission implements XSubmission {
+
+ public void submit () throws com.sun.star.util.VetoException, com.sun.star.lang.WrappedTargetException
+ {
+ submitWasCalled=true;
+ log.println("MyXSubmission: someone called submit :-)");
+ }
+
+ public void submitWithInteraction( XInteractionHandler handler ) throws com.sun.star.util.VetoException, com.sun.star.lang.WrappedTargetException
+ {
+ log.println("MyXSubmission: someone called submitWithInteraction :-)");
+ }
+
+ public void addSubmissionVetoListener( XSubmissionVetoListener listener ) throws com.sun.star.lang.NoSupportException
+ {
+ throw new com.sun.star.lang.NoSupportException();
+ }
+
+ public void removeSubmissionVetoListener( XSubmissionVetoListener listener ) throws com.sun.star.lang.NoSupportException
+ {
+ throw new com.sun.star.lang.NoSupportException();
+ }
+
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/form/validation/_XValidatable.java b/qadevOOo/tests/java/ifc/form/validation/_XValidatable.java
new file mode 100644
index 000000000..eec5315ed
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/validation/_XValidatable.java
@@ -0,0 +1,76 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.form.validation;
+
+import com.sun.star.form.validation.XValidatable;
+import com.sun.star.form.validation.XValidator;
+
+import lib.MultiMethodTest;
+
+
+public class _XValidatable extends MultiMethodTest {
+ public XValidatable oObj;
+
+ public void _getValidator() {
+ requiredMethod("setValidator()");
+
+ XValidator xValidator = oObj.getValidator();
+ boolean res = xValidator.isValid(Boolean.FALSE);
+ tRes.tested("getValidator()", res);
+ }
+
+ public void _setValidator() {
+ boolean res = false;
+
+ try {
+ oObj.setValidator(new MyValidator());
+
+ XValidator xValidator = oObj.getValidator();
+ String getting = xValidator.explainInvalid(null);
+ res = getting.equals("explainInvalid");
+
+ if (!res) {
+ log.println("\tExpected: explainInvalid");
+ log.println("\tGetting: " + getting);
+ log.println("FAILED");
+ }
+ } catch (com.sun.star.util.VetoException e) {
+ e.printStackTrace();
+ }
+
+ tRes.tested("setValidator()", res);
+ }
+
+ public static class MyValidator implements XValidator {
+ public void addValidityConstraintListener(com.sun.star.form.validation.XValidityConstraintListener xValidityConstraintListener)
+ throws com.sun.star.lang.NullPointerException {
+ }
+
+ public String explainInvalid(Object obj) {
+ return "explainInvalid";
+ }
+
+ public boolean isValid(Object obj) {
+ return true;
+ }
+
+ public void removeValidityConstraintListener(com.sun.star.form.validation.XValidityConstraintListener xValidityConstraintListener)
+ throws com.sun.star.lang.NullPointerException {
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/form/validation/_XValidatableFormComponent.java b/qadevOOo/tests/java/ifc/form/validation/_XValidatableFormComponent.java
new file mode 100644
index 000000000..cb1dd831a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/validation/_XValidatableFormComponent.java
@@ -0,0 +1,229 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.form.validation;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XMultiPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.form.validation.XFormComponentValidityListener;
+import com.sun.star.form.validation.XValidatableFormComponent;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+
+import util.ValueChanger;
+
+import java.util.StringTokenizer;
+
+
+public class _XValidatableFormComponent extends MultiMethodTest
+{
+ public XValidatableFormComponent oObj;
+ protected XFormComponentValidityListener listener = null;
+ public boolean listenerCalled = false;
+ private String[] testPropsNames = null;
+ private int testPropsAmount = 0;
+
+ public void _addFormComponentValidityListener()
+ {
+ listener = new MyListener();
+
+ boolean res = true;
+
+ try
+ {
+ oObj.addFormComponentValidityListener(listener);
+ }
+ catch (com.sun.star.lang.NullPointerException e)
+ {
+ res = false;
+ e.printStackTrace();
+ }
+
+ changeAllProperties();
+ res &= listenerCalled;
+ tRes.tested("addFormComponentValidityListener()", res);
+ }
+
+ public void _getCurrentValue()
+ {
+ oObj.getCurrentValue();
+ tRes.tested("getCurrentValue()", true);
+ }
+
+ public void _isValid()
+ {
+ boolean res = oObj.isValid();
+ tRes.tested("isValid()", res);
+ }
+
+ public void _removeFormComponentValidityListener()
+ {
+ requiredMethod("isValid()");
+
+ try
+ {
+ oObj.removeFormComponentValidityListener(listener);
+ }
+ catch (com.sun.star.lang.NullPointerException e)
+ {
+ e.printStackTrace();
+ }
+
+ listenerCalled = false;
+ changeAllProperties();
+ tRes.tested("removeFormComponentValidityListener()", true);
+ }
+
+ protected void changeAllProperties()
+ {
+ XMultiPropertySet mProps =
+ UnoRuntime.queryInterface(
+ XMultiPropertySet.class, tEnv.getTestObject()
+ );
+ XPropertySetInfo propertySetInfo = mProps.getPropertySetInfo();
+ Property[] properties = propertySetInfo.getProperties();
+ getPropsToTest(properties);
+ log.println("Changing all properties");
+
+ Object[] gValues = mProps.getPropertyValues(testPropsNames);
+
+ for (int i = 0; i < testPropsAmount; i++)
+ {
+ Object oldValue = gValues[i];
+
+ if (
+ testPropsNames[i].equals("Value")
+ || testPropsNames[i].equals("EffectiveValue")
+ )
+ {
+ oldValue = Integer.valueOf(10);
+ }
+ else if (testPropsNames[i].equals("Time"))
+ {
+ oldValue = new com.sun.star.util.Time(
+ 10, (short) 10, (short) 10, (short) 10, false);
+ }
+
+ Object newValue = ValueChanger.changePValue(oldValue);
+ gValues[i] = newValue;
+ }
+
+ try
+ {
+ mProps.setPropertyValues(testPropsNames, gValues);
+ }
+ catch (com.sun.star.beans.PropertyVetoException e)
+ {
+ log.println("Exception occurred while setting properties");
+ e.printStackTrace(log);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ log.println("Exception occurred while setting properties");
+ e.printStackTrace(log);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ log.println("Exception occurred while setting properties");
+ e.printStackTrace(log);
+ }
+ // end of try-catch
+ }
+
+ //Get the properties being tested
+ private void getPropsToTest(Property[] properties)
+ {
+ StringBuilder sb = new StringBuilder();
+
+ for (int i = 0; i < properties.length; i++)
+ {
+ Property property = properties[i];
+ String name = property.Name;
+ boolean isWritable =
+ ((property.Attributes & PropertyAttribute.READONLY) == 0);
+ boolean isNotNull =
+ ((property.Attributes & PropertyAttribute.MAYBEVOID) == 0);
+ //these have values that are interfaces we can't change
+ if (
+ name.equals("TextUserDefinedAttributes")
+ || name.equals("ReferenceDevice")
+ || name.equals("ParaUserDefinedAttributes")
+ )
+ {
+ isWritable = false;
+ }
+
+ if (
+ name.equals("Value") || name.equals("Time")
+ || name.equals("Date")
+ )
+ {
+ sb = new StringBuilder(name + ";");
+ }
+
+ if (
+ isWritable && isNotNull && (name.indexOf("Format") < 0)
+ && !name.equals("Enabled")
+ )
+ {
+ sb.append(name + ";");
+ }
+ }
+
+ String bound = sb.toString();
+ // endfor
+
+ //get an array of bound properties
+ if (bound.equals(""))
+ {
+ bound = "none";
+ }
+
+ if (tEnv.getTestCase().getObjectName().indexOf("Formatted") > 0)
+ {
+ bound = "EffectiveValue;";
+ }
+
+ StringTokenizer ST = new StringTokenizer(bound, ";");
+ int nr = ST.countTokens();
+ testPropsNames = new String[nr];
+
+ for (int i = 0; i < nr; i++)
+ testPropsNames[i] = ST.nextToken();
+
+ testPropsAmount = nr;
+ }
+
+ protected class MyListener implements XFormComponentValidityListener
+ {
+ public void componentValidityChanged(
+ com.sun.star.lang.EventObject eventObject
+ )
+ {
+ System.out.println("componentValidityChanged called");
+ listenerCalled = true;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject eventObject)
+ {
+ System.out.println("Listener Disposed");
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/form/validation/_XValidityConstraintListener.java b/qadevOOo/tests/java/ifc/form/validation/_XValidityConstraintListener.java
new file mode 100644
index 000000000..3c4362758
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/form/validation/_XValidityConstraintListener.java
@@ -0,0 +1,81 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.form.validation;
+
+import com.sun.star.form.validation.XValidatable;
+import com.sun.star.form.validation.XValidator;
+import com.sun.star.form.validation.XValidityConstraintListener;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiMethodTest;
+
+
+public class _XValidityConstraintListener extends MultiMethodTest {
+ public XValidityConstraintListener oObj;
+ protected boolean ValidatorCalled = false;
+
+ public void _validityConstraintChanged() {
+ boolean res = false;
+ try {
+ XValidatable xValidatable = UnoRuntime.queryInterface(
+ XValidatable.class,
+ tEnv.getTestObject());
+
+ log.println("adding Validator");
+ XValidator xValidator = new MyValidator();
+ xValidatable.setValidator(xValidator);
+ ValidatorCalled = false;
+
+ log.println("calling validityConstraintChanged()");
+ oObj.validityConstraintChanged(
+ new com.sun.star.lang.EventObject());
+ res = ValidatorCalled;
+ } catch (com.sun.star.util.VetoException e) {
+ e.printStackTrace();
+ }
+ tRes.tested("validityConstraintChanged()",res);
+ }
+
+ /*
+ * The validator to add this Listener implementation
+ *
+ */
+ public class MyValidator implements XValidator {
+ public void addValidityConstraintListener(com.sun.star.form.validation.XValidityConstraintListener xValidityConstraintListener)
+ throws com.sun.star.lang.NullPointerException {
+ log.println("\t Validator::addValidityConstraintListener called");
+ }
+
+ public String explainInvalid(Object obj) {
+ log.println("\t Validator::explainInvalid() called");
+
+ return "explainInvalid";
+ }
+
+ public boolean isValid(Object obj) {
+ log.println("\t Validator::isValid() called");
+ ValidatorCalled = true;
+ return false;
+ }
+
+ public void removeValidityConstraintListener(com.sun.star.form.validation.XValidityConstraintListener xValidityConstraintListener)
+ throws com.sun.star.lang.NullPointerException {
+ log.println("\t Validator::removeValidityConstraintListener called");
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/formula/_FormulaProperties.java b/qadevOOo/tests/java/ifc/formula/_FormulaProperties.java
new file mode 100644
index 000000000..62384ae36
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/formula/_FormulaProperties.java
@@ -0,0 +1,90 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.formula;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.formula.FormulaProperties</code>
+* service properties :
+* <ul>
+* <li><code> Alignment</code></li>
+* <li><code> BaseFontHeight</code></li>
+* <li><code> CustomFontNameFixed</code></li>
+* <li><code> FontFixedIsItalic</code></li>
+* <li><code> FontFixedIsBold</code></li>
+* <li><code> CustomFontNameSans</code></li>
+* <li><code> FontSansIsItalic</code></li>
+* <li><code> FontSansIsBold</code></li>
+* <li><code> CustomFontNameSerif</code></li>
+* <li><code> FontSerifIsItalic</code></li>
+* <li><code> FontSerifIsBold</code></li>
+* <li><code> FontNameFunctions</code></li>
+* <li><code> FontFunctionsIsItalic</code></li>
+* <li><code> FontFunctionsIsBold</code></li>
+* <li><code> FontNameNumbers</code></li>
+* <li><code> FontNumbersIsItalic</code></li>
+* <li><code> FontNumbersIsBold</code></li>
+* <li><code> FontNameText</code></li>
+* <li><code> FontTextIsItalic</code></li>
+* <li><code> FontTextIsBold</code></li>
+* <li><code> FontNameVariables</code></li>
+* <li><code> FontVariablesIsItalic</code></li>
+* <li><code> FontVariablesIsBold</code></li>
+* <li><code> Formula</code></li>
+* <li><code> IsScaleAllBrackets</code></li>
+* <li><code> IsTextMode</code></li>
+* <li><code> RelativeFontHeightFunctions</code></li>
+* <li><code> RelativeFontHeightIndices</code></li>
+* <li><code> RelativeFontHeightLimits</code></li>
+* <li><code> RelativeFontHeightOperators</code></li>
+* <li><code> RelativeFontHeightText</code></li>
+* <li><code> RelativeBracketDistance</code></li>
+* <li><code> RelativeBracketExcessSize</code></li>
+* <li><code> RelativeFractionBarExcessLength</code></li>
+* <li><code> RelativeFractionBarLineWeight</code></li>
+* <li><code> RelativeFractionDenominatorDepth</code></li>
+* <li><code> RelativeFractionNumeratorHeight</code></li>
+* <li><code> RelativeIndexSubscript</code></li>
+* <li><code> RelativeIndexSuperscript</code></li>
+* <li><code> RelativeLineSpacing</code></li>
+* <li><code> RelativeLowerLimitDistance</code></li>
+* <li><code> RelativeMatrixColumnSpacing</code></li>
+* <li><code> RelativeMatrixLineSpacing</code></li>
+* <li><code> RelativeOperatorExcessSize</code></li>
+* <li><code> RelativeOperatorSpacing</code></li>
+* <li><code> RelativeRootSpacing</code></li>
+* <li><code> RelativeScaleBracketExcessSize</code></li>
+* <li><code> RelativeSpacing</code></li>
+* <li><code> RelativeSymbolMinimumHeight</code></li>
+* <li><code> RelativeSymbolPrimaryHeight</code></li>
+* <li><code> RelativeUpperLimitDistance</code></li>
+* <li><code> TopMargin</code></li>
+* <li><code> BottomMargin</code></li>
+* <li><code> LeftMargin</code></li>
+* <li><code> RightMargin</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.formula.FormulaProperties
+*/
+public class _FormulaProperties extends MultiPropertyTest {
+
+
+} // finish class _FormulaProperties
+
diff --git a/qadevOOo/tests/java/ifc/frame/_Desktop.java b/qadevOOo/tests/java/ifc/frame/_Desktop.java
new file mode 100644
index 000000000..e43ed9850
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_Desktop.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.frame.Desktop</code>
+* service properties:
+* <ul>
+* <li><code> HasBeamer </code></li>
+* <li><code> HasCommonTaskBar </code></li>
+* <li><code> HasStylist </code></li>
+* <li><code> HasExplorer </code></li>
+* <li><code> HasFunctionBar </code></li>
+* <li><code> HasMacroBar </code></li>
+* <li><code> HasNavigator </code></li>
+* <li><code> HasObjectBar </code></li>
+* <li><code> HasOptionBar </code></li>
+* <li><code> HasStatusBar </code></li>
+* <li><code> HasToolBar </code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.frame.Desktop
+*/
+public class _Desktop extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_Frame.java b/qadevOOo/tests/java/ifc/frame/_Frame.java
new file mode 100644
index 000000000..e20c16817
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_Frame.java
@@ -0,0 +1,26 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiPropertyTest;
+
+public class _Frame extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_FrameLoader.java b/qadevOOo/tests/java/ifc/frame/_FrameLoader.java
new file mode 100644
index 000000000..91c57ae18
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_FrameLoader.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.frame.FrameLoader</code>
+* service properties :
+* <ul>
+* <li><code> Types</code></li>
+* <li><code> UIName</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.frame.FrameLoader
+*/
+public class _FrameLoader extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_SynchronousFrameLoader.java b/qadevOOo/tests/java/ifc/frame/_SynchronousFrameLoader.java
new file mode 100644
index 000000000..182612019
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_SynchronousFrameLoader.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.frame.SynchronousFrameLoader</code>
+* service properties :
+* <ul>
+* <li><code> Types</code></li>
+* <li><code> UIName</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.frame.SynchronousFrameLoader
+*/
+public class _SynchronousFrameLoader extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XComponentLoader.java b/qadevOOo/tests/java/ifc/frame/_XComponentLoader.java
new file mode 100644
index 000000000..afda3657a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XComponentLoader.java
@@ -0,0 +1,139 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyState;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XComponentLoader;
+import com.sun.star.lang.XComponent;
+
+
+/**
+* Testing <code>com.sun.star.frame.XComponentLoader</code>
+* interface methods:
+* <ul>
+* <li><code> loadComponentFromURL() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XComponentLoader
+*/
+public class _XComponentLoader extends MultiMethodTest {
+ public XComponentLoader oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Method which tests the objects ability to load a
+ * component from URL. All available components are loaded by turns. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * @see XComponent
+ */
+ public void _loadComponentFromURL() throws Exception {
+ boolean result = true;
+
+ log.println("testing loadComponentFromURL() ... ");
+ try {
+ PropertyValue [] szEmptyArgs = new PropertyValue [0];
+ String frameName = "_blank";
+ XComponent oDoc = null;
+
+ log.println("load writer doc that contains links");
+ PropertyValue [] szArgs = new PropertyValue [1];
+ PropertyValue Arg = new PropertyValue();
+ Arg.Name = "UpdateDocMode";
+ Arg.Value = Short.valueOf(com.sun.star.document.UpdateDocMode.NO_UPDATE);
+ szArgs[0]=Arg;
+ String url = util.utils.getFullTestURL("Writer_link.sxw");
+ log.println("try to load '" + url + "'");
+ oDoc = oObj.loadComponentFromURL(
+ url, frameName, 0, szArgs);
+
+ waitForEventIdle();
+
+ oDoc.dispose();
+
+ url = util.utils.getFullTestURL("Calc_Link.sxc");
+ log.println("try to load '" + url + "'");
+ oDoc = oObj.loadComponentFromURL(
+ url, frameName, 0, szArgs);
+
+ waitForEventIdle();
+
+ oDoc.dispose();
+
+
+
+ log.println("load a blank impress doc");
+ Arg.Name = "OpenFlags";
+ Arg.Value = "S";
+ Arg.Handle = -1;
+ Arg.State = PropertyState.DEFAULT_VALUE;
+ szArgs[0]=Arg;
+ oDoc = oObj.loadComponentFromURL(
+ "private:factory/simpress", frameName, 0, szArgs );
+
+ log.println("disposing impress doc");
+ oDoc.dispose();
+
+ log.println("load a blank writer doc");
+ oDoc = oObj.loadComponentFromURL(
+ "private:factory/swriter", frameName, 0, szEmptyArgs );
+
+ log.println("disposing writer doc");
+ oDoc.dispose();
+
+ log.println("load a blank calc doc");
+ oDoc = oObj.loadComponentFromURL(
+ "private:factory/scalc", frameName, 0, szEmptyArgs );
+
+ log.println("disposing calc doc");
+ oDoc.dispose();
+
+ log.println("load a blank draw doc");
+ oDoc = oObj.loadComponentFromURL(
+ "private:factory/sdraw", frameName, 0, szEmptyArgs );
+
+ log.println("disposing draw doc");
+ oDoc.dispose();
+
+ log.println("load a blank math doc");
+ oDoc = oObj.loadComponentFromURL(
+ "private:factory/smath", frameName, 0, szEmptyArgs );
+
+ log.println("disposing math doc");
+ oDoc.dispose();
+
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while loading");
+ e.printStackTrace(log);
+ result=false;
+ }
+ catch (com.sun.star.io.IOException e) {
+ log.println("Exception occurred while loading");
+ e.printStackTrace(log);
+ result=false;
+ }
+
+ tRes.tested("loadComponentFromURL()", result);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XController.java b/qadevOOo/tests/java/ifc/frame/_XController.java
new file mode 100644
index 000000000..48ecad772
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XController.java
@@ -0,0 +1,218 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.util.XModifiable;
+
+
+/**
+* Testing <code>com.sun.star.frame.XController</code>
+* interface methods:
+* <ul>
+* <li><code> getFrame() </code></li>
+* <li><code> attachFrame() </code></li>
+* <li><code> getModel() </code></li>
+* <li><code> attachModel() </code></li>
+* <li><code> getViewData() </code></li>
+* <li><code> restoreViewData() </code></li>
+* <li><code> suspend() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Frame'</code> (of type <code>XFrame</code>):
+* any other frame, used for tests</li>
+* <li> <code>'FirstModel'</code> (of type <code>XModel</code>):
+* model of a controller tested</li>
+* <li> <code>'SecondModel'</code> (of type <code>XModel</code>):
+* other model, used for tests </li>
+* <li> <code>'HasViewData'</code> (of type <code>Boolean</code>):
+* (optional relation) if it exists, so controller has no view data</li>
+* <li> <code>'SecondController'</code> (of type <code>XController</code>):
+* other controller, used for tests </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XController
+*/
+public class _XController extends MultiMethodTest {
+ public XController oObj = null;
+ public XModel firstModel = null;
+ public XModel secondModel = null;
+ public XFrame frame = null;
+ public Object ViewData = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns object, that's equal to
+ * previously obtained object relation 'Frame'.
+ * The following method tests are to be completed successfully before:
+ * <ul>
+ * <li> <code> attachFrame() </code> : attaches frame obtained object
+ * relation 'Frame' </li>
+ * </ul>
+ */
+ public void _getFrame() {
+ requiredMethod("attachFrame()");
+ XFrame getting = oObj.getFrame();
+ boolean eq = getting.equals(frame);
+ if ( !eq ) {
+ log.println("Getting: " + getting.toString());
+ log.println("Expected: " + frame.toString());
+ }
+ tRes.tested("getFrame()", eq);
+ }
+
+ /**
+ * After obtaining a corresponding object relation test calls the method.
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _attachFrame() {
+ frame = (XFrame) tEnv.getObjRelation("Frame");
+ oObj.attachFrame(frame);
+ tRes.tested("attachFrame()", true);
+ }
+
+ /**
+ * At first object relation 'FirstModel' is gotten. Then test calls the
+ * method. <p>
+ * Has <b> OK </b> status if string representation of an object, returned by
+ * the method is equal to string representation of corresponding object
+ * relation.
+ */
+ public void _getModel() {
+ firstModel = (XModel) tEnv.getObjRelation("FirstModel");
+ XModel getting = oObj.getModel();
+ String out1 = "";
+ String out2 = "";
+ if ( (firstModel == null) ) out1="none";
+ else out1 = firstModel.toString();
+ if ( (getting == null) ) out2="none"; else out2 = getting.toString();
+ boolean eq = out1.equals(out2);
+ if ( !eq ) {
+ log.println("Getting: " + out2);
+ log.println("Expected: " + out1);
+ }
+ tRes.tested("getModel()", eq);
+ }
+
+ /**
+ * At first, we obtain an object relation 'SecondModel'. Then test calls
+ * the method and check result. <p>
+ * Has <b> OK </b> status if method returns true and attached model is
+ * equal to a model 'SecondModel' obtained before.
+ * <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getModel() </code> : returns model (XModel) of the
+ * XController object</li>
+ * </ul>
+ */
+ public void _attachModel() {
+ boolean result = false;
+
+ requiredMethod("getModel()");
+ secondModel = (XModel) tEnv.getObjRelation("SecondModel");
+ XModel gotBefore = oObj.getModel();
+ boolean attached = oObj.attachModel(secondModel);
+ XModel gotAfter = oObj.getModel();
+ if ( attached ) {
+ if ( ! gotBefore.equals(gotAfter) ) {
+ if ( gotAfter.equals(secondModel) ) {
+ result = true;
+ } else {
+ log.println("Attached and gotten models are not equal");
+ log.println("Getting: " + gotAfter.toString());
+ log.println("Expected: " + secondModel.toString());
+ }
+ } else {
+ log.println("method did not change model");
+ }
+ } else {
+ result=true;
+ log.println("attachModel() returns false");
+ log.println("as expected, see #82938");
+ }
+ tRes.tested("attachModel()", result);
+ boolean bResult = oObj.attachModel(firstModel);
+ log.println("attachModel() --> " + bResult);
+ }
+
+ /**
+ * At first gotten object relation 'HasViewData' is checked. Then if
+ * 'HasViewData' is null, test calls the method. <p>
+ * Has <b> OK </b> status if obtained object relation is not null, or if
+ * the method does not return null.
+ */
+ public void _getViewData() {
+ if (tEnv.getObjRelation("HasViewData") != null) {
+ log.println("This Object has no View Data");
+ tRes.tested("getViewData()", true);
+ return;
+ }
+ ViewData = oObj.getViewData();
+ tRes.tested( "getViewData()", ViewData != null );
+ }
+
+ /**
+ * If obtained object relation 'HasViewData' is null, test calls the method.
+ * <p>Has <b> OK </b> status if obtained object relation is not null, or
+ * if no exceptions were thrown while method call.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getViewData() </code> : gets view data of an object. </li>
+ * </ul>
+ */
+ public void _restoreViewData() {
+ requiredMethod("getViewData()");
+ if (tEnv.getObjRelation("HasViewData") != null) {
+ log.println("This Object has no View Data");
+ tRes.tested("restoreViewData()", true);
+ return;
+ }
+ oObj.restoreViewData(ViewData);
+ tRes.tested( "restoreViewData()", true );
+ }
+
+ /**
+ * Has <b> OK </b> status if the method returns true.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> restoreViewData() </code> : restores view status of an
+ * object </li>
+ * </ul>
+ */
+ public void _suspend() {
+ requiredMethod("restoreViewData()");
+ XModifiable modify = (XModifiable) tEnv.getObjRelation("Modifiable");
+ if (modify != null) {
+ try {
+ modify.setModified(false);
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException, couldn't change Modify flag");
+ }
+ }
+ tRes.tested( "suspend()", oObj.suspend(true) );
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XDesktop.java b/qadevOOo/tests/java/ifc/frame/_XDesktop.java
new file mode 100644
index 000000000..ac1457197
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDesktop.java
@@ -0,0 +1,120 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.frame.XDesktop</code>
+* interface methods:
+* <ul>
+* <li><code> getComponents() </code></li>
+* <li><code> terminate() </code></li>
+* <li><code> addTerminateListener() </code></li>
+* <li><code> removeTerminateListener() </code></li>
+* <li><code> getCurrentComponent() </code></li>
+* <li><code> getCurrentFrame() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XDesktop
+*/
+public class _XDesktop extends MultiMethodTest {
+ public XDesktop oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Test calls the method. Then elements enumeration is created and tested.<p>
+ * Has <b> OK </b> status if no exceptions were thrown.
+ */
+ public void _getComponents() {
+ XEnumerationAccess xComps = oObj.getComponents();
+ XEnumeration xEnum = xComps.createEnumeration();
+ boolean result = false;
+
+ try {
+ while (xEnum.hasMoreElements()) {
+ try {
+ AnyConverter.toObject(
+ new Type(XInterface.class), xEnum.nextElement());
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Can't convert any");
+ }
+ }
+ result = true;
+ } catch (WrappedTargetException e) {
+ log.println("Couldn't get a component : " + e.getMessage());
+ e.printStackTrace();
+ } catch (NoSuchElementException e) {
+ log.println("Couldn't get a component : " + e.getMessage());
+ e.printStackTrace();
+ }
+ tRes.tested("getComponents()", result);
+ }
+
+ /**
+ * Cannot test the method because it requires
+ * terminating StarOffice. Will add real test later.
+ */
+ public void _terminate() {
+ tRes.tested("terminate()", true);
+ }
+
+ /**
+ * Cannot test the method because of terminate().
+ * Will add real test later.
+ */
+ public void _addTerminateListener() {
+ tRes.tested("addTerminateListener()", true);
+ }
+
+ /**
+ * Cannot test the method because of terminate().
+ * Will add real test later.
+ */
+ public void _removeTerminateListener() {
+ tRes.tested("removeTerminateListener()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getCurrentComponent() {
+ tRes.tested("getCurrentComponent()",
+ oObj.getCurrentComponent() != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getCurrentFrame() {
+ tRes.tested("getCurrentFrame()", oObj.getCurrentFrame() != null);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XDispatch.java b/qadevOOo/tests/java/ifc/frame/_XDispatch.java
new file mode 100644
index 000000000..3cc536f7a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDispatch.java
@@ -0,0 +1,221 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.util.URL;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import com.sun.star.frame.XNotifyingDispatch;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.frame.DispatchResultEvent;
+
+/**
+* Testing <code>com.sun.star.frame.XDispatch</code>
+* interface methods :
+* <ul>
+* <li><code> dispatch()</code></li>
+* <li><code> addStatusListener()</code></li>
+* <li><code> removeStatusListener()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDispatch.URL'</code> (of type <code>com.sun.star.util.URL
+* </code>): URL for passing to <code>dispatch()</code> method. </li>
+* <ul> <p>
+* @see com.sun.star.frame.XDispatch
+* @see com.sun.star.frame.XNotifyingDispatch
+* @see ifc.frame._XDispatch
+* @see ifc.frame._XNotifyingDispatch
+*/
+
+public class _XDispatch extends MultiMethodTest {
+
+ public XDispatch oObj = null;
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected static class TestStatusListener implements
+ com.sun.star.frame.XStatusListener {
+ public boolean statusChangedCalled = false ;
+ private final java.io.PrintWriter log;
+
+ public TestStatusListener(java.io.PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ log.println(" disposing was called.") ;
+ }
+
+ public void statusChanged(com.sun.star.frame.FeatureStateEvent e) {
+ statusChangedCalled = true ;
+ log.println(" statusChanged was called.") ;
+ log.println(" FeatureURL = '" + e.FeatureURL + "'");
+ log.println(" FeatureDescriptor = '" + e.FeatureDescriptor + "'");
+ log.println(" IsEnabled = " + e.IsEnabled);
+ log.println(" Requery = " + e.Requery);
+ log.println(" State = '" + e.State.toString() + "'");
+ }
+
+ }
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected static class TestNotificationListener implements
+ com.sun.star.frame.XDispatchResultListener {
+ public boolean finishedDispatch = false ;
+ private final java.io.PrintWriter log;
+
+ public TestNotificationListener(java.io.PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ log.println(" disposing was called.") ;
+ }
+
+ public void dispatchFinished( DispatchResultEvent e) {
+ finishedDispatch = true ;
+ log.println(" dispatchFinished was called.") ;
+ }
+
+ }
+
+ TestStatusListener listener = null ;
+ TestNotificationListener notificationListener = null;
+ URL url = null ;
+
+ /**
+ * Not all implementations could call the
+ * <code>com.sun.star.frame.XStatusListener</code>. For this purposes the
+ * <code>com.sun.star.frame.XDispatchWithNotification</code> was designed.
+ * If <code>com.sun.star.frame.XStatusListener</code> was not called and
+ * <code>com.sun.star.frame.XStatusListener</code> is present, it was used
+ * to check listeners.
+ */
+ private boolean checkXDispatchWithNotification()
+ {
+ XNotifyingDispatch xND = UnoRuntime.queryInterface(XNotifyingDispatch.class, oObj);
+ if ( xND != null) {
+ log.println(" XNotifyingDispatch found:");
+ PropertyValue[] arguments = (PropertyValue[])
+ tEnv.getObjRelation("XNotifyingDispatchArgument");
+
+ notificationListener = new TestNotificationListener(log) ;
+ xND.dispatchWithNotification(url, arguments, notificationListener);
+
+ waitForEventIdle();
+
+ log.println(" Listener called: "+ notificationListener.finishedDispatch);
+
+ return notificationListener.finishedDispatch;
+ } else {
+ return false;
+ }
+
+ }
+ /**
+ * Retrieves object relations and creates new listeners.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ listener = new TestStatusListener(log) ;
+ url = (URL) tEnv.getObjRelation("XDispatch.URL") ;
+
+ if (url == null) throw new StatusException
+ (Status.failed("Relation not found.")) ;
+ }
+
+ /**
+ * Calls the method using URL from relation. <p>
+ * Has <b> OK </b> status if one listener (not removed) is called, and
+ * another (removed) is not.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>addStatusListener</code> :
+ * to check that the listener is called
+ * </li>
+ * </ul>
+ */
+ public void _dispatch() {
+ requiredMethod("addStatusListener()") ;
+
+ boolean result = true ;
+
+ oObj.dispatch(url, new PropertyValue[0]) ;
+
+ waitForEventIdle();
+
+ log.println("Listener called: "+ listener.statusChangedCalled);
+
+ result = listener.statusChangedCalled;
+
+ if (!result) {
+ result = checkXDispatchWithNotification();
+ }
+
+ tRes.tested("dispatch()", result) ;
+ }
+
+ /**
+ * Adds two listeners. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _addStatusListener() {
+
+ boolean result = true ;
+ oObj.addStatusListener(listener, url) ;
+
+ tRes.tested("addStatusListener()", result) ;
+ }
+
+ /**
+ * Removes the listener added before. <p>
+ * Has <b> OK </b> status if the dispatch call doesn't call the listener.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> dispatch() </code> : to have a listener to remove
+ * </li>
+ * </ul>
+ */
+ public void _removeStatusListener() {
+ requiredMethod("dispatch()") ;
+ listener.statusChangedCalled = false;
+ boolean result = true ;
+ oObj.removeStatusListener(listener, url) ;
+
+ oObj.dispatch(url, new PropertyValue[0]) ;
+
+ waitForEventIdle();
+
+ System.out.println("Listener called: "+ listener.statusChangedCalled);
+
+ result = ! listener.statusChangedCalled;
+
+ tRes.tested("removeStatusListener()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XDispatchProvider.java b/qadevOOo/tests/java/ifc/frame/_XDispatchProvider.java
new file mode 100644
index 000000000..3cc7c1718
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDispatchProvider.java
@@ -0,0 +1,155 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.frame.DispatchDescriptor;
+import com.sun.star.frame.FrameSearchFlag;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+/**
+* Testing <code>com.sun.star.frame.XDispatchProvider</code>
+* interface methods:
+* <ul>
+* <li><code> queryDispatch() </code></li>
+* <li><code> queryDispatches() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDispatchProvider.URL'</code> (of type <code>String</code>):
+* used to obtain unparsed url of DispatchProvider </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XDispatchProvider
+*/
+public class _XDispatchProvider extends MultiMethodTest {
+ public static XDispatchProvider oObj = null;
+ private String dispatchUrl = null ;
+
+ /**
+ * Retrieves object relation.
+ */
+ @Override
+ public void before() {
+ dispatchUrl = (String) tEnv.getObjRelation("XDispatchProvider.URL") ;
+ if (dispatchUrl == null) {
+ dispatchUrl = utils.getFullTestDocName("index.html");
+ }
+ log.println("Using URL: '" + dispatchUrl + "'");
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _queryDispatch() {
+ URL url = new URL();
+ String frameName = "_top";
+
+ url.Complete = dispatchUrl;
+ try {
+ XURLTransformer xParser=UnoRuntime.queryInterface(XURLTransformer.class,
+ tParam.getMSF().createInstance
+ ("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of
+ // URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = dispatchUrl;
+ xParser.parseStrict(aParseURL);
+ url = aParseURL[0];
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't parse URL");
+ }
+ XDispatch xDispatch = oObj.queryDispatch(url,
+ frameName, FrameSearchFlag.ALL);
+ tRes.tested("queryDispatch()", xDispatch != null);
+ }
+
+ /**
+ * Before test calls the method, DispatchDescriptor sequence is defined.<p>
+ * Has <b> OK </b> status if the method does not return null, returned
+ * sequence length is equal to a number of DispatchDescriptors
+ * and returned sequence consists of non-null elements.
+ */
+ public void _queryDispatches() {
+ String name1 = "_self";
+ String name2 = "_top";
+ URL url1 = new URL();
+ URL url2 = new URL();
+
+ url1.Complete = dispatchUrl;
+ url2.Complete = dispatchUrl;
+ try {
+ log.println("Parsing URL");
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ tParam.getMSF().createInstance
+ ("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of
+ // URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = dispatchUrl;
+ xParser.parseStrict(aParseURL);
+ url1 = aParseURL[0];
+ url2 = aParseURL[0];
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't parse URL");
+ }
+ DispatchDescriptor descs[] = new DispatchDescriptor[] {
+ new DispatchDescriptor(url1, name1, FrameSearchFlag.ALL),
+ new DispatchDescriptor(url2, name2, FrameSearchFlag.ALL)
+ };
+ XDispatch[] xDispatches = oObj.queryDispatches(descs);
+
+ if (xDispatches == null) {
+ log.println("queryDispatches() returned null");
+ tRes.tested("queryDispatches()", false);
+ return;
+ }
+
+ if (xDispatches.length != descs.length) {
+ log.println("queryDispatches() returned "
+ + xDispatches.length
+ + " amount of XDispatch instead of "
+ + descs.length);
+ tRes.tested("queryDispatches()", false);
+ return;
+ }
+
+ for (int i = 0; i < xDispatches.length; i++) {
+ if (xDispatches[i] == null) {
+ log.println("queryDispatches() result contains"
+ + " null object");
+ tRes.tested("queryDispatches()", false);
+ return;
+ }
+ }
+
+ tRes.tested("queryDispatches()", true);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XDispatchProviderInterception.java b/qadevOOo/tests/java/ifc/frame/_XDispatchProviderInterception.java
new file mode 100644
index 000000000..ada2a936c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDispatchProviderInterception.java
@@ -0,0 +1,134 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.frame.DispatchDescriptor;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XDispatchProviderInterception;
+import com.sun.star.frame.XDispatchProviderInterceptor;
+import com.sun.star.util.URL;
+
+/**
+* Testing <code>com.sun.star.frame.XDispatchProviderInterception</code>
+* interface methods :
+* <ul>
+* <li><code> registerDispatchProviderInterceptor()</code></li>
+* <li><code> releaseDispatchProviderInterceptor()</code></li>
+* </ul> <p>
+* @see com.sun.star.frame.XDispatchProviderInterception
+*/
+public class _XDispatchProviderInterception extends MultiMethodTest {
+
+ public XDispatchProviderInterception oObj = null;
+
+ /**
+ * Implementation of <code>XDispatchProviderInterceptor</code> interface
+ * which writes info about method calls to log, stores master and
+ * slave interceptors, and redirect all dispatch queries to the master
+ * provider.
+ */
+ public static class TestInterceptor implements XDispatchProviderInterceptor {
+ private final PrintWriter log;
+ public XDispatchProvider master = null, slave = null ;
+
+ public TestInterceptor(PrintWriter log) {
+ this.log = log ;
+ }
+
+ public XDispatchProvider getSlaveDispatchProvider() {
+ log.println("getSlaveDispatchProvider() called.") ;
+ return slave;
+ }
+ public XDispatchProvider getMasterDispatchProvider() {
+ log.println("getMasterDispatchProvider() called.") ;
+ return master;
+ }
+ public void setSlaveDispatchProvider(XDispatchProvider prov) {
+ log.println("setSlaveDispatchProvider(" + prov + ") called.") ;
+ slave = prov ;
+ }
+ public void setMasterDispatchProvider(XDispatchProvider prov) {
+ log.println("setMasterDispatchProvider(" + prov + ") called.") ;
+ master = prov ;
+ }
+
+ public XDispatch queryDispatch(URL url, String frame, int flags) {
+ log.println("my queryDispatch('" + url.Complete + "', '" +
+ frame + "', " + flags + ") called.") ;
+ return slave.queryDispatch(url, frame, flags) ;
+ }
+ public XDispatch[] queryDispatches(DispatchDescriptor[] desc) {
+ log.println("my queryDispatches() called.") ;
+ return slave.queryDispatches(desc) ;
+ }
+ }
+
+
+ TestInterceptor interceptor = null ;
+ /**
+ * Creates new interceptor implementation.
+ */
+ @Override
+ public void before() {
+ interceptor = new TestInterceptor(log) ;
+ }
+
+ /**
+ * Registers new interceptor implementation. <p>
+ * Has <b> OK </b> status if during registering interceptor's
+ * <code>setMasterDispatchProvider</code> method with non null
+ * parameter was called. <p>
+ */
+ public void _registerDispatchProviderInterceptor() {
+
+ boolean result = true ;
+ oObj.registerDispatchProviderInterceptor(interceptor) ;
+
+ result = interceptor.master != null ;
+
+ tRes.tested("registerDispatchProviderInterceptor()", result) ;
+ }
+
+ /**
+ * Releases interceptor. <p>
+ * Has <b> OK </b> status if during method call interceptor's
+ * <code>setMasterDispatchProvider</code> method with <code>null</code>
+ * parameter was called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerDispatchProviderInterceptor </code> </li>
+ * </ul>
+ */
+ public void _releaseDispatchProviderInterceptor() {
+ requiredMethod("registerDispatchProviderInterceptor()") ;
+
+ boolean result = true ;
+ oObj.releaseDispatchProviderInterceptor(interceptor) ;
+
+ result = interceptor.master == null ;
+
+ tRes.tested("releaseDispatchProviderInterceptor()", result) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XDispatchRecorder.java b/qadevOOo/tests/java/ifc/frame/_XDispatchRecorder.java
new file mode 100644
index 000000000..b48d11ff8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDispatchRecorder.java
@@ -0,0 +1,208 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XDispatchRecorder;
+import com.sun.star.frame.XFrame;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+
+/**
+* Testing <code>com.sun.star.frame.XDispatchRecorder</code>
+* interface methods:
+* <ul>
+* <li><code> startRecording() </code></li>
+* <li><code> recordDispatch() </code></li>
+* <li><code> recordDispatchAsComment() </code></li>
+* <li><code> endRecording() </code></li>
+* <li><code> getRecordedMacro() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XDispatchRecorder
+*/
+public class _XDispatchRecorder extends MultiMethodTest {
+ public static XDispatchRecorder oObj = null;
+
+ XFrame xFrame = null;
+ URL dispURL = null;
+ PropertyValue[] dispArgs = new PropertyValue[0];
+
+ @Override
+ protected void before() {
+ xFrame = (XFrame) tEnv.getObjRelation("XDispatchRecorder.Frame");
+
+ if (xFrame == null) {
+ throw new StatusException(Status.failed("Relation not found"));
+ }
+ }
+
+ public void _startRecording() {
+
+ oObj.startRecording(xFrame);
+ oObj.endRecording();
+ tRes.tested("startRecording()", true);
+ }
+
+ public void _getRecordedMacro() throws Exception {
+
+ clearBuffer();
+
+ oObj.startRecording(xFrame);
+
+ log.println("dispatch calls via API must be recorded");
+ dispURL = utils.parseURL(tParam.getMSF(), ".uno:InsertText");
+
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "Text";
+ prop.Value = "XDispatchRecorder.endRecording()";
+ dispArgs = new PropertyValue[] {prop};
+
+ log.println("Dispatching event for frame ...");
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xFrame);
+ XDispatch xDisp = xDispProv.queryDispatch(dispURL, "", 0);
+ xDisp.dispatch(dispURL, dispArgs);
+
+ waitForEventIdle();
+
+ log.println("Getting macro ... :");
+ String macro = oObj.getRecordedMacro();
+ log.println(macro);
+
+ log.println("Ending record ...");
+ oObj.endRecording();
+
+ boolean res = macro != null
+ && macro.indexOf(dispURL.Complete) > -1;
+ if (!res) log.println("Dispatch URL '" + dispURL.Complete
+ + "' was NOT found in macro - FAILED");
+
+ tRes.tested("getRecordedMacro()", res);
+ }
+
+ public void _endRecording() {
+
+ oObj.startRecording(xFrame);
+ oObj.endRecording();
+ String macro = oObj.getRecordedMacro();
+ boolean res = true;
+ if (macro.length() != 0){
+ log.println("'endRecording()' was called but macro buffer is not cleared: FALSE");
+ log.println(macro);
+ res = false;
+ }
+
+ tRes.tested("endRecording()", res);
+ }
+
+ public void _recordDispatch() {
+ clearBuffer();
+
+ oObj.startRecording(xFrame);
+
+ // positive test
+ dispURL = utils.parseURL(tParam.getMSF(), ".uno:InsertText");
+
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "Text";
+ prop.Value = "XDispatchRecorder.recordDispatch()";
+ dispArgs = new PropertyValue[] {prop};
+
+ log.println("Recording dispatch ...");
+ oObj.recordDispatch(dispURL, dispArgs);
+
+ log.println("Getting macro ... :");
+ String macro = oObj.getRecordedMacro();
+ log.println(macro);
+
+ oObj.endRecording();
+
+ boolean res = macro != null
+ && macro.indexOf(dispURL.Complete) > -1
+ && macro.indexOf((String)dispArgs[0].Value) > -1;
+ if (!res) log.println("Dispatch URL '" + dispURL.Complete
+ + "' or its argument '" + dispArgs[0].Value
+ + "' was not found in macro returned - FAILED");
+
+ tRes.tested("recordDispatch()", res);
+ }
+
+ public void _recordDispatchAsComment() {
+ clearBuffer();
+
+ oObj.startRecording(xFrame);
+
+ dispURL = utils.parseURL(tParam.getMSF(), ".uno:InsertText");
+
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "Text";
+ prop.Value = "XDispatchRecorder.recordDispatchAsComment()";
+ dispArgs = new PropertyValue[] {prop};
+
+ log.println("Recording dispatch ...");
+ oObj.recordDispatchAsComment(dispURL, dispArgs);
+
+ log.println("Getting macro ... :");
+ String macro = oObj.getRecordedMacro();
+ log.println(macro);
+
+ oObj.endRecording();
+
+ boolean res = macro != null
+ && macro.indexOf(dispURL.Complete) > -1
+ && macro.indexOf((String)dispArgs[0].Value) > -1;
+ if (!res) log.println("Dispatch URL '" + dispURL.Complete
+ + "' or its argument '" + dispArgs[0].Value
+ + "' was not found in macro returned - FAILED");
+
+ log.println("Checking if macro is commented ...");
+ int idx = macro.indexOf((String)dispArgs[0].Value);
+ int lineStartIdx = macro.lastIndexOf("\n", idx);
+ String lineStart = macro.substring(lineStartIdx + 1, idx).toLowerCase();
+ log.println("Line start is '" + lineStart + "'");
+
+ if (lineStart.startsWith("'") || lineStart.startsWith("rem")) {
+ log.println("Line is commented : OK");
+ } else {
+ log.println("Line is not commented : FAILED");
+ res =false;
+ }
+
+ tRes.tested("recordDispatchAsComment()", res);
+ }
+
+
+ private void clearBuffer() {
+ oObj.startRecording(xFrame);
+ oObj.endRecording();
+ String macro = oObj.getRecordedMacro();
+ if (macro.length() != 0){
+ log.println("ERROR: 'endRecording()' was called but macro buffer is not cleared!");
+ log.println(macro);
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XDispatchRecorderSupplier.java b/qadevOOo/tests/java/ifc/frame/_XDispatchRecorderSupplier.java
new file mode 100644
index 000000000..00e8f6ba4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDispatchRecorderSupplier.java
@@ -0,0 +1,224 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XDispatchRecorder;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XDispatchRecorderSupplier;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+import lib.MultiMethodTest;
+import lib.StatusException;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.frame.XDispatchRecorderSupplier</code>
+* interface methods:
+* <ul>
+* <li><code> setDispatchRecorder() </code></li>
+* <li><code> getDispatchRecorder() </code></li>
+* <li><code> dispatchAndRecord() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XDispatchRecorderSupplier
+*/
+public class _XDispatchRecorderSupplier extends MultiMethodTest {
+ public static XDispatchRecorderSupplier oObj = null;
+
+ XComponent xTextDoc = null;
+ XDispatchRecorder recorder = null;
+
+ /**
+ * Simple <code>XDispatchRecorder</code> implementation
+ * which method <code>getRecordedMacro</code> returns a fixed
+ * string.
+ */
+ private static class MyRecorder implements XDispatchRecorder {
+ public void startRecording(XFrame p0) {}
+ public void recordDispatch(URL p0, PropertyValue[] p1) {}
+ public void recordDispatchAsComment(URL p0, PropertyValue[] p1) {}
+ public void endRecording(){}
+ public String getRecordedMacro() {
+ return "MyRecorder implementation";
+ }
+ }
+
+ /**
+ * Creates a new document which supplies a frame.
+ * Also a <code>com.sun.star.frame.Desktop</code>
+ * service created for obtaining document's frame.
+ */
+ @Override
+ protected void before() throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+
+ Object inst = tParam.getMSF().createInstance
+ ("com.sun.star.frame.Desktop");
+ UnoRuntime.queryInterface(XDesktop.class, inst);
+ }
+
+ /**
+ * Creates an instance of <code>MyRecorder</code> and set if,
+ * then get the current recorder. Second case is setting
+ * recorder to null. Finally restores the old macro recorder. <p>
+ *
+ * Has <b>OK</b> status if in the first case custom recorder
+ * was successfully returned, and in second case current
+ * recorder is null.
+ */
+ public void _setDispatchRecorder() {
+ requiredMethod("getDispatchRecorder()");
+
+ boolean res = true,
+ locRes = true;
+ log.print("Setting custom macro recorder ...");
+ oObj.setDispatchRecorder(new MyRecorder());
+ XDispatchRecorder rec = oObj.getDispatchRecorder();
+
+ locRes = rec != null &&
+ "MyRecorder implementation".equals(rec.getRecordedMacro());
+ if (locRes) log.println("OK");
+ else log.println("FAILED");
+ res &= locRes;
+
+ log.print("Setting null dispatch recorder ...");
+ oObj.setDispatchRecorder(null);
+ locRes = oObj.getDispatchRecorder() == null;
+ if (locRes) log.println("OK");
+ else log.println("FAILED");
+ res &= locRes;
+
+ log.println("Setting old macro recorder ...");
+ oObj.setDispatchRecorder(recorder);
+
+ tRes.tested("setDispatchRecorder()", res);
+ }
+
+ /**
+ * Just gets the current recorder and stores it.
+ *
+ * Has <b>OK</b> status.
+ */
+ public void _getDispatchRecorder() {
+ recorder = oObj.getDispatchRecorder();
+ tRes.tested("getDispatchRecorder()", true);
+ }
+
+ /**
+ * First sets the current dispatch recorder to new
+ * <code>DispatchRecorder</code> instance if the current one
+ * is null. The a <code>Dispatch</code> instance is created
+ * which inserts some text into text document.
+ * A number of cases is checked :
+ * <ul>
+ * <li> A valid call : here the recorded macro must contain
+ * inserted string and URL </li>
+ * <li> Call with invalid URL : the macro recorded must not
+ * contain this URL </li>
+ * <li> Call with null dispatcher : checking for GPF </li>
+ * <li> Call with the current recorder set to null :
+ * checking for GPF </li>
+ * </ul>
+ *
+ * Has <b>OK</b> status if all cases are OK.
+ */
+ public void _dispatchAndRecord() throws Exception {
+ requiredMethod("getDispatchRecorder()");
+
+ boolean res = true;
+ if (recorder == null) {
+ try {
+ Object inst = tParam.getMSF().createInstance
+ ("com.sun.star.comp.framework.DispatchRecorder");
+ recorder = UnoRuntime.queryInterface
+ (XDispatchRecorder.class, inst);
+ oObj.setDispatchRecorder(recorder);
+ } catch (com.sun.star.uno.Exception e) {
+ throw new StatusException("Couldn't create recorder", e);
+ }
+ }
+
+ waitForEventIdle();
+
+ XModel model = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+ XFrame fr = model.getCurrentController().getFrame();
+
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, fr);
+
+ URL dispURL = utils.parseURL(tParam.getMSF(), ".uno:InsertText");
+
+ XDispatch xDisp = xDispProv.queryDispatch(dispURL,"",0);
+
+ PropertyValue[] args = new PropertyValue[1];
+ args[0] = new PropertyValue();
+ args[0].Name = "Text";
+ args[0].Value = "XDispatchRecorderSupplier";
+
+ log.print("Dispatching and recording ...");
+ oObj.dispatchAndRecord(dispURL, args, xDisp);
+
+ String macro = recorder.getRecordedMacro();
+ boolean locRes = macro != null &&
+ macro.indexOf("XDispatchRecorderSupplier")>-1 &&
+ macro.indexOf(".uno:InsertText")>-1;
+ if (locRes) log.println("OK");
+ else log.println("FAILED");
+ res &= locRes;
+ log.println("Recorder macro :\n" + macro);
+
+ log.print("Trying to set dispatch with null Dispatcher ...");
+ try {
+ oObj.dispatchAndRecord(dispURL, args, null);
+ log.println("OK");
+ } catch (java.lang.Exception e){
+ log.println("Exception is OK: " + e);
+ }
+
+ log.print("Trying to set dispatch recorder to null and record ...");
+ oObj.setDispatchRecorder(null);
+ try {
+ oObj.dispatchAndRecord(dispURL, args, xDisp);
+ log.println("OK");
+ } catch (java.lang.Exception e){
+ log.println("Exception is OK: " + e);
+ }
+
+ oObj.setDispatchRecorder(recorder);
+
+ tRes.tested("dispatchAndRecord()", res);
+ }
+
+ /**
+ * Disposes the document created in <code>before()</code>
+ */
+ @Override
+ protected void after() {
+ xTextDoc.dispose();
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/frame/_XDocumentTemplates.java b/qadevOOo/tests/java/ifc/frame/_XDocumentTemplates.java
new file mode 100644
index 000000000..0a7f7f8bb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XDocumentTemplates.java
@@ -0,0 +1,267 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.beans.Property;
+import com.sun.star.frame.XDocumentTemplates;
+import com.sun.star.frame.XStorable;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentAccess;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+/**
+* Testing <code>com.sun.star.frame.XDesktop</code>
+* interface methods:
+* <ul>
+* <li><code> getContent() </code></li>
+* <li><code> storeTemplate() </code></li>
+* <li><code> addTemplate() </code></li>
+* <li><code> removeTemplate() </code></li>
+* <li><code> renameTemplate() </code></li>
+* <li><code> addGroup() </code></li>
+* <li><code> removeGroup() </code></li>
+* <li><code> renameGroup() </code></li>
+* <li><code> update() </code></li>
+* </ul><p>
+*/
+public class _XDocumentTemplates extends MultiMethodTest {
+ public XDocumentTemplates oObj = null; // oObj filled by MultiMethodTest
+ protected XContent content = null;
+ /**
+ * Test calls the method and prints contents list to log.<p>
+ * Has <b> OK </b> status if the XContent isn't empty.
+ */
+ public void _getContent() {
+ content = oObj.getContent();
+ log.println("Content list:" + getContentList(content));
+ tRes.tested("getContent()", content != null);
+ }
+
+ /**
+ * Test calls the method and checks that new group was added. <p>
+ * Has <b> OK </b> status if method returns true and new group was added.
+ */
+ public void _addGroup() {
+ requiredMethod("getContent()");
+ if (getSubContent(content, "XDocumentTemplatesTemp") != null ) {
+ oObj.removeGroup("XDocumentTemplatesTemp");
+ }
+ if (getSubContent(content, "XDocumentTemplates") != null ) {
+ oObj.removeGroup("XDocumentTemplates");
+ }
+ boolean res = oObj.addGroup("XDocumentTemplatesTemp");
+ log.println("Method returned: " + res);
+ res &= getSubContent(content, "XDocumentTemplatesTemp") != null;
+ tRes.tested("addGroup()", res);
+ }
+
+ XContent groupContent = null;
+ /**
+ * Test calls the method and checks that content has no group with old name
+ * and that content has group with new name. <p>
+ * Has <b> OK </b> status if method returns true, content has no group with
+ * old name and content has group with new name.<p>
+ */
+ public void _renameGroup() {
+ requiredMethod("addGroup()");
+ boolean res = oObj.renameGroup("XDocumentTemplatesTemp",
+ "XDocumentTemplates");
+ log.println("Method returned: " + res);
+ groupContent = getSubContent(content, "XDocumentTemplates");
+ res &= getSubContent(content, "XDocumentTemplatesTemp") == null;
+ res &= groupContent != null;
+ tRes.tested("renameGroup()", res);
+ }
+
+ /**
+ * Test calls the method and checks that group content has new template. <p>
+ * Has <b> OK </b> status if method returns true and group content has new
+ * template.<p>
+ */
+ public void _addTemplate() {
+ requiredMethod("renameGroup()");
+ String testDoc = utils.getFullTestURL("report.stw");
+ log.println("Adding template from " + testDoc);
+ boolean res = oObj.addTemplate("XDocumentTemplates",
+ "ANewTemplateTemp",testDoc);
+ log.println("Method returned: " + res);
+ res &= getSubContent(groupContent, "ANewTemplateTemp") != null;
+ tRes.tested("addTemplate()", res);
+ }
+
+ /**
+ * Test calls the method and checks that group content has no template with
+ * old name and that group content has template with new name. <p>
+ * Has <b> OK </b> status if method returns true, group content has no
+ * template with old name and group content has template with new name.<p>
+ */
+ public void _renameTemplate() {
+ requiredMethod("addTemplate()");
+ boolean res = oObj.renameTemplate("XDocumentTemplates",
+ "ANewTemplateTemp",
+ "ANewTemplate");
+ log.println("Method returned: " + res);
+ res &= getSubContent(groupContent, "ANewTemplateTemp") == null;
+ res &= getSubContent(groupContent, "ANewTemplate") != null;
+
+ tRes.tested("renameTemplate()", res);
+ }
+
+ /**
+ * Test calls the method and checks that group content has new template. <p>
+ * Has <b> OK </b> status if method returns true and new template was created.<p>
+ */
+ public void _storeTemplate() {
+ requiredMethod("renameGroup()");
+ XStorable store = (XStorable) tEnv.getObjRelation("Store");
+ boolean res = oObj.storeTemplate("XDocumentTemplates",
+ "NewStoreTemplate",
+ store);
+ log.println("Method returned: " + res);
+ res &= getSubContent(groupContent, "NewStoreTemplate") != null;
+ tRes.tested("storeTemplate()", res);
+ }
+
+ /**
+ * Test calls the method and checks that group content has no deleted template. <p>
+ * Has <b> OK </b> status if method returns true and group content has no
+ * deleted template.<p>
+ */
+ public void _removeTemplate() {
+ requiredMethod("renameTemplate()");
+ boolean res = oObj.removeTemplate("XDocumentTemplates", "ANewTemplate");
+ log.println("Method returned: " + res);
+ res &= getSubContent(groupContent, "ANewTemplate") == null;
+ tRes.tested("removeTemplate()", res);
+ }
+
+ /**
+ * Test calls the method and checks that content has no deleted group. <p>
+ * Has <b> OK </b> status if method returns true and content has no deleted
+ * group.<p>
+ */
+ public void _removeGroup() {
+ requiredMethod("renameGroup()");
+ executeMethod("renameTemplate()");
+ boolean res = oObj.removeGroup("XDocumentTemplates");
+ log.println("Method returned: " + res);
+ res &= getSubContent(content, "XDocumentTemplates") == null;
+ tRes.tested("removeGroup()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if no exception occurs.<p>
+ */
+ public void _update() {
+ oObj.update();
+ tRes.tested("update()",true);
+ }
+
+ /**
+ * Returns the string representation of content passed as parameter.
+ */
+ protected String getContentList(XContent content) {
+ StringBuilder ret = new StringBuilder();
+ XResultSet statRes = getStatResultSet(content);
+ if (statRes != null) {
+ try {
+ statRes.first();
+ XRow row = UnoRuntime.queryInterface(XRow.class, statRes);
+ while(! statRes.isAfterLast()) {
+ ret.append("\n ").append(row.getString(1));
+ statRes.next();
+ }
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Exception occurred:" + e);
+ }
+ }
+ return ret.toString();
+ }
+
+ protected XResultSet getStatResultSet(XContent content) {
+ XResultSet statResSet = null;
+ try {
+ statResSet = getDynaResultSet(content).getStaticResultSet();
+ } catch(com.sun.star.ucb.ListenerAlreadySetException e) {
+ log.println("Exception occurred:" + e);
+ }
+ return statResSet;
+ }
+
+ protected XDynamicResultSet getDynaResultSet(XContent content) {
+ Command command = new Command();
+ OpenCommandArgument2 comArg = new OpenCommandArgument2();
+ Property[] comProps = new Property[1];
+ comArg.Mode = com.sun.star.ucb.OpenMode.ALL;
+ comProps[0] = new Property();
+ comProps[0].Name = "Title";
+ comArg.Properties = comProps;
+
+ command.Name = "open";
+ command.Handle = -1;
+ command.Argument = comArg;
+
+ XCommandProcessor comProc = UnoRuntime.queryInterface(XCommandProcessor.class, content);
+
+ XDynamicResultSet DynResSet = null;
+ try {
+ DynResSet = (XDynamicResultSet) AnyConverter.toObject(
+ new Type(XDynamicResultSet.class),comProc.execute(command, 0, null));
+ } catch(com.sun.star.ucb.CommandAbortedException e) {
+ log.println("Couldn't execute command:" + e);
+ } catch(com.sun.star.uno.Exception e) {
+ log.println("Couldn't execute command:" + e);
+ }
+
+ return DynResSet;
+ }
+
+ protected XContent getSubContent(XContent content, String subName) {
+ XResultSet statRes = getStatResultSet(content);
+ XRow row = UnoRuntime.queryInterface(XRow.class, statRes);
+ XContentAccess contAcc = UnoRuntime.queryInterface(XContentAccess.class, statRes);
+ XContent subContent = null;
+ if (statRes != null) {
+ try {
+ statRes.first();
+ while(!statRes.isAfterLast()) {
+ if ( subName.equals(row.getString(1)) ) {
+ subContent = contAcc.queryContent();
+ }
+ statRes.next();
+ }
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Exception occurred:" + e);
+ }
+ }
+ return subContent;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XFrame.java b/qadevOOo/tests/java/ifc/frame/_XFrame.java
new file mode 100644
index 000000000..9536cdb2b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XFrame.java
@@ -0,0 +1,571 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.FrameAction;
+import com.sun.star.frame.FrameActionEvent;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XFrameActionListener;
+import com.sun.star.frame.XFramesSupplier;
+import com.sun.star.lang.EventObject;
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+import lib.TestEnvironment;
+
+/**
+* Testing <code>com.sun.star.frame.XFrame</code>
+* interface methods:
+* <ul>
+* <li><code> getName() </code></li>
+* <li><code> setName() </code></li>
+* <li><code> activate() </code></li>
+* <li><code> deactivate() </code></li>
+* <li><code> isActive() </code></li>
+* <li><code> addFrameActionListener() </code></li>
+* <li><code> removeFrameActionListener() </code></li>
+* <li><code> getCreator() </code></li>
+* <li><code> getComponentWindow() </code></li>
+* <li><code> getContainerWindow() </code></li>
+* <li><code> getController() </code></li>
+* <li><code> isTop() </code></li>
+* <li><code> findFrame() </code></li>
+* <li><code> contextChanged() </code></li>
+* <li><code> setCreator() </code></li>
+* <li><code> setComponent() </code></li>
+* <li><code> initialize() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XFrame'</code> (of type <code>XFrame</code>)
+* <b>optional</b>: any frame named 'XFrame'.
+* Could be used by <code>findFrame</code> method to try
+* to find other frame than itself.</li>
+*
+* <li> <code>'Desktop'</code> (of type <code>Object</code>):
+* if exists, then desktop component is tested</li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XFrame
+*/
+public class _XFrame extends MultiMethodTest {
+ final FrameAction[] actionEvent = new FrameAction[1] ;
+ final boolean[] listenerCalled = new boolean[] {false} ;
+ final boolean[] activatedCalled = new boolean[] {false} ;
+ final boolean[] deactivatedCalled = new boolean[] {false} ;
+ final TestFrameActionListener listener =
+ new TestFrameActionListener() ;
+ public static XFrame oObj = null;
+
+ /**
+ * Class used to test listeners.
+ */
+ private class TestFrameActionListener
+ implements XFrameActionListener {
+
+ public void frameAction(FrameActionEvent e) {
+ listenerCalled[0] = true ;
+ activatedCalled[0] |= e.Action == FrameAction.FRAME_ACTIVATED;
+ deactivatedCalled[0] |= e.Action == FrameAction.FRAME_DEACTIVATING;
+ actionEvent[0] = e.Action;
+ }
+
+ public void disposing(EventObject e) {}
+
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getName() {
+ String name = oObj.getName() ;
+ if (name == null)
+ log.println("getName() returned null: FAILED") ;
+
+ tRes.tested("getName()", name!=null) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if set and gotten names are equal.
+ */
+ public void _setName() {
+ String sName = "XFrame" ;
+
+ oObj.setName(sName);
+ String gName = oObj.getName();
+ boolean res = sName.equals(gName);
+ if (! res)
+ log.println("setName('" + sName +
+ "'), but getName() return '" + gName + "'") ;
+ tRes.tested("setName()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _activate() {
+ oObj.activate() ;
+ tRes.tested("activate()", true) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _deactivate() {
+ oObj.deactivate() ;
+ oObj.activate() ;
+ tRes.tested("deactivate()", true) ;
+ }
+
+ /**
+ * Test calls the method. Then frame is deactivated and method called
+ * again. <p>
+ * Has <b> OK </b> status if isDesktop() returns true or if the method
+ * always display real status of a frame during activation/deactivation.
+ */
+ public void _isActive() {
+ boolean result = true;
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop is always active");
+ tRes.tested("isActive()", oObj.isActive()) ;
+ return;
+ }
+
+ oObj.deactivate();
+ result &= !oObj.isActive();
+ if (oObj.isActive())
+ log.println("after deactivate() method call, isActive() returned true");
+ oObj.activate();
+ result &= oObj.isActive();
+ if (!oObj.isActive())
+ log.println("after activate() method call, isActive() returned false") ;
+ boolean res = isDesktop(log,tEnv,"isActive()");
+ if (res) result=res;
+
+ tRes.tested("isActive()", result) ;
+ }
+
+ /**
+ * Test calls the method. Then frame status (activated/deactivated) is
+ * changed, and the listener is checked.<p>
+ * Has <b> OK </b> status if isDesktop() method returns true, or if the
+ * listener was called and frame was activated.
+ */
+ public void _addFrameActionListener() throws Exception {
+ boolean result = true ;
+
+ oObj.addFrameActionListener(listener) ;
+ oObj.activate() ;
+ oObj.deactivate() ;
+ oObj.activate() ;
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("No actions supported by Desktop");
+ tRes.tested("addFrameActionListener()", true) ;
+ return;
+ }
+
+ waitForEventIdle();
+
+ if (!listenerCalled[0]) {
+ log.println("listener was not called.") ;
+ result = false ;
+ } else {
+ if (!activatedCalled[0]) {
+ log.println("Listener was called, FRAME_ACTIVATED was not") ;
+ result = false ;
+ }
+ if (!deactivatedCalled[0]) {
+ log.println("Listener was called, FRAME_DEACTIVATING was not") ;
+ result = false ;
+ }
+ }
+
+ boolean res = isDesktop(log, tEnv, "addFrameActionListener()");
+ if (res) result=res;
+
+ tRes.tested("addFrameActionListener()", result) ;
+ }
+
+ /**
+ * Test calls the method. Then frame status (activated/deactivated) is
+ * changed, and the listener is checked.<p>
+ * Has <b> OK </b> status if isDesktop() method returns true, or if the
+ * method actually removes listener so it does not react on
+ * activate/deactivate events. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addFrameActionListener() </code>: adds action listener
+ * to a frame </li>
+ * </ul>
+ */
+ public void _removeFrameActionListener() {
+ boolean result = true;
+
+ requiredMethod("addFrameActionListener()");
+ listenerCalled[0] = false;
+ oObj.removeFrameActionListener(listener);
+ oObj.activate();
+ oObj.deactivate();
+ oObj.activate();
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("No actions supported by Desktop");
+ tRes.tested("removeFrameActionListener()", true) ;
+ return;
+ }
+
+ if (listenerCalled[0])
+ log.println("Listener wasn't removed, and was called");
+ boolean res = isDesktop(log, tEnv, "removeFrameActionListener()");
+ if (res) result=res; else result = (!listenerCalled[0]);
+
+ tRes.tested("removeFrameActionListener()", result);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if isDesktop() method returns true or if the method
+ * does not return null.
+ */
+ public void _getCreator() {
+ boolean result = true;
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop has no creator");
+ tRes.tested("getCreator()", true) ;
+ return;
+ }
+
+ XFramesSupplier creator = oObj.getCreator() ;
+ if (creator == null)
+ log.println("getCreator() returns null") ;
+ boolean res = isDesktop(log,tEnv,"getCreator()");
+ if (res) result=res; else result = (creator != null);
+ tRes.tested("getCreator()", result) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if isDesktop() method returns true or if the method
+ * does not return null.
+ */
+ public void _getComponentWindow() {
+ boolean result = true;
+
+ XWindow win = oObj.getComponentWindow() ;
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop has no component window");
+ tRes.tested("getComponentWindow()", true) ;
+ return;
+ }
+
+ if (win == null)
+ log.println("getComponentWindow() returns null") ;
+ boolean res = isDesktop(log,tEnv,"getComponentWindow()");
+ if (res) result=res; else result = (win != null);
+ tRes.tested("getComponentWindow()", result) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if isDesktop() method returns true or if the method
+ * does not return null.
+ */
+ public void _getContainerWindow() {
+ boolean result = true;
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop has no container window");
+ tRes.tested("getContainerWindow()", true) ;
+ return;
+ }
+
+ XWindow win = oObj.getContainerWindow() ;
+ if (win == null)
+ log.println("getContainerWindow() returns null") ;
+ boolean res = isDesktop(log,tEnv,"getContainerWindow()");
+ if (res) result=res; else result = (win != null);
+ tRes.tested("getContainerWindow()", result) ;
+ }
+
+ /**
+ * Test calls the method. Then returned controller is checked. <p>
+ * Has <b> OK </b> status if isDesktop() method returns true or
+ * if the method returns non-null controller, having frame that's equal to
+ * a (XFrame) oObj.
+ */
+ public void _getController() {
+ boolean result = true;
+ XController ctrl = oObj.getController();
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop has no controller");
+ tRes.tested("getController()", true) ;
+ return;
+ }
+
+ if (ctrl == null) {
+ log.println("getController() returns null");
+ result = false;
+ } else {
+ XFrame frm = ctrl.getFrame();
+ if (!oObj.equals(frm)) {
+ log.println("Frame returned by controller not " +
+ "equals to frame testing");
+ result = false;
+ }
+ }
+ boolean res = isDesktop(log, tEnv, "getController()");
+ if (res) result=res;
+ tRes.tested("getController()", result) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _isTop() {
+ log.println("isTop() = " + oObj.isTop());
+ tRes.tested("isTop()", true) ;
+ }
+
+ /**
+ * After obtaining an object relation 'XFrame', test tries to find a frame
+ * named 'XFrame'. <p>
+ * Has <b> OK </b> status if the method returns non-null object that's equal
+ * to previously obtained object relation.
+ */
+ public void _findFrame() {
+ boolean result = true ;
+
+ XFrame aFrame = (XFrame) tEnv.getObjRelation("XFrame");
+
+ if (aFrame != null) {
+ log.println("Trying to find a frame with name 'XFrame' ...");
+ XFrame frame = oObj.findFrame("XFrame",
+ com.sun.star.frame.FrameSearchFlag.GLOBAL) ;
+ if (frame == null) {
+ log.println("findFrame(\"XFrame,com.sun.star.frame.FrameSearchFlag.GLOBAL\") returns null") ;
+ result = false ;
+ } else if ( !aFrame.equals(frame) ) {
+ log.println("findFrame(\"XFrame,com.sun.star.frame.FrameSearchFlag.GLOBAL\") "
+ + " returns frame which is not equal to passed in relation") ;
+ result = false ;
+ }
+ }
+
+ log.println("Trying to find a frame with name '_self' ...");
+ XFrame frame = oObj.findFrame("_self",
+ com.sun.star.frame.FrameSearchFlag.AUTO) ;
+ if (frame == null) {
+ log.println("findFrame(\"_self\") returns null") ;
+ result = false ;
+ } else if ( !oObj.equals(frame) ) {
+ log.println("findFrame(\"_self\") "
+ + " returns frame which is not equal to tested") ;
+ result = false ;
+ }
+
+ tRes.tested("findFrame()", result) ;
+ }
+
+ /**
+ * At first new listener is added, then test calls the method and result
+ * is checked. <p>
+ * Has <b> OK </b> status if isDesktop() method returns true or if the
+ * listener was called and proper event past to listener.
+ */
+ public void _contextChanged() {
+ boolean result = true;
+ TestFrameActionListener listener = new TestFrameActionListener();
+
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop can't change context");
+ tRes.tested("contextChanged()", true) ;
+ return;
+ }
+
+ listenerCalled[0] = false;
+ oObj.addFrameActionListener(listener);
+ try {
+ oObj.contextChanged();
+ if ( !listenerCalled[0] ) {
+ log.println("listener was not called on contextChanged() call.") ;
+ result = false;
+ } else if (actionEvent[0] != FrameAction.CONTEXT_CHANGED) {
+ log.println("listener was called, but Action != CONTEXT_CHANGED") ;
+ result = false;
+ }
+ } finally {
+ oObj.removeFrameActionListener(listener);
+ }
+
+ boolean res = isDesktop(log, tEnv, "contextChanged()");
+ if (res) result = res;
+ tRes.tested("contextChanged()", result);
+ }
+
+
+ /**
+ * Test calls the method. Remembered old creator is restored at the end. <p>
+ * Has <b> OK </b> status if the method successfully set new value to (XFrame)
+ * oObj object.
+ */
+ public void _setCreator() {
+ if (tEnv.getTestCase().getObjectName().equals("Desktop")) {
+ log.println("Desktop has no creator");
+ tRes.tested("setCreator()", true) ;
+ return;
+ }
+
+ XFramesSupplier oldCreator = oObj.getCreator() ;
+ oObj.setCreator(null) ;
+ tRes.tested("setCreator()", oObj.getCreator() == null) ;
+ oObj.setCreator(oldCreator) ;
+ }
+
+ /**
+ * Test calls the method, then result is checked.<p>
+ * Has <b> OK </b> status if method returns true, and values, set by the
+ * method are nulls, or if method returns false, and values are not changed.
+ * This method destroy the object. Therefore all other methods have to be
+ * executed before :
+ * <ul>
+ * <li> <code> getName() </code>
+ * <li> <code> setName() </code>
+ * <li> <code> activate() </code>
+ * <li> <code> deactivate() </code>
+ * <li> <code> isActive() </code>
+ * <li> <code> addFrameActionListener() </code>
+ * <li> <code> getComponentWindow() </code>
+ * <li> <code> getContainerWindow() </code>
+ * <li> <code> getController() </code>
+ * <li> <code> isTop() </code>
+ * <li> <code> findFrame() </code>
+ * <li> <code> contextChanged() </code>
+ * <li> <code> setCreator() </code>
+ * object</li>
+ * </ul>
+ */
+ public void _setComponent() {
+ // setComponent() destr
+ requiredMethod("getName()") ;
+ requiredMethod("setName()") ;
+ requiredMethod("activate()") ;
+ requiredMethod("deactivate()") ;
+ requiredMethod("isActive()") ;
+ requiredMethod("addFrameActionListener()") ;
+ requiredMethod("getComponentWindow()") ;
+ requiredMethod("getContainerWindow()") ;
+ requiredMethod("getController()") ;
+ requiredMethod("isTop()") ;
+ requiredMethod("findFrame()") ;
+ requiredMethod("contextChanged()") ;
+ requiredMethod("setCreator()") ;
+
+ boolean result = true;
+
+ XWindow oldWindow = oObj.getComponentWindow();
+ XController oldController = oObj.getController();
+ boolean rs = oObj.setComponent(null, null);
+ if (rs) { // component must be changed
+ result &= oObj.getComponentWindow() == null;
+ result &= oObj.getController() == null;
+ if (!result)
+ log.println("setComponent() returns true, but component is " +
+ "not changed.");
+ } else { // frame is not allowed to change component
+ result &= oObj.getComponentWindow() == oldWindow ;
+ result &= oObj.getController() == oldController ;
+ if (!result)
+ log.println("setComponent() returns false, but component is" +
+ "changed.");
+ }
+ tRes.tested("setComponent()", result);
+
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns.
+ * In case a frame should initialised twice, a
+ * <CODE>com.sun.star.uno.RuntimeException</CODE> was thrown. This is ok. But since
+ * a com.sun.star.uno.RuntimeException could thrown in any state the message of
+ * the exception must contain a defined string. In this case the test get an
+ * <CODE>OK</CODE> status.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setComponent() </code> : sets window and controller to the
+ * object</li>
+ * </ul>
+ */
+ public void _initialize() {
+ requiredMethod("setComponent()") ;
+ XWindow win = oObj.getContainerWindow() ;
+ boolean bOK = true;
+ try {
+ oObj.initialize(win) ;
+ } catch (com.sun.star.uno.RuntimeException e){
+ String message="Frame::initialized() is called more than once, which is not useful nor allowed.";
+ if (e.toString().indexOf(message) != -1){
+ log.println(e.toString());
+ log.println("methods throws exception, but it's OK");
+ }else{
+ log.println(e.toString());
+ bOK=false;
+ }
+
+ }
+ tRes.tested("initialize()", bOK) ;
+ }
+
+ /**
+ * Checks does relation 'Desktop' exist. Returns true if exist.
+ */
+ public static boolean isDesktop(PrintWriter log,
+ TestEnvironment env, String method) {
+ Object isD = env.getObjRelation("Desktop");
+ if (isD != null) {
+ log.println("The Desktop doesn't support the method " + method);
+ log.println("It will always return true");
+ return true;
+ }
+ else {
+ return false;
+ }
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XFrameActionListener.java b/qadevOOo/tests/java/ifc/frame/_XFrameActionListener.java
new file mode 100644
index 000000000..d225e86f7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XFrameActionListener.java
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import com.sun.star.frame.FrameActionEvent;
+import com.sun.star.frame.XFrameActionListener;
+import lib.MultiMethodTest;
+
+public class _XFrameActionListener extends MultiMethodTest {
+
+ public XFrameActionListener oObj = null;
+
+
+ public void _frameAction() {
+ FrameActionEvent event = new FrameActionEvent();
+ oObj.frameAction(event);
+ tRes.tested("frameAction()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XFrameLoader.java b/qadevOOo/tests/java/ifc/frame/_XFrameLoader.java
new file mode 100644
index 000000000..987605480
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XFrameLoader.java
@@ -0,0 +1,192 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XFrameLoader;
+import com.sun.star.frame.XLoadEventListener;
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.frame.XFrameLoader</code>
+* interface methods :
+* <ul>
+* <li><code> load()</code></li>
+* <li><code> cancel()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'FrameLoader.URL'</code> (of type <code>String</code>):
+* a url or component to be loaded </li>
+* <li> <code>'FrameLoader.Frame'</code> <b>(optional)</b>
+* (of type <code>com.sun.star.frame.XFrame</code>):
+* a target frame where component to be loaded. If this
+* relation is omitted then a text document created and its
+* frame is used. </li>
+* <li> <code>'FrameLoader.args'</code> <b>(optional)</b>
+* (of type <code>Object[]</code>):
+* necessary arguments for loading a component. If omitted
+* then zero length array is passed as parameter</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XFrameLoader
+*/
+public class _XFrameLoader extends MultiMethodTest {
+
+ public XFrameLoader oObj = null; // oObj filled by MultiMethodTest
+ private String url = null ;
+ private XFrame frame = null ;
+ private PropertyValue[] args = new PropertyValue[0] ;
+
+ /**
+ * Implementation of load listener which registers all its calls.
+ */
+ protected static class TestListener implements XLoadEventListener {
+ public boolean finished = false ;
+ public boolean cancelled = false ;
+
+ public void loadFinished(XFrameLoader l) {
+ finished = true ;
+ }
+ public void loadCancelled(XFrameLoader l) {
+ cancelled = true ;
+ }
+ public void disposing(EventObject e) {}
+ }
+
+ TestListener listener = new TestListener() ;
+ XComponent frameSup = null ;
+
+ /**
+ * Retrieves all relations. If optional ones are not found
+ * creates their default values. <p>
+ * @throws StatusException If one of required relations not found.
+ */
+ @Override
+ public void before() {
+ url = (String) tEnv.getObjRelation("FrameLoader.URL") ;
+ frame = (XFrame) tEnv.getObjRelation("FrameLoader.Frame") ;
+
+ if (frame == null) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ try {
+ log.println( "creating a textdocument" );
+ frameSup = SOF.createTextDoc( null );
+
+ Object oDsk = tParam.getMSF()
+ .createInstance("com.sun.star.frame.Desktop") ;
+ XDesktop dsk = UnoRuntime.queryInterface(XDesktop.class, oDsk) ;
+
+ util.utils.shortWait();
+ frame = dsk.getCurrentFrame() ;
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occurs.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create a frame.", e );
+ }
+ }
+
+ Object args = tEnv.getObjRelation("FrameLoader.args") ;
+ if (args != null) this.args = (PropertyValue[]) args ;
+
+ if (url == null /*|| frame == null*/) {
+ throw new StatusException
+ (Status.failed("Some relations not found")) ;
+ }
+ }
+
+ private boolean loaded = false ;
+
+ /**
+ * First <code>cancel</code> method test is called.
+ * If in that test loading process was interrupted by
+ * <code>cancel</code> call then <code>load</code> test
+ * executes. It loads a component, waits some moment to
+ * listener have a chance to be called and then checks
+ * if the load listener was called.<p>
+ * Has <b>OK</b> status if <code>cancel</code> method test
+ * didn't interrupt loading and it was successful, or
+ * if in this method it loads successful and listener's
+ * <code>finished</code> method was called.
+ * The following method tests are to be executed before:
+ * <ul>
+ * <li> <code> cancel() </code> </li>
+ * </ul>
+ */
+ public void _load() throws Exception {
+ executeMethod("cancel()") ;
+
+ if (!loaded) {
+ oObj.load(frame, url, args, listener) ;
+
+ waitForEventIdle();
+
+ loaded = listener.finished ;
+ }
+
+ tRes.tested("load()", loaded) ;
+ }
+
+ /**
+ * Starts to load a component and then immediately tries to
+ * cancel the process. <p>
+ * Has <b>OK</b> status if the process was cancelled or
+ * finished (appropriate listener methods were called).
+ */
+ public void _cancel() throws Exception {
+ boolean result = true ;
+
+ oObj.load(frame, url, args, listener) ;
+ oObj.cancel() ;
+
+ waitForEventIdle();
+
+ if (listener.cancelled) {
+ log.println("Loading was canceled.") ;
+ }
+ if (listener.finished) {
+ log.println("Loading was finished.") ;
+ loaded = true ;
+ }
+ if (!listener.cancelled && !listener.finished) {
+ log.println("Loading was not canceled and not finished") ;
+ result = false ;
+ }
+
+ tRes.tested("cancel()", result) ;
+ }
+
+ @Override
+ public void after() {
+ if (frameSup != null) frameSup.dispose() ;
+ frame.dispose();
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XFramesSupplier.java b/qadevOOo/tests/java/ifc/frame/_XFramesSupplier.java
new file mode 100644
index 000000000..a54718b70
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XFramesSupplier.java
@@ -0,0 +1,204 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XFramesSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.frame.XFramesSupplier</code>
+* interface methods:
+* <ul>
+* <li><code> getActiveFrame() </code></li>
+* <li><code> getFrames() </code></li>
+* <li><code> setActiveFrame() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XFramesSupplier
+*/
+public class _XFramesSupplier extends MultiMethodTest {
+ public static XFramesSupplier oObj = null;
+ protected XIndexAccess frames = null ;
+ protected XFrame active = null ;
+ protected int activeIdx = -1 ;
+
+ /**
+ * Test calls the method, then result is checked. Also active frame index
+ * is saved in activeIdx variable.<p>
+ *
+ * Has <b> OK </b> status if the method does not return null and the object
+ * contains returned frame. Or if no frames available and the method
+ * returns null.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getFrames() </code> : obtains frames from the object </li>
+ * </ul>
+ */
+ public void _getActiveFrame() {
+ boolean result = true ;
+
+ requiredMethod("getFrames()") ;
+ active = oObj.getActiveFrame() ;
+ if (active == null) {
+ // if no child frames then no active frame could be
+ result = oObj.getFrames().getCount() == 0;
+ log.println("getActiveFrame() returned null") ;
+ }
+ else {
+ boolean hasActiveFrame = false ;
+ for (int i = 0; i < frames.getCount(); i++) {
+ XFrame fr = null ;
+ try {
+ try {
+ fr = (XFrame) AnyConverter.toObject(
+ new Type(XFrame.class),frames.getByIndex(i));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Can't convert any");
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ }
+ if (active.equals(fr)) {
+ hasActiveFrame = true ;
+ activeIdx = i ;
+ }
+ }
+ if (!hasActiveFrame) {
+ log.println("getActiveFrame() isn't contained " +
+ "in getFrames() collection") ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getActiveFrame()", result) ;
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method does not return null,
+ * number of returned frames is not zero and each of them is not null too.
+ */
+ public void _getFrames() {
+ boolean result = true ;
+ int cnt = 0;
+
+ frames = oObj.getFrames() ;
+ if (frames != null) {
+ cnt = frames.getCount() ;
+ log.println("There are " + cnt + " frames.") ;
+ } else {
+ log.println("getFrames() returned null !!!") ;
+ result = false ;
+ }
+ for (int i = 0; i < cnt; i++) {
+ try {
+ if (frames.getByIndex(i) == null) {
+ log.println("Frame(" + i + ") == null") ;
+ result = false ;
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ }
+ }
+
+ tRes.tested("getFrames()", result) ;
+ }
+
+ /**
+ * After selecting frame to be activated, test calls the method. <p>
+ *
+ * Has <b> OK </b> status if set and gotten active frames are equal.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getActiveFrame() </code> : gets active frame </li>
+ * </ul>
+ */
+ public void _setActiveFrame() {
+ XFrame sFrame = null ;
+
+ requiredMethod("getActiveFrame()") ;
+ if (frames.getCount() > 1) {
+ try {
+ if (activeIdx != 0)
+ try {
+ sFrame = (XFrame) AnyConverter.toObject(
+ new Type(XFrame.class),frames.getByIndex(0));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Can't convert any");
+ }
+ else
+ try {
+ sFrame = (XFrame) AnyConverter.toObject(
+ new Type(XFrame.class),frames.getByIndex(1));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Can't convert any");
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while calling getByIndex() method :") ;
+ e.printStackTrace(log) ;
+ return;
+ }
+ } else if (frames.getCount() > 0) {
+ sFrame = active ;
+ }
+
+ oObj.setActiveFrame(sFrame) ;
+ XFrame gFrame = oObj.getActiveFrame() ;
+
+ boolean result;
+ if (gFrame == null && sFrame == null)
+ result = true;
+ else if (gFrame != null && sFrame != null)
+ result = sFrame.equals(gFrame);
+ else
+ result = false;
+
+ if (!result) {
+ log.println("Active frame set is not equal frame get: FAILED");
+ result = false ;
+ }
+
+ tRes.tested("setActiveFrame()", result) ;
+ }
+
+} // finished class _XFramesSupplier
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XLayoutManager.java b/qadevOOo/tests/java/ifc/frame/_XLayoutManager.java
new file mode 100644
index 000000000..7f2a40c6b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XLayoutManager.java
@@ -0,0 +1,190 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import com.sun.star.awt.Point;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XLayoutManager;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.Size;
+import com.sun.star.ui.DockingArea;
+import com.sun.star.ui.XUIElement;
+import lib.MultiMethodTest;
+import util.utils;
+
+public class _XLayoutManager extends MultiMethodTest {
+ public XLayoutManager oObj = null;
+
+ private XFrame xFrame = null;
+ private static final String sElementName = "private:resource/menubar/myMenu";
+
+ @Override
+ public void before() {
+ xFrame = (XFrame)tEnv.getObjRelation("XLayoutManager.Frame");
+ }
+
+ public void _attachFrame() {
+ oObj.attachFrame(xFrame);
+ tRes.tested("attachFrame()", true);
+ }
+
+ public void _createElement() {
+ requiredMethod("attachFrame()");
+ oObj.createElement(sElementName);
+ tRes.tested("createElement()", true);
+ }
+
+ public void _destroyElement() {
+ requiredMethod("getElement()");
+ requiredMethod("getElements()");
+ oObj.destroyElement(sElementName);
+ tRes.tested("destroyElement()", true);
+ }
+
+ public void _doLayout() {
+ oObj.doLayout();
+ tRes.tested("doLayout()", true);
+ }
+
+ public void _dockWindow() {
+ requiredMethod("createElement()");
+ Point p = new Point();
+ p.X = 0;
+ p.Y = 0;
+ oObj.dockWindow(sElementName, DockingArea.DOCKINGAREA_TOP, p);
+ tRes.tested("dockWindow()", true);
+ }
+
+ public void _floatWindow() {
+ requiredMethod("createElement()");
+ oObj.floatWindow(sElementName);
+ tRes.tested("floatWindow()", true);
+ }
+
+ public void _getCurrentDockingArea() {
+ requiredMethod("attachFrame()");
+ Rectangle rect = oObj.getCurrentDockingArea();
+ tRes.tested("getCurrentDockingArea()", rect != null);
+ }
+
+ public void _getElement() {
+ requiredMethod("createElement()");
+ oObj.getElement(sElementName);
+ tRes.tested("getElement()", true);
+ }
+
+ public void _getElementPos() {
+ Point p = oObj.getElementPos(sElementName);
+ tRes.tested("getElementPos()", p != null);
+ }
+
+ public void _getElementSize() {
+ Size s = oObj.getElementSize(sElementName);
+ tRes.tested("getElementSize()", s != null);
+ }
+
+ public void _getElements() {
+ requiredMethod("createElement()");
+ XUIElement[] xElements = oObj.getElements();
+ for (int i=0; i<xElements.length; i++) {
+ Object o = xElements[i].getRealInterface();
+ log.println("Element " + i + ": " + o.toString() + " " + utils.getImplName(o));
+ }
+ tRes.tested("getElements()", true);
+ }
+
+ public void _hideElement() {
+ oObj.hideElement(sElementName);
+ tRes.tested("hideElement()", true);
+ }
+
+ public void _isElementDocked() {
+ oObj.isElementDocked(sElementName);
+ tRes.tested("isElementDocked()", true);
+ }
+
+ public void _isElementFloating() {
+ oObj.isElementFloating(sElementName);
+ tRes.tested("isElementFloating()", true);
+ }
+
+ public void _isElementVisible() {
+ oObj.isElementVisible(sElementName);
+ tRes.tested("isElementVisible()", true);
+ }
+
+ public void _lock() {
+ oObj.lock();
+ tRes.tested("lock()", true);
+ }
+
+ public void _reset() {
+ oObj.reset();
+ tRes.tested("reset()", true);
+ }
+
+ public void _setDockingAreaAcceptor() {
+ oObj.setDockingAreaAcceptor(null);
+ tRes.tested("setDockingAreaAcceptor()", true);
+ }
+
+ public void _setElementPos() {
+ requiredMethod("createElement()");
+ Point p = new Point();
+ p.X = 0;
+ p.Y = 150;
+ oObj.setElementPos(sElementName, p);
+ tRes.tested("setElementPos()", true);
+ }
+
+ public void _setElementPosSize() {
+ requiredMethod("createElement()");
+ Point p = new Point();
+ p.X = 150;
+ p.Y = 0;
+ Size size = new Size();
+ size.Height = 50;
+ size.Width = 80;
+ oObj.setElementPosSize(sElementName, p, size);
+ tRes.tested("setElementPosSize()", true);
+ }
+
+ public void _setElementSize() {
+ requiredMethod("createElement()");
+ Size size = new Size();
+ size.Height = 80;
+ size.Width = 50;
+ oObj.setElementSize(sElementName, size);
+ tRes.tested("setElementSize()", true);
+ }
+
+ public void _showElement() {
+ requiredMethod("createElement()");
+ oObj.showElement(sElementName);
+ tRes.tested("showElement()", true);
+
+ }
+
+ public void _unlock() {
+ requiredMethod("lock()");
+ oObj.unlock();
+ tRes.tested("unlock()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XModel.java b/qadevOOo/tests/java/ifc/frame/_XModel.java
new file mode 100644
index 000000000..320570b5f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XModel.java
@@ -0,0 +1,249 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.frame;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.view.XSelectionSupplier;
+
+import lib.MultiMethodTest;
+
+
+/**
+* Testing <code>com.sun.star.frame.XModel</code>
+* interface methods:
+* <ul>
+* <li><code> attachResource() </code></li>
+* <li><code> connectController() </code></li>
+* <li><code> disconnectController() </code></li>
+* <li><code> getArgs() </code></li>
+* <li><code> getCurrentController() </code></li>
+* <li><code> getCurrentSelection() </code></li>
+* <li><code> getURL() </code></li>
+* <li><code> hasControllersLocked() </code></li>
+* <li><code> lockControllers() </code></li>
+* <li><code> setCurrentController() </code></li>
+* <li><code> unlockControllers() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CONT2'</code> (of type <code>XController</code>):
+* a controller used as an argument for several test methods </li>
+* <li> <code>'TOSELECT'</code> (of type <code>Object</code>):
+* something, we want to select from document </li>
+* <li> <code>'SELSUPP'</code> (of type <code>XSelectionSupplier</code>):
+* supplier, we use to select something in a document </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XModel
+*/
+public class _XModel extends MultiMethodTest {
+ public XModel oObj = null;
+ boolean result = true;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns true.
+ */
+ public void _attachResource() {
+ log.println("opening DataSourceBrowser");
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ result = oObj.attachResource(".component:DB/DataSourceBrowser", noArgs);
+ tRes.tested("attachResource()", result);
+ }
+
+ /**
+ * After obtaining object relation 'CONT2' and storing old controller,
+ * test calls the method, then result is checked.<p>
+ * Has <b> OK </b> status if controller, gotten after method call is not
+ * equal to a previous controller.
+ */
+ public void _connectController() {
+ XController cont2 = (XController) tEnv.getObjRelation("CONT2");
+ XController old = oObj.getCurrentController();
+ result = false;
+
+ if (cont2 == null) {
+ log.println("No controller no show");
+ } else {
+ oObj.connectController(cont2);
+
+ String oldFrame = old.getFrame().getName();
+ String newFrame = cont2.getFrame().getName();
+ result = (!oldFrame.equals(newFrame));
+ }
+
+ tRes.tested("connectController()", result);
+ }
+
+ /**
+ * After obtaining object relation 'CONT2', test calls the method,
+ * then result is checked.<p>
+ * Has <b> OK </b> status if controller, gotten after method call is not
+ * equal to a controller we use as an argument to method.
+ */
+ public void _disconnectController() {
+ XController cont2 = (XController) tEnv.getObjRelation("CONT2");
+ result = false;
+
+ if (cont2 == null) {
+ log.println("No controller no show");
+ } else {
+ oObj.disconnectController(cont2);
+ result = (oObj.getCurrentController() != cont2);
+ }
+
+ tRes.tested("disconnectController()", result);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getArgs() {
+ tRes.tested("getArgs()", oObj.getArgs() != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getCurrentController() {
+ XController ctrl = oObj.getCurrentController();
+ tRes.tested("getCurrentController()", ctrl != null);
+ }
+
+ /**
+ * After obtaining object relations 'SELSUPP' and 'TOSELECT', test prepares
+ * selection and calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getCurrentSelection() {
+ XSelectionSupplier selsupp = (XSelectionSupplier) tEnv.getObjRelation(
+ "SELSUPP");
+ Object toSelect = tEnv.getObjRelation("TOSELECT");
+ result = false;
+
+ if (selsupp == null) {
+ log.println("No Selection Supplier no show");
+ } else {
+ try {
+ selsupp.select(toSelect);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while select:");
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ Object sel = oObj.getCurrentSelection();
+ result = (sel != null);
+ }
+
+ tRes.tested("getCurrentSelection()", result);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method does not return null.
+ */
+ public void _getURL() {
+ String url = oObj.getURL();
+ log.println("The url: " + url);
+ tRes.tested("getURL()", url != null);
+ }
+
+ /**
+ * if controller is not locked, test calls the method. <p>
+ * Has <b> OK </b> status if the method returns true. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> lockControllers() </code> : locks controllers </li>
+ * </ul>
+ */
+ public void _hasControllersLocked() {
+ requiredMethod("lockControllers()");
+ tRes.tested("hasControllersLocked()", oObj.hasControllersLocked());
+ }
+
+ /**
+ * Test calls the method, then result is checked.<p>
+ * Has <b> OK </b> status if method locks controllers.
+ */
+ public void _lockControllers() {
+ oObj.lockControllers();
+ result = oObj.hasControllersLocked();
+ tRes.tested("lockControllers()", result);
+ }
+
+ /**
+ * After obtaining object relation 'CONT2' and storing old controller,
+ * controller cont2 is connected, then this controller is
+ * setting as current.
+ * Sets the old controller as current.
+ * <p>Has <b> OK </b> status if set and gotten controllers are not equal.
+ */
+ public void _setCurrentController() {
+ XController cont2 = (XController) tEnv.getObjRelation("CONT2");
+ XController old = oObj.getCurrentController();
+ result = false;
+
+ if (cont2 == null) {
+ log.println("No controller no show");
+ } else {
+ oObj.connectController(cont2);
+
+ try {
+ oObj.setCurrentController(cont2);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.print("Cannot set current controller:");
+ e.printStackTrace(log);
+ }
+
+ result = (oObj.getCurrentController() != old);
+
+ try {
+ oObj.setCurrentController(old);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.print("Cannot set current controller:");
+ e.printStackTrace(log);
+ }
+ }
+
+ tRes.tested("setCurrentController()", result);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if method unlocks controllers.
+ * <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> hasControllersLocked() </code> : checks if controllers are
+ * locked </li>
+ * </ul>
+ */
+ public void _unlockControllers() {
+ requiredMethod("hasControllersLocked()");
+ oObj.unlockControllers();
+ result = !oObj.hasControllersLocked();
+ tRes.tested("unlockControllers()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XModuleManager.java b/qadevOOo/tests/java/ifc/frame/_XModuleManager.java
new file mode 100644
index 000000000..d870589c3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XModuleManager.java
@@ -0,0 +1,153 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import com.sun.star.beans.PropertyValue;
+
+import com.sun.star.frame.XModuleManager;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.frame.UnknownModuleException;
+
+
+/**
+* Testing <code>com.sun.star.frame.XModuleManager</code>
+* interface methods:
+* <ul>
+* <li><code> identify() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XModuleManager.XFrame'</code> (of type <code>PropertyValue[]</code>):
+* PropertyValue[n].Value : a XFrame
+* PropertyValue[n].Name : the expected return value of <code>identify()</code></li>
+* <li> <code>'XModuleManager.XController'</code> (of type <code>PropertyValue[]</code>):
+* PropertyValue[n].Value : a XController
+* PropertyValue[n].Name : the expected return value of <code>identify()</code></li>
+* <li> <code>'XModuleManager.XModel'</code> (of type <code>PropertyValue[]</code>):
+* PropertyValue[n].Value : a XFrame
+* PropertyValue[n].Name : the expected return value of <code>identify()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XModuleManager
+*/
+public class _XModuleManager extends MultiMethodTest {
+ /** Test calls the method. <p>
+ * The object relations <CODE>XModuleManager.XFrame</CODE>,
+ * <CODE>XModuleManager.XController</CODE> and <CODE>XModuleManager.XModel</CODE>
+ * are sequences of <CODE>PropertyValue</CODE>. The value of a PropertyValue
+ * contains a <CODE>XFrame</CODE>, <CODE>XController</CODE> or a
+ * <CODE>XModel</CODE>. The name of the PropertyValue contains the expected return
+ * value of method <CODE>indetify()</CODE> if the method was called with
+ * corresponding value.<p>
+ * As enhancement the method <CODE>identify()</CODE> was called with invalid
+ * parameter. In this case the thrown exceptions were caught.
+ */
+ public XModuleManager oObj = null;
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns expected values, that's equal to
+ * previously obtained object relation 'Frame'.
+ * The following method tests are to be completed successfully before:
+ * <ul>
+ * <li> <code> attachFrame() </code> : attaches frame obtained object
+ * relation 'Frame' </li>
+ * </ul>
+ */
+
+ private PropertyValue[] xFrameSeq = null;
+ private PropertyValue[] xControllerSeq = null;
+ private PropertyValue[] xModelSeq = null;
+ /** Retrieves object relations. */
+
+ @Override
+ public void before() {
+
+ xFrameSeq = (PropertyValue[]) tEnv.getObjRelation("XModuleManager.XFrame") ;
+
+ if (xFrameSeq == null) throw new StatusException
+ (Status.failed("Relation 'xFrameSeq' not found.")) ;
+
+
+ xControllerSeq = (PropertyValue[]) tEnv.getObjRelation("XModuleManager.XController") ;
+
+ if (xControllerSeq == null) throw new StatusException
+ (Status.failed("Relation 'xControllerSeq' not found.")) ;
+
+
+ xModelSeq = (PropertyValue[]) tEnv.getObjRelation("XModuleManager.XModel") ;
+
+ if (xModelSeq == null) throw new StatusException
+ (Status.failed("Relation 'xModelSeq' not found.")) ;
+ }
+
+ /* The method <CODE>identify()</CODE> was used for every entry in sequence of
+ * object relations.
+ */
+ public void _identify() {
+ boolean ok = true;
+ log.println("testing frame sequence...");
+ ok &= testSequence(xFrameSeq);
+ log.println("testing controller sequence...");
+ ok &= testSequence(xControllerSeq);
+ log.println("testing model sequence...");
+ ok &= testSequence(xModelSeq);
+ tRes.tested("identify()", ok);
+
+ log.println("testing invalid objects...");
+ try{
+ oObj.identify(oObj);
+ } catch (IllegalArgumentException e){
+ log.println("expected exception.");
+ } catch (UnknownModuleException e){
+ log.println("expected exception.");
+ }
+ }
+
+ private boolean testSequence(PropertyValue[] sequence){
+ boolean ok = true;
+ for (int i = 0 ; i < sequence.length; i++){
+ try{
+ log.println("testing '" + sequence[i].Name + "'");
+ if (!oObj.identify(sequence[i].Value).equals(
+ sequence[i].Name)) {
+ log.println("failure: returned value: '" +
+ oObj.identify(sequence[i].Value) +
+ "' ,expected value: '" + sequence[i].Name + "'");
+ ok = false;
+ }
+ } catch (IllegalArgumentException e){
+ log.println("Could not get value of sequence '" +
+ sequence[i].Name + "'");
+ return false;
+
+ } catch (UnknownModuleException e){
+ log.println("Could not indetify value of sequence '" +
+ sequence[i].Name + "'");
+ return false;
+ }
+ }
+ return ok;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XNotifyingDispatch.java b/qadevOOo/tests/java/ifc/frame/_XNotifyingDispatch.java
new file mode 100644
index 000000000..b214364f0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XNotifyingDispatch.java
@@ -0,0 +1,118 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.util.URL;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import com.sun.star.frame.XNotifyingDispatch;
+import com.sun.star.frame.DispatchResultEvent;
+
+/**
+* Testing <code>com.sun.star.frame.XNotifyingDispatch</code>
+* interface methods :
+* <ul>
+* <li><code> dispatchWithNotification()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDispatch.URL'</code> (of type <code>com.sun.star.util.URL
+* </code>): URL for passing to <code>dispatch()</code> method. </li>
+* <li> <code>[OPTIONAL] 'XNotifyingDispatchArgument'</code>
+* (of type sequence<code>com::sun::star::beans::PropertyValue
+* </code>): arguments for <code>dispatchWithNotification()</code> method. </li>
+* <ul> <p>
+* @see com.sun.star.frame.XDispatch
+* @see com.sun.star.frame.XNotifyingDispatch
+* @see ifc.frame._XDispatch
+*/
+public class _XNotifyingDispatch extends MultiMethodTest {
+
+ public XNotifyingDispatch oObj = null;
+
+
+ /**
+ * Listener implementation which sets flags on appropriate method calls
+ */
+ protected static class TestNotificationListener implements
+ com.sun.star.frame.XDispatchResultListener {
+ public boolean finishedDispatch = false ;
+ private final java.io.PrintWriter log;
+
+ public TestNotificationListener(java.io.PrintWriter log) {
+ this.log = log ;
+ }
+
+ public void disposing(com.sun.star.lang.EventObject e) {
+ log.println(" disposing was called.") ;
+ }
+
+ public void dispatchFinished( DispatchResultEvent e) {
+ finishedDispatch = true ;
+ log.println(" dispatchFinished was called.") ;
+ }
+
+ }
+
+ TestNotificationListener notificationListener = null;
+ PropertyValue[] arguments = null;
+ URL url = null ;
+
+ /**
+ * Retrieves object relations and creates new listeners.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ notificationListener = new TestNotificationListener(log) ;
+ url = (URL) tEnv.getObjRelation("XDispatch.URL") ;
+
+ if (url == null) throw new StatusException
+ (Status.failed("Relation not found.")) ;
+
+ arguments = (PropertyValue[])
+ tEnv.getObjRelation("XNotifyingDispatchArgument");
+ }
+
+ /**
+ * Calls the method using URL and arguments from relation. <p>
+ * Has <b> OK </b> status if listener is called.
+ * The following method tests are to be completed successfully before :
+ */
+ public void _dispatchWithNotification() {
+
+ boolean result = true ;
+
+ oObj.dispatchWithNotification(url, arguments, notificationListener);
+
+ waitForEventIdle();
+
+ log.println("Listener called: "+ notificationListener.finishedDispatch);
+
+ result = notificationListener.finishedDispatch;
+
+
+ tRes.tested("dispatchWithNotification()", result) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XPopupMenuController.java b/qadevOOo/tests/java/ifc/frame/_XPopupMenuController.java
new file mode 100644
index 000000000..8a6d0e397
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XPopupMenuController.java
@@ -0,0 +1,218 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import com.sun.star.graphic.XGraphic;
+import com.sun.star.awt.XPopupMenu;
+import com.sun.star.awt.KeyEvent;
+import com.sun.star.frame.XPopupMenuController;
+import lib.MultiMethodTest;
+
+public class _XPopupMenuController extends MultiMethodTest {
+ public XPopupMenuController oObj = null;
+
+ @Override
+ public void before() {
+
+ }
+
+ public void _setPopupMenu() {
+ XPopupMenu xMenu = new PopupMenuImpl();
+ oObj.setPopupMenu(xMenu);
+ tRes.tested("setPopupMenu()", true);
+ }
+
+ public void _updatePopupMenu() {
+ oObj.updatePopupMenu();
+ tRes.tested("updatePopupMenu()", true);
+ }
+
+ private static class PopupMenuImpl implements XPopupMenu {
+
+ public void addMenuListener(com.sun.star.awt.XMenuListener xMenuListener) {
+ System.out.println("addMenuListener called.");
+ }
+
+ public void checkItem(short param, boolean param1) {
+ System.out.println("checkItemListener called.");
+ }
+
+ public void enableItem(short param, boolean param1) {
+ System.out.println("enableItem called.");
+ }
+
+ public short execute(com.sun.star.awt.XWindowPeer xWindowPeer, com.sun.star.awt.Rectangle pos, short param) {
+ System.out.println("execute called.");
+ return 0;
+ }
+
+ public short getDefaultItem() {
+ System.out.println("getDefaultItem called.");
+ return 0;
+ }
+
+ public short getItemCount() {
+ System.out.println("getItemCount called.");
+ return 0;
+ }
+
+ public short getItemId(short param) {
+ System.out.println("getItemId called.");
+ return 0;
+ }
+
+ public short getItemPos(short param) {
+ System.out.println("getItemPos called.");
+ return 0;
+ }
+
+ public String getItemText(short param) {
+ System.out.println("getItemText called.");
+ return "Hi.";
+ }
+
+ public com.sun.star.awt.XPopupMenu getPopupMenu(short param) {
+ System.out.println("getPopupMenu called.");
+ return this;
+ }
+
+ public void insertItem(short param, String str, short param2, short param3) {
+ System.out.println("insertItem called.");
+ }
+
+ public void insertSeparator(short param) {
+ System.out.println("insertSeparator called.");
+ }
+
+ public boolean isItemChecked(short param) {
+ System.out.println("isItemChecked called.");
+ return false;
+ }
+
+ public boolean isItemEnabled(short param) {
+ System.out.println("isItemEnabled called.");
+ return false;
+ }
+
+ public void removeItem(short param, short param1) {
+ System.out.println("removeItem called.");
+ }
+
+ public void removeMenuListener(com.sun.star.awt.XMenuListener xMenuListener) {
+ System.out.println("removeMenuListener called.");
+ }
+
+ public void setDefaultItem(short param) {
+ System.out.println("setDefaultItem called.");
+ }
+
+ public void setItemText(short param, String str) {
+ System.out.println("setItemText called.");
+ }
+
+ public void setPopupMenu(short param, com.sun.star.awt.XPopupMenu xPopupMenu) {
+ System.out.println("setPopupMenu called.");
+ }
+
+ public XGraphic getItemImage(short param ) {
+ System.out.println("getItemImage called.");
+ return null;
+ }
+
+ public void setItemImage(short param, XGraphic param1, boolean param2 ) {
+ System.out.println("setItemImage called.");
+ }
+
+ public KeyEvent getAcceleratorKeyEvent(short param ) {
+ System.out.println("getAcceleratorKeyEvent called.");
+ return new KeyEvent();
+ }
+
+ public void setAcceleratorKeyEvent(short param, KeyEvent param1 ) {
+ System.out.println("setAcceleratorKeyEvent called.");
+ }
+
+ public void endExecute() {
+ System.out.println("endExecute called.");
+ }
+
+ public boolean isInExecute() {
+ System.out.println("isInExecute called.");
+ return false;
+ }
+
+ public boolean isPopupMenu() {
+ System.out.println("isPopupMenu called.");
+ return true;
+ }
+
+ public String getTipHelpText(short param ) {
+ System.out.println("getTipHelpText called.");
+ return null;
+ }
+
+ public void setTipHelpText(short param, String param1 ) {
+ System.out.println("setTipHelpText called.");
+ }
+
+ public String getHelpText(short param ) {
+ System.out.println("getHelpText called.");
+ return null;
+ }
+
+ public void setHelpText(short param, String param1 ) {
+ System.out.println("setHelpText called.");
+ }
+
+ public String getHelpCommand(short param ) {
+ System.out.println("getHelpCommand called.");
+ return null;
+ }
+
+ public void setHelpCommand(short param, String param1 ) {
+ System.out.println("setHelpCommand called.");
+ }
+
+ public String getCommand(short param ) {
+ System.out.println("getCommand called.");
+ return null;
+ }
+
+ public void setCommand(short param, String param1 ) {
+ System.out.println("setCommand called.");
+ }
+
+ public void enableAutoMnemonics(boolean param ) {
+ System.out.println("enableAutoMnemonics called.");
+ }
+
+ public void hideDisabledEntries(boolean param ) {
+ System.out.println("hideDisabledEntries called.");
+ }
+
+ public com.sun.star.awt.MenuItemType getItemType(short param ) {
+ System.out.println("getItemType called.");
+ return com.sun.star.awt.MenuItemType.DONTKNOW;
+ }
+
+ public void clear() {
+ System.out.println("clear called.");
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XStatusListener.java b/qadevOOo/tests/java/ifc/frame/_XStatusListener.java
new file mode 100644
index 000000000..393c0a205
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XStatusListener.java
@@ -0,0 +1,40 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import com.sun.star.frame.FeatureStateEvent;
+import com.sun.star.frame.XStatusListener;
+import lib.MultiMethodTest;
+
+public class _XStatusListener extends MultiMethodTest {
+ public XStatusListener oObj = null;
+
+
+ @Override
+ public void before() {
+
+ }
+
+ public void _statusChanged() {
+ FeatureStateEvent event = new FeatureStateEvent();
+ oObj.statusChanged(event);
+ tRes.tested("statusChanged()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/frame/_XStorable.java b/qadevOOo/tests/java/ifc/frame/_XStorable.java
new file mode 100644
index 000000000..c61a43802
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XStorable.java
@@ -0,0 +1,218 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XStorable;
+import com.sun.star.io.IOException;
+
+/**
+* Testing <code>com.sun.star.frame.XStorable</code>
+* interface methods:
+* <ul>
+* <li><code> getLocation() </code></li>
+* <li><code> hasLocation() </code></li>
+* <li><code> isReadonly() </code></li>
+* <li><code> storeAsURL() </code></li>
+* <li><code> storeToURL() </code></li>
+* <li><code> store() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XStorable
+*/
+public class _XStorable extends MultiMethodTest {
+ public XStorable oObj = null; // oObj filled by MultiMethodTest
+ String storeUrl;
+ boolean stored;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status in three cases:
+ * <ol>
+ * <li>An object has location stored in. Then if method does not return
+ * null, it has <b> OK </b> status</li>
+ * <li>An object has no location stored in. Then method storeAsURL() is
+ * called, and if url is not null and equals to a url where component
+ * was stored, method has <b> OK </b> status</li>
+ * <li>An object has no location stored in. Then method storeAsURL() is
+ * called, and if url is null and method returns null too, method
+ * has <b> OK </b> status </li>
+ * </ol><p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> storeAsURL() </code> : stores the object's persistent data
+ * to a URL and lets the object become the representation of this new
+ * URL</li>
+ * </ul>
+ */
+ public void _getLocation() {
+ if (oObj.hasLocation()) {
+ // if it has location it should know it
+ tRes.tested("getLocation()", oObj.getLocation() != null);
+ } else {
+ // else try to obtain location
+ requiredMethod("storeAsURL()");
+ if (storeUrl != null) {
+ // if stored successfully - check location
+ log.println(oObj.getLocation() + "--" + storeUrl);
+ tRes.tested("getLocation()",
+ storeUrl.equals(oObj.getLocation()));
+ } else {
+ // if not - it should not have a location
+ tRes.tested("getLocation()", oObj.getLocation() == null);
+ }
+ }
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if stored url is not null and method does not
+ * return null or if stored url is null and the method returns null.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> storeAsURL() </code>: stores the object's persistent data
+ * to a URL and lets the object become the representation of this new
+ * URL</li>
+ * </ul>
+ */
+ public void _hasLocation() {
+ requiredMethod("storeAsURL()");
+ if (storeUrl != null) {
+ // if stored successfully - it should have a location
+ tRes.tested("hasLocation()", oObj.hasLocation());
+ } else {
+ // if not - it should not
+ tRes.tested("hasLocation()", !oObj.hasLocation());
+ }
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if value, returned by the method is not equal to
+ * 'stored' variable. ( If it's readonly it should not have been stored. )
+ * <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> store() </code> : stores data to the URL from which it
+ * was loaded </li>
+ * </ul>
+ */
+ public void _isReadonly() {
+ requiredMethod("store()");
+ tRes.tested("isReadonly()", oObj.isReadonly() != stored);
+ }
+
+ /**
+ * Object is stored into temporary directory. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _storeAsURL() {
+ // getting a url to store
+ String url = utils.getOfficeTemp(
+ tParam.getMSF());
+
+ if (url != null) {
+ url += "xstorable.store.as.test";
+ log.println("store as '" + url + "'");
+ try {
+ oObj.storeAsURL(url, new PropertyValue[0]);
+ storeUrl = url;
+ tRes.tested("storeAsURL()", true);
+ } catch (IOException e) {
+ log.println("Couldn't store as "+url+" : "+e.getMessage());
+ e.printStackTrace(log);
+ storeUrl = null;
+ tRes.tested("storeAsURL()", false);
+ }
+ } else {
+ log.println("a url to store is not found");
+ }
+ }
+
+ /**
+ * Object is stored into temporary directory. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _storeToURL() {
+ // getting a url to store
+ String url = utils.getOfficeTemp(
+ tParam.getMSF());
+
+ if (url != null) {
+ url += "xstorable.store.as.test";
+ log.println("store to '" + url + "'");
+ try {
+ oObj.storeToURL(url, new PropertyValue[0]);
+ tRes.tested("storeToURL()", true);
+ } catch (IOException e) {
+ log.println("Couldn't store to "+url+" : "+e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("storeToURL()", false);
+ }
+ } else {
+ log.println("a url to store is not found");
+ }
+ }
+
+ /**
+ * Test calls the method. Then result is checked.<p>
+ * Has <b> OK </b> status if:
+ * <ol>
+ * <li>component was stored, object is not readonly and has location</li>
+ * <li>exception occurred because of component is readonly
+ * and wasn't stored</li>
+ * </ol>
+ */
+ public void _store() {
+ IOException ioE = null;
+
+ try {
+ oObj.store();
+ stored = true;
+ } catch (IOException e) {
+ stored = false;
+ ioE = e;
+ }
+ if (oObj.hasLocation() && !oObj.isReadonly()) {
+ tRes.tested("store()", stored);
+ if (!stored) {
+ log.println("Couldn't store : " + ioE.getMessage());
+ ioE.printStackTrace(log);
+ }
+ } else {
+ tRes.tested("store()", !stored);
+ if (stored) {
+ if (!oObj.hasLocation()) {
+ log.println("Shouldn't store successfully"
+ + " a document without location");
+ } else {
+ log.println("Shouldn't store successfully"
+ + " a read-only document");
+ }
+ }
+ }
+ }
+
+}// finished class _XStorable
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XSynchronousFrameLoader.java b/qadevOOo/tests/java/ifc/frame/_XSynchronousFrameLoader.java
new file mode 100644
index 000000000..b56d9d89d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XSynchronousFrameLoader.java
@@ -0,0 +1,172 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XSynchronousFrameLoader;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Testing <code>com.sun.star.frame.XSynchronousFrameLoader</code>
+ * interface methods :
+ * <ul>
+ * <li><code> load()</code></li>
+ * <li><code> cancel()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'FrameLoader.URL'</code> (of type <code>String</code>):
+ * a url of component to be loaded </li>
+ * <li> <code>'FrameLoader.Frame'</code> <b>(optional)</b>
+ * (of type <code>com.sun.star.frame.XFrame</code>):
+ * a target frame where component to be loaded. If this
+ * relation is omitted then a text document created and its
+ * frame is used. </li>
+ * <ul> <p>
+ *
+ * @see com.sun.star.frame.XSynchronousFrameLoader
+ */
+public class _XSynchronousFrameLoader extends MultiMethodTest {
+
+ public XSynchronousFrameLoader oObj = null; // oObj filled by MultiMethodTest
+ private XFrame frame = null ;
+ private XComponent frameSup = null ;
+ private PropertyValue[] descr = null;
+
+ /**
+ * Retrieves all relations. If optional relation
+ * <code>FrameLoader.Frame</code> not found
+ * creates a new document and obtains its frame for loading. <p>
+ *
+ * Also <code>MediaDescriptor</code> is created using
+ * URL from <code>FrameLoader.URL</code> relation.
+ *
+ * @throws StatusException If one of required relations not found.
+ */
+ @Override
+ public void before() {
+ String url = (String) tEnv.getObjRelation("FrameLoader.URL") ;
+ frame = (XFrame) tEnv.getObjRelation("FrameLoader.Frame") ;
+
+ if (url == null) {
+ throw new StatusException(Status.failed("Some relations not found")) ;
+ }
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF() );
+
+ XURLTransformer xURLTrans = null;
+
+ // if frame is not contained in relations the writer frame will be used.
+ if (frame == null) {
+ try {
+ log.println( "creating a textdocument" );
+ frameSup = SOF.createTextDoc( null );
+
+ Object oDsk = tParam.getMSF().createInstance
+ ("com.sun.star.frame.Desktop") ;
+ XDesktop dsk = UnoRuntime.queryInterface
+ (XDesktop.class, oDsk) ;
+ frame = dsk.getCurrentFrame() ;
+
+ Object o = tParam.getMSF().createInstance
+ ("com.sun.star.util.URLTransformer") ;
+ xURLTrans = UnoRuntime.queryInterface
+ (XURLTransformer.class, o) ;
+
+ } catch ( com.sun.star.uno.Exception e ) {
+ // Some exception occurs.FAILED
+ e.printStackTrace( log );
+ throw new StatusException( "Couldn't create a document.", e );
+ }
+ }
+
+ URL[] urlS = new URL[1];
+ urlS[0] = new URL();
+ urlS[0].Complete = url;
+ if (xURLTrans == null)
+ throw new IllegalStateException("xURLTrans unexpected null");
+ boolean res = xURLTrans.parseStrict(urlS);
+ log.println("Parsing URL '" + url + "': " + res);
+ descr = new PropertyValue[1] ;
+ descr[0] = new PropertyValue();
+ descr[0].Name = "URL" ;
+ descr[0].Value = urlS[0] ;
+ }
+
+
+ /**
+ * Tries to load component to a frame. <p>
+ * Has <b> OK </b> status if <code>true</code> is returned.
+ */
+ public void _load() {
+ boolean result = oObj.load(descr, frame) ;
+
+ tRes.tested("load()", result) ;
+ }
+
+ /**
+ * Tries to load component to a frame in separate thread to
+ * avoid blocking of the current thread and immediately
+ * cancels loading. <p>
+ *
+ * Has <b> OK </b> status if <code>flase</code> is returned,
+ * i.e. loading was not completed.
+ */
+ public void _cancel() {
+ requiredMethod("load()") ;
+
+ final boolean[] result = new boolean[1] ;
+
+ (new Thread() {
+ @Override
+ public void run() {
+ result[0] = oObj.load(descr, frame);
+ }
+ }).start();
+
+ oObj.cancel() ;
+
+ waitForEventIdle();
+
+ tRes.tested("cancel()", !result[0]) ;
+ }
+
+ /**
+ * Disposes document if it was created for frame supplying.
+ */
+ @Override
+ protected void after() {
+ if (frameSup != null) {
+ frameSup.dispose();
+ }
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XTasksSupplier.java b/qadevOOo/tests/java/ifc/frame/_XTasksSupplier.java
new file mode 100644
index 000000000..9409cf36c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XTasksSupplier.java
@@ -0,0 +1,62 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.frame.XTasksSupplier;
+
+
+/**
+* Testing <code>com.sun.star.frame.XTasksSupplier</code>
+* interface methods:
+* <ul>
+* <li><code> getActiveTask() </code></li>
+* <li><code> getTasks() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.frame.XTasksSupplier
+*/
+public class _XTasksSupplier extends MultiMethodTest {
+ public static XTasksSupplier oObj = null;
+
+ /**
+ * DEPRECATED. <p>
+ * Has <b> OK </b> status .
+ */
+ public void _getActiveTask() {
+ log.println("DEPRECATED");
+
+ tRes.tested("getActiveTask()", true) ;
+ } // finished _getTasks()
+
+ /**
+ * DEPRECATED. <p>
+ * Has <b> OK </b> status.
+ */
+ @Deprecated
+ public void _getTasks() {
+ log.println("DEPRECATED");
+
+ tRes.tested("getTasks()", true);
+
+ } // finished _removeResetListener()
+
+} // finished class _XTaskSupplier
+
diff --git a/qadevOOo/tests/java/ifc/frame/_XUIControllerRegistration.java b/qadevOOo/tests/java/ifc/frame/_XUIControllerRegistration.java
new file mode 100644
index 000000000..e42b9be24
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/frame/_XUIControllerRegistration.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.frame;
+
+import com.sun.star.frame.XUIControllerRegistration;
+import lib.MultiMethodTest;
+
+public class _XUIControllerRegistration extends MultiMethodTest {
+ public XUIControllerRegistration oObj = null;
+ private String aRegisteredController = null;
+ private static final String aController = ".uno:MySecondController";
+
+ @Override
+ public void before() {
+ aRegisteredController = (String)tEnv.getObjRelation("XUIControllerRegistration.RegisteredController");
+ }
+
+
+ public void _registerController() {
+ oObj.registerController(aController, "", "com.sun.star.comp.framework.FooterMenuController");
+ oObj.registerController(aRegisteredController, "", "com.sun.star.comp.framework.HeaderMenuController");
+ tRes.tested("registerController()", true);
+ }
+
+ public void _deregisterController() {
+ requiredMethod("registerController()");
+ oObj.deregisterController(aController, "");
+ tRes.tested("deregisterController()", true);
+ }
+
+ public void _hasController() {
+ requiredMethod("registerController()");
+ requiredMethod("deregisterController()");
+ boolean res = oObj.hasController(aRegisteredController, "");
+ res &= !oObj.hasController(aController, "");
+ tRes.tested("hasController()", res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/i18n/_XBreakIterator.java b/qadevOOo/tests/java/ifc/i18n/_XBreakIterator.java
new file mode 100644
index 000000000..d33165fd7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XBreakIterator.java
@@ -0,0 +1,679 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.i18n;
+
+import java.util.ArrayList;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.i18n.Boundary;
+import com.sun.star.i18n.LineBreakHyphenationOptions;
+import com.sun.star.i18n.LineBreakResults;
+import com.sun.star.i18n.LineBreakUserOptions;
+import com.sun.star.i18n.ScriptType;
+import com.sun.star.i18n.WordType;
+import com.sun.star.i18n.XBreakIterator;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XBreakIterator</code>
+* interface methods :
+* <ul>
+* <li><code> nextCharacters()</code></li>
+* <li><code> previousCharacters()</code></li>
+* <li><code> nextWord()</code></li>
+* <li><code> previousWord()</code></li>
+* <li><code> getWordBoundary()</code></li>
+* <li><code> getWordType()</code></li>
+* <li><code> isBeginWord()</code></li>
+* <li><code> isEndWord()</code></li>
+* <li><code> beginOfSentence()</code></li>
+* <li><code> endOfSentence()</code></li>
+* <li><code> getLineBreak()</code></li>
+* <li><code> beginOfScript()</code></li>
+* <li><code> endOfScript()</code></li>
+* <li><code> nextScript()</code></li>
+* <li><code> previousScript()</code></li>
+* <li><code> getScriptType()</code></li>
+* <li><code> beginOfCharBlock()</code></li>
+* <li><code> endOfCharBlock()</code></li>
+* <li><code> nextCharBlock()</code></li>
+* <li><code> previousCharBlock()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Locale'</code>
+* (of type <code>com.sun.star.lang.Locale</code>):
+* this locale is used as locale argument for tested methods.
+* </li>
+* <li> <code>'UnicodeString'</code>
+* (of type <code>String</code>): Unicode string which is passed
+* to methods except 'CharacterBlock' methods.
+* </li>
+* <ul> <p>
+* @see com.sun.star.i18n.XBreakIterator
+*/
+public class _XBreakIterator extends MultiMethodTest {
+
+ public XBreakIterator oObj = null;
+
+ Locale locale = null;
+ String UnicodeString = null;
+
+ short wordType = WordType.ANYWORD_IGNOREWHITESPACES;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ protected void before() {
+ locale = (Locale)tEnv.getObjRelation("Locale");
+ if (locale == null) {
+ throw new StatusException
+ (Status.failed("Relation 'Locale' not found")) ;
+ }
+
+ UnicodeString = (String)tEnv.getObjRelation("UnicodeString");
+ if (UnicodeString == null) {
+ throw new StatusException(Status.failed
+ ("Relation 'UnicodeString' not found")) ;
+ }
+ }
+
+ /**
+ * Compares returned next character positions with expected values. <p>
+ *
+ * Has <b>OK</b> status if position after travel and traveled length
+ * has expected values.
+ */
+ public void _nextCharacters() {
+ short nCharacterIteratorMode =
+ com.sun.star.i18n.CharacterIteratorMode.SKIPCHARACTER;
+
+ int strLength = UnicodeString.length();
+
+ //Start from position : Travel ... chars :
+ // Actual position after : How many chars traveled
+ int[][] nextCharacters = {
+ { 1, 5000, strLength , strLength - 1 },
+ { 10, 6, 16, 6}};
+
+ boolean bRes = true;
+
+ for(int i = 0; i < nextCharacters.length; i++) {
+ int[] lDone = new int[1];
+ long lRes = oObj.nextCharacters(UnicodeString, nextCharacters[i][0],
+ locale, nCharacterIteratorMode, nextCharacters[i][1], lDone);
+ log.println("Expected result is: lRes = " + nextCharacters[i][2] +
+ "; lDone = " + nextCharacters[i][3] );
+ log.println("Actual result is: lRes = " + lRes +
+ "; lDone = " + lDone[0] );
+
+ bRes = bRes && lRes == nextCharacters[i][2];
+ bRes = bRes && lDone[0] == nextCharacters[i][3];
+ }
+
+ tRes.tested("nextCharacters()", bRes);
+ }
+
+ /**
+ * Compares returned previous character positions with expected values. <p>
+ *
+ * Has <b>OK</b> status if position after travel and traveled length
+ * has expected values.
+ */
+ public void _previousCharacters() {
+ short nCharacterIteratorMode =
+ com.sun.star.i18n.CharacterIteratorMode.SKIPCHARACTER;
+
+
+ //Start from position : Travel ... chars : Actual position after :
+ //How many chars traveled
+ int[][] previousCharacters = {
+ {5, 5000, 0, 5},
+ {10, 6, 4, 6}};
+
+ boolean bRes = true;
+ for(int i = 0; i < previousCharacters.length; i++) {
+ int[] lDone = new int[1];
+ int lRes = oObj.previousCharacters(UnicodeString,
+ previousCharacters[i][0],
+ locale, nCharacterIteratorMode,
+ previousCharacters[i][1], lDone);
+ log.println("Expected result is: lRes = " + previousCharacters[i][2]
+ + "; lDone = " + previousCharacters[i][3] );
+ log.println("Actual result is: lRes = " + lRes
+ + "; lDone = " + lDone[0]);
+
+ bRes = bRes && lRes == previousCharacters[i][2];
+ bRes = bRes && lDone[0] == previousCharacters[i][3];
+ }
+
+ tRes.tested("previousCharacters()", bRes);
+ }
+
+ ArrayList<Boundary> vBounds = new ArrayList<Boundary>();
+
+ /**
+ * Saves bounds of all returned words for the future tests. <p>
+ * Has <b>OK</b> status.
+ */
+ public void _nextWord() {
+ int i = 0;
+
+ while( i < UnicodeString.length() - 1 ) {
+ Boundary bounds = oObj.nextWord
+ (UnicodeString, i, locale, wordType);
+ if (bounds.endPos - bounds.startPos > 3) {
+ vBounds.add( bounds );
+ log.println("Word " + vBounds.size() + "("
+ + bounds.startPos + "," + bounds.endPos + "): '" +
+ UnicodeString.substring(bounds.startPos,
+ bounds.endPos) + "'");
+ }
+ i = bounds.endPos - 1;
+ }
+ log.println("In text there are " + vBounds.size()
+ + " words, if count from left to right");
+ tRes.tested("nextWord()", true);
+ }
+
+ /**
+ * Compares number of word bounds with number of word bounds saved
+ * by the method _nextWord().<p>
+ * Has <b>OK</b> status if number of word bounds are equal.
+ */
+ public void _previousWord() {
+ requiredMethod("nextWord()");
+
+ int i = UnicodeString.length() - 1;
+ ArrayList<Boundary> vPrevBounds = new ArrayList<Boundary>();
+ while( i > 0 ) {
+ Boundary bounds =
+ oObj.previousWord(UnicodeString, i, locale, wordType);
+ if (bounds.endPos - bounds.startPos > 3) {
+ vPrevBounds.add( bounds );
+ log.println("Word " + vPrevBounds.size() + "("
+ + bounds.startPos + "," + bounds.endPos + "): '"
+ + UnicodeString.substring(bounds.startPos, bounds.endPos)
+ + "'");
+ }
+ i = bounds.startPos;
+ }
+ log.println("In text there are " + vPrevBounds.size()
+ + " words, if count from right to left");
+ tRes.tested("previousWord()", vPrevBounds.size() == vBounds.size() );
+ }
+
+ /**
+ * For every word in array obtained by <code>nextWord</code> method test
+ * computes bounds of the word, passing its internal character position.<p>
+ *
+ * Has <b>OK</b> status if bounds calculated by <code>getWordBoundary()</code>
+ * method are the same as bounds obtained by <code>nextWord</code> method.
+ */
+ public void _getWordBoundary() {
+ requiredMethod("nextWord()");
+
+ boolean bRes = true;
+
+ for(int i = 0; i < vBounds.size(); i++) {
+ // calculate middle of the word
+ Boundary iBounds = vBounds.get(i);
+ int iPos = (iBounds.endPos - iBounds.startPos) / 2
+ + iBounds.startPos;
+ Boundary bounds = oObj.getWordBoundary(UnicodeString, iPos,
+ locale, wordType, true);
+ log.println("Expected result is: startPos = " + iBounds.startPos +
+ "; endPos = " + iBounds.endPos);
+ log.println("Actual result is: startPos = " + bounds.startPos
+ + "; endPos = " + bounds.endPos + " Word is: '"
+ + UnicodeString.substring(bounds.startPos, bounds.endPos) + "'");
+
+ bRes = bRes && iBounds.startPos == bounds.startPos;
+ bRes = bRes && iBounds.endPos == bounds.endPos;
+ }
+
+ tRes.tested("getWordBoundary()", bRes);
+ }
+
+ /**
+ * For every word in array obtained by <code>nextWord</code> method test
+ * get its type, passing its internal character position.<p>
+ *
+ * Has <b>OK</b> status if every word has type <code>WordType.ANY_WORD</code>
+ */
+ public void _getWordType() {
+ requiredMethod("nextWord()");
+
+ boolean bRes = true;
+
+ for(int i = 0; i < vBounds.size(); i++) {
+ // calculate middle of the word
+ Boundary iBounds = vBounds.get(i);
+ int iPos = (iBounds.endPos - iBounds.startPos) / 2
+ + iBounds.startPos;
+
+ short type = oObj.getWordType(UnicodeString, iPos, locale);
+
+ bRes = bRes && type == WordType.ANY_WORD;
+ }
+
+ tRes.tested("getWordType()", bRes);
+ }
+
+ /**
+ * For every word in array obtained by <code>nextWord</code> method test
+ * tries to determine if the character at a position starts a word.
+ * First word starting position is passed, then internal character
+ * position is passed. <p>
+ * Has <b>OK</b> status if in the first case <code>true</code>
+ * returned and in the second - <code>false</code> for every word.
+ */
+ public void _isBeginWord() {
+ requiredMethod("nextWord()");
+
+ boolean bRes = true;
+
+ for(int i = 0; i < vBounds.size(); i++) {
+ Boundary iBounds = vBounds.get(i);
+ boolean isBegin = oObj.isBeginWord(UnicodeString, iBounds.startPos,
+ locale, WordType.ANY_WORD);
+ bRes = bRes && isBegin;
+ boolean isNotBegin = !oObj.isBeginWord(UnicodeString,
+ iBounds.startPos + 1, locale, WordType.ANY_WORD);
+ bRes = bRes && isNotBegin;
+
+ log.println("At position + " + iBounds.startPos
+ + " isBeginWord? " + isBegin);
+ log.println("At position + " + (iBounds.startPos + 1)
+ + " isBeginWord? " + !isNotBegin);
+ }
+
+ tRes.tested("isBeginWord()", bRes);
+ }
+
+ /**
+ * For every word in array obtained by <code>nextWord</code> method test
+ * tries to determine if the character at a position ends a word.
+ * First word ending position is passed, then internal character
+ * position is passed. <p>
+ *
+ * Has <b>OK</b> status if in the first case <code>true</code>
+ * returned and in the second - <code>false</code> for every word.
+ */
+ public void _isEndWord() {
+ requiredMethod("nextWord()");
+
+ boolean bRes = true;
+
+ for(int i = 0; i < vBounds.size(); i++) {
+ Boundary iBounds = vBounds.get(i);
+ boolean isEnd = oObj.isEndWord(UnicodeString, iBounds.endPos,
+ locale, WordType.ANY_WORD);
+ bRes = bRes && isEnd;
+ boolean isNotEnd = !oObj.isEndWord(UnicodeString,
+ iBounds.endPos - 1, locale, WordType.ANY_WORD);
+ bRes = bRes && isNotEnd;
+
+ log.println("At position + " + iBounds.endPos
+ + " isEndWord? " + isEnd);
+ log.println("At position + " + (iBounds.endPos - 1)
+ + " isEndWord? " + !isNotEnd);
+ }
+
+ tRes.tested("isEndWord()", bRes);
+ }
+
+ ArrayList<Integer> vSentenceStart = new ArrayList<Integer>();
+ /**
+ * Tries to find all sentences starting positions passing every character
+ * as position parameter and stores them. Then tries to pass invalid
+ * position parameters.
+ *
+ * Has <b>OK</b> status if -1 is returned for wrong position arguments.
+ */
+ public void _beginOfSentence() {
+ int iPos = 0;
+ while( iPos < UnicodeString.length() ) {
+ Integer start = Integer.valueOf( oObj.beginOfSentence(UnicodeString,
+ iPos, locale) );
+ if (start.intValue() >= 0 && !vSentenceStart.contains(start) ) {
+ vSentenceStart.add( start );
+ log.println("Sentence " + vSentenceStart.size()
+ + " : start from position " + start);
+ }
+ iPos++;
+ }
+
+ //test for invalid nStartPosition
+ boolean bRes = oObj.beginOfSentence(UnicodeString, -10, locale) == -1;
+ bRes &= oObj.beginOfSentence(UnicodeString,
+ UnicodeString.length() + 1, locale) == -1;
+
+ if (!bRes) {
+ log.println("When invalid position, returned value isn't equal to -1");
+ }
+
+ tRes.tested("beginOfSentence()", bRes);
+ }
+
+ /**
+ * For every sentence starting position found in
+ * <code>beginOfSentence()</code> test tries to compute end
+ * position of a sentence and checks that the end position is
+ * greater than starting.
+ * Then wrong position arguments are passed.
+ *
+ * Has <b>OK</b> status if the end position of every sentence
+ * greater than starting and -1 returned for invalid arguments.
+ */
+ public void _endOfSentence() {
+ boolean bRes = true;
+ for(int i = 0; i < vSentenceStart.size(); i++) {
+ int start = vSentenceStart.get(i).intValue();
+ int end = oObj.endOfSentence(UnicodeString, start, locale);
+ bRes &= end > start;
+ log.println("Sentence " + i + " range is [" + start + ", "
+ + end + "]");
+ }
+
+ //test for invalid nStartPosition
+ boolean bInvRes = oObj.endOfSentence(UnicodeString, -10, locale) == -1;
+ bInvRes &= oObj.endOfSentence(UnicodeString,
+ UnicodeString.length() + 1, locale) == -1;
+
+ if (!bInvRes) {
+ log.println("When invalid position, returned value isn't equal to -1");
+ }
+
+ tRes.tested("endOfSentence()", bRes && bInvRes);
+ }
+
+ /**
+ * Tries to break a string in position other than 0 iterating characters
+ * from the string beginning (Hyphenation is not used for a while). <p>
+ *
+ * Has <b>OK</b> status if non-zero break position was found and it is
+ * less or equal than position we trying to break.
+ */
+ public void _getLineBreak() {
+ boolean bRes = true;
+ LineBreakResults lineBreakResults;
+ LineBreakHyphenationOptions lineBreakHyphenationOptions =
+ new LineBreakHyphenationOptions();
+ LineBreakUserOptions lineBreakUserOptions = new LineBreakUserOptions();
+
+ lineBreakUserOptions.applyForbiddenRules = false;
+ lineBreakUserOptions.allowHyphenateEnglish = false;
+
+ int breakPos = 0;
+ int pos = 0;
+
+ while(breakPos == 0 && pos < UnicodeString.length() ) {
+ lineBreakResults = oObj.getLineBreak(UnicodeString, pos,
+ locale, 0, lineBreakHyphenationOptions, lineBreakUserOptions);
+ breakPos = lineBreakResults.breakIndex;
+ pos++;
+ }
+
+ // finally the position of break must be found in the middle and
+ // it must be before the break position specified
+ bRes = breakPos <= pos && breakPos > 0;
+
+ if (!bRes) {
+ log.println("The last position was: " + pos
+ + ", and the break position was: " + breakPos);
+ }
+
+ tRes.tested("getLineBreak()", bRes);
+ }
+
+ // Asian type script
+ private static String katakana = new String(new char[] {0x30A1, 0x30A2}) ;
+ // Weak type script
+ private static String arrows = new String(new char[] {0x2190, 0x2191}) ;
+ // Complex type script
+ private static String arabic = new String(new char[] {0x0641, 0x0642}) ;
+
+ /**
+ * Tries to find the beginning of the nearest script specified
+ * relatively to position passed. <p>
+ * Has <b>OK</b> status if the starting position of script is returned.
+ */
+ public void _beginOfScript() {
+ String multiScript = "ab" + katakana ;
+
+ int pos = oObj.beginOfScript(multiScript, 3, ScriptType.ASIAN) ;
+
+ log.println("Position = " + pos) ;
+
+ tRes.tested("beginOfScript()", pos == 2) ;
+ }
+
+ /**
+ * Tries to find the end of the nearest script specified
+ * relatively to position passed. <p>
+ * Has <b>OK</b> status if the end position of script is returned.
+ */
+ public void _endOfScript() {
+ String multiScript = "ab" + katakana + "cd" ;
+
+ int pos = oObj.endOfScript(multiScript, 2, ScriptType.ASIAN) ;
+
+ log.println("Position = " + pos) ;
+
+ tRes.tested("endOfScript()", pos == 4) ;
+ }
+
+ /**
+ * Tries to find the next script starting position specified
+ * relatively to position passed. <p>
+ * Has <b>OK</b> status if the appropriate position is returned.
+ */
+ public void _nextScript() {
+ String multiScript = "ab" + katakana + "cd" ;
+
+ int pos = oObj.nextScript(multiScript, 0, ScriptType.LATIN) ;
+
+ log.println("Position = " + pos) ;
+
+ tRes.tested("nextScript()", pos == 4) ;
+ }
+
+ /**
+ * Tries to find the previous script starting position specified
+ * relatively to position passed. <p>
+ * Has <b>OK</b> status if the appropriate position is returned.
+ */
+ public void _previousScript() {
+ String multiScript = "ab" + katakana + "cd" ;
+
+ int pos = oObj.previousScript(multiScript, 5, ScriptType.ASIAN) ;
+
+ log.println("Position = " + pos) ;
+
+ tRes.tested("previousScript()", pos == 2) ;
+ }
+
+ /**
+ * Tries to determine script type (of all four types). <p>
+ * Has <b>OK</b> status if <code>LATIN</code> type returned
+ * for ASCII character, <code>ASIAN</code> for Katakana Unicode
+ * codepoints, <code>COMPLEX</code> for Arabic Unicode
+ * codepoints and <code>WEAK</code> for codepoints from Arrows
+ * Unicode block.
+ */
+ public void _getScriptType() {
+ boolean res = true ;
+
+ res &= oObj.getScriptType("abcd", 0) == ScriptType.LATIN ;
+ res &= oObj.getScriptType(katakana, 0) == ScriptType.ASIAN;
+ res &= oObj.getScriptType(arabic, 0) == ScriptType.COMPLEX ;
+ res &= oObj.getScriptType(arrows, 0) == ScriptType.WEAK ;
+
+ tRes.tested("getScriptType()", res) ;
+ }
+
+ boolean bCharBlockRes = true;
+
+ protected short getCharBlockType(int pos) {
+ short i = 1;
+ short cType = 0;
+ while (i < 31) {
+ if (oObj.beginOfCharBlock(UnicodeString, pos, locale, i) != -1) {
+ cType = i;
+ i = 100;
+ }
+ i++;
+ }
+
+ return cType;
+ }
+
+ ArrayList<Boundary> vCharBlockBounds = new ArrayList<Boundary>();
+ ArrayList<Short> vCharBlockTypes = new ArrayList<Short>();
+
+ /**
+ * Creates array of all char blocks with their boundaries and
+ * types using <code>beginOfCharBlock()</code> and
+ * <code>endOfCharBlock()</code> methods. <p>
+ *
+ * Has <b>OK</b> status if the end of each boundary is the same
+ * as start of the next one and if the start of the first block
+ * has position 0 and the end of the last block is at the end
+ * of the whole string.
+ */
+ public void _beginOfCharBlock() {
+ int iPos = 0;
+
+ while( iPos < UnicodeString.length() && iPos > -1) {
+ short charType = getCharBlockType(iPos);
+ int startPos = oObj.beginOfCharBlock(UnicodeString, iPos,
+ locale, charType);
+ int endPos = oObj.endOfCharBlock(UnicodeString, iPos,
+ locale, charType);
+ iPos = endPos;
+ vCharBlockBounds.add(new Boundary(startPos, endPos));
+ log.println(vCharBlockBounds.size() + "). Bounds: ["
+ + startPos + "," + endPos + "]; Type = " + charType);
+ vCharBlockTypes.add(Short.valueOf(charType));
+ }
+
+ for(int i = 0; i < vCharBlockBounds.size() - 1; i++) {
+ int endPos = vCharBlockBounds.get(i).endPos;
+ int startPos = vCharBlockBounds.get(i + 1).startPos;
+ if (endPos != startPos) {
+ bCharBlockRes = false;
+ }
+ }
+
+ log.println("Testing for no intersections : " + bCharBlockRes);
+ int startPos = vCharBlockBounds.get(0).startPos;
+ if (startPos != 0) {
+ bCharBlockRes = false;
+ }
+ int endPos = vCharBlockBounds.get
+ (vCharBlockBounds.size() - 1).endPos;
+ if (endPos != UnicodeString.length()) {
+ bCharBlockRes = false;
+ }
+ log.println("Regions should starts with 0 and ends with "
+ + UnicodeString.length());
+
+ tRes.tested("beginOfCharBlock()", bCharBlockRes);
+ }
+
+ /**
+ * Testing of this method is performed in <code>beginOfCharBlock()</code>
+ * method test. <p>
+ *
+ * Has the status same as <code>beginOfCharBlock()</code> method status.
+ */
+ public void _endOfCharBlock() {
+ requiredMethod("beginOfCharBlock()");
+ tRes.tested("endOfCharBlock()", bCharBlockRes);
+ }
+
+ /**
+ * For every character block obtained in <code>beginOfCharBlock()</code>
+ * method test (except the first) tries to find its starting position
+ * by mean of <code>nextCharBlock()</code> method passing as position
+ * argument the position before the start of a block. <p>
+ *
+ * Has <b>OK</b> status if the start of every block was found and it's
+ * equal to this block boundary start.
+ */
+ public void _nextCharBlock() {
+ requiredMethod("beginOfCharBlock()");
+
+ boolean bRes = true;
+ for(int i = 0; i < vCharBlockBounds.size(); i++) {
+ Boundary bounds = vCharBlockBounds.get(i);
+ Short type = vCharBlockTypes.get(i);
+ if (bounds.startPos - 1 < 0) continue;
+ int iPos = oObj.nextCharBlock(UnicodeString, bounds.startPos - 1,
+ locale, type.shortValue());
+ if (iPos != bounds.startPos) {
+ bRes = false;
+ log.println("nextCharBlock(UnicodeString, "
+ + (bounds.startPos - 1) + ", locale, " + type
+ + ") should return " + bounds.startPos);
+ log.println("... and actual value is " + iPos);
+ }
+ }
+
+ tRes.tested("nextCharBlock()", bRes);
+ }
+
+ /**
+ * For every character block obtained in <code>beginOfCharBlock()</code>
+ * method test (except the first) tries to find its starting position
+ * by mean of <code>previousCharBlock()</code> method passing as position
+ * argument the position after the end of a block. <p>
+ *
+ * Has <b>OK</b> status if the start of every block was found and it's
+ * equal to this block boundary start.
+ */
+ public void _previousCharBlock() {
+ requiredMethod("beginOfCharBlock()");
+
+ boolean bRes = true;
+ for(int i = 0; i < vCharBlockBounds.size(); i++) {
+ Boundary bounds = vCharBlockBounds.get(i);
+ Short type = vCharBlockTypes.get(i);
+ int iPos = oObj.previousCharBlock(UnicodeString,
+ bounds.endPos + 1, locale, type.shortValue());
+ if (iPos != bounds.startPos) {
+ bRes = false;
+ log.println("previousCharBlock(UnicodeString, "
+ + (bounds.endPos + 1) + ", locale, " + type
+ + ") should return " + bounds.startPos);
+ log.println("... and actual value is " + iPos);
+ }
+ }
+
+ tRes.tested("previousCharBlock()", bRes);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XCalendar.java b/qadevOOo/tests/java/ifc/i18n/_XCalendar.java
new file mode 100644
index 000000000..d24f20122
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XCalendar.java
@@ -0,0 +1,523 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.CalendarDisplayIndex;
+import com.sun.star.i18n.CalendarFieldIndex;
+import com.sun.star.i18n.CalendarItem;
+import com.sun.star.i18n.XCalendar;
+import com.sun.star.i18n.XLocaleData;
+import com.sun.star.lang.Locale;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.i18n.XCalendar</code>
+* interface methods :
+* <ul>
+* <li><code> loadDefaultCalendar()</code></li>
+* <li><code> loadCalendar()</code></li>
+* <li><code> getLoadedCalendar()</code></li>
+* <li><code> getAllCalendars()</code></li>
+* <li><code> getUniqueID()</code></li>
+* <li><code> setDateTime()</code></li>
+* <li><code> getDateTime()</code></li>
+* <li><code> setValue()</code></li>
+* <li><code> getValue()</code></li>
+* <li><code> isValid()</code></li>
+* <li><code> addValue()</code></li>
+* <li><code> getFirstDayOfWeek()</code></li>
+* <li><code> setFirstDayOfWeek()</code></li>
+* <li><code> setMinimumNumberOfDaysForFirstWeek()</code></li>
+* <li><code> getMinimumNumberOfDaysForFirstWeek()</code></li>
+* <li><code> getNumberOfMonthsInYear()</code></li>
+* <li><code> getNumberOfDaysInWeek()</code></li>
+* <li><code> getMonths()</code></li>
+* <li><code> getDays()</code></li>
+* <li><code> getDisplayName()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.i18n.XCalendar
+*/
+public class _XCalendar extends MultiMethodTest {
+ private boolean debug = false;
+ public XCalendar oObj = null;
+ public String[][] calendars;
+ public int[] count;
+ public double newDTime = 1000.75;
+ public short newValue = 2;
+ public short firstDay = 2;
+ public short mdfw = 3;
+ double aOriginalDTime = 0;
+ Locale[] installed_locales;
+
+ @Override
+ public void before() {
+ XLocaleData locData = null;
+ try {
+ locData = UnoRuntime.queryInterface(
+ XLocaleData.class,
+ tParam.getMSF().createInstance(
+ "com.sun.star.i18n.LocaleData"));
+
+ installed_locales = locData.getAllInstalledLocaleNames();
+ calendars = new String[installed_locales.length][];
+ count = new int[installed_locales.length];
+ } catch (com.sun.star.uno.Exception e) {
+
+ }
+
+ oObj.loadDefaultCalendar(installed_locales[0]);
+ aOriginalDTime = oObj.getDateTime();
+ debug = tParam.getBool("DebugIsActive");
+ }
+
+ /**
+ * Restore the changed time during the test to the original value of the
+ * machine: has to be correct for the following interface tests.
+ */
+ @Override
+ public void after() {
+ oObj.loadDefaultCalendar(installed_locales[0]);
+ oObj.setDateTime(aOriginalDTime);
+ }
+
+ /**
+ * Loads default calendar for different locales. <p>
+ * Has <b> OK </b> status if method loads calendar, that is
+ * default for a given locale.
+ */
+ public void _loadDefaultCalendar() {
+ boolean res = true;
+
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.loadDefaultCalendar(installed_locales[i]);
+ if (!oObj.getLoadedCalendar().Default) {
+ log.println(lang + " ... FAILED");
+ }
+ res &= oObj.getLoadedCalendar().Default;
+ }
+
+ tRes.tested("loadDefaultCalendar()", res);
+ }
+
+ /**
+ * Tries to obtain calendars for a number of locales. <p>
+ * Has <b> OK </b> status if the method returns more than zero calendars for
+ * every locale.
+ */
+ public void _getAllCalendars() {
+ boolean res = true;
+
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ calendars[i] = oObj.getAllCalendars(installed_locales[i]);
+ count[i] = calendars[i].length-1;
+ if (calendars[i].length <= 0) {
+ log.println(lang + " ... FAILED");
+ }
+ res &= (calendars[i].length > 0);
+ }
+ tRes.tested("getAllCalendars()", res);
+ }
+
+ /**
+ * Loads calendars for a number of locales. <p>
+ * Has <b> OK </b> status if loaded calendar names are equal to gotten
+ * calendar names after loading.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAllCalendars() </code> : gets all calendars for a given
+ * locale </li>
+ * </ul>
+ */
+ public void _loadCalendar() {
+ boolean res = true;
+ requiredMethod("getAllCalendars()");
+
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.loadCalendar(calendars[i][0], installed_locales[i]);
+ if (!calendars[i][0].equals(oObj.getLoadedCalendar().Name)) {
+ log.println(lang + " ... FAILED");
+ }
+ res &= calendars[i][0].equals(oObj.getLoadedCalendar().Name);
+ }
+
+ tRes.tested("loadCalendar()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if loaded calendar names are equal to gotten
+ * calendar names after loading.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> loadCalendar() </code> : loads calendar using a given name
+ * and locale </li>
+ * </ul>
+ */
+ public void _getLoadedCalendar() {
+ boolean res = true;
+
+ requiredMethod("loadCalendar()");
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.loadCalendar(calendars[i][0], installed_locales[i]);
+ if (!calendars[i][0].equals(oObj.getLoadedCalendar().Name)) {
+ log.println(lang + " ... FAILED");
+ }
+ res &= calendars[i][0].equals(oObj.getLoadedCalendar().Name);
+ }
+ tRes.tested("getLoadedCalendar()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value that's equal to a
+ * calendar name. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> loadCalendar() </code> : loads calendar using a given name
+ * and locale </li>
+ * </ul>
+ */
+ public void _getUniqueID() {
+ boolean res = true;
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.loadCalendar(calendars[i][0], installed_locales[i]);
+ String uID = oObj.getUniqueID();
+ if (!uID.equals(calendars[i][0])) {
+ log.println(lang + " ... FAILED");
+ }
+ res &= uID.equals(calendars[i][0]);
+ }
+
+ tRes.tested("getUniqueID()",res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value, that's equal to
+ * value set before. <p>
+ */
+
+ public void _setDateTime() {
+ boolean res = true;
+
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.setDateTime(newDTime);
+ double aDTime = oObj.getDateTime();
+ if (aDTime != newDTime) {
+ log.println(lang + " ... FAILED");
+ }
+ res &= (aDTime == newDTime);
+ }
+
+ tRes.tested("setDateTime()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value, that's equal to
+ * value set before. <p>
+ */
+
+ public void _getDateTime() {
+ boolean res = true;
+
+ for (int i=0; i<installed_locales.length; i++) {
+ String lang = "Language: "+installed_locales[i].Language +
+ ", Country: "+ installed_locales[i].Country +
+ ", Variant: "+ installed_locales[i].Country;
+ oObj.setDateTime(newDTime);
+ double aDTime = oObj.getDateTime();
+ if (aDTime != newDTime) {
+ log.println(lang + " ... FAILED");
+ }
+ res &= (aDTime == newDTime);
+ }
+ tRes.tested("getDateTime()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value, that's equal to
+ * value set before. <p>
+ */
+ public void _setValue() {
+ boolean res = true;
+ for (int i = 0; i < installed_locales.length; i++) {
+ String error = "";
+ String lang = "Language: " + installed_locales[i].Language + ", Country: " + installed_locales[i].Country
+ + ", Variant: " + installed_locales[i].Variant + ", Name: " + calendars[i][count[i]];
+ String[] names = new String[] { "DAY_OF_MONTH", "HOUR", "MINUTE", "SECOND", "MILLISECOND", "YEAR",
+ "MONTH" };
+ oObj.loadCalendar(calendars[i][count[i]], installed_locales[i]);
+ short[] fields = new short[] { CalendarFieldIndex.DAY_OF_MONTH, CalendarFieldIndex.HOUR,
+ CalendarFieldIndex.MINUTE, CalendarFieldIndex.SECOND, CalendarFieldIndex.MILLISECOND,
+ CalendarFieldIndex.YEAR, CalendarFieldIndex.MONTH };
+ for (int k = 0; k < fields.length; k++) {
+
+ oObj.setDateTime(0.0);
+
+ // save the current values for debug purposes
+ short[] oldValues = new short[fields.length];
+ for (int n = 0; n < oldValues.length; n++) {
+ oldValues[n] = oObj.getValue(fields[n]);
+ }
+
+ short set = oObj.getValue(fields[k]);
+ if (fields[k] == CalendarFieldIndex.MONTH)
+ set = newValue;
+ oObj.setValue(fields[k], set);
+ short get = oObj.getValue(fields[k]);
+ if (get != set) {
+ if (debug)
+ log.println("ERROR occurred: tried to set " + names[k] + " to value " + set);
+ log.println("list of values BEFORE set " + names[k] + " to value " + set + ":");
+ for (int n = 0; n < oldValues.length; n++) {
+ log.println(names[n] + ":" + oldValues[n]);
+ }
+ log.println("list of values AFTER set " + names[k] + " to value " + set + ":");
+ for (int n = 0; n < fields.length; n++) {
+ log.println(names[n] + ":" + oObj.getValue(fields[n]));
+ }
+
+ error += "failed for " + names[k] + " expected " + set + " gained " + get + " ; \n";
+ }
+ }
+ if (error.equals("")) {
+ log.println(lang + " ... OK");
+ } else {
+ log.println("*** " + lang + " ... FAILED ***");
+ log.println(error);
+ }
+ res &= error.equals("");
+ }
+
+ tRes.tested("setValue()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value, that's equal to
+ * value set before. <p>
+ */
+
+ public void _getValue() {
+ boolean res = true;
+
+ requiredMethod("setValue()");
+ short aValue = oObj.getValue(CalendarFieldIndex.MONTH);
+ res &= (aValue == newValue);
+ if (!res){
+ log.println("the returned value is not the expected value:");
+ log.println("expected: " + newValue + " returned value: " + aValue);
+ }
+ tRes.tested("getValue()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if value, added by the method is greater than
+ * previously defined "newValue".
+ * <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getValue() </code> : gets the value of a field </li>
+ * </ul>
+ */
+ public void _addValue() {
+ boolean res = true;
+
+ requiredMethod("getValue()");
+ oObj.addValue(CalendarFieldIndex.MONTH, 1);
+ short aValue = oObj.getValue(CalendarFieldIndex.MONTH);
+ res &= (aValue > newValue);
+ if (!res){
+ log.println("the returned value is not the expected value:");
+ log.println("expected: " + newValue + " returned value: " + aValue);
+ }
+ tRes.tested("addValue()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setFirstDayOfWeek() {
+ boolean res = true;
+
+ oObj.setFirstDayOfWeek(firstDay);
+ res &= true;
+ tRes.tested("setFirstDayOfWeek()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value that is equal to
+ * value set before. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFirstDayOfWeek() </code> : set the first day of a
+ * week</li>
+ * </ul>
+ */
+ public void _getFirstDayOfWeek() {
+ boolean res = true;
+
+ requiredMethod("setFirstDayOfWeek()");
+ short aFirstDayOfWeek = oObj.getFirstDayOfWeek();
+ res &= (aFirstDayOfWeek == firstDay);
+ tRes.tested("getFirstDayOfWeek()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown.
+ */
+ public void _setMinimumNumberOfDaysForFirstWeek() {
+ boolean res = true;
+
+ oObj.setMinimumNumberOfDaysForFirstWeek(mdfw);
+ res &= true;
+ tRes.tested("setMinimumNumberOfDaysForFirstWeek()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns value that is equal to
+ * value set before. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setMinimumNumberOfDaysForFirstWeek() </code> : sets how
+ * many days of a week must reside in the first week of a year</li>
+ * </ul>
+ */
+ public void _getMinimumNumberOfDaysForFirstWeek() {
+ boolean res = true;
+
+ requiredMethod("setMinimumNumberOfDaysForFirstWeek()");
+ short aShort = oObj.getMinimumNumberOfDaysForFirstWeek();
+ res &= (aShort == mdfw);
+ tRes.tested("getMinimumNumberOfDaysForFirstWeek()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns 12.
+ */
+ public void _getNumberOfMonthsInYear() {
+ boolean res = true;
+ short aShort = oObj.getNumberOfMonthsInYear();
+
+ res &= (aShort == (short) 12);
+ tRes.tested("getNumberOfMonthsInYear()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns 7.
+ */
+ public void _getNumberOfDaysInWeek() {
+ boolean res = true;
+ short aShort = oObj.getNumberOfDaysInWeek();
+
+ res &= (aShort == (short) 7);
+ tRes.tested("getNumberOfDaysInWeek()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if length of array, returned by the method is 12.
+ */
+ public void _getMonths() {
+ boolean res = true;
+ CalendarItem[] months = oObj.getMonths();
+
+ res &= (months.length == 12);
+ tRes.tested("getMonths()", res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if length of array, returned by the method is 7.
+ */
+ public void _getDays() {
+ boolean res = true;
+ CalendarItem[] Days = oObj.getDays();
+
+ res &= (Days.length == 7);
+ tRes.tested("getDays()", res);
+ }
+
+ /**
+ * After loading calendar, test calls the method, then result is checked.<p>
+ * Has <b> OK </b> status if length of string, returned by the method is 3.
+ */
+ public void _getDisplayName() {
+ boolean res = true;
+
+ oObj.loadCalendar(calendars[0][0],installed_locales[0]);
+ String DisplayName = oObj.getDisplayName(CalendarDisplayIndex.MONTH,
+ newValue, (short) 0);
+ res &= (DisplayName.length() == 3);
+ tRes.tested("getDisplayName()", res);
+ }
+
+
+ /**
+ * The test sets obviously wrong value, then calls a method. After that the
+ * test sets correct value, and again calls a method. <p>
+ * Has <b> OK </b> status if the method returns true when valid month is
+ * set, and if the method returns false when set month is not valid.
+ */
+ public void _isValid() {
+ boolean res = true;
+
+ oObj.loadDefaultCalendar(installed_locales[0]);
+ oObj.setValue(CalendarFieldIndex.MONTH, (short) 37);
+ res &= !oObj.isValid();
+ oObj.setValue(CalendarFieldIndex.MONTH, (short) 10);
+ res &= oObj.isValid();
+
+ tRes.tested("isValid()", res);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XCharacterClassification.java b/qadevOOo/tests/java/ifc/i18n/_XCharacterClassification.java
new file mode 100644
index 000000000..37d5efb9b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XCharacterClassification.java
@@ -0,0 +1,398 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.KParseTokens;
+import com.sun.star.i18n.KParseType;
+import com.sun.star.i18n.ParseResult;
+import com.sun.star.i18n.XCharacterClassification;
+import com.sun.star.lang.Locale;
+
+/**
+ * Testing <code>com.sun.star.i18n.XCharacterClassification</code>
+ * interface methods:
+ * <ul>
+ * <li><code> toUpper() </code></li>
+ * <li><code> toLower() </code></li>
+ * <li><code> toTitle() </code></li>
+ * <li><code> getType() </code></li>
+ * <li><code> getCharacterType() </code></li>
+ * <li><code> getStringType() </code></li>
+ * <li><code> getCharacterDirection() </code></li>
+ * <li><code> getScript() </code></li>
+ * <li><code> parseAnyToken() </code></li>
+ * <li><code> parsePredefinedToken() </code></li>
+ * </ul><p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.i18n.XCharacterClassification
+ */
+public class _XCharacterClassification extends MultiMethodTest {
+ public XCharacterClassification oObj = null;
+ public String[] languages = new String[]{"de","en","es","fr","ja","ko","zh"};
+ public String[] countries = new String[]{"DE","US","ES","FR","JP","KR","CN"};
+
+ public String[] charstyles_office = new String[] {"UNASSIGNED","UPPERCASE_LETTER",
+ "LOWERCASE_LETTER","TITLECASE_LETTER","MODIFIER_LETTER","OTHER_LETTER",
+ "NON_SPACING_MARK","ENCLOSING_MARK","COMBINING_SPACING_MARK",
+ "DECIMAL_DIGIT_NUMBER","LETTER_NUMBER","OTHER_NUMBER","SPACE_SEPARATOR",
+ "LINE_SEPARATOR","PARAGRAPH_SEPARATOR","CONTROL","FORMAT","PRIVATE_USE",
+ "OTHER_PUNCTUATION","DASH_PUNCTUATION","START_PUNCTUATION","END_PUNCTUATION",
+ "CONNECTOR_PUNCTUATION",
+ "OTHER_PUNCTUATION","MATH_SYMBOL","CURRENCY_SYMBOL","MODIFIER_SYMBOL",
+ "OTHER_SYMBOL","INITIAL_PUNCTUATION","FINAL_PUNCTUATION","GENERAL_TYPES_COUNT"};
+
+ public String[] unicode_script = new String[] {"U_BASIC_LATIN","U_LATIN_1_SUPPLEMENT",
+ "U_LATIN_EXTENDED_A","U_LATIN_EXTENDED_B","U_IPA_EXTENSIONS","U_SPACING_MODIFIER_LETTERS",
+ "U_COMBINING_DIACRITICAL_MARKS","U_GREEK","U_CYRILLIC","U_ARMENIAN","U_HEBREW",
+ "U_ARABIC","U_SYRIAC","U_THAANA","U_DEVANAGARI","U_BENGALI","U_GURMUKHI",
+ "U_GUJARATI","U_ORIYA","U_TAMIL","U_TELUGU","U_KANNADA","U_MALAYALAM",
+ "U_SINHALA","U_THAI","U_LAO","U_TIBETAN","U_MYANMAR","U_GEORGIAN",
+ "U_HANGUL_JAMO","U_ETHIOPIC","U_CHEROKEE","U_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS",
+ "U_OGHAM","U_RUNIC","U_KHMER","U_MONGOLIAN","U_LATIN_EXTENDED_ADDITIONAL",
+ "U_GREEK_EXTENDED","U_GENERAL_PUNCTUATION","U_SUPERSCRIPTS_AND_SUBSCRIPTS",
+ "U_CURRENCY_SYMBOLS","U_COMBINING_MARKS_FOR_SYMBOLS","U_LETTERLIKE_SYMBOLS",
+ "U_NUMBER_FORMS","U_ARROWS","U_MATHEMATICAL_OPERATORS","U_MISCELLANEOUS_TECHNICAL",
+ "U_CONTROL_PICTURES","U_OPTICAL_CHARACTER_RECOGNITION","U_ENCLOSED_ALPHANUMERICS",
+ "U_BOX_DRAWING","U_BLOCK_ELEMENTS","U_GEOMETRIC_SHAPES","U_MISCELLANEOUS_SYMBOLS",
+ "U_DINGBATS","U_BRAILLE_PATTERNS","U_CJK_RADICALS_SUPPLEMENT","U_KANGXI_RADICALS",
+ "U_IDEOGRAPHIC_DESCRIPTION_CHARACTERS","U_CJK_SYMBOLS_AND_PUNCTUATION",
+ "U_HIRAGANA","U_KATAKANA","U_BOPOMOFO","U_HANGUL_COMPATIBILITY_JAMO","U_KANBUN",
+ "U_BOPOMOFO_EXTENDED","U_ENCLOSED_CJK_LETTERS_AND_MONTHS","U_CJK_COMPATIBILITY",
+ "U_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A","U_CJK_UNIFIED_IDEOGRAPHS","U_YI_SYLLABLES",
+ "U_YI_RADICALS","U_HANGUL_SYLLABLES","U_HIGH_SURROGATES","U_HIGH_PRIVATE_USE_SURROGATES",
+ "U_LOW_SURROGATES","U_PRIVATE_USE_AREA","U_CJK_COMPATIBILITY_IDEOGRAPHS",
+ "U_ALPHABETIC_PRESENTATION_FORMS","U_ARABIC_PRESENTATION_FORMS_A","U_COMBINING_HALF_MARKS",
+ "U_CJK_COMPATIBILITY_FORMS","U_SMALL_FORM_VARIANTS","U_ARABIC_PRESENTATION_FORMS_B",
+ "U_SPECIALS","U_HALFWIDTH_AND_FULLWIDTH_FORMS","U_CHAR_SCRIPT_COUNT","U_NO_SCRIPT"};
+
+ /**
+ * Test calls the method for different locales. Then each result is compared
+ * with a string, converted to a upper case using
+ * <code>String</code> method <code>toUpperCase()</code>.<p>
+ * Has <b> OK </b> status if string, returned by the method is equal to
+ * a string that is returned by String.toUpperCase() for all locales.
+ */
+ public void _toUpper() {
+ boolean res = true;
+ char[] characters = new char[]{586,65,97,498,721,4588,772,8413,3404};
+ String toCheck = new String(characters);
+ String get = "";
+ String exp = "";
+
+ for (int i=0;i<7;i++) {
+ get = oObj.toUpper(toCheck, 0, toCheck.length(), getLocale(i));
+ exp = toCheck.toUpperCase(
+ new java.util.Locale(languages[i], countries[i]));
+ res &= get.equals(exp);
+ if (!res) {
+ log.println("FAILED for: language=" + languages[i] +
+ " ; country=" + countries[i]);
+ log.println("Expected: " + exp);
+ log.println("Gained : " + get);
+ }
+ }
+ tRes.tested("toUpper()", res);
+ }
+
+ /**
+ * Test calls the method for different locales. Then each result is compared
+ * with a string, converted to a lower case using
+ * <code>String</code> method <code>toLowerCase()</code>.<p>
+ * Has <b> OK </b> status if string, returned by the method is equal to
+ * a string that is returned by String.toLowerCase() for all locales.
+ */
+ public void _toLower() {
+ boolean res = true;
+ char[] characters = new char[]{586,65,97,498,721,4588,772,8413,3404};
+ String toCheck = new String(characters);
+ String get = "";
+ String exp = "";
+
+ for (int i=0;i<7;i++) {
+ get = oObj.toLower(toCheck,0,toCheck.length(),getLocale(i));
+ exp = toCheck.toLowerCase(
+ new java.util.Locale(languages[i],countries[i]));
+ res &= get.equals(exp);
+ if (!res) {
+ log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ log.println("Expected: " + exp);
+ log.println("Gained : " + get);
+ }
+ }
+ tRes.tested("toLower()", res);
+ }
+
+ /**
+ * Test calls the method for different locales. Then each result is compared
+ * with a string, converted to a title case using
+ * <code>java.lang.Character</code> method <code>toTitleCase()</code>.<p>
+ * Has <b> OK </b> status if string, returned by the method is equal to
+ * a string that was converted using Character.toTitleCase() for all locales.
+ */
+ public void _toTitle() {
+ boolean res = true;
+ String toCheck = new String(new char[]{8112});
+ String get = "";
+ String exp = "";
+
+ for (int i=0;i<7;i++) {
+ get = oObj.toTitle(toCheck, 0, 1, getLocale(i));
+ exp = new String(
+ new char[]{Character.toTitleCase(toCheck.toCharArray()[0])});
+ res &= get.equals(exp);
+ if (!res) {
+ log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ log.println("Expected: " + exp);
+ log.println("Gained : " + get);
+ }
+ }
+ tRes.tested("toTitle()", res);
+ }
+
+ /**
+ * At first we define <code>int[]</code> and <code>char[]</code> arrays of
+ * unicode symbol numbers, arranged as sequences, where symbols are sorted
+ * by type, so the character of <code>i<sup><small>th</small></sup></code>
+ * type is located on <code>i<sup><small>th</small></sup></code> position.<p>
+ * Has <b> OK </b> status if for all 30 types the method returns value, that
+ * is equal to an element number.<p>
+ * @see com.sun.star.i18n.CharType
+ */
+ public void _getType() {
+ boolean res = true;
+ char[] characters = new char[]{586,65,97,498,721,4588,772,8413,3404,
+ 48,8544,179,32,8232,8233,144,8204,57344,56320,173,40,41,95,3852,247,
+ 3647,901,3896,171,187};
+ int[] charsInt = new int[]{586,65,97,498,721,4588,772,8413,3404,48,
+ 8544,179,32,8232,8233,144,8204,57344,56320,173,40,41,95,3852,247,
+ 3647,901,3896,171,187};
+ String toCheck = new String(characters);
+
+ for (int i=0;i<characters.length;i++) {
+ int get = oObj.getType(toCheck, i);
+ res &= charstyles_office[get].equals(charstyles_office[i]);
+ if (!res) {
+ log.println("Code :" + Integer.toHexString(charsInt[i]));
+ log.println("Gained: " + charstyles_office[get]);
+ log.println("Expected : " + charstyles_office[i]);
+ }
+ }
+ tRes.tested("getType()", res);
+ }
+
+ /**
+ * After defining string to be checked and array of expected types, test
+ * calls the method for each character of a string and for all locales.<p>
+ * Has <b> OK </b> status if the method returns type, expected for a given
+ * character and locale.
+ */
+ public void _getCharacterType() {
+ boolean res = true;
+ String toCheck = "Ab0)";
+ int[] expected = new int[]{226,228,97,32};
+
+ for (int i=0;i<toCheck.length();i++) {
+ for (int j=1;j<7;j++) {
+ int get = oObj.getCharacterType(toCheck, i, getLocale(j));
+ res &= (get == expected[i]);
+ if (!res) {
+ log.println("FAILED for: language=" + languages[j] +
+ " ; country=" + countries[j]);
+ log.println("Symbol :" + toCheck.toCharArray()[i]);
+ log.println("Gained: " + get);
+ log.println("Expected : " + expected[i]);
+ }
+ }
+ }
+ tRes.tested("getCharacterType()", res);
+ }
+
+ /**
+ * After defining array of strings to be checked and array of expected types,
+ * test calls the method for each string of an array and for all locales.<p>
+ * Has <b> OK </b> status if the method returns type, expected for a given
+ * string and locale.
+ */
+ public void _getStringType() {
+ boolean res = true;
+ String[] toCheck = new String[]{"01234","AAAAA","bbbbb","AA()bb"};
+ int[] exp = new int[]{97,226,228,230};
+
+ for (int j=0;j<toCheck.length;j++) {
+ for (int i=0;i<7;i++) {
+ int get = oObj.getStringType(toCheck[j], 0,
+ toCheck[j].length(), getLocale(i));
+ res &= (get == exp[j]);
+ if (!res) {
+ log.println("FAILED for: language=" + languages[i] +
+ " ; country=" + countries[i]);
+ log.println("Expected: " + exp[j]);
+ log.println("Gained : " + get);
+ }
+ }
+ }
+ tRes.tested("getStringType()", res);
+ }
+
+ /**
+ * After string to be checked is initialized (all symbols are sorted
+ * by direction, so the character of <code>i<sup><small>th</small></sup></code>
+ * direction is located on <code>i<sup><small>th</small></sup></code>
+ * position), test calls the method for every character of that string. <p>
+ * Has <b> OK </b> status if the method returns direction, that's equal to
+ * a symbol position in the string.
+ */
+ public void _getCharacterDirection() {
+ boolean res = true;
+ String toCheck = new String(new char[]{65,1470,48,47,35,1632,44,10,
+ 9,12,33,8234,8237,1563,8235,8238,8236,768,1});
+ for (short i=0;i<19;i++) {
+ short get = oObj.getCharacterDirection(toCheck, i);
+ res &= (get == i);
+ if (!res) {
+ log.println("Code :" + toCheck.toCharArray()[i]);
+ log.println("Gained: " + get);
+ log.println("Expected: " + i);
+ }
+ }
+ tRes.tested("getCharacterDirection()", res);
+ }
+
+ /**
+ * At first we define <code>int[]</code> and <code>char[]</code> arrays of
+ * unicode symbol numbers, arranged as sequences, where symbols are sorted
+ * by type, so the character of <code>i<sup><small>th</small></sup></code>
+ * type is located on <code>i<sup><small>th</small></sup></code> position.<p>
+ * Has <b> OK </b> status if for each character method returns value, that
+ * is equal to a number where element is located in array. Also method has
+ * <b> OK </b> status for symbol with code 55296, because it doesn't work
+ * since it hasn't the right neighborhood.<p>
+ * @see "http://ppewww.ph.gla.ac.uk/~flavell/unicode/unidata.html"
+ */
+ public void _getScript() {
+ boolean res = true;
+ char[] characters = new char[]{65,128,256,384,592,750,773,924,1030,1331,1448,
+ 1569,1792,1936,2313,2465,2570,2707,2822,2972,3079,3240,3337,3464,3590,
+ 3745,3906,4097,4274,4357,4621,5040,5200,5776,5806,6030,6155,7683,7943,
+ 8202,8319,8352,8413,8452,8545,8616,8715,8965,9217,9281,9336,9474,9608,9719,
+ 9734,9999,10247,11911,12034,12274,12294,12358,12456,12552,12605,12688,12727,
+ 12806,13065,13312,19968,40964,42152,44032,55296,56192,56320,57344,63744,
+ 64257,64370,65056,65073,65131,65146,65532,65288};
+ int[] charsInt = new int[]{65,128,256,384,592,750,773,924,1030,1331,1448,
+ 1569,1792,1936,2313,2465,2570,2707,2822,2972,3079,3240,3337,3464,3590,
+ 3745,3906,4097,4274,4357,4621,5040,5200,5776,5806,6030,6155,7683,7943,
+ 8202,8319,8352,8413,8452,8545,8616,8715,8965,9217,9281,9336,9474,9608,9719,
+ 9734,9999,10247,11911,12034,12274,12294,12358,12456,12552,12605,12688,12727,
+ 12806,13065,13312,19968,40964,42152,44032,55296,56192,56320,57344,63744,
+ 64257,64370,65056,65073,65131,65146,65532,65288};
+ String toCheck = new String(characters);
+
+ for (int i=0;i<characters.length;i++) {
+ int get = oObj.getScript(toCheck, i);
+ res &= (get == i);
+ //The HIGH_SURROGATE 55296 doesn't work since it hasn't the right
+ //neighborhood
+ if (toCheck.substring(i, i + 1).hashCode() == 55296) res = true;
+ if (!res) {
+ log.println("-- " + toCheck.substring(i, i + 1).hashCode());
+ log.println("Code: " + Integer.toHexString(charsInt[i]));
+ log.println("Gained: " + unicode_script[get]);
+ log.println("Expected: " + unicode_script[i]);
+ }
+ }
+ tRes.tested("getScript()", res);
+ }
+
+ /**
+ * After defining a string to be parsed and parse conditions (flags), test
+ * calls the method for different locales three times with different parameters,
+ * checking result after every call. <p>
+ * Has <b> OK </b> status if the method returns right results all three
+ * times.
+ */
+ public void _parseAnyToken() {
+ int nStartFlags = KParseTokens.ANY_ALPHA | KParseTokens.ASC_UNDERSCORE;
+ int nContFlags = KParseTokens.ANY_ALNUM | KParseTokens.ASC_UNDERSCORE
+ | KParseTokens.ASC_DOT;
+ String toCheck = " 18 i18n ^";
+ ParseResult pRes = null;
+ boolean res = true;
+
+ for (int i=0;i<7;i++) {
+ pRes = oObj.parseAnyToken(toCheck, 1, getLocale(i),
+ nStartFlags, "", nContFlags, "");
+ res = ( (pRes.CharLen==2)
+ && (pRes.TokenType==32)
+ && (pRes.Value==18.0) );
+ pRes = oObj.parseAnyToken(toCheck, 4, getLocale(i),
+ nStartFlags, "", nContFlags, "");
+ res &= ( (pRes.CharLen==4)
+ && (pRes.TokenType==4)
+ && (pRes.Value==0.0) );
+ pRes = oObj.parseAnyToken(toCheck, 9, getLocale(i),
+ nStartFlags, "", nContFlags, "");
+ res &= ( (pRes.CharLen==1)
+ && (pRes.TokenType==1)
+ && (pRes.Value==0.0) );
+ }
+ tRes.tested("parseAnyToken()", res);
+ }
+
+ /**
+ * After defining a string to be parsed and parse conditions (flags), test
+ * calls the method for different locales two times with different parameters,
+ * checking result after every call. <p>
+ * Has <b> OK </b> status if the method returns right results.
+ */
+ public void _parsePredefinedToken() {
+ int nStartFlags = KParseTokens.ANY_ALPHA | KParseTokens.ASC_UNDERSCORE;
+ int nContFlags = nStartFlags;
+ String toCheck = " 18 int";
+ ParseResult pRes = null;
+ boolean res = true;
+
+ for (int i=0;i<7;i++) {
+ pRes = oObj.parsePredefinedToken(KParseType.IDENTNAME, toCheck,
+ 1, getLocale(i), nStartFlags, "", nContFlags, "");
+ res = (pRes.CharLen==0);
+ pRes = oObj.parsePredefinedToken(KParseType.IDENTNAME, toCheck,
+ 4, getLocale(i), nStartFlags, "", nContFlags, "");
+ res &= ( (pRes.CharLen==3)
+ && (pRes.TokenType==4)
+ && (pRes.Value==0.0) );
+ }
+ tRes.tested("parsePredefinedToken()", res);
+ }
+
+
+ /**
+ * Method returns locale for a given language and country.
+ * @param k index of needed locale.
+ */
+ private Locale getLocale(int k) {
+ return new Locale(languages[k],countries[k],"");
+ }
+
+
+} // end XCharacterClassification
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XCollator.java b/qadevOOo/tests/java/ifc/i18n/_XCollator.java
new file mode 100644
index 000000000..a9eece7f7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XCollator.java
@@ -0,0 +1,422 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.i18n;
+
+import java.text.Collator;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.CollatorOptions;
+import com.sun.star.i18n.XCollator;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XCollator</code>
+* interface methods :
+* <ul>
+* <li><code> compareSubstring()</code></li>
+* <li><code> compareString()</code></li>
+* <li><code> loadDefaultCollator()</code></li>
+* <li><code> loadCollatorAlgorithm()</code></li>
+* <li><code> listCollatorAlgorithms()</code></li>
+* <li><code> loadCollatorAlgorithmWithEndUserOption()</code></li>
+* <li><code> listCollatorOptions()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.i18n.XCollator
+*/
+public class _XCollator extends MultiMethodTest {
+ public XCollator oObj = null;
+ private String[] alg = null ;
+ Locale loc = new Locale("en", "EN", "");
+
+ /**
+ * Just retrieves a list of algorithms. <p>
+ * Has <b>OK</b> status if non-zero length array returned.
+ */
+ public void _listCollatorAlgorithms() {
+ alg = oObj.listCollatorAlgorithms(loc) ;
+ log.println("Collator algorithms :");
+ if (alg != null) {
+ for (int i = 0; i < alg.length; i++) {
+ log.println(" '" + alg[i] + "'") ;
+ }
+ tRes.tested("listCollatorAlgorithms()", alg.length > 0) ;
+ } else {
+ tRes.tested("listCollatorAlgorithms()", false) ;
+ }
+ }
+
+ /**
+ * Just gets a list of options for some collator. <p>
+ * Has <b>OK</b> status if not null value returned.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> listCollatorAlgorithms </code> : to have some
+ * algorithm name. </li>
+ * </ul>
+ */
+ public void _listCollatorOptions() {
+ requiredMethod("listCollatorAlgorithms()") ;
+ int[] opt = oObj.listCollatorOptions(alg[0]) ;
+ log.println("Collator '" + alg[0] + "' options :");
+ if (opt != null) {
+ for (int i = 0; i < opt.length; i++) {
+ log.println(" " + opt[i]) ;
+ }
+ tRes.tested("listCollatorOptions()", true) ;
+ } else {
+ tRes.tested("listCollatorOptions()", false) ;
+ }
+ }
+
+ /**
+ * Calls the method with no options and with options(IGNORE_CASE),
+ * compares strings.<p>
+ * Has <b>OK</b> status if compareString() returned correct values.
+ */
+ public void _loadDefaultCollator() {
+ oObj.loadDefaultCollator(loc, 0);
+ boolean res = oObj.compareString("A", "a") != 0;
+ oObj.loadDefaultCollator(loc,
+ CollatorOptions.CollatorOptions_IGNORE_CASE);
+ res &= oObj.compareString("a", "A") == 0;
+ tRes.tested("loadDefaultCollator()", res) ;
+ }
+
+ /**
+ * Calls the method with no options and with options(IGNORE_CASE),
+ * compares strings.<p>
+ * Has <b>OK</b> status if compareString() returned correct values.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> listCollatorAlgorithms </code> : to have some
+ * algorithm name. </li>
+ * </ul>
+ */
+ public void _loadCollatorAlgorithm() {
+ requiredMethod("listCollatorAlgorithms()");
+ oObj.loadCollatorAlgorithm(alg[0], loc,
+ CollatorOptions.CollatorOptions_IGNORE_CASE);
+ boolean res = oObj.compareString("A", "a") == 0;
+ oObj.loadCollatorAlgorithm(alg[0], loc, 0);
+ res &= oObj.compareString("a", "A") != 0;
+ tRes.tested("loadCollatorAlgorithm()", res);
+ }
+
+ /**
+ * Calls the method with no options and with options(IGNORE_CASE),
+ * compares strings.<p>
+ * Has <b>OK</b> status if compareString() returned correct values.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> listCollatorAlgorithms </code> : to have some
+ * algorithm name. </li>
+ * </ul>
+ */
+ public void _loadCollatorAlgorithmWithEndUserOption() {
+ requiredMethod("listCollatorAlgorithms()");
+ oObj.loadCollatorAlgorithmWithEndUserOption(alg[0], loc,
+ new int[] {0});
+ boolean res = oObj.compareString("A", "a") != 0;
+ oObj.loadCollatorAlgorithmWithEndUserOption(alg[0], loc,
+ new int[] {CollatorOptions.CollatorOptions_IGNORE_CASE});
+ res = oObj.compareString("A", "a") == 0;
+ tRes.tested("loadCollatorAlgorithmWithEndUserOption()", res);
+ }
+
+ /**
+ * Test is performed for locales : en, ru, ja, zh, ko.
+ * Default collator is loaded for each locale. Then collation
+ * is performed for different combination of symbols from range of
+ * this locale.<p>
+ * Has <b>OK</b> status if comparing of different strings
+ * returns not 0 value, then comparing in the opposite
+ * order returns value with opposite sign, and comparing
+ * of two equal strings returns 0. The such comparing is performed
+ * for one character strings.
+ */
+ public void _compareSubstring() {
+ boolean result = true ;
+ char[] chars = new char[2] ;
+ Collator col = null ;
+
+ log.println(" #### Testing English locale ####") ;
+ oObj.loadDefaultCollator(loc, 0) ;
+ col = Collator.getInstance(new java.util.Locale("en", "EN")) ;
+ for (char ch = 0x0020; ch < 0x007F; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareSubstring(chars, col) ;
+ }
+
+ log.println(" #### Testing Russian locale ####") ;
+ oObj.loadDefaultCollator(
+ new com.sun.star.lang.Locale("ru", "RU", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ru", "RU")) ;
+ for (char ch = 0x0410; ch < 0x0450; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareSubstring(chars, col) ;
+ }
+
+ log.println(" #### Testing Japan locale ####") ;
+ oObj.loadDefaultCollator(
+ new com.sun.star.lang.Locale("ja", "JP", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ja", "JP")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareSubstring(chars, col) ;
+ }
+
+ log.println(" #### Testing China locale ####") ;
+ oObj.loadDefaultCollator(new Locale("zh", "CN", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("zh", "CN")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareSubstring(chars, col) ;
+ }
+
+ log.println(" #### Testing Korean locale ####") ;
+ oObj.loadDefaultCollator(new Locale("ko", "KR", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ko", "KR")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareSubstring(chars, col) ;
+ }
+
+ tRes.tested("compareSubstring()", result) ;
+ }
+
+ /**
+ * Test is performed for locales : en, ru, ja, zh, ko.
+ * Default collator is loaded for each locale. Then collation
+ * is performed for different combination of symbols from range of
+ * this locale.<p>
+ * Has <b>OK</b> status if comparing of different strings
+ * returns not 0 value, then comparing in the opposite
+ * order returns value with opposite sign, and comparing
+ * of two equal strings returns 0. The such comparing is performed
+ * for one character strings.
+ */
+ public void _compareString() {
+ boolean result = true ;
+ char[] chars = new char[2] ;
+ Collator col = null ;
+ log.println(" #### Testing English locale ####") ;
+ oObj.loadDefaultCollator(
+ new com.sun.star.lang.Locale("en", "EN", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("en", "EN")) ;
+ for (char ch = 0x0020; ch < 0x007F; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareString(chars, col) ;
+ }
+
+ log.println(" #### Testing Russian locale ####") ;
+ oObj.loadDefaultCollator(
+ new com.sun.star.lang.Locale("ru", "RU", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ru", "RU")) ;
+ for (char ch = 0x0410; ch < 0x0450; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareString(chars, col) ;
+ }
+
+ log.println(" #### Testing Japan locale ####") ;
+ oObj.loadDefaultCollator(
+ new com.sun.star.lang.Locale("ja", "JP", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ja", "JP")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareString(chars, col) ;
+ }
+
+ log.println(" #### Testing China locale ####") ;
+ oObj.loadDefaultCollator(new Locale("zh", "CN", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("zh", "CN")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareString(chars, col) ;
+ }
+
+ log.println(" #### Testing Korean locale ####") ;
+ oObj.loadDefaultCollator(new Locale("ko", "KR", ""), 0) ;
+ col = Collator.getInstance(new java.util.Locale("ko", "KR")) ;
+ for (char ch = 0x4E00; ch < 0x4EFD; ch ++) {
+ chars[0] = ch ; chars[1] = (char) (ch + 1) ;
+ result &= testCompareString(chars, col) ;
+ }
+
+ tRes.tested("compareString()", result) ;
+ }
+
+
+ /**
+ * Testing compareString() method. At first method is testing single chars
+ * comparing, then strings comparing.
+ * @param locChar sequence of at list two characters of a given locale
+ * to be used in comparing.
+ * @param col Collator for a given locale
+ * @return true if:
+ * <ol>
+ * <li> if comparing of two identical characters returns zero</li>
+ * <li> if comparing of two different characters returns non zero</li>
+ * <li> if comparing of two identical strings, composed of given chars
+ * returns zero</li>
+ * <li> if comparing of two different strings, composed of given chars
+ * returns non zero</li>
+ * </ol>
+ */
+ public boolean testCompareString(char[] locChar, Collator col) {
+ boolean result = true;
+ int res;
+ String msg = "";
+
+ String char0 = "_"+new String(new char[] {locChar[0]});
+ String char1 = "_"+new String(new char[] {locChar[1]});
+ res = oObj.compareString(char0 , char0) ;
+ if (res != 0) {
+ msg += " Testing collation of single equal characters ("
+ + toUnicode(char0) + ") ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ res = oObj.compareString(char0, char1) ;
+ if (res == 0) {
+ msg += " Testing collation of single different" +
+ " characters (" + toUnicode(char0+char1) +
+ ") ... FAILED (0 returned)\n" ;
+ msg += " Java collator returned " +
+ col.compare(char0, char1) + "\n" ;
+ result = false ;
+ } else { // opposite order - sum of results must be 0
+ res += oObj.compareString(char1, char0) ;
+ if (res != 0) {
+ msg += " Testing collation of single different" +
+ " characters (" + toUnicode(char0+char1) +
+ ") ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ }
+
+ String str1 = new String(new char[] {locChar[0], locChar[0],
+ locChar[1], locChar[1], locChar[1]}) ;
+ String str2 = new String(new char[] {locChar[0], locChar[0],
+ locChar[0], locChar[1], locChar[1]}) ;
+
+ res = oObj.compareString(str1 , str1) ;
+ if (res != 0) {
+ msg += " Testing collation of equal strings (" +
+ toUnicode(str1) + ") ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ res = oObj.compareString(str1, str2) ;
+ if (res == 0) {
+ msg += " Testing collation of different strings ((" +
+ toUnicode(str1) + "),(" + toUnicode(str2) +
+ ")) ... FAILED (0 returned)\n" ;
+ msg += " Java collator returned " +
+ col.compare(str1, str2) + "\n" ;
+ result = false ;
+ } else { // opposite order - sum of results must be
+ res += oObj.compareString(str2, str1) ;
+ if (res != 0) {
+ msg += " Testing collation of different strings ((" +
+ toUnicode(str1) + "),(" + toUnicode(str2) +
+ ")) ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ }
+
+ if (!result) {
+ log.println(msg) ;
+ }
+ return result ;
+ }
+
+
+ /**
+ * Testing compareSubstring() method. Method is testing substrings comparing.
+ * @param locChar sequence of at list two characters of a given locale
+ * to be used in comparing.
+ * @param col Collator for a given locale
+ * @return true if:
+ * <ol>
+ * <li> if comparing of two identical substrings of strings, composed
+ * of given chars returns zero</li>
+ * <li> if comparing of two different substrings of strings, composed
+ * of given chars returns non zero</li>
+ * </ol>
+ */
+ public boolean testCompareSubstring(char[] locChar, Collator col) {
+ boolean result = true ;
+ int res ;
+ String msg = "" ;
+
+ String str1 = new String(new char[] {locChar[0], locChar[0],
+ locChar[1], locChar[1], locChar[1]}) ;
+ String str2 = new String(new char[] {locChar[0], locChar[0],
+ locChar[0], locChar[1], locChar[1]}) ;
+
+ res = oObj.compareSubstring(str1, 1, 2 , str2, 2, 2) ;
+ if (res != 0) {
+ msg += " Testing collation of equal substrings (" +
+ toUnicode(str1) + ") ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ res = oObj.compareSubstring(str1, 1, 2, str2, 1, 2) ;
+ if (res == 0) {
+ msg += " Testing collation of different strings ((" +
+ toUnicode(str1.substring(1, 3)) + "),(" +
+ toUnicode(str2.substring(1, 3))
+ + ")) ... FAILED (0 returned)\n" ;
+ msg += " Java collator returned " + col.compare
+ (str1.substring(1, 3), str2.substring(1, 3)) + "\n" ;
+ result = false ;
+ } else { // opposite order - sum of results must be
+ res += oObj.compareSubstring(str2, 1, 2, str1, 1, 2) ;
+ if (res != 0) {
+ msg += " Testing collation of different strings ((" +
+ toUnicode(str1) + "),(" + toUnicode(str2) +
+ ")) ... FAILED\n" ;
+ }
+ result &= res == 0 ;
+ }
+
+ if (!result) {
+ log.println(msg) ;
+ }
+ return result ;
+ }
+
+
+ /**
+ * Transforms string to unicode hex codes.
+ * @param str String to be transformed
+ */
+ public String toUnicode(String str) {
+ char[] chars = str.toCharArray() ;
+ StringBuilder res = new StringBuilder();
+ for (int i = 0; i < chars.length; i++) {
+ if (i != 0) {
+ res.append(",");
+ }
+ res.append(Integer.toHexString(chars[i]));
+ }
+ return res.toString();
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XExtendedCalendar.java b/qadevOOo/tests/java/ifc/i18n/_XExtendedCalendar.java
new file mode 100644
index 000000000..bd190241c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XExtendedCalendar.java
@@ -0,0 +1,125 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.i18n;
+
+import com.sun.star.i18n.CalendarDisplayCode;
+import com.sun.star.i18n.NativeNumberMode;
+import com.sun.star.i18n.XExtendedCalendar;
+import com.sun.star.i18n.XLocaleData;
+import com.sun.star.lang.Locale;
+import com.sun.star.uno.UnoRuntime;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import lib.MultiMethodTest;
+
+/**
+ *
+ */
+public class _XExtendedCalendar extends MultiMethodTest {
+ public XExtendedCalendar oObj = null;
+ boolean useUSENLocale = false;
+ /**
+ * Load a calendar
+ */
+ @Override
+ public void before() throws Exception {
+ Locale[] installed_locales = null;
+ XLocaleData locData = UnoRuntime.queryInterface(
+ XLocaleData.class,
+ tParam.getMSF().createInstance(
+ "com.sun.star.i18n.LocaleData"));
+
+ installed_locales = locData.getAllInstalledLocaleNames();
+ // use first Locale as fallback, if US-English is not found
+ Locale lo = installed_locales[0];
+ for (int i=0; i<installed_locales.length; i++) {
+ // search for "en" and "US"
+ if (installed_locales[i].Language.equals("en") &&
+ installed_locales[i].Country.equals("US")) {
+ lo = installed_locales[i];
+ useUSENLocale = true;
+ }
+ }
+ log.println("Choose Locale: '" + lo.Language + "', '" + lo.Country + "'");
+ oObj.loadDefaultCalendar(lo);
+ }
+
+
+ public void _getDisplayString() {
+ // against regression: the current state is the right one.
+ boolean result = true;
+ String[] displayString = new String[6];
+ // build the defaults with the Java Calendar functions
+ String[] expectedStringResult = new String[6];
+ Calendar cal = new GregorianCalendar();
+ Date actualDate = cal.getTime();
+
+ SimpleDateFormat sdf = getSDF("yy");
+ expectedStringResult[0] = "AD" + sdf.format(actualDate);
+
+ sdf = getSDF("yyyy");
+ expectedStringResult[1] = "AD" + sdf.format(actualDate);
+
+ sdf = getSDF("MM");
+ expectedStringResult[2] = sdf.format(actualDate);
+
+ int month = cal.get(Calendar.MONTH) + 1;
+ String quarter = "Q1";
+ String longQuarter = "1st quarter";
+ if (month > 3 && month < 7) { quarter = "Q2"; longQuarter = "2nd quarter"; }
+ else if (month > 6 && month < 10) { quarter = "Q3"; longQuarter = "3rd quarter"; }
+ else if (month > 10 && month < 13) {quarter = "Q4"; longQuarter = "4th quarter"; }
+ expectedStringResult[3] = quarter;
+ expectedStringResult[4] = longQuarter;
+
+ sdf = getSDF("MMMM");
+ expectedStringResult[5] = sdf.format(actualDate);
+
+ displayString[0] = oObj.getDisplayString(CalendarDisplayCode.SHORT_YEAR_AND_ERA, NativeNumberMode.NATNUM0);
+ displayString[1] = oObj.getDisplayString(CalendarDisplayCode.LONG_YEAR_AND_ERA, NativeNumberMode.NATNUM0);
+ displayString[2] = oObj.getDisplayString(CalendarDisplayCode.LONG_MONTH, NativeNumberMode.NATNUM0);
+ displayString[3] = oObj.getDisplayString(CalendarDisplayCode.SHORT_QUARTER, NativeNumberMode.NATNUM0);
+ displayString[4] = oObj.getDisplayString(CalendarDisplayCode.LONG_QUARTER, NativeNumberMode.NATNUM0);
+ displayString[5] = oObj.getDisplayString(CalendarDisplayCode.LONG_MONTH_NAME, NativeNumberMode.NATNUM0);
+
+ for (int i=0; i<displayString.length; i++) {
+ boolean locResult = false;
+ if (useUSENLocale) {
+ locResult = displayString[i].equals(expectedStringResult[i]);
+ if (!locResult)
+ log.println("getDisplayString() result " + i + ": '" + displayString[i]
+ + "', expected: '" + expectedStringResult[i] + "'");
+ result &= locResult;
+ }
+ else { // no defaults for other locales, just expect a String
+ locResult &= displayString[i] != null;
+ if (!locResult)
+ log.println("getDisplayString() result " + i + " was 'null'");
+ result &= locResult;
+ }
+ }
+ tRes.tested("getDisplayString()", result);
+ }
+
+ private SimpleDateFormat getSDF(String format){
+ if (useUSENLocale) return new SimpleDateFormat(format, java.util.Locale.US);
+ return new SimpleDateFormat(format);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/i18n/_XExtendedIndexEntrySupplier.java b/qadevOOo/tests/java/ifc/i18n/_XExtendedIndexEntrySupplier.java
new file mode 100644
index 000000000..7793a8cdd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XExtendedIndexEntrySupplier.java
@@ -0,0 +1,311 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.i18n;
+
+import com.sun.star.i18n.CollatorOptions;
+import com.sun.star.i18n.XExtendedIndexEntrySupplier;
+import com.sun.star.lang.Locale;
+
+import java.util.HashMap;
+
+import lib.MultiMethodTest;
+
+
+public class _XExtendedIndexEntrySupplier extends MultiMethodTest {
+ public XExtendedIndexEntrySupplier oObj;
+ protected Locale[] locales = null;
+ protected HashMap<Integer, String[]> algorithms = new HashMap<Integer, String[]>();
+
+ public void _compareIndexEntry() {
+ requiredMethod("getIndexKey()");
+ Locale locale = new Locale("zh", "CN", "");
+ String val1 = new String(new char[]{UnicodeStringPair.getUnicodeValue(0), UnicodeStringPair.getUnicodeValue(1)});
+ String val2 = new String(new char[]{UnicodeStringPair.getUnicodeValue(1), UnicodeStringPair.getUnicodeValue(0)});
+ short result1 = oObj.compareIndexEntry(val1, "", locale, val1, "", locale);
+ short result2 = oObj.compareIndexEntry(val1, "", locale, val2, "", locale);
+ short result3 = oObj.compareIndexEntry(val2, "", locale, val1, "", locale);
+
+ tRes.tested("compareIndexEntry()", result1 == 0 && result2 + result3 == 0);
+ }
+
+ /*
+ * gets the list of all algorithms for each listed language
+ * is OK if everyone of the returned lists are filled
+ */
+ public void _getAlgorithmList() {
+ requiredMethod("getLocaleList()");
+
+ boolean result = true;
+
+ for (int i = 0; i < locales.length; i++) {
+ String[] algNames = oObj.getAlgorithmList(locales[i]);
+ algorithms.put(Integer.valueOf(i), algNames);
+
+ boolean locResult = algNames.length > 0;
+ System.out.println("Locale " + i + ": " + locales[i].Country+","+locales[i].Language);
+
+ for (int j=0; j<algNames.length; j++) {
+ System.out.println("\tAlgorithm " + j + ": " + algNames[j]);
+ }
+
+ if (!locResult) {
+ log.println("No Algorithm found for " + locales[i].Country +
+ "," + locales[i].Language);
+ }
+
+ result &= locResult;
+ }
+
+ tRes.tested("getAlgorithmList()", result);
+ }
+
+ public void _getIndexKey() {
+ requiredMethod("loadAlgorithm()");
+ char[] characters = new char[] { 19968 };
+ String getIndexFor = new String(characters);
+ for (int i = 0; i < locales.length; i++) {
+ log.println("Language: " + locales[i].Language);
+
+ for (int j = 0; j < algorithms.size(); j++) {
+ String[] algs = algorithms.get(Integer.valueOf(j));
+ for (int k=0;k<algs.length;k++) {
+ log.println("\t Algorithm :" +
+ algs[k]);
+ oObj.loadAlgorithm(locales[i], algs[k], CollatorOptions.CollatorOptions_IGNORE_CASE);
+ log.println("\t\t Get: " +
+ oObj.getIndexKey(getIndexFor, "", locales[i]));
+ }
+ }
+ }
+ tRes.tested("getIndexKey()", true);
+ }
+
+ /*
+ * gets a list of all locales, is OK if this list isn't empty
+ */
+ public void _getLocaleList() {
+ locales = oObj.getLocaleList();
+ tRes.tested("getLocaleList()", locales.length > 0);
+ }
+
+ /*
+ * gets one phonetic candidate for the chinese local
+ * is ok if 'yi' is returned as expected.
+ */
+ public void _getPhoneticCandidate() {
+ requiredMethod("getLocaleList()");
+
+ boolean res = true;
+
+ Locale loc = new Locale("zh", "CN", "");
+
+ for (int i = 0;i<UnicodeStringPair.getValCount();i++) {
+
+ char[] c = new char[]{UnicodeStringPair.getUnicodeValue(i)};
+
+ String getting = oObj.getPhoneticCandidate(new String(c), loc);
+
+ boolean locResult = getting.equals(UnicodeStringPair.getExpectedPhoneticString(i));
+
+ if (!locResult) {
+ log.println("Char: "+ c[0] + " (" + (int)c[0] + ")");
+ log.println("Expected " + UnicodeStringPair.getExpectedPhoneticString(i));
+ log.println("Getting " + getting);
+ }
+
+ res &= locResult;
+ }
+ tRes.tested("getPhoneticCandidate()", res);
+ }
+
+ /*
+ * loads all algorithms available in all language.
+ * Is OK if no exception occurs and the method returns
+ * true for each valid algorithm and false otherwise
+ */
+ public void _loadAlgorithm() {
+ requiredMethod("getAlgorithmList()");
+
+ boolean res = true;
+
+ for (int i = 0; i < algorithms.size(); i++) {
+ String[] names = algorithms.get(Integer.valueOf(i));
+ log.println("loading algorithms for " + locales[i].Country +
+ "," + locales[i].Language);
+
+ for (int j = 0; j < names.length; j++) {
+ log.println("\t Loading " + names[j]);
+
+ boolean localres = oObj.loadAlgorithm(locales[i], names[j],
+ CollatorOptions.CollatorOptions_IGNORE_CASE);
+
+ if (!localres) {
+ log.println("\t ... didn't work - FAILED");
+ } else {
+ log.println("\t ... worked - OK");
+ }
+
+ res &= localres;
+ }
+ }
+
+ tRes.tested("loadAlgorithm()", res);
+ }
+
+ /*
+ * checks the method usePhoneticEntry(). Only the languages ja, ko and zh
+ * should return true. Has OK state if exactly this is the case.
+ */
+ public void _usePhoneticEntry() {
+ requiredMethod("getLocaleList()");
+
+ boolean res = true;
+
+ for (int i = 0; i < locales.length; i++) {
+ boolean expected = false;
+
+ if (locales[i].Language.equals("ja") ||
+ locales[i].Language.equals("ko") ||
+ locales[i].Language.equals("zh")) {
+ expected = true;
+ }
+
+ boolean locResult = oObj.usePhoneticEntry(locales[i]) == expected;
+
+ if (!locResult) {
+ log.println("Failure for language " + locales[i].Language);
+ log.println("Expected " + expected);
+ log.println("Getting " + oObj.usePhoneticEntry(locales[i]));
+ }
+
+ res &= locResult;
+ }
+
+ tRes.tested("usePhoneticEntry()", res);
+ }
+
+ /**
+ * Helper class to handle the phonetic equivalence of unicode characters
+ * This class delivers an amount of unicode characters and the equivalent phonetics
+ * for the "getPhoneticCandidate" test. Equivalents are only usable for zh,CN locale.
+ */
+ public static class UnicodeStringPair {
+ static final int valCount = 78;
+ static final String[] sStringEquivalence = new String[valCount];
+ static final char[] iUnicodeEquivalence = new char[valCount];
+
+ static {
+ fillValues();
+ }
+
+ public static int getValCount() {
+ return valCount;
+ }
+
+ public static String getExpectedPhoneticString(int index) {
+ if (index >= valCount) return null;
+ return sStringEquivalence[index];
+ }
+
+ public static char getUnicodeValue(int index) {
+ if (index > valCount) return 0;
+ return iUnicodeEquivalence[index];
+ }
+
+ private static void fillValues() {
+ iUnicodeEquivalence[0] = 20049; sStringEquivalence[0] = "zhong";
+ iUnicodeEquivalence[1] = 19968; sStringEquivalence[1] = "yi";
+ iUnicodeEquivalence[2] = 19969; sStringEquivalence[2] = "ding";
+ iUnicodeEquivalence[3] = 19970; sStringEquivalence[3] = "kao";
+ iUnicodeEquivalence[4] = 19971; sStringEquivalence[4] = "qi";
+ iUnicodeEquivalence[5] = 19972; sStringEquivalence[5] = "shang";
+ iUnicodeEquivalence[6] = 19973; sStringEquivalence[6] = "xia";
+ iUnicodeEquivalence[7] = 19975; sStringEquivalence[7] = "wan";
+ iUnicodeEquivalence[8] = 19976; sStringEquivalence[8] = "zhang";
+ iUnicodeEquivalence[9] = 19977; sStringEquivalence[9] = "san";
+ iUnicodeEquivalence[10] = 19978; sStringEquivalence[10] = "shang";
+ iUnicodeEquivalence[11] = 19979; sStringEquivalence[11] = "xia";
+ iUnicodeEquivalence[12] = 19980; sStringEquivalence[12] = "ji";
+ iUnicodeEquivalence[13] = 19981; sStringEquivalence[13] = "bu";
+ iUnicodeEquivalence[14] = 19982; sStringEquivalence[14] = "yu";
+ iUnicodeEquivalence[15] = 19983; sStringEquivalence[15] = "mian";
+ iUnicodeEquivalence[16] = 19984; sStringEquivalence[16] = "gai";
+ iUnicodeEquivalence[17] = 19985; sStringEquivalence[17] = "chou";
+ iUnicodeEquivalence[18] = 19986; sStringEquivalence[18] = "chou";
+ iUnicodeEquivalence[19] = 19987; sStringEquivalence[19] = "zhuan";
+ iUnicodeEquivalence[20] = 19988; sStringEquivalence[20] = "qie";
+ iUnicodeEquivalence[21] = 19989; sStringEquivalence[21] = "pi";
+ iUnicodeEquivalence[22] = 19990; sStringEquivalence[22] = "shi";
+ iUnicodeEquivalence[23] = 19991; sStringEquivalence[23] = "shi";
+ iUnicodeEquivalence[24] = 19992; sStringEquivalence[24] = "qiu";
+ iUnicodeEquivalence[25] = 19993; sStringEquivalence[25] = "bing";
+ iUnicodeEquivalence[26] = 19994; sStringEquivalence[26] = "ye";
+ iUnicodeEquivalence[27] = 19995; sStringEquivalence[27] = "cong";
+ iUnicodeEquivalence[28] = 19996; sStringEquivalence[28] = "dong";
+ iUnicodeEquivalence[29] = 19997; sStringEquivalence[29] = "si";
+ iUnicodeEquivalence[30] = 19998; sStringEquivalence[30] = "cheng";
+ iUnicodeEquivalence[31] = 19999; sStringEquivalence[31] = "diu";
+ iUnicodeEquivalence[32] = 20000; sStringEquivalence[32] = "qiu";
+ iUnicodeEquivalence[33] = 20001; sStringEquivalence[33] = "liang";
+ iUnicodeEquivalence[34] = 20002; sStringEquivalence[34] = "diu";
+ iUnicodeEquivalence[35] = 20003; sStringEquivalence[35] = "you";
+ iUnicodeEquivalence[36] = 20004; sStringEquivalence[36] = "liang";
+ iUnicodeEquivalence[37] = 20005; sStringEquivalence[37] = "yan";
+ iUnicodeEquivalence[38] = 20006; sStringEquivalence[38] = "bing";
+ iUnicodeEquivalence[39] = 20007; sStringEquivalence[39] = "sang";
+ iUnicodeEquivalence[40] = 20008; sStringEquivalence[40] = "shu";
+ iUnicodeEquivalence[41] = 20009; sStringEquivalence[41] = "jiu";
+ iUnicodeEquivalence[42] = 20010; sStringEquivalence[42] = "ge";
+ iUnicodeEquivalence[43] = 20011; sStringEquivalence[43] = "ya";
+ iUnicodeEquivalence[44] = 20012; sStringEquivalence[44] = "qiang";
+ iUnicodeEquivalence[45] = 20013; sStringEquivalence[45] = "zhong";
+ iUnicodeEquivalence[46] = 20014; sStringEquivalence[46] = "ji";
+ iUnicodeEquivalence[47] = 20015; sStringEquivalence[47] = "jie";
+ iUnicodeEquivalence[48] = 20016; sStringEquivalence[48] = "feng";
+ iUnicodeEquivalence[49] = 20017; sStringEquivalence[49] = "guan";
+ iUnicodeEquivalence[50] = 20018; sStringEquivalence[50] = "chuan";
+ iUnicodeEquivalence[51] = 20019; sStringEquivalence[51] = "chan";
+ iUnicodeEquivalence[52] = 20020; sStringEquivalence[52] = "lin";
+ iUnicodeEquivalence[53] = 20021; sStringEquivalence[53] = "zhuo";
+ iUnicodeEquivalence[54] = 20022; sStringEquivalence[54] = "zhu";
+ iUnicodeEquivalence[55] = 20024; sStringEquivalence[55] = "wan";
+ iUnicodeEquivalence[56] = 20025; sStringEquivalence[56] = "dan";
+ iUnicodeEquivalence[57] = 20026; sStringEquivalence[57] = "wei";
+ iUnicodeEquivalence[58] = 20027; sStringEquivalence[58] = "zhu";
+ iUnicodeEquivalence[59] = 20028; sStringEquivalence[59] = "jing";
+ iUnicodeEquivalence[60] = 20029; sStringEquivalence[60] = "li";
+ iUnicodeEquivalence[61] = 20030; sStringEquivalence[61] = "ju";
+ iUnicodeEquivalence[62] = 20031; sStringEquivalence[62] = "pie";
+ iUnicodeEquivalence[63] = 20032; sStringEquivalence[63] = "fu";
+ iUnicodeEquivalence[64] = 20033; sStringEquivalence[64] = "yi";
+ iUnicodeEquivalence[65] = 20034; sStringEquivalence[65] = "yi";
+ iUnicodeEquivalence[66] = 20035; sStringEquivalence[66] = "nai";
+ iUnicodeEquivalence[67] = 20037; sStringEquivalence[67] = "jiu";
+ iUnicodeEquivalence[68] = 20038; sStringEquivalence[68] = "jiu";
+ iUnicodeEquivalence[69] = 20039; sStringEquivalence[69] = "tuo";
+ iUnicodeEquivalence[70] = 20040; sStringEquivalence[70] = "me";
+ iUnicodeEquivalence[71] = 20041; sStringEquivalence[71] = "yi";
+ iUnicodeEquivalence[72] = 20043; sStringEquivalence[72] = "zhi";
+ iUnicodeEquivalence[73] = 20044; sStringEquivalence[73] = "wu";
+ iUnicodeEquivalence[74] = 20045; sStringEquivalence[74] = "zha";
+ iUnicodeEquivalence[75] = 20046; sStringEquivalence[75] = "hu";
+ iUnicodeEquivalence[76] = 20047; sStringEquivalence[76] = "fa";
+ iUnicodeEquivalence[77] = 20048; sStringEquivalence[77] = "le";
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/i18n/_XExtendedTransliteration.java b/qadevOOo/tests/java/ifc/i18n/_XExtendedTransliteration.java
new file mode 100644
index 000000000..001936927
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XExtendedTransliteration.java
@@ -0,0 +1,86 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.i18n;
+
+import com.sun.star.i18n.TransliterationModules;
+import com.sun.star.i18n.XExtendedTransliteration;
+import com.sun.star.lang.Locale;
+import lib.MultiMethodTest;
+
+/**
+ *
+ */
+public class _XExtendedTransliteration extends MultiMethodTest {
+ public XExtendedTransliteration oObj = null;
+ private final Locale loc = new Locale("en", "US", "") ;
+
+ @Override
+ public void before() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+ }
+
+ /**
+ * Check lowercase - uppercase conversion of chars
+ */
+ public void _transliterateChar2Char() {
+ boolean result = true;
+ char in = 'a';
+ char out = ' ';
+ try {
+ out = oObj.transliterateChar2Char(in) ;
+ result &= out == 'A';
+ in = '$'; // should not be changed
+ out = oObj.transliterateChar2Char(in) ;
+ result &= out == '$';
+ }
+ catch(com.sun.star.i18n.MultipleCharsOutputException e) {
+ e.printStackTrace(log);
+ }
+ tRes.tested("transliterateChar2Char()", result);
+ }
+
+ /**
+ * Check lowercase - uppercase conversion of char to string
+ */
+ public void _transliterateChar2String() {
+ boolean result = true;
+ char in = 'a';
+ String out = null;
+ out = oObj.transliterateChar2String('a') ;
+ result &= out.equals("A");
+ in = '$'; // should not be changed
+ out = oObj.transliterateChar2String(in) ;
+ result &= out.equals("$");
+ tRes.tested("transliterateChar2String()", result);
+ }
+
+ /**
+ * Check lowercase - uppercase conversion of strings
+ */
+ public void _transliterateString2String() {
+ boolean result = true;
+ String in = "aAbBcC";
+ String out = null;
+ out = oObj.transliterateString2String(in, 0, 6) ;
+ result &= out.equals("AABBCC");
+ in = "$"; // should not be changed
+ out = oObj.transliterateString2String(in, 0, 1) ;
+ result &= out.equals("$");
+ tRes.tested("transliterateString2String()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/i18n/_XIndexEntrySupplier.java b/qadevOOo/tests/java/ifc/i18n/_XIndexEntrySupplier.java
new file mode 100644
index 000000000..31eac7bf6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XIndexEntrySupplier.java
@@ -0,0 +1,98 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.XIndexEntrySupplier;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XIndexEntrySupplier</code>
+* interface methods:
+* <ul>
+* <li><code> getIndexCharacter() </code></li>
+* <li><code> getIndexFollowPageWord() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.i18n.XIndexEntrySupplier
+*/
+public class _XIndexEntrySupplier extends MultiMethodTest {
+ public XIndexEntrySupplier oObj = null;
+ public String[] languages = new String[]{"de","en","es","fr","ja","ko","zh"};
+ public String[] countries = new String[]{"DE","US","ES","FR","JP","KR","CN"};
+ public String[] onePage = new String[]{"f.","p."," s."," sv","p.","",""};
+ public String[] morePages = new String[]{"ff.","pp."," ss."," sv","pp.","",""};
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if the method returns right index for several
+ * locales and word.
+ */
+ public void _getIndexCharacter() {
+ boolean res = true;
+ log.println("getIndexCharacter('chapter', getLocale(i), '')");
+ for (int i=0; i<7; i++) {
+ log.print("getIndexCharacter('chapter', " + countries[i] + ") :");
+ String get = oObj.getIndexCharacter("chapter", getLocale(i), "");
+ log.println(get);
+ res &= get.equals("C");
+ }
+ tRes.tested("getIndexCharacter()", res);
+ }
+
+ /**
+ * Test calls the method with two different parameters: for one page and
+ * for several pages, after every call result is checked. <p>
+ * Has <b> OK </b> status if method returns right index for several locales.
+ */
+ public void _getIndexFollowPageWord() {
+ boolean res = true;
+
+ for (int i=0; i<7; i++) {
+ String get = oObj.getIndexFollowPageWord(true, getLocale(i));
+ if (! get.equals(morePages[i]) ) {
+ log.println("Language: " + languages[i]);
+ log.println("Getting: #" + get + "#");
+ log.println("Expected: #" + morePages[i] + "#");
+ }
+ res &= get.equals(morePages[i]);
+ get = oObj.getIndexFollowPageWord(false,getLocale(i));
+ if (! get.equals(onePage[i]) ) {
+ log.println("Language: " + languages[i]);
+ log.println("Getting: #" + get + "#");
+ log.println("Expected: #" + onePage[i] + "#");
+ }
+ res &= get.equals(onePage[i]);
+ }
+ tRes.tested("getIndexFollowPageWord()", res);
+ }
+
+ /**
+ * Method returns locale for a given language and country.
+ * @param k index of needed locale.
+ * @return Locale by the index from arrays defined above
+ */
+ public Locale getLocale(int k) {
+ return new Locale(languages[k], countries[k], "");
+ }
+
+
+} // end XIndexEntrySupplier
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XLocaleData.java b/qadevOOo/tests/java/ifc/i18n/_XLocaleData.java
new file mode 100644
index 000000000..e7060dcb2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XLocaleData.java
@@ -0,0 +1,467 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.Calendar;
+import com.sun.star.i18n.Currency;
+import com.sun.star.i18n.ForbiddenCharacters;
+import com.sun.star.i18n.FormatElement;
+import com.sun.star.i18n.Implementation;
+import com.sun.star.i18n.LanguageCountryInfo;
+import com.sun.star.i18n.LocaleDataItem;
+import com.sun.star.i18n.XLocaleData;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XLocaleData</code>
+* interface methods:
+* <ul>
+* <li><code> getLanguageCountryInfo() </code></li>
+* <li><code> getLocaleItem() </code></li>
+* <li><code> getAllCalendars() </code></li>
+* <li><code> getAllCurrencies() </code></li>
+* <li><code> getAllFormats() </code></li>
+* <li><code> getCollatorImplementations() </code></li>
+* <li><code> getSearchOptions() </code></li>
+* <li><code> getCollationOptions() </code></li>
+* <li><code> getTransliterations() </code></li>
+* <li><code> getForbiddenCharacters() </code></li>
+* <li><code> getReservedWord() </code></li>
+* <li><code> getAllInstalledLocaleNames() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.i18n.XLocaleData
+*/
+public class _XLocaleData extends MultiMethodTest {
+ public XLocaleData oObj = null;
+ public String[] languages = new String[]{"de","en","es","fr","ja","ko","ko"};
+ public String[] countries = new String[]{"DE","US","ES","FR","JP","KR","KR"};
+
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if structure, returned by the method includes
+ * correct values of fields 'Language' and 'Country' for all given locales.
+ */
+ public void _getLanguageCountryInfo() {
+ boolean res = true;
+ LanguageCountryInfo lci = null;
+
+ for (int i=0;i<7;i++) {
+ lci = oObj.getLanguageCountryInfo(getLocale(i));
+ /* For debug purposes
+ log.println("Using: language="+languages[i]+" ; country="+countries[i]);
+ log.println("Getting: ");
+ log.println("\t Language="+lci.Language);
+ log.println("\t LanguageDefaultName="+lci.LanguageDefaultName);
+ log.println("\t Country="+lci.Country);
+ log.println("\t CountryDefaultName="+lci.CountryDefaultName);
+ boolean lang = ( lci.Language.equals(languages[i]) );
+ if (!lang) log.println("getting false for language: "+lci.LanguageDefaultName);
+ lang = ( lci.Country.equals(countries[i]) );
+ if (!lang) log.println("getting false for country: "+lci.CountryDefaultName);
+ */
+ res &= ( ( lci.Language.equals(languages[i]) ) && ( lci.Country.equals(countries[i]) ) );
+ }
+ tRes.tested("getLanguageCountryInfo()",res);
+ }
+
+ /**
+ * Test calls the method, then result is checked. <p>
+ * Has <b> OK </b> status if structure, returned by the method consists of
+ * non empty strings for all given locales.
+ */
+ public void _getLocaleItem() {
+ boolean res = true;
+ LocaleDataItem ldi = null;
+
+ for (int i=0;i<7;i++) {
+ ldi = oObj.getLocaleItem(getLocale(i));
+
+ boolean locRes = true ;
+
+ locRes &= (! ldi.dateSeparator.equals(""));
+ locRes &= (! ldi.decimalSeparator.equals(""));
+ locRes &= (! ldi.doubleQuotationEnd.equals(""));
+ locRes &= (! ldi.doubleQuotationStart.equals(""));
+ locRes &= (! ldi.listSeparator.equals(""));
+ locRes &= (! ldi.LongDateDayOfWeekSeparator.equals(""));
+ locRes &= (! ldi.LongDateDaySeparator.equals(""));
+ locRes &= (! ldi.LongDateMonthSeparator.equals(""));
+ locRes &= (! ldi.LongDateYearSeparator.equals(""));
+ locRes &= (! ldi.measurementSystem.equals(""));
+ locRes &= (! ldi.quotationEnd.equals(""));
+ locRes &= (! ldi.quotationStart.equals(""));
+ locRes &= (! ldi.thousandSeparator.equals(""));
+ locRes &= (! ldi.time100SecSeparator.equals(""));
+ locRes &= (! ldi.timeAM.equals(""));
+ locRes &= (! ldi.timePM.equals(""));
+ locRes &= (! ldi.timeSeparator.equals(""));
+ locRes &= (! ldi.unoID.equals(""));
+
+ if (!locRes) {
+ /* for debugging purposes
+ log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
+ log.println("Getting: ");
+ log.println("\t DateSeparator="+ldi.dateSeparator);
+ log.println("\t decimalSeparator="+ldi.decimalSeparator);
+ log.println("\t doubleQuotationEnd="+ldi.doubleQuotationEnd);
+ log.println("\t doubleQuotationStart="+ldi.doubleQuotationStart);
+ log.println("\t listSeparator="+ldi.listSeparator);
+ log.println("\t LongDateDayOfWeekSeparator="+ldi.LongDateDayOfWeekSeparator+"end");
+ log.println("\t LongDateDaySeparator="+ldi.LongDateDaySeparator+"end");
+ log.println("\t LongDateMonthSeparator="+ldi.LongDateMonthSeparator+"end");
+ log.println("\t LongDateYearSeparator="+ldi.LongDateYearSeparator+"end");
+ log.println("\t measurementSystem="+ldi.measurementSystem);
+ log.println("\t quotationEnd="+ldi.quotationEnd);
+ log.println("\t quotationStart="+ldi.quotationStart);
+ log.println("\t thousandSeparator="+ldi.thousandSeparator);
+ log.println("\t time100SecSeparator="+ldi.time100SecSeparator);
+ log.println("\t timeAM="+ldi.timeAM);
+ log.println("\t timePM="+ldi.timePM);
+ log.println("\t timeSeparator="+ldi.timeSeparator);
+ log.println("\t unoID="+ldi.unoID);
+ */
+ }
+ }
+ tRes.tested("getLocaleItem()",res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all elements of the returned sequence are
+ * correct for all given locales. (boolean method goodCalendar() with a
+ * calendar as an argument returns true)
+ */
+ public void _getAllCalendars() {
+ boolean res = true;
+ boolean printit = false;
+
+ for (int i=0;i<7;i++) {
+ Calendar[] calendar = oObj.getAllCalendars(getLocale(i));
+ for (int j=0;j<calendar.length;j++) {
+ if (! goodCalendar(calendar[j]) ) {
+ printit = true;
+ }
+ res &= goodCalendar(calendar[j]);
+ }
+ if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
+ printit = false;
+ }
+ tRes.tested("getAllCalendars()", res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all elements of the returned sequence are
+ * correct for all given locales. (boolean method goodCurrency() with a
+ * currency as an argument returns true)
+ */
+ public void _getAllCurrencies() {
+ boolean res = true;
+ boolean printit = false;
+
+ for (int i=0;i<7;i++) {
+ Currency[] currency = oObj.getAllCurrencies(getLocale(i));
+ for (int j=0;j<currency.length;j++) {
+ if (! goodCurrency(currency[j]) ) {
+ printit=true;
+ }
+ res &= goodCurrency(currency[j]);
+ }
+ if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
+ printit =false;
+ }
+ tRes.tested("getAllCurrencies()",res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all elements of the returned sequence are
+ * correct for all given locales. (boolean method goodFormat() with a
+ * format as an argument returns true)
+ */
+ public void _getAllFormats() {
+ boolean res = true;
+ boolean printit = false;
+
+ for (int i=0;i<7;i++) {
+ FormatElement[] format = oObj.getAllFormats(getLocale(i));
+ for (int j=0;j<format.length;j++) {
+ if (! goodFormat(format[j]) ) {
+ printit = true;
+ }
+ res &= goodFormat(format[j]);
+ }
+ if (printit) log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
+ printit =false;
+ }
+ tRes.tested("getAllFormats()",res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all structs, returned by the method have non
+ * empty field 'UnoID' for all given locales.
+ */
+ public void _getCollatorImplementations() {
+ boolean res = true;
+ boolean printit = false;
+
+ for (int i=0;i<7;i++) {
+ Implementation[] impl = oObj.getCollatorImplementations(getLocale(i));
+ for (int j=0;j<impl.length;j++) {
+ if (impl[j].unoID.equals("")) {
+ printit = true;
+ }
+ res &= (!impl[j].unoID.equals(""));
+ }
+ if (printit) log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ printit = false;
+ }
+ tRes.tested("getCollatorImplementations()", res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all strings, returned by the method are not
+ * empty for all given locales.
+ */
+ public void _getSearchOptions() {
+ boolean res = true;
+ boolean printit = false;
+
+ for (int i=0;i<7;i++) {
+ String[] str = oObj.getSearchOptions(getLocale(i));
+ for (int j=0;j<str.length;j++) {
+ if (str[j].equals("")) {
+ printit = true;
+ }
+ res &= (!str[j].equals(""));
+ }
+ if (printit) log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ printit = false;
+ }
+ tRes.tested("getSearchOptions()",res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all strings, returned by the method are not
+ * empty for all given locales.
+ */
+ public void _getCollationOptions() {
+ boolean res = true;
+ boolean printit = false;
+
+ for (int i=0;i<7;i++) {
+ String[] str = oObj.getCollationOptions(getLocale(i));
+ for (int j=0;j<str.length;j++) {
+ if (str[j].equals("")) {
+ printit = true;
+ }
+ res &= (!str[j].equals(""));
+ }
+ if (printit) log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ printit = false;
+ }
+ tRes.tested("getCollationOptions()", res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all strings, returned by the method are not
+ * empty for all given locales.
+ */
+ public void _getTransliterations() {
+ boolean res = true;
+ boolean printit = false;
+
+ for (int i=0;i<7;i++) {
+ String[] str = oObj.getTransliterations(getLocale(i));
+ for (int j=0;j<str.length;j++) {
+ if (str[j].equals("")) {
+ printit = true;
+ }
+ res &= (!str[j].equals(""));
+ }
+ if (printit) log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ printit = false;
+ }
+ tRes.tested("getTransliterations()", res);
+ }
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if the method returns structure with non-empty
+ * fields for all given locales.
+ */
+ public void _getForbiddenCharacters() {
+ boolean res = true;
+ ForbiddenCharacters fc = null;
+
+ //the forbidden characters are only available for the asian languages
+ for (int i=4;i<7;i++) {
+ fc = oObj.getForbiddenCharacters(getLocale(i));
+ res &= !( fc.beginLine.equals("") || fc.endLine.equals("") );
+ if ( !res ) {
+ log.println("FAILED for: language="+languages[i]+" ; country="+countries[i]);
+ }
+ }
+ tRes.tested("getForbiddenCharacters()", res);
+ }
+
+
+ /**
+ * Test calls the method for several locales; result is checked
+ * after each call. <p>
+ * Has <b> OK </b> status if all strings, returned by the method are not
+ * empty for all given locales.
+ */
+ public void _getReservedWord() {
+ boolean res = true;
+ boolean printit = false;
+
+ for (int i=0;i<7;i++) {
+ String[] str = oObj.getReservedWord(getLocale(i));
+ for (int j=0;j<str.length;j++) {
+ if (str[j].equals("")) {
+ printit = true;
+ }
+ res &= (!str[j].equals(""));
+ }
+ if (printit) log.println("FAILED for: language=" + languages[i]
+ + " ; country=" + countries[i]);
+ printit = false;
+ }
+ tRes.tested("getReservedWord()", res);
+ }
+
+
+ /**
+ * Test calls the method. Then result is checked for all given locales.<p>
+ * Has <b> OK </b> status if locale sequence, returned by the method contains
+ * given locales.
+ */
+ public void _getAllInstalledLocaleNames() {
+ boolean res = true;
+ Locale[] locs = oObj.getAllInstalledLocaleNames();
+
+ //check if the languages used here are part of this array
+ for (int i=0;i<7;i++) {
+ res &= contains(locs, getLocale(i));
+ }
+ tRes.tested("getAllInstalledLocaleNames()",res);
+ }
+
+
+ /**
+ * Method returns locale for a given language and country.
+ * @param k index of needed locale.
+ * @return Locale by the index from arrays defined above
+ */
+ public Locale getLocale(int k) {
+ return new Locale(languages[k],countries[k],"");
+ }
+
+ /**
+ * Method checks given calendar for non empty fields.
+ * @param calendar Calendar to be checked
+ */
+ public boolean goodCalendar(Calendar calendar) {
+ boolean good = true;
+ for (int i=0;i<calendar.Days.length;i++) {
+ good &= (! calendar.Days[i].AbbrevName.equals("") );
+ good &= (! calendar.Days[i].FullName.equals("") );
+ good &= (! calendar.Days[i].ID.equals("") );
+ }
+ for (int i=0;i<calendar.Months.length;i++) {
+ good &= (! calendar.Months[i].AbbrevName.equals("") );
+ good &= (! calendar.Months[i].FullName.equals("") );
+ good &= (! calendar.Months[i].ID.equals("") );
+ }
+ for (int i=0;i<calendar.Eras.length;i++) {
+ good &= (! calendar.Eras[i].AbbrevName.equals("") );
+ good &= (! calendar.Eras[i].FullName.equals("") );
+ good &= (! calendar.Eras[i].ID.equals("") );
+ }
+ good &= (! calendar.StartOfWeek.equals("") );
+ good &= (! calendar.Name.equals("") );
+ return good;
+ }
+
+ /**
+ * Method checks given currency for non empty fields.
+ * @param currency Currency to be checked
+ */
+ public boolean goodCurrency(Currency currency) {
+ boolean good = true;
+ good &= (!currency.BankSymbol.equals(""));
+ good &= (!currency.Name.equals(""));
+ good &= (!currency.Symbol.equals(""));
+ return good;
+ }
+
+ /**
+ * Method checks given format for non empty fields.
+ * @param format Format to be checked
+ */
+ public boolean goodFormat(FormatElement format) {
+ boolean good = true;
+ good &= (!format.formatCode.equals(""));
+ good &= (!format.formatKey.equals(""));
+ good &= (!format.formatType.equals(""));
+ good &= (!format.formatUsage.equals(""));
+ return good;
+ }
+
+ /**
+ * Method checks that locale sequence contains given locale.
+ * @param locs Locale sequence
+ * @param oneLoc given locale
+ */
+ public boolean contains(Locale[] locs, Locale oneLoc) {
+ boolean cont = false;
+ for (int j=0;j<locs.length;j++) {
+ if ( (locs[j].Country.equals(oneLoc.Country)) &&
+ (locs[j].Language.equals(oneLoc.Language)) ) {
+ cont=true;
+ break;
+ }
+ }
+ if (!cont) log.println("Not contained: " + oneLoc.Language);
+ return cont;
+ }
+
+} // end XLocaleData
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XNumberFormatCode.java b/qadevOOo/tests/java/ifc/i18n/_XNumberFormatCode.java
new file mode 100644
index 000000000..5adddb189
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XNumberFormatCode.java
@@ -0,0 +1,154 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.KNumberFormatType;
+import com.sun.star.i18n.KNumberFormatUsage;
+import com.sun.star.i18n.NumberFormatCode;
+import com.sun.star.i18n.NumberFormatIndex;
+import com.sun.star.i18n.XNumberFormatCode;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XNumberFormatCode</code>
+* interface methods:
+* <ul>
+* <li><code> getDefault() </code></li>
+* <li><code> getFormatCode() </code></li>
+* <li><code> getAllFormatCode() </code></li>
+* <li><code> getAllFormatCodes() </code></li>
+* </ul><p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.i18n.XNumberFormatCode
+*/
+public class _XNumberFormatCode extends MultiMethodTest {
+ public XNumberFormatCode oObj = null;
+ public String[] languages = new String[]
+ {"de","en","es","fr","ko","ko","zh"};
+ public String[] countries = new String[]
+ {"DE","US","ES","FR","KR","KR","CN"};
+
+ /**
+ * Test calls the method twice with two different format types as
+ * parameters for each locale. Result is checked after every call.<p>
+ * Has <b> OK </b> status if both times returned structure's field 'Code'
+ * does not equal to empty string.
+ */
+ public void _getDefault() {
+ boolean res = true;
+ NumberFormatCode nfc = null;
+
+ for (int i=0;i<7;i++) {
+ nfc = oObj.getDefault(KNumberFormatType.SHORT,
+ KNumberFormatUsage.DATE, getLocale(i));
+ String str = nfc.Code;
+ if (str.equals("")) {
+ log.println("'NumberFormat.code.equals(\"\") = true' for"
+ + " language: " + languages[i]);
+ log.println("Usage: oObj.getDefault(KNumberFormatType.SHORT,"
+ + " KNumberFormatUsage.DATE,new Locale(" + languages[i]
+ + "," + countries[i] + ",\"\");");
+ }
+ res &= !str.equals("");
+
+ nfc = oObj.getDefault(KNumberFormatType.LONG,
+ KNumberFormatUsage.DATE,getLocale(i));
+ str = nfc.Code;
+ if (str.equals("")) {
+ log.println("'NumberFormat.code.equals(\"\") = true' for "
+ + "language: " + languages[i]);
+ log.println("Usage: oObj.getDefault(KNumberFormatType.LONG,"
+ + " KNumberFormatUsage.DATE,new Locale(" + languages[i]
+ + "," + countries[i] + ",\"\");");
+ }
+ res &= ( ! str.equals("") );
+ }
+ tRes.tested("getDefault()", res);
+ }
+
+ /**
+ * Test calls the method twice for each locale with two different arguments.
+ * After every call result is checked.<p>
+ * Has <b> OK </b> status if both times returned structure's field 'Code'
+ * does not equal to an empty string.
+ */
+ public void _getFormatCode() {
+ boolean res = true;
+ NumberFormatCode nfc = null;
+
+ for (int i=0;i<7;i++) {
+ nfc = oObj.getFormatCode
+ (NumberFormatIndex.DATE_SYSTEM_SHORT,getLocale(i));
+ res &= ( ! nfc.Code.equals("") );
+ nfc = oObj.getFormatCode
+ (NumberFormatIndex.DATE_SYSTEM_LONG,getLocale(i));
+ res &= ( ! nfc.Code.equals("") );
+ }
+ tRes.tested("getFormatCode()", res);
+ }
+
+ /**
+ * Test calls the method twice with two different arguments for each locale.
+ * After every call result is checked.<p>
+ * Has <b> OK </b> status if both times returned array's length does not
+ * equal to zero.
+ */
+ public void _getAllFormatCode() {
+ boolean res = true;
+ NumberFormatCode[] nfc = null;
+
+ for (int i=0;i<7;i++) {
+ nfc = oObj.getAllFormatCode(KNumberFormatUsage.DATE, getLocale(i));
+ res &= ( nfc.length != 0 );
+ nfc = oObj.getAllFormatCode(KNumberFormatUsage.TIME, getLocale(i));
+ res &= ( nfc.length != 0 );
+ }
+ tRes.tested("getAllFormatCode()", res);
+ }
+
+ /**
+ * Test calls the method for each locale. <p>
+ * Has <b> OK </b> status if returned array's length does not equal to zero.
+ */
+ public void _getAllFormatCodes() {
+ boolean res = true;
+ NumberFormatCode[] nfc = null;
+
+ for (int i=0;i<7;i++) {
+ nfc = oObj.getAllFormatCodes(getLocale(i));
+ res &= ( nfc.length != 0 );
+ }
+ tRes.tested("getAllFormatCodes()", res);
+ }
+
+ /**
+ * Method returns locale for a given language and country.
+ * @param k index of needed locale.
+ * @return Locale by the index from arrays defined above
+ */
+ public Locale getLocale(int k) {
+ return new Locale(languages[k], countries[k], "");
+ }
+
+
+
+} // end XNumberFormatCode
+
diff --git a/qadevOOo/tests/java/ifc/i18n/_XTransliteration.java b/qadevOOo/tests/java/ifc/i18n/_XTransliteration.java
new file mode 100644
index 000000000..d041d425d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/i18n/_XTransliteration.java
@@ -0,0 +1,445 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.i18n;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.i18n.TransliterationModules;
+import com.sun.star.i18n.TransliterationModulesNew;
+import com.sun.star.i18n.TransliterationType;
+import com.sun.star.i18n.XTransliteration;
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.i18n.XTransliteration</code>
+* interface methods :
+* <ul>
+* <li><code> getName()</code></li>
+* <li><code> getType()</code></li>
+* <li><code> loadModule()</code></li>
+* <li><code> loadModuleNew()</code></li>
+* <li><code> loadModuleByImplName()</code></li>
+* <li><code> loadModulesByImplNames()</code></li>
+* <li><code> getAvailableModules()</code></li>
+* <li><code> transliterate()</code></li>
+* <li><code> folding()</code></li>
+* <li><code> equals()</code></li>
+* <li><code> transliterateRange()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.i18n.XTransliteration
+*/
+public class _XTransliteration extends MultiMethodTest {
+
+ public XTransliteration oObj = null;
+ private final Locale loc = new Locale("en", "EN", "") ;
+
+ /**
+ * Gets all available transliteration modules. <p>
+ * Has <b>OK</b> status if array returned has at least
+ * one module name.
+ */
+ public void _getAvailableModules() {
+ String[] mod = oObj.getAvailableModules(loc, TransliterationType.ONE_TO_ONE);
+
+ if (mod != null) {
+ log.println("Available modules :") ;
+ for (int i = 0; i < mod.length; i++) {
+ log.println(" '" + mod[i] + "'") ;
+ }
+ } else {
+ log.println("!!! NULL returned !!!") ;
+ }
+
+ tRes.tested("getAvailableModules()", mod != null && mod.length > 0) ;
+ }
+
+ /**
+ * Calls the method for load IGNORE_CASE module and checks the name returned
+ * by the method <code>getName</code>. <p>
+ * Has <b>OK</b> status if the method <code>getName</code> returns the
+ * string "case ignore (generic)".
+ */
+ public void _loadModule() {
+ log.println("Load module IGNORE_CASE");
+ oObj.loadModule(TransliterationModules.IGNORE_CASE, loc);
+
+ String name = oObj.getName();
+ boolean res = name.equals("case ignore (generic)");
+ log.println("getName return: " + name);
+
+ tRes.tested("loadModule()", res );
+ }
+
+ /**
+ * Loads <code>LOWERCASE_UPPERCASE</code> module and checks the current
+ * name of object. <p>
+ *
+ * Has <b>OK</b> status if the name of the object is equals to
+ * 'lower_to_upper(generic)'
+ */
+ public void _loadModuleNew() {
+ boolean result = true ;
+
+ oObj.loadModuleNew(
+ new TransliterationModulesNew[]
+ {TransliterationModulesNew.LOWERCASE_UPPERCASE}, loc);
+
+ String name = oObj.getName();
+ result = name.equals("lower_to_upper(generic)");
+ log.println("getName return: " + name);
+
+ tRes.tested("loadModuleNew()", result);
+ }
+
+ /**
+ * Calls the method for load LOWERCASE_UPPERCASE module and
+ * checks the name returned by the method <code>getName</code>. <p>
+ * Has <b>OK</b> status if the method <code>getName</code> returns the
+ * string "lower_to_upper(generic)".
+ */
+ public void _loadModuleByImplName() {
+ log.println("Load module LOWERCASE_UPPERCASE");
+ oObj.loadModuleByImplName("LOWERCASE_UPPERCASE", loc);
+
+ String name = oObj.getName();
+ boolean res = name.equals("lower_to_upper(generic)");
+ log.println("getName return: " + name);
+
+ tRes.tested("loadModuleByImplName()", res);
+ }
+
+ /**
+ * Calls the method for load UPPERCASE_LOWERCASE module and
+ * checks the name returned by the method <code>getName</code>. <p>
+ * Has <b>OK</b> status if the method <code>getName</code> returns the
+ * string "upper_to_lower(generic)".
+ */
+ public void _loadModulesByImplNames() {
+ log.println("Load module UPPERCASE_LOWERCASE");
+ oObj.loadModulesByImplNames(new String[]{"UPPERCASE_LOWERCASE"}, loc);
+
+ String name = oObj.getName();
+ boolean res = name.equals("upper_to_lower(generic)");
+ log.println("getName return: " + name);
+
+ tRes.tested("loadModulesByImplNames()", res);
+ }
+
+ /**
+ * Loads <code>LOWERCASE_UPPERCASE</code> module and checks current type.
+ * <p>Has <b>OK</b> status if the type is <code>ONE_TO_ONE</code>
+ */
+ public void _getType() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+ boolean result = oObj.getType() == TransliterationType.ONE_TO_ONE;
+ tRes.tested("getType()", result);
+ }
+
+ /**
+ * Loads UPPERCASE_LOWERCASE module and
+ * checks the name returned by the method <code>getName</code>. <p>
+ *
+ * Has <b>OK</b> status if the method <code>getName</code> returns the
+ * string "upper_to_lower(generic)".
+ */
+ public void _getName() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+
+ String name = oObj.getName();
+ boolean res = name.equals("lower_to_upper(generic)");
+ log.println("getName return: " + name);
+
+ tRes.tested("getName()", res);
+ }
+
+ /**
+ * First loads <code>LOWERCASE_UPPERCASE</code> module.
+ * Then tries to transliterate (make uppercase) a substring. <p>
+ * Has <b>OK</b> status if all chars were made uppercase,
+ * and array returned has size as substring length, and its
+ * elements are positions of substring characters in the source
+ * string.
+ */
+ public void _transliterate() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+
+ int[][] offs = new int[1][] ;
+
+ String out = oObj.transliterate("AaBbCc", 1, 4, offs) ;
+
+ boolean result = "ABBC".equals(out) && offs[0].length == 4 &&
+ offs[0][0] == 1 &&
+ offs[0][1] == 2 &&
+ offs[0][2] == 3 &&
+ offs[0][3] == 4 ;
+
+ tRes.tested("transliterate()", result) ;
+ }
+
+
+ /**
+ * First loads <code>LOWERCASE_UPPERCASE</code> module.
+ * Tries to transliterate a range of two characters. <p>
+ * Has <b>OK</b> status if the appropriate String array
+ * returned (not null, length = 4, with two ranges
+ * (a, i), (A, I) in any order).
+ */
+ public void _transliterateRange() {
+ oObj.loadModule(TransliterationModules.IGNORE_CASE, loc);
+
+ String[] out = oObj.transliterateRange("a", "i") ;
+
+ log.println("transliterateRange return:");
+ for(int i = 0; i < out.length; i++) {
+ log.println(out[i]);
+ }
+
+ boolean bOK = out.length == 4 &&
+ ("A".equals(out[0]) && "I".equals(out[1]) &&
+ "a".equals(out[2]) && "i".equals(out[3])) ||
+ ("a".equals(out[0]) && "i".equals(out[1]) &&
+ "A".equals(out[2]) && "I".equals(out[3])) ;
+
+ if (!bOK) {
+ log.println("Unexpected range returned :");
+ for (int i = 0; i < out.length; i++) {
+ log.print("'" + out[i] +"', ");
+ }
+ log.println();
+ }
+
+ tRes.tested("transliterateRange()", bOK);
+ }
+
+ /**
+ * This method is used internally by <code>equals</code>
+ * method so it indirectly tested in this method. <p>
+ * Always has <b>OK</b> status.
+ */
+ public void _folding() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+
+ int[][] offs = new int[1][] ;
+
+ String out = oObj.folding("AaBbCc", 1, 4, offs) ;
+
+ boolean result = "ABBC".equals(out) && offs[0].length == 4 &&
+ offs[0][0] == 1 &&
+ offs[0][1] == 2 &&
+ offs[0][2] == 3 &&
+ offs[0][3] == 4 ;
+
+
+ tRes.tested("folding()", result) ;
+ }
+
+
+ /**
+ * First loads <code>LOWERCASE_UPPERCASE</code> module.
+ * Tries to compare two equal substrings. <p>
+ * Has <b>OK</b> status if the method returned <code>true</code>.
+ */
+ public void _equals() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+
+ int[] match1 = new int[1],
+ match2 = new int[1] ;
+
+ boolean res = oObj.equals("aAbBcC", 1, 3, match1, "aAbBcC", 1,
+ 3, match2) ;
+
+ log.println("Returned : " + res + " Match1 = " + match1[0] +
+ " Match2 = " + match2[0]) ;
+
+ tRes.tested("equals()", res) ;
+ }
+
+ /**
+ * Test performed for sets of equal substrings, not equal
+ * substrings, and without of bounds offset and length
+ * parameters.<p>
+ *
+ * Has <b>OK</b> status if comparings of equal substrings
+ * always return 0, if comparisons of none equal returns
+ * proper value according to lexicographical order and if
+ * comparisons with invalid parameters return none 0 value.
+ */
+ public void _compareSubstring() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+ boolean result = true ;
+
+ // substrings below must be equal
+ result &= testSubstring("", 0, 0, "", 0, 0, 0) ;
+ result &= testSubstring("aa", 1, 0, "", 0, 0, 0) ;
+ result &= testSubstring("aa", 1, 0, "aa", 2, 0, 0) ;
+ result &= testSubstring("a", 0, 1, "a", 0, 1, 0) ;
+ result &= testSubstring("ab", 0, 2, "ab", 0, 2, 0) ;
+ result &= testSubstring("abc", 1, 2, "abc", 1, 2, 0) ;
+ result &= testSubstring("abcdef", 0, 3, "123abc", 3, 3, 0) ;
+ result &= testSubstring("abcdef", 1, 1, "123abc", 4, 1, 0) ;
+
+ // substrings below must NOT be equal
+ result &= testSubstring("a", 0, 1, "a", 0, 0, 1) ;
+ result &= testSubstring("aaa", 1, 1, "", 0, 0, 1) ;
+ result &= testSubstring("bbb", 2, 1, "aaa", 2, 1, 1) ;
+ result &= testSubstring("abc", 0, 3, "abc", 0, 2, 1) ;
+ result &= testSubstring("bbc", 1, 2, "bbc", 0, 2, 1) ;
+
+ // testing with wrong offsets and lengths
+
+ tRes.tested("compareSubstring()", result) ;
+ }
+
+ /**
+ * Performs tesing of two substrings. Also testing of opposite
+ * substrings order performed.
+ * @return <code>true</code> if substrings are equal and returned
+ * value is 0 for both orders,
+ * if substrings are different and expected value
+ * returned for direct order and opposite value returned for
+ * opposite order.
+ */
+ private boolean testSubstring(String str1, int p1, int len1,
+ String str2, int p2, int len2, int expRes) {
+
+ boolean ret = true ;
+
+ int res = -666 ;
+ try {
+ res = oObj.compareSubstring(str1, p1, len1, str2, p2, len2);
+ } catch (NullPointerException e) {
+ log.println("Exception while method calling occurs :" + e);
+ }
+
+ if (res != expRes) {
+ log.print("Comparing FAILED; return: " + res + ", expected: " +
+ expRes + " ");
+ ret = false ;
+ } else {
+ log.print("Comparing OK : ");
+ }
+ log.println("('" + str1 + "', " + p1 + ", " + len1 + ", '" +
+ str2 + "', " + p2 + ", " + len2 + ")");
+
+ res = -666 ;
+ try {
+ res = oObj.compareSubstring(str2, p2, len2, str1, p1, len1);
+ } catch (NullPointerException e) {
+ log.println("Exception while method calling occurs :" + e);
+ }
+
+ if (res != -expRes) {
+ log.print("Comparing FAILED; return: " + res + ", expected: " +
+ -expRes + " ");
+ ret = false ;
+ } else {
+ log.print("Comparing OK :");
+ }
+ log.println("('" + str2 + "', " + p2 + ", " + len2 + ", '" +
+ str1 + "', " + p1 + ", " + len1 + ")");
+
+ return ret ;
+ }
+
+ /**
+ * Test performed for sets of equal strings and not equal
+ * strings.<p>
+ *
+ * Has <b>OK</b> status if comparings of equal strings
+ * always return 0 and if comparisons of none equal returns
+ * proper value according to lexicographical order .
+ */
+ public void _compareString() {
+ oObj.loadModule(TransliterationModules.LOWERCASE_UPPERCASE, loc);
+ boolean result = true ;
+
+ result &= testString("", "", 0) ;
+ result &= testString("a", "", 1) ;
+ result &= testString("a", "a", 0) ;
+ result &= testString("A", "a", 0) ;
+ result &= testString("b", "a", 1) ;
+ result &= testString("\n", "\n", 0) ;
+ result &= testString("\n", "\t", 1) ;
+ result &= testString("aaa", "aaa", 0) ;
+ result &= testString("aaA", "aaa", 0) ;
+ result &= testString("aaa", "aa", 1) ;
+ result &= testString("ab", "aaa", 1) ;
+ result &= testString("aba", "aa", 1) ;
+ result &= testString("aaa\t\na", "aaa\t\na", 0) ;
+ result &= testString("aaa\t\nb", "aaa\t\na", 1) ;
+
+ tRes.tested("compareString()", result) ;
+ }
+
+ /**
+ * Performs tesing of two strings. If the expected value is not 0
+ * (i.e. strings are not equal), then also testing of opposite
+ * strings order performed.
+ * @return <code>true</code> if strings are equal and returned
+ * value is 0, if strings are different and expected value
+ * returned for direct order and opposite value returned for
+ * opposite order.
+ */
+ protected boolean testString(String str1, String str2, int expRes) {
+ if (expRes == 0) return testString(str1, str2, expRes, false) ;
+ return testString(str1, str2, expRes, true) ;
+ }
+
+ private boolean testString(String str1, String str2, int expRes,
+ boolean testReverse) {
+
+ boolean ret = true ;
+
+ int res = -666 ;
+ try {
+ res = oObj.compareString(str1, str2);
+ } catch (NullPointerException e) {
+ log.println("Exception while method calling occurs :" + e);
+ }
+
+ if (res == expRes) {
+ log.println("Comparing of '" + str1 + "' and '" + str2 + "' OK" );
+ } else {
+ log.println("Comparing of '" + str1 + "' and '" + str2 +
+ "' FAILED; return: " + res + ", expected: " + expRes);
+ ret = false ;
+ }
+
+ if (!testReverse) return ret ;
+
+ res = -666 ;
+ try {
+ res = oObj.compareString(str2, str1);
+ } catch (NullPointerException e) {
+ log.println("Exception while method calling occurs :" + e);
+ }
+
+ if (res == -expRes) {
+ log.println("Comparing of '" + str2 + "' and '" + str1 + "' OK" );
+ } else {
+ log.println("Comparing of '" + str2 + "' and '" + str1 +
+ "' FAILED; return: " + res + ", expected: " + -expRes);
+ ret = false ;
+ }
+
+ return ret ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/inspection/_XObjectInspector.java b/qadevOOo/tests/java/ifc/inspection/_XObjectInspector.java
new file mode 100644
index 000000000..faf0036f3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/inspection/_XObjectInspector.java
@@ -0,0 +1,149 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.inspection;
+
+import com.sun.star.inspection.XObjectInspector;
+import com.sun.star.inspection.XObjectInspectorModel;
+import com.sun.star.inspection.XObjectInspectorUI;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+
+/**
+ * Testing <code>com.sun.star.inspection.XObjectInspector</code>
+ * interface methods :
+ * <ul>
+ * <li><code> inspect()</code></li>
+ * <li><code> InspectorModel()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XObjectInspector.toInspect'</code>
+ * (of type <code>Object []</code>):
+ * acceptable collection of one or more objects which can be inspected by <code>inspect()</code> </li>
+ * <ul> <p>
+ *
+ */
+
+public class _XObjectInspector extends MultiMethodTest {
+
+ /**
+ * the test object
+ */
+ public XObjectInspector oObj = null;
+ /**
+ * This variable was filled with the object relation
+ * <CODE>XObjectInspector.toInspect</CODE> and was used to
+ * test the method <CODE>inspect()</CODE>
+ */
+ public Object[] oInspect = null;
+ /**
+ * This variable was filled with the object relation
+ * <CODE>XObjectInspector.InspectorModelToSet</CODE> and was used to
+ * test the method <CODE>setInspectorModel()</CODE>
+ */
+ public XObjectInspectorModel xSetModel = null;
+
+ /**
+ * get object relations
+ * <ul>
+ * <li>XObjectInspector.toInspect</li>
+ * </ul>
+ */
+ @Override
+ public void before() {
+
+ oInspect = (Object[]) tEnv.getObjRelation("XObjectInspector.toInspect");
+
+ if (oInspect == null) throw new StatusException
+ (Status.failed("Relation 'XObjectInspector.toInspect' not found.")) ;
+
+ xSetModel = (XObjectInspectorModel) tEnv.getObjRelation("XObjectInspector.InspectorModelToSet");
+
+ if (xSetModel == null) throw new StatusException
+ (Status.failed("Relation 'XObjectInspector.InspectorModelToSet' not found.")) ;
+ }
+
+ /**
+ * Inspects a new collection of one or more objects given by object relation
+ * <CODE>XObjectInspector.toInspect</CODE><br>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _inspect() {
+
+ boolean result = true;
+
+ try {
+ oObj.inspect(oInspect);
+
+ } catch (com.sun.star.util.VetoException e){
+ log.println("ERROR:" + e.toString());
+ result = false;
+ }
+
+ tRes.tested("inspect()", result) ;
+ }
+
+ /**
+ * First call the method <CODE>getInspectorModel()</CODE> and save the value<br>
+ * Second call the method <CODE>setInspectorModel()</CODE> with the module variable
+ * <CODE>xSetModel</CODE> as parameter.<br> Then <CODE>getInspectorModel()</CODE>
+ * was called and the returned valued was compared to the saved variable
+ * <CODE>xSetModel</CODE><br>
+ * Has <CODE>OK</CODE> status if the returned value is equal to
+ * <CODE>xSetModel</CODE>.and the saved value is not null.
+ */
+ public void _InspectorModel() {
+
+ log.println("testing 'getInspectorModel()'...");
+ XObjectInspectorModel xGetModel = oObj.getInspectorModel() ;
+
+ boolean result = xGetModel != null;
+
+ log.println(result? "got a not null object -> OK" : "got a NULL object -> FAILED");
+
+ log.println("testing 'setInspectorModel()'...");
+ oObj.setInspectorModel(xSetModel);
+
+ XObjectInspectorModel xNewModel = oObj.getInspectorModel();
+
+ if (result) oObj.setInspectorModel(xGetModel);
+
+ result &= xSetModel.equals(xNewModel);
+
+ tRes.tested("InspectorModel()", result) ;
+ }
+
+ /**
+ * Calls the method <CODE>getInspectorUI()</CODE>
+ * Has <b>OK</b> returned value is not null
+ */
+ public void _InspectorUI() {
+
+ XObjectInspectorUI oUI = oObj.getInspectorUI();
+
+ tRes.tested("InspectorUI()", oUI != null) ;
+
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/inspection/_XObjectInspectorModel.java b/qadevOOo/tests/java/ifc/inspection/_XObjectInspectorModel.java
new file mode 100644
index 000000000..afca1175c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/inspection/_XObjectInspectorModel.java
@@ -0,0 +1,151 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.inspection;
+
+import com.sun.star.inspection.PropertyCategoryDescriptor;
+import com.sun.star.inspection.XObjectInspectorModel;
+import lib.MultiMethodTest;
+
+
+
+/**
+ * Testing <code>com.sun.star.inspection.XObjectInspectorModel</code>
+ * interface methods :
+ * <ul>
+ * <li><code> describeCategories()</code></li>
+ * <li><code> getHandlerFactories()</code></li>
+ * <li><code> getPropertyOrderIndex()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ *
+ */
+public class _XObjectInspectorModel extends MultiMethodTest {
+
+ /**
+ * the test object
+ */
+ public XObjectInspectorModel oObj = null;
+
+ /**
+ * calls the method <CODE>getHandlerFactories()</CODE>
+ * Has <b>OK</b> status if returned value is not null.
+ */
+ public void _HandlerFactories() {
+
+ Object[] HandlerFactories = oObj.getHandlerFactories();
+
+ tRes.tested("HandlerFactories()", HandlerFactories != null) ;
+ }
+
+ /**
+ * Call the method <CODE>getPropertyOrderIndex()</CODE> with an invalid property name.
+ * Has <CODE>OK</CODE> status if the returned index is "0".
+ */
+ public void _getPropertyOrderIndex() {
+
+ int index = 0;
+ boolean result = true;
+
+ log.println("try to get index of Invalid property name 'InvalidPropertyName' ...");
+ index = oObj.getPropertyOrderIndex("InvalidPropertyName");
+ log.println("index is: " + index);
+ result = (index == 0);
+
+ tRes.tested("getPropertyOrderIndex()", result) ;
+ }
+
+ /**
+ * Call the method <CODE>describeCategories()</CODE>
+ * Has <b>OK</b> status if returned value is not null.
+ */
+ public void _describeCategories() {
+
+ PropertyCategoryDescriptor[] categories = oObj.describeCategories();
+
+ tRes.tested("describeCategories()", categories != null) ;
+ }
+
+ /**
+ * Call the method <CODE>getHasHelpSection()</CODE>
+ * Has <b>OK</b> status if method returned </CODE>true</CODE>
+ */
+ public void _HasHelpSection() {
+
+ boolean hasHelpSection = oObj.getHasHelpSection();
+
+ tRes.tested("HasHelpSection()", hasHelpSection) ;
+ }
+
+ /**
+ * Call the method <CODE>getMinHelpTextLines()</CODE>
+ * Has <b>OK</b> status if returned value equals to object relation 'minHelpTextLines'
+ */
+ public void _MinHelpTextLines() {
+
+ Integer minHelpTextLines = (Integer) tEnv.getObjRelation("minHelpTextLines");
+
+ int getMinHelpTextLines = oObj.getMinHelpTextLines();
+
+ boolean result = (minHelpTextLines.intValue() == getMinHelpTextLines);
+
+ if (!result)
+ log.println("FAILED: value:" + minHelpTextLines + " gotten value:" + getMinHelpTextLines);
+
+ tRes.tested("MinHelpTextLines()", result) ;
+ }
+
+ /**
+ * Call the method <CODE>getMaxHelpTextLines())</CODE>
+ * Has <b>OK</b> status if returned value equals to object relation 'maxHelpTextLines'
+ */
+ public void _MaxHelpTextLines() {
+
+ Integer maxHelpTextLines = (Integer) tEnv.getObjRelation("maxHelpTextLines");
+
+ int getMaxHelpTextLines = oObj.getMaxHelpTextLines();
+
+ boolean result = (maxHelpTextLines.intValue() == getMaxHelpTextLines);
+
+ if (!result)
+ log.println("FAILED: expected value:" + maxHelpTextLines + " gotten value:" + getMaxHelpTextLines);
+
+ tRes.tested("MaxHelpTextLines()", result);
+ }
+
+ public void _IsReadOnly() {
+ boolean readOnly = oObj.getIsReadOnly();
+
+ oObj.setIsReadOnly(!readOnly);
+
+ boolean result = (readOnly != oObj.getIsReadOnly());
+ if (!result){
+ log.println("FAILED: could not change 'IsReadOnly' to value '" + !readOnly + "'");
+ }
+
+ oObj.setIsReadOnly(readOnly);
+
+ result &= (readOnly == oObj.getIsReadOnly());
+ if (!result){
+ log.println("FAILED: could not change back 'IsReadOnly' to value '" + !readOnly + "'");
+ }
+
+ tRes.tested("IsReadOnly()", result);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/io/_XActiveDataControl.java b/qadevOOo/tests/java/ifc/io/_XActiveDataControl.java
new file mode 100644
index 000000000..9ac7c7308
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XActiveDataControl.java
@@ -0,0 +1,238 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.io.XActiveDataControl;
+import com.sun.star.io.XStreamListener;
+import com.sun.star.lang.EventObject;
+
+/**
+ * Testing <code>com.sun.star.io.XActiveDataControl</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addListener()</code></li>
+ * <li><code> removeListener()</code></li>
+ * <li><code> start()</code></li>
+ * <li><code> terminate()</code></li>
+ * </ul> <p>
+ *
+ * Tests <code>XActiveDataControl</code> interface. First, it registers a listener
+ * and performs <code>start()</code> and <code>terminate()</code> calls. The
+ * events received in the listener are analyzed to verify the result.<p>
+ *
+ * @see com.sun.star.io.XActiveDataControl
+ */
+public class _XActiveDataControl extends MultiMethodTest {
+
+ /**
+ * Contains the object under test.
+ */
+ public XActiveDataControl oObj = null;
+
+ /**
+ * Indicates that the <code>XStreamListener.started()</code> method has
+ * been called.
+ */
+ private boolean startCalled = false;
+
+ /**
+ * Indicates that the <code>XStreamListener.terminated()</code> method has
+ * been called.
+ */
+ private boolean terminateCalled = false;
+
+ /**
+ * Indicates that the <code>XEventListener.closed()</code> method has
+ * been called.
+ */
+ private boolean closeCalled = false;
+
+ /**
+ * Indicates that the <code>XStreamListener.error()</code> method has
+ * been called.
+ */
+ private boolean errorCalled = false;
+
+ /**
+ * Contains the error, if <code>XStreamListener.error(Object error)</code>
+ * method was called.
+ */
+ private Object error;
+
+ /**
+ * Indicates that the <code>XEventListener.disposing()</code> method has
+ * been called.
+ */
+ private boolean smthngElseCalled = false;
+
+ /**
+ * The listener is used to verify results of the methods.
+ */
+ private final TestStreamListener listener = new TestStreamListener();
+
+ /**
+ * XStreamListener implementation. Sets variables
+ * (<cod>startedCalled</code>, <code>terminatedCalled</code>, etc.) to
+ * <tt>true</tt> if the appropriate method was called (for example, if
+ * <code>started()</code> was called, the <code>startedCalled</code>
+ * field is set).
+ */
+ private class TestStreamListener implements XStreamListener {
+ public void started() {
+ startCalled = true ;
+ }
+ public void terminated() {
+ terminateCalled = true ;
+ }
+ public void error(Object e) {
+ error = e;
+ errorCalled = true ;
+ }
+ public void closed() {
+ closeCalled = true ;
+ }
+ public void disposing(EventObject e) {
+ smthngElseCalled = true ;
+ }
+
+ }
+
+ /**
+ * Tests <code>addListener()</code>. The verification is performed later, in
+ * <code>_terminate()</code> method.
+ */
+ public void _addListener() {
+ oObj.addListener(listener);
+ }
+
+ /**
+ * Starts the data activity (e.g. data pump). Verification is performed
+ * later, in <code>_terminate()</code> method.
+ */
+ public void _start() {
+ executeMethod("addListener()");
+
+ oObj.start();
+
+ // waiting a little bit for data transferred
+ util.utils.pause(200);
+ try {
+ Thread.sleep(200);
+ } catch (InterruptedException e) {
+ throw new StatusException(e, Status.failed(e.getMessage()));
+ }
+ }
+
+ /**
+ * Tests <code>removeListener()</code>. Before, it ensures that other
+ * tests are performed and that <code>addListener()</code> is okay. Then,
+ * calls <code>XActiveDataControl.start()</code> and checks that no method
+ * of the listener was called.
+ */
+ public void _removeListener() {
+ // performing other tests before, so, that don't break them
+ try {
+ executeMethod("terminate()");
+ } catch (StatusException e) {
+ // the result doesn't matter
+ }
+
+ // check that addListener() is okay
+ requiredMethod("addListener()");
+
+ // clearing previous records
+ startCalled = false;
+ terminateCalled = false;
+ errorCalled = false;
+ error = null;
+ smthngElseCalled = false;
+
+ // removing the listener
+ oObj.removeListener(listener);
+
+ // starting the activity
+ oObj.start();
+
+ // wait a little bit to allow for listeners to be called
+ try {
+ Thread.sleep(200);
+ } catch (InterruptedException e) {
+ throw new StatusException(e, Status.failed(e.getMessage()));
+ }
+
+ // check that no removed listener's method was called
+ tRes.tested("removeListener()",!startCalled &&
+ !terminateCalled && !errorCalled && !smthngElseCalled) ;
+ }
+
+ /**
+ * Tests <code>terminate()</code>. First, ensures that <code>start()</code>
+ * has been called. Then, verifies <code>start()</code>,
+ * <code>addListener()</code> and <code>terminate()</code> results, by
+ * checking that the appropriate listener's methods have been called.
+ */
+ public void _terminate() {
+ // ensuring that the activity has been started
+ executeMethod("start()");
+
+ // terminating the activity
+ oObj.terminate();
+
+ // waiting a little bit for listeners to be called
+ try {
+ Thread.sleep(200);
+ } catch (InterruptedException e) {
+ throw new StatusException(e, Status.failed(e.getMessage()));
+ }
+
+ // check, if any error occurred
+ if (errorCalled) {
+ log.println("Unexpected error " + error);
+ ((Exception)error).printStackTrace(log);
+ }
+
+ // verification of start() method - startedCalled method should be
+ // called
+ if (!tRes.tested("start()", startCalled)) {
+ log.println("XStreamListener.started() was not called()");
+ }
+
+ // check that any listener method is called
+ tRes.tested("addListener()", startCalled ||
+ terminateCalled || errorCalled || smthngElseCalled);
+
+ // checking that terminated() has been called or streams were closed
+ // before terminate() call, in this case termination has no sense.
+ tRes.tested("terminate()", terminateCalled || closeCalled);
+ }
+
+ /**
+ * Disposes the test environment, since it is used.
+ */
+ @Override
+ public void after() {
+ this.disposeEnvironment();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/io/_XActiveDataSink.java b/qadevOOo/tests/java/ifc/io/_XActiveDataSink.java
new file mode 100644
index 000000000..ec1dad459
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XActiveDataSink.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XInputStream;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.io.XActiveDataSink</code>
+* interface methods :
+* <ul>
+* <li><code> setInputStream()</code></li>
+* <li><code> getInputStream()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'InputStream'</code>
+* (of type <code>com.sun.star.io.XInputStream</code>):
+* acceptable input stream which can be set by <code>setInputStream</code> </li>
+* <ul> <p>
+*
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XActiveDataSink
+*/
+public class _XActiveDataSink extends MultiMethodTest {
+
+ public XActiveDataSink oObj = null;
+
+ private XInputStream iStream = null;
+
+ /**
+ * Take the XInputStream from the environment for setting and getting
+ */
+ @Override
+ public void before() {
+ XInterface x = (XInterface)tEnv.getObjRelation("InputStream");
+ iStream = UnoRuntime.queryInterface
+ (XInputStream.class, x) ;
+ }
+
+ /**
+ * Just sets new input stream. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _setInputStream() {
+ oObj.setInputStream(iStream) ;
+
+ tRes.tested("setInputStream()", true) ;
+ }
+
+ /**
+ * First retrieves current input stream, then sets to new
+ * input stream (if old was <code>null</code>) or to null.
+ * Then input stream retrieved again and checked to be not
+ * equal to the old one. <p>
+ * Has <b>OK</b> status if old and new streams retrieved are
+ * not equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setInputStream() </code> : to be sure the method
+ * works without exceptions. </li>
+ * </ul>
+ */
+ public void _getInputStream() {
+ requiredMethod("setInputStream()") ;
+
+ Object oldStream = oObj.getInputStream() ;
+ XInputStream newStream = oldStream == null ? iStream : null ;
+
+ oObj.setInputStream(newStream) ;
+ Object getStream = oObj.getInputStream() ;
+
+ tRes.tested("getInputStream()", getStream != oldStream) ;
+ }
+
+ @Override
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/io/_XActiveDataSource.java b/qadevOOo/tests/java/ifc/io/_XActiveDataSource.java
new file mode 100644
index 000000000..5cd2dd3ef
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XActiveDataSource.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.io.XActiveDataSource</code>
+* interface methods:
+* <ul>
+* <li><code>setOutputStream()</code></li>
+* <li><code>getOutputStream()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'OutputStream'</code>
+* (of type <code>com.sun.star.io.OutputStream</code>):
+* acceptable output stream which can be set by <code>setOutputStream</code> </li>
+* <ul> <p>
+*
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+*/
+public class _XActiveDataSource extends MultiMethodTest {
+
+ public XActiveDataSource oObj = null;
+
+ private XOutputStream oStream = null;
+
+ /**
+ * Take the XOutputStream from the environment for setting and getting.
+ */
+ @Override
+ public void before() {
+ XInterface x = (XInterface)tEnv.getObjRelation("OutputStream");
+ oStream = UnoRuntime.queryInterface
+ (XOutputStream.class, x) ;
+ }
+
+ /**
+ * Test calls the method using interface <code>XOutputStream</code>
+ * received in method <code>before()</code> as parameter. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setOutputStream() {
+ oObj.setOutputStream(oStream);
+ tRes.tested("setOutputStream()", true);
+ }
+
+ /**
+ * Test calls the method and compares returned value with value that was
+ * set in the method <code>setOutputStream()</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setOutputStream() </code></li>
+ * </ul>
+ */
+ public void _getOutputStream() {
+ requiredMethod("setOutputStream()");
+
+ tRes.tested("getOutputStream()",
+ oStream.equals(oObj.getOutputStream()));
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ @Override
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XConnectable.java b/qadevOOo/tests/java/ifc/io/_XConnectable.java
new file mode 100644
index 000000000..8efb86def
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XConnectable.java
@@ -0,0 +1,125 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XConnectable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.io.XConnectable</code>
+* interface methods:
+* <ul>
+* <li><code>setPredecessor()</code></li>
+* <li><code>getPredecessor()</code></li>
+* <li><code>setSuccessor()</code></li>
+* <li><code>getSuccessor()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Connectable'</code> (supports the <code>XConnectable</code>
+* interface):
+* another object to connect </li>
+* </ul>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XConnectable
+*/
+public class _XConnectable extends MultiMethodTest {
+
+ public XConnectable oObj = null;
+
+ private XConnectable xConnect = null ;
+
+ /**
+ * Get another connectable object from object relations.
+ */
+ @Override
+ public void before() {
+ XInterface x = (XInterface)tEnv.getObjRelation("Connectable");
+ xConnect = UnoRuntime.queryInterface(
+ XConnectable.class, x) ;
+ }
+
+ /**
+ * Test calls the method using interface <code>XConnectable</code>
+ * received in method <code>before()</code> as parameter. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setPredecessor() {
+ oObj.setPredecessor(xConnect) ;
+
+ tRes.tested("setPredecessor()", true) ;
+ }
+
+ /**
+ * Test calls the method and compares returned value with value that was
+ * set in the method <code>setPredecessor()</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setPredecessor() </code></li>
+ * </ul>
+ */
+ public void _getPredecessor() {
+ requiredMethod("setPredecessor()") ;
+
+ XConnectable gConnect = oObj.getPredecessor() ;
+
+ tRes.tested("getPredecessor()", xConnect.equals(gConnect)) ;
+ }
+
+ /**
+ * Test calls the method using interface <code>XConnectable</code>
+ * received in method <code>before()</code> as parameter. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _setSuccessor() {
+ oObj.setSuccessor(xConnect) ;
+
+ tRes.tested("setSuccessor()", true) ;
+ }
+
+ /**
+ * Test calls the method and compares returned value with value that was
+ * set in the method <code>setSuccessor()</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setSuccessor() </code></li>
+ * </ul>
+ */
+ public void _getSuccessor() {
+ requiredMethod("setSuccessor()") ;
+
+ XConnectable gConnect = oObj.getSuccessor() ;
+
+ tRes.tested("getSuccessor()", xConnect.equals(gConnect)) ;
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ @Override
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XDataInputStream.java b/qadevOOo/tests/java/ifc/io/_XDataInputStream.java
new file mode 100644
index 000000000..5ab320fa5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XDataInputStream.java
@@ -0,0 +1,414 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import java.util.List;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.io.XDataInputStream;
+import com.sun.star.io.XDataOutputStream;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.io.XDataInputStream</code>
+* interface methods:
+* <ul>
+* <li><code>readBoolean()</code></li>
+* <li><code>readByte()</code></li>
+* <li><code>readChar()</code></li>
+* <li><code>readShort()</code></li>
+* <li><code>readLong()</code></li>
+* <li><code>readHyper()</code></li>
+* <li><code>readFloat()</code></li>
+* <li><code>readDouble()</code></li>
+* <li><code>readUTF()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'StreamData'</code> (of type <code>Vector</code>):
+* vector of data for comparing with data that obtained from stream </li>
+* <li> <code>'StreamWriter'</code> (of type <code>XDataOutputStream</code>):
+* a possibility to write values to the stream. </li>
+* <ul> <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XDataInputStream
+* @see java.util.Vector
+*/
+public class _XDataInputStream extends MultiMethodTest {
+
+ public XDataInputStream oObj = null;
+ public XDataOutputStream oStream = null;
+
+ // values that are written
+ private boolean writeBoolean;
+ private byte writeByte;
+ private char writeChar;
+ private double writeDouble;
+ private float writeFloat;
+ private long writeHyper;
+ private int writeLong;
+ private short writeShort;
+ private String writeUTF;
+
+
+ /**
+ * Retrieves relations. From relation 'StreamData' extracts
+ * data of different types and fills the appropriate variables.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before(){
+
+ XInterface x = (XInterface)tEnv.getObjRelation("StreamWriter") ;
+ oStream = UnoRuntime.queryInterface(
+ XDataOutputStream.class, x);
+ List<Object> data = (List<Object>) tEnv.getObjRelation("StreamData") ;
+ if (data == null || oStream == null) {
+ throw new StatusException(Status.failed("Object relation not found."));
+ }
+
+ // extract data from vector
+ Object dataElem = null ;
+ for (int i = 0; i < data.size(); i++) {
+ dataElem = data.get(i) ;
+
+ if (dataElem instanceof Boolean) {
+ writeBoolean = ((Boolean)dataElem).booleanValue();
+ } else
+ if (dataElem instanceof Byte) {
+ writeByte = ((Byte)dataElem).byteValue();
+ } else
+ if (dataElem instanceof Character) {
+ writeChar = ((Character)dataElem).charValue();
+ } else
+ if (dataElem instanceof Short) {
+ writeShort = ((Short)dataElem).shortValue();
+ } else
+ if (dataElem instanceof Integer) {
+ writeLong = ((Integer)dataElem).intValue();
+ } else
+ if (dataElem instanceof Long) {
+ writeHyper = ((Long)dataElem).longValue();
+ } else
+ if (dataElem instanceof Float) {
+ writeFloat = ((Float)dataElem).floatValue();
+ } else
+ if (dataElem instanceof Double) {
+ writeDouble = ((Double)dataElem).doubleValue();
+ } else
+ if (dataElem instanceof String) {
+ writeUTF = (String)dataElem;
+ }
+ }
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readBoolean() {
+ boolean res = true ;
+ try {
+ oStream.writeBoolean(writeBoolean);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ byte readElem;
+ try {
+ readElem = oObj.readBoolean();
+ res = ((readElem != 0) == writeBoolean);
+
+ if (!res)
+ log.println("Must be read " +
+ writeBoolean +
+ " but was read " + (readElem != 0)) ;
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Couldn't read Boolean from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("readBoolean()", res) ;
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readByte() {
+ boolean res = true ;
+ try {
+ oStream.writeByte(writeByte);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ byte readElem;
+ try {
+ readElem = oObj.readByte() ;
+ res = (readElem == writeByte);
+
+ if (!res)
+ log.println("Must be read " +
+ writeByte +
+ " but was read " + readElem);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't read Byte from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("readByte()", res) ;
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readChar() {
+ boolean res = true ;
+ try {
+ oStream.writeChar(writeChar);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ char readElem;
+ try {
+ readElem = oObj.readChar() ;
+ res = (readElem == writeChar);
+
+ if (!res)
+ log.println("Must be read " +
+ writeChar +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Char from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readChar()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readShort() {
+ boolean res = true ;
+ try {
+ oStream.writeShort(writeShort);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ short readElem;
+ try {
+ readElem = oObj.readShort() ;
+ res = (readElem == writeShort);
+
+ if (!res)
+ log.println("Must be read " +
+ writeShort +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Short from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readShort()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readLong() {
+ try {
+ oStream.writeLong(writeLong);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ boolean res = true ;
+ int readElem;
+ try {
+ readElem = oObj.readLong() ;
+ res = (readElem == writeLong);
+
+ if (!res)
+ log.println("Must be read " +
+ writeLong +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Long from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readLong()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readHyper() {
+ boolean res = true ;
+ try {
+ oStream.writeHyper(writeHyper);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ long readElem;
+ try {
+ readElem = oObj.readHyper() ;
+ res = (readElem == writeHyper);
+
+ if (!res)
+ log.println("Must be read " +
+ writeHyper +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Hyper from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readHyper()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readFloat() {
+ boolean res = true ;
+ try {
+ oStream.writeFloat(writeFloat);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ float readElem;
+ try {
+ readElem = oObj.readFloat() ;
+ res = (readElem == writeFloat);
+
+ if (!res)
+ log.println("Must be read " +
+ writeFloat +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Float from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readFloat()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readDouble() {
+ boolean res = true ;
+ try {
+ oStream.writeDouble(writeDouble);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ double readElem;
+ try {
+ readElem = oObj.readDouble() ;
+ res = (readElem == writeDouble);
+
+ if (!res)
+ log.println("Must be read " +
+ writeDouble +
+ " but was read " + readElem) ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read Double from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readDouble()", res);
+ }
+
+ /**
+ * First writes a value to outStream then reads it from input. <p>
+ *
+ * Has <b> OK </b> status if read and written values are equal. <p>
+ */
+ public void _readUTF() {
+ boolean res = true ;
+ try {
+ oStream.writeUTF(writeUTF);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write data to the stream", e);
+ }
+ String readElem;
+ try {
+ readElem = oObj.readUTF() ;
+ res = writeUTF.equals(readElem) ;
+
+ if (!res)
+ log.println("Must be read '" +
+ writeUTF +
+ "' but was read '" + readElem + "'") ;
+ } catch( com.sun.star.io.IOException e ) {
+ log.println("Couldn't read String from stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("readUTF()", res);
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ @Override
+ public void after() {
+ try {
+ oStream.flush();
+ } catch (com.sun.star.io.NotConnectedException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.io.BufferSizeExceededException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ }
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XDataOutputStream.java b/qadevOOo/tests/java/ifc/io/_XDataOutputStream.java
new file mode 100644
index 000000000..3ea11193d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XDataOutputStream.java
@@ -0,0 +1,245 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import java.util.List;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XDataOutputStream;
+
+/**
+* Testing <code>com.sun.star.io.XDataOutputStream</code>
+* interface methods:
+* <ul>
+* <li><code>writeBoolean()</code></li>
+* <li><code>writeByte()</code></li>
+* <li><code>writeChar()</code></li>
+* <li><code>writeShort()</code></li>
+* <li><code>writeLong()</code></li>
+* <li><code>writeHyper()</code></li>
+* <li><code>writeFloat()</code></li>
+* <li><code>writeDouble()</code></li>
+* <li><code>writeUTF()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'StreamData'</code> (of type <code>Vector</code>):
+* vector of data for writing to the stream </li>
+* <ul> <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XDataOutputStream
+*/
+public class _XDataOutputStream extends MultiMethodTest {
+
+ public XDataOutputStream oObj = null;
+
+ /**
+ * Retrieves object relation <code>'StreamData'</code>
+ * and executes methods of interface depending of data in stream.
+ * If relation or data of some type in stream not found then
+ * tests of corresponding methods are skipped.
+ */
+ @Override
+ public void before() throws RuntimeException {
+
+ List<Object> data = (List<Object>) tEnv.getObjRelation("StreamData") ;
+ if (data == null) {
+ throw new RuntimeException("Object relation 'StreamData' not found.");
+ }
+
+ // extract data from vector
+ Object dataElem = null ;
+ for (int i = 0; i < data.size(); i++) {
+ dataElem = data.get(i) ;
+
+ if (!(dataElem instanceof Boolean ||
+ dataElem instanceof Byte) ||
+ dataElem instanceof Character ||
+ dataElem instanceof Short ||
+ dataElem instanceof Integer ||
+ dataElem instanceof Float ||
+ dataElem instanceof Double) {
+ throw new RuntimeException("Object dataElem type not found.");
+ }
+ }
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeBoolean() {
+ boolean res = true;
+ try {
+ oObj.writeBoolean(true) ;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Boolean to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeBoolean()", res) ;
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeByte() {
+ boolean res = true;
+ try {
+ oObj.writeByte((byte) 123);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Byte to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeByte()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeChar() {
+ boolean res = true;
+ try {
+ oObj.writeChar((char)12345);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Char to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeChar()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeShort() {
+ boolean res = true;
+ try {
+ oObj.writeShort((short)12345) ;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Short to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeShort()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeLong() {
+ boolean res = true;
+ try {
+ oObj.writeLong(123456);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Long to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeLong()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeHyper() {
+ boolean res = true;
+ try {
+ oObj.writeHyper(123456789);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Hyper to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeHyper()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeFloat() {
+ boolean res = true;
+ try {
+ oObj.writeFloat((float)1.2345);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Float to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeFloat()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeDouble() {
+ boolean res = true;
+ try {
+ oObj.writeDouble(1.2345);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write Double to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeDouble()", res);
+ }
+
+ /**
+ * Test writes some data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeUTF() {
+ boolean res = true;
+ try {
+ oObj.writeUTF("XDataOutputStream") ;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write String to stream");
+ e.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("writeUTF()", res);
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ @Override
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XInputStream.java b/qadevOOo/tests/java/ifc/io/_XInputStream.java
new file mode 100644
index 000000000..90ee86afb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XInputStream.java
@@ -0,0 +1,238 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.io.XInputStream</code>
+* interface methods:
+* <ul>
+* <li><code>readBytes()</code></li>
+* <li><code>readSomeBytes()</code></li>
+* <li><code>skipBytes()</code></li>
+* <li><code>available()</code></li>
+* <li><code>closeInput()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'StreamWriter'</code>:
+* object that supports interface <code>XOutputStream</code>;
+* a stream to write data to</li>
+* <li> <code>'ByteData'</code> (of type <code>byte []</code>):
+* data to write to the stream</li>
+* <ul> <p>
+
+* @see com.sun.star.io.XInputStream
+*/
+public class _XInputStream extends MultiMethodTest {
+
+ public XInputStream oObj = null;
+ public XOutputStream oStream = null;
+
+ byte[] bytes = null;
+
+ int bytesReady = 0 ;
+
+ /**
+ * Before the test, the stream writer and the data are extracted from
+ * the object relations and the data is written to the stream.
+ */
+ @Override
+ public void before() {
+ XInterface x = (XInterface)tEnv.getObjRelation("StreamWriter");
+ oStream = UnoRuntime.queryInterface(
+ XOutputStream.class, x) ;
+ bytes = (byte[])tEnv.getObjRelation("ByteData");
+ try {
+ oStream.writeBytes(bytes);
+ }
+ catch(com.sun.star.io.NotConnectedException e) {}
+ catch(com.sun.star.io.BufferSizeExceededException e) {}
+ catch(com.sun.star.io.IOException e) {}
+ }
+
+ /**
+ * After the test, the stream writer is closed and the
+ * environment is disposed.
+ */
+ @Override
+ public void after() {
+ try {
+ oStream.flush();
+ oStream.closeOutput();
+ }
+ catch(com.sun.star.io.NotConnectedException e) {}
+ catch(com.sun.star.io.BufferSizeExceededException e) {}
+ catch(com.sun.star.io.IOException e) {}
+ this.disposeEnvironment();
+ }
+ /**
+ * Test calls the method and stores number of available bytes. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _available() {
+ boolean result = true ;
+ try {
+ bytesReady = oObj.available() ;
+ log.println("Bytes available :" + bytesReady) ;
+ } catch (com.sun.star.io.IOException e){
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("available()", result) ;
+ }
+
+ /**
+ * Test reads one byte from stream. If no bytes available
+ * then test of method is skipped. <p>
+ * Has <b> OK </b> status if returned value equal to number of read bytes,
+ * no exceptions were thrown and read data is not null. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> available() </code> : to have available number
+ * of bytes in stream </li>
+ * </ul>
+ */
+ public void _readBytes() {
+ requiredMethod("available()") ;
+ boolean result ;
+
+ if (bytesReady-- > 0) {
+ try {
+ byte[][] data = new byte[1][1] ;
+ int read = oObj.readBytes(data, 1) ;
+
+ result = read == 1 &&
+ data.length == 1 ;
+ } catch (com.sun.star.io.IOException e){
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("readBytes()", result) ;
+ } else {
+ log.println("No more bytes available in the stream");
+ tRes.tested("readBytes()", Status.skipped(false));
+ }
+ }
+
+ /**
+ * Test reads one byte from stream. If no bytes available
+ * then test of method is skipped. <p>
+ * Has <b> OK </b> status if returned value equal to number of read bytes,
+ * no exceptions were thrown and read data is not null. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> available() </code> : to have available number
+ * of bytes in stream </li>
+ * </ul>
+ */
+ public void _readSomeBytes() {
+ requiredMethod("available()") ;
+ boolean result ;
+
+ if (bytesReady-- > 0) {
+ try {
+ byte[][] data = new byte [1][1] ;
+ int read = oObj.readSomeBytes(data, 1) ;
+
+ result = read == 1 &&
+ data.length == 1 ;
+ } catch (com.sun.star.io.IOException e){
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("readSomeBytes()", result) ;
+ } else {
+ log.println("No more bytes available in the stream") ;
+ tRes.tested("readBytes()", Status.skipped(false));
+ }
+ }
+
+ /**
+ * Test skips one byte from stream. If no bytes available
+ * then test of method is skipped. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> available() </code> : to have available number
+ * of bytes in stream </li>
+ * </ul>
+ */
+ public void _skipBytes() {
+ requiredMethod("available()") ;
+ boolean result ;
+
+ if (bytesReady-- > 0) {
+ try {
+ oObj.skipBytes(1) ;
+
+ result = true ;
+ } catch (com.sun.star.io.IOException e){
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("skipBytes()", result) ;
+ } else {
+ log.println("No more bytes available in the stream") ;
+ tRes.tested("readBytes()", Status.skipped(false));
+ }
+ }
+
+ /**
+ * Test calls the method and forces object environment recreation. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> available() </code> </li>
+ * <li> <code> readBytes() </code> </li>
+ * <li> <code> readSomeBytes() </code> </li>
+ * <li> <code> skipBytes() </code> </li>
+ * </ul>
+ */
+ public void _closeInput() {
+ executeMethod("available()") ;
+ executeMethod("readBytes()") ;
+ executeMethod("readSomeBytes()") ;
+ executeMethod("skipBytes()") ;
+
+ boolean result = true ;
+ try {
+ oObj.closeInput() ;
+ } catch (com.sun.star.io.IOException e){
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("closeInput()", result) ;
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XMarkableStream.java b/qadevOOo/tests/java/ifc/io/_XMarkableStream.java
new file mode 100644
index 000000000..8c0888739
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XMarkableStream.java
@@ -0,0 +1,188 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XMarkableStream;
+
+/**
+* Testing <code>com.sun.star.io.XMarkableStream</code>
+* interface methods:
+* <ul>
+* <li><code>createMark()</code></li>
+* <li><code>deleteMark()</code></li>
+* <li><code>jumpToFurthest()</code></li>
+* <li><code>jumpToMark()</code></li>
+* <li><code>offsetToMark()</code></li>
+* </ul> <p>
+* @see com.sun.star.io.XMarkableStream
+*/
+public class _XMarkableStream extends MultiMethodTest {
+
+ public XMarkableStream oObj = null;
+ private int mark = -1 ;
+
+ /**
+ * Test creates mark and stores it. <p>
+ * Has <b> OK </b> status if no exceptions were thrown
+ * and returned isn't less than zero. <p>
+ */
+ public void _createMark() {
+ boolean res;
+ try {
+ mark = oObj.createMark() ;
+ res = mark >= 0;
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Couldn't create mark");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("createMark()", res);
+ }
+
+ /**
+ * Test deletes the mark that was created by method <code>createMark()
+ * </code>.<p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createMark() </code> : to have mark </li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> jumpToFurthest() </code></li>
+ * <li> <code> jumpToMark() </code></li>
+ * <li> <code> offsetToMark() </code></li>
+ * </ul>
+ */
+ public void _deleteMark() {
+ requiredMethod("createMark()") ;
+
+ executeMethod("jumpToFurthest()") ;
+ executeMethod("jumpToMark()") ;
+ executeMethod("offsetToMark()") ;
+
+ boolean res;
+ try {
+ oObj.deleteMark(mark);
+ res = true;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't delete mark");
+ e.printStackTrace(log);
+ res = false;
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't delete mark");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("deleteMark()", res) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createMark() </code></li>
+ * </ul>
+ */
+ public void _jumpToFurthest() {
+ requiredMethod("createMark()") ;
+
+ boolean res;
+ try {
+ oObj.jumpToFurthest() ;
+ res = true;
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Couldn't jump to furthest");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("jumpToFurthest()", res) ;
+ }
+
+ /**
+ * Test jumps to mark that was created by method <code>createMark()</code>.
+ * <p>Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> jumpToFurthest() </code> : for the right order of tests
+ * execution </li>
+ * </ul>
+ */
+ public void _jumpToMark() {
+ requiredMethod("jumpToFurthest()") ;
+ boolean res;
+
+ try {
+ oObj.jumpToMark(mark) ;
+ res = true;
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't jump to mark");
+ e.printStackTrace(log);
+ res = false;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't jump to mark");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("jumpToMark()", res) ;
+ }
+
+ /**
+ * Test obtains offset to mark that was created by
+ * method <code>createMark()</code> and checks returned value.<p>
+ * Has <b> OK </b> status if returned value is equal to zero
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> jumpToMark() </code> : to have current position at
+ * the mark position </li>
+ * </ul>
+ */
+ public void _offsetToMark() {
+
+ requiredMethod("jumpToMark()") ;
+
+ boolean res;
+ try {
+ int offset = oObj.offsetToMark(mark);
+ res = offset == 0;
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't get offset to mark");
+ e.printStackTrace(log);
+ res = false;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't get offset to mark");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("offsetToMark()", res);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XObjectInputStream.java b/qadevOOo/tests/java/ifc/io/_XObjectInputStream.java
new file mode 100644
index 000000000..bfcb3f6b3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XObjectInputStream.java
@@ -0,0 +1,165 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import util.ValueComparer;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.io.XObjectInputStream</code>
+* interface methods:
+* <ul>
+* <li><code>readObject()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'PersistObject'</code> (of type <code>Object</code>):
+* object that supports interface <code>XPersistObject</code> </li>
+* <ul> <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XObjectInputStream
+* @see com.sun.star.io.XPersistObject
+*/
+public class _XObjectInputStream extends MultiMethodTest {
+
+ public XObjectInputStream oObj = null;
+
+ /**
+ * Test reads persist object from stream and compares properties
+ * of the object with properties of persist object obtained
+ * from relation <code>'PersistObject'</code> <p>
+ * Has <b> OK </b> status if returned value isn't null and values
+ * of objects properties are equal. <p>
+ */
+ public void _readObject() {
+ Object objWrite = tEnv.getObjRelation("PersistObject") ;
+ if (objWrite == null) {
+ log.println("PersistObject not found in relations") ;
+ tRes.tested("readObject()", false) ;
+ return ;
+ }
+
+ // write the object
+ try {
+ XObjectOutputStream oStream = (XObjectOutputStream)
+ tEnv.getObjRelation("StreamWriter");
+ oStream.writeObject((XPersistObject)objWrite);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't write object to stream");
+ e.printStackTrace(log);
+ tRes.tested("readObject()", Status.skipped(false));
+ return;
+ }
+
+ Object objRead = null ;
+ try {
+ objRead = oObj.readObject() ;
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't read object from stream");
+ e.printStackTrace(log);
+ tRes.tested("readObject()", false) ;
+ return ;
+ }
+
+ if (objRead == null) {
+ log.println("No object was read.") ;
+ tRes.tested("readObject()", false) ;
+ return ;
+ }
+
+ XPropertySet props1 = null ;
+ XPropertySet props2 = null ;
+
+ props1 = UnoRuntime.queryInterface
+ (XPropertySet.class, objRead) ;
+
+ props2 = UnoRuntime.queryInterface
+ (XPropertySet.class, objWrite) ;
+
+ if (props1 == null) {
+ log.println("Object read doesn't implement XPropertySet") ;
+ tRes.tested("readObject()", false) ;
+ return ;
+ }
+ if (props2 == null) {
+ log.println("Object written doesn't implement XPropertySet") ;
+ tRes.tested("readObject()", false) ;
+ return ;
+ }
+
+ tRes.tested("readObject()",
+ compareProperties(props1, props2)) ;
+ }
+
+ protected boolean compareProperties(XPropertySet props1,
+ XPropertySet props2) {
+
+ Property[] p1 = props1.getPropertySetInfo().getProperties() ;
+ Property[] p2 = props2.getPropertySetInfo().getProperties() ;
+
+ if (p1.length != p2.length) {
+ log.println("Number of properties differs") ;
+ return false ;
+ }
+
+ boolean result = true ;
+
+ for (int i = 0; i < p1.length; i++) {
+ String propName = p1[i].Name ;
+
+ log.print("Comparing property '" + propName + "' ...") ;
+ boolean res = false ;
+ try {
+ res = ValueComparer.equalValue
+ (props1.getPropertyValue(propName),
+ props2.getPropertyValue(propName)) ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Not found !") ;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e) ;
+ }
+
+ if (res)
+ log.println("OK.") ;
+ else
+ log.println("Different !") ;
+
+ result &= res ;
+ }
+
+ return result ;
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ @Override
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XObjectOutputStream.java b/qadevOOo/tests/java/ifc/io/_XObjectOutputStream.java
new file mode 100644
index 000000000..86efebe52
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XObjectOutputStream.java
@@ -0,0 +1,84 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.io.XObjectOutputStream</code>
+* interface methods:
+* <ul>
+* <li><code>writeObject()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'InputStream'</code> (of type <code>XObjectInputStream</code>)</li>
+* persist object for testing of write to stream</ul>
+* @see com.sun.star.io.XObjectInputStream
+* @see com.sun.star.io.XObjectOutputStream
+* @see com.sun.star.io.XPersistObject
+*/
+public class _XObjectOutputStream extends MultiMethodTest {
+
+ public XObjectOutputStream oObj = null;
+
+ /**
+ * Test creates persist object, sets label of object,
+ * calls the method for created persist object
+ * and checks label of object that was read from input stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and labels are equals. <p>
+ */
+ public void _writeObject() throws Exception {
+ XObjectInputStream oInStream = (XObjectInputStream)
+ tEnv.getObjRelation("InputStream");
+ if (oInStream == null) throw
+ new StatusException(Status.failed("Relation 'InputStream' failed"));
+
+ // use own implementation of XPersistObject, so test runs
+ // without an office
+ XPersistObject objWrite = (XPersistObject)
+ tEnv.getObjRelation("PersistObject");
+ if (objWrite == null) throw
+ new StatusException(Status.failed("Relation 'PersistObject' failed"));
+
+ XPropertySet propObjWrite = UnoRuntime.queryInterface(XPropertySet.class, objWrite);
+
+ // This XPersistObject has a property called 'String'
+ propObjWrite.setPropertyValue("String", "XObjectOutputStream");
+
+ log.println("Writing object with label 'XObjectOutputStream'");
+ oObj.writeObject(objWrite);
+ XPersistObject readObj = oInStream.readObject();
+ XPropertySet propSet = UnoRuntime.queryInterface(XPropertySet.class, readObj);
+ String label = (String)propSet.getPropertyValue("String");
+ log.println("Object with label '" + label + "' was read");
+
+ tRes.tested("writeObject()", label.equals("XObjectOutputStream")) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XOutputStream.java b/qadevOOo/tests/java/ifc/io/_XOutputStream.java
new file mode 100644
index 000000000..9f619f383
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XOutputStream.java
@@ -0,0 +1,170 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+
+/**
+* Testing <code>com.sun.star.io.XOutputStream</code>
+* interface methods:
+* <ul>
+* <li><code>writeBytes()</code></li>
+* <li><code>flush()</code></li>
+* <li><code>closeOutput()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ByteData'</code> : Data that is written on the stream.
+* </li>
+* <li> <code>'XOutputStream.StreamChecker'</code> : <code>
+* _XOutputStream.StreamChecker</code> interface implementation
+* which can reset streams and return input stream for check if the
+* data was successfully written.</li>
+* <ul> <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XOutputStream
+*/
+public class _XOutputStream extends MultiMethodTest {
+
+ public XOutputStream oObj = null;
+ StreamChecker checker = null;
+ byte[] data = null;
+
+ public interface StreamChecker {
+ XInputStream getInStream();
+ void resetStreams();
+ }
+
+ @Override
+ protected void before() {
+ checker = (StreamChecker)
+ tEnv.getObjRelation("XOutputStream.StreamChecker");
+ if (checker == null) throw
+ new StatusException(Status.failed(
+ "Couldn't get relation 'XOutputStream.StreamChecker'"));
+
+ data = (byte[])tEnv.getObjRelation("ByteData");
+ if (data == null) throw
+ new StatusException(Status.failed(
+ "Couldn't get relation 'ByteData'"));
+ }
+ /**
+ * Test writes data to stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _writeBytes() {
+ boolean res = true;
+ try {
+ oObj.writeBytes(data);
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log) ;
+ res = false;
+ }
+
+ byte[][] readData = new byte[1][data.length];
+ XInputStream xInStream = checker.getInStream();
+ if (xInStream != null) {
+ try {
+ xInStream.readBytes(readData, data.length);
+ } catch(com.sun.star.io.IOException e) {
+ log.println("Couldn't read data:" + e);
+ res = false;
+ }
+ } else {
+ res = false;
+ }
+
+ for(int i = 0; i < readData[0].length; i++) {
+ log.println("Expected: "+data[i]+", actual is "+readData[0][i]);
+ res &= readData[0][i] == data[i];
+ }
+
+ tRes.tested("writeBytes()", res);
+ }
+
+ /**
+ * Test flushes out data from stream. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> writeBytes() </code></li>
+ * </ul>
+ */
+ public void _flush() {
+ requiredMethod("writeBytes()");
+
+ boolean res;
+ try {
+ oObj.flush();
+ res = true;
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log) ;
+ res = false;
+ }
+
+ tRes.tested("flush()", res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> writeBytes() </code></li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li><code> flush() </code></li>
+ * </ul>
+ */
+ public void _closeOutput() {
+ requiredMethod("writeBytes()");
+ executeMethod("flush()");
+
+ boolean res;
+ try {
+ oObj.closeOutput();
+ res = true;
+ } catch (com.sun.star.io.IOException e) {
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ log.println("This method is called in main module");
+
+ tRes.tested("closeOutput()", res);
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ @Override
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/io/_XPersistObject.java b/qadevOOo/tests/java/ifc/io/_XPersistObject.java
new file mode 100644
index 000000000..083d0f71c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/io/_XPersistObject.java
@@ -0,0 +1,247 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.io;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+import util.dbg;
+import util.utils;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.io.XPersistObject</code>
+* interface methods :
+* <ul>
+* <li><code> getServiceName()</code></li>
+* <li><code> write()</code></li>
+* <li><code> read()</code></li>
+* </ul> <p>
+* This test need the following object relations :
+* <ul>
+* <li> <code>'OBJNAME'</code> : <code>String</code> value that
+* contains service name which object represents.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.io.XObjectInputStream
+* @see com.sun.star.io.XObjectOutputStream
+*/
+public class _XPersistObject extends MultiMethodTest {
+
+ public XPersistObject oObj = null;
+ XObjectInputStream iStream = null;
+ XObjectOutputStream oStream = null;
+ String sname = null;
+
+ boolean result = true;
+
+
+ /**
+ * Test calls the method and checks return value. <p>
+ * Has <b> OK </b> status if the method returns proper service names
+ * which is equal to <code>'OBJNAME'</code> relation value. <p>
+ */
+ public void _getServiceName() {
+ result = true;
+ sname = oObj.getServiceName();
+ log.println("Method returned '" + sname + "'") ;
+ String objName = (String)tEnv.getObjRelation("OBJNAME");
+ if (objName == null) {
+ log.println("No OBJNAME relation!");
+ result = false;
+ } else {
+ result &= sname.equals(objName);
+ if (!result)
+ log.println("Name of object must be '" + objName +
+ "' but returned name is '" + sname +"'");
+ }
+
+ tRes.tested("getServiceName()", result);
+ }
+
+ /**
+ * Creates service get by <code>getServiceName</code> method and tries
+ * to read object written to stream by <code>write</code> method test.
+ * Then properties of object written and object read are compared. <p>
+ * Has <b>OK</b> status if all properties of two objects are equal
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getServiceName() </code> : to have service name
+ * which has to be created </li>
+ * <li> <code> write() </code> : to write object tested into stream</li>
+ * </ul>
+ */
+ public void _read() {
+ requiredMethod("getServiceName()");
+ requiredMethod("write()") ;
+
+ boolean bResult = true;
+
+ try {
+ Object noPS = tEnv.getObjRelation("noPS");
+ if ( noPS == null) {
+ XPropertySet objps = UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+ XPropertySetInfo objpsi = objps.getPropertySetInfo();
+ Property[] objprops = objpsi.getProperties();
+
+ Object oCopy = tParam.getMSF().createInstance(sname);
+
+ XPersistObject persCopy = UnoRuntime.queryInterface(XPersistObject.class, oCopy);
+
+ persCopy.read(iStream);
+
+ XPropertySet copyps = UnoRuntime.queryInterface(
+ XPropertySet.class, oCopy);
+
+ XPropertySetInfo copypsi = copyps.getPropertySetInfo();
+ Property[] copyprops = copypsi.getProperties();
+
+ for (int i = 0; i < copyprops.length; i++) {
+ Object cps = copyps.getPropertyValue(copyprops[i].Name);
+ Object ops = objps.getPropertyValue(objprops[i].Name);
+ boolean locRes = ( (ValueComparer.equalValue(cps,ops)) ||
+ (utils.isVoid(cps) && utils.isVoid(ops)) );
+
+ //transient properties aren't stored
+ if (isTransient(objprops[i])) locRes = true;
+
+ Object pseudo = tEnv.getObjRelation("PSEUDOPERSISTENT");
+ if ( (pseudo != null) && !locRes) {
+ String str = copyprops[i].Name;
+ locRes = ( (str.equals("Time")) || (str.equals("Date"))
+ || (str.equals("FormatsSupplier"))
+ || (str.equals("Text"))
+ || (str.equals("Value"))
+ || (str.indexOf("UserDefined")>0)
+ );
+ }
+ if (!locRes) {
+ log.println("Property '" + copyprops[i].Name
+ + "' failed");
+ dbg.printPropertyInfo(objps, objprops[i].Name, log);
+ dbg.printPropertyInfo(copyps, copyprops[i].Name, log);
+ }
+ bResult &= locRes;
+ }
+ } else {
+ Object oCopy = tParam.getMSF().createInstance(sname);
+ XPersistObject persCopy = UnoRuntime.queryInterface(XPersistObject.class, oCopy);
+
+ persCopy.read(iStream);
+
+ bResult = persCopy.getServiceName().equals(sname);
+
+ }
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occurred : ");
+ e.printStackTrace(log) ;
+ bResult = false;
+ }
+
+ tRes.tested("read()", bResult);
+ }
+
+ /**
+ * Test calls the method and checks that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _write() {
+ boolean bResult = true;
+ try {
+ initPipe();
+ oObj.write(oStream);
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Exception occurred while test. " + e);
+ bResult = false;
+ }
+ tRes.tested("write()", bResult);
+ }
+
+
+ /**
+ * Creates the following stream scheme <code>
+ * ObjectOutputStream -> Pipe -> ObjectInputStream </code> for writing/reading
+ * object.
+ */
+ protected void initPipe() {
+ try {
+ Object aPipe = tParam.getMSF().createInstance
+ ("com.sun.star.io.Pipe");
+ Object istream = tParam.getMSF().createInstance
+ ("com.sun.star.io.ObjectInputStream");
+ Object ostream = tParam.getMSF().createInstance
+ ("com.sun.star.io.ObjectOutputStream");
+
+ // Now the objects that aren't described anywhere
+ Object mistream = tParam.getMSF().createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ Object mostream = tParam.getMSF().createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+
+ XActiveDataSink xdSi = UnoRuntime.queryInterface(XActiveDataSink.class, istream);
+ XActiveDataSource xdSo = UnoRuntime.queryInterface(XActiveDataSource.class, ostream);
+ XActiveDataSink xdSmi = UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+ XActiveDataSource xdSmo = UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XInputStream miStream = UnoRuntime.queryInterface(XInputStream.class, mistream);
+ XOutputStream moStream = UnoRuntime.queryInterface(XOutputStream.class, mostream);
+ XInputStream PipeIn = UnoRuntime.queryInterface(XInputStream.class, aPipe);
+ XOutputStream PipeOut = UnoRuntime.queryInterface(XOutputStream.class,aPipe);
+
+ xdSi.setInputStream(miStream);
+ xdSo.setOutputStream(moStream);
+ xdSmi.setInputStream(PipeIn);
+ xdSmo.setOutputStream(PipeOut);
+
+ iStream = UnoRuntime.queryInterface(XObjectInputStream.class, istream);
+ oStream = UnoRuntime.queryInterface(XObjectOutputStream.class, ostream);
+
+
+ } catch (com.sun.star.uno.Exception e) {
+ System.out.println("exc " + e);
+ }
+
+ }
+
+ public static boolean isTransient(Property prop) {
+ short attr = prop.Attributes;
+ return ((attr & com.sun.star.beans.PropertyAttribute.TRANSIENT) != 0);
+ }
+
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/java/_XJavaThreadRegister_11.java b/qadevOOo/tests/java/ifc/java/_XJavaThreadRegister_11.java
new file mode 100644
index 000000000..0a704fa34
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/java/_XJavaThreadRegister_11.java
@@ -0,0 +1,62 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.java;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.java.XJavaThreadRegister_11;
+
+/**
+* Testing <code>com.sun.star.java.XJavaThreadRegister_11</code>
+* interface methods :
+* <ul>
+* <li><code> isThreadAttached()</code></li>
+* <li><code> registerThread()</code></li>
+* <li><code> revokeThread()</code></li>
+* </ul> <p>
+* <b> Nothing tested here. </b>
+* @see com.sun.star.java.XJavaThreadRegister_11
+*/
+public class _XJavaThreadRegister_11 extends MultiMethodTest {
+ public XJavaThreadRegister_11 oObj;
+
+ @Override
+ protected void after() {
+ log.println("Skipping all XJavaThreadRegister_11 methods, since they"
+ + " can't be tested in the context");
+ throw new StatusException(Status.skipped(true));
+ }
+
+ public void _isThreadAttached() {
+ // skipping the test
+ tRes.tested("isThreadAttached()", true);
+ }
+
+ public void _registerThread() {
+ // skipping the test
+ tRes.tested("registerThread()", true);
+ }
+
+ public void _revokeThread() {
+ // skipping the test
+ tRes.tested("revokeThread()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/java/_XJavaVM.java b/qadevOOo/tests/java/ifc/java/_XJavaVM.java
new file mode 100644
index 000000000..0c8fe92a3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/java/_XJavaVM.java
@@ -0,0 +1,62 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.java;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.java.XJavaVM;
+
+/**
+* Testing <code>com.sun.star.java.XJavaVM</code>
+* interface methods :
+* <ul>
+* <li><code> getJavaVM()</code></li>
+* <li><code> isVMStarted()</code></li>
+* <li><code> isVMEnabled()</code></li>
+* </ul> <p>
+* <b> Nothing tested here. </b>
+* @see com.sun.star.java.XJavaVM
+*/
+public class _XJavaVM extends MultiMethodTest {
+ public XJavaVM oObj;
+
+ @Override
+ protected void after() {
+ log.println("Skipping all XJavaVM methods, since they"
+ + " can't be tested in the context");
+ throw new StatusException(Status.skipped(true));
+ }
+
+ public void _getJavaVM() {
+ // skipping the test
+ tRes.tested("getJavaVM()", true);
+ }
+
+ public void _isVMEnabled() {
+ // skipping the test
+ tRes.tested("isVMEnabled()", true);
+ }
+
+ public void _isVMStarted() {
+ // skipping the test
+ tRes.tested("isVMStarted()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/lang/_ServiceManager.java b/qadevOOo/tests/java/ifc/lang/_ServiceManager.java
new file mode 100644
index 000000000..6ccf2b06e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_ServiceManager.java
@@ -0,0 +1,51 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.lang;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.XComponentContext;
+
+public class _ServiceManager extends MultiPropertyTest {
+
+ public void _DefaultContext() {
+ XComponentContext get = null;
+ boolean res = false;
+ try {
+ get = (XComponentContext)AnyConverter.toObject(new Type(XComponentContext.class), oObj.getPropertyValue("DefaultContext"));
+ res = get != null;
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Illegal Argument Exception");
+ res = false;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Property is optional and not supported");
+ res = true;
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("Unexpected Exception");
+ wte.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("DefaultContext", res);
+
+ }
+
+} // EOF _ServiceManager
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XComponent.java b/qadevOOo/tests/java/ifc/lang/_XComponent.java
new file mode 100644
index 000000000..b1c8399f6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XComponent.java
@@ -0,0 +1,168 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.frame.XDesktop;
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XEventListener;
+
+/**
+* Testing <code>com.sun.star.lang.XComponent</code>
+* interface methods :
+* <ul>
+* <li><code> dispose()</code></li>
+* <li><code> addEventListener()</code></li>
+* <li><code> removeEventListener()</code></li>
+* </ul>
+* After this interface test object <b>must be recreated</b>. <p>
+* Multithreaded test ability <b>not implemented</b> yet.
+* @see com.sun.star.lang.XComponent
+*/
+public class _XComponent extends MultiMethodTest {
+
+ public static XComponent oObj = null;
+ private XComponent altDispose = null;
+
+ boolean listenerDisposed[] = new boolean[2];
+ String[] Loutput = new String[2];
+
+ /**
+ * Listener which added but not removed, and its method must be called
+ * on <code>dispose</code> call.
+ */
+ public class MyEventListener implements XEventListener {
+ public void disposing ( EventObject oEvent ) {
+ Loutput[0] = Thread.currentThread() + " is DISPOSING EV1" + this;
+ listenerDisposed[0] = true;
+ }
+ }
+
+ /**
+ * Listener which added and then removed, and its method must <b>not</b>
+ * be called on <code>dispose</code> call.
+ */
+ public class MyEventListener2 implements XEventListener {
+ public void disposing ( EventObject oEvent ) {
+ Loutput[0] = Thread.currentThread() + " is DISPOSING EV2" + this;
+ listenerDisposed[1] = true;
+ }
+ }
+
+ XEventListener listener1 = new MyEventListener();
+ XEventListener listener2 = new MyEventListener2();
+
+ /**
+ * For the (no longer existing) cfgmgr2.OSetElement tests: dispose the owner
+ * element. TODO: Is this needed for anything else, too, or should it be
+ * removed?
+ */
+ @Override
+ protected void before() {
+ // do not dispose this component, but parent instead
+ altDispose = (XComponent)tEnv.getObjRelation("XComponent.DisposeThis");
+
+ }
+
+ /**
+ * Adds two listeners. <p>
+ * Has OK status if then the first listener will receive an event
+ * on <code>dispose</code> method call.
+ */
+ public void _addEventListener() {
+
+ listenerDisposed[0] = false;
+ listenerDisposed[1] = false;
+
+ oObj.addEventListener( listener1 );
+ oObj.addEventListener( listener2 );
+ } // finished _addEventListener()
+
+ /**
+ * Removes the second of two added listeners. <p>
+ * Method tests to be completed successfully :
+ * <ul>
+ * <li> <code>addEventListener</code> : method must add two listeners. </li>
+ * </ul> <p>
+ * Has OK status if no events will be sent to the second listener on
+ * <code>dispose</code> method call.
+ */
+ public void _removeEventListener() {
+ executeMethod("addEventListener()");
+ if (disposed) return;
+ // the second listener should not be called
+ oObj.removeEventListener( listener2 );
+ log.println(Thread.currentThread() + " is removing EL " + listener2);
+ } // finished _removeEventListener()
+
+ boolean disposed = false;
+
+ /**
+ * Disposes the object and then check appropriate listeners were
+ * called or not. <p>
+ * Method tests to be completed successfully :
+ * <ul>
+ * <li> <code>removeEventListener</code> : method must remove one of two
+ * listeners. </li>
+ * </ul> <p>
+ * Has OK status if liseter removed wasn't called and other listener
+ * was.
+ */
+ public void _dispose() {
+ disposed = false;
+ executeMethod("removeEventListener()");
+
+ log.println( "begin dispose in thread " + Thread.currentThread());
+ XDesktop oDesk = (XDesktop) tEnv.getObjRelation("Desktop");
+ if (oDesk !=null) {
+ oDesk.terminate();
+ }
+ else {
+ if (altDispose == null)
+ oObj.dispose();
+ else
+ altDispose.dispose();
+ }
+
+ util.utils.shortWait();
+ if (Loutput[0]!=null) log.println(Loutput[0]);
+ if (Loutput[1]!=null) log.println(Loutput[1]);
+ log.println( "end dispose" + Thread.currentThread());
+ disposed = true;
+
+ // check that dispose() works OK.
+ tRes.tested("addEventListener()", listenerDisposed[0]);
+ tRes.tested("removeEventListener()", !listenerDisposed[1]);
+ tRes.tested("dispose()", listenerDisposed[0] && !listenerDisposed[1]);
+
+ } // finished _dispose()
+
+ /**
+ * Forces object recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // finished class _XComponent
+
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XEventListener.java b/qadevOOo/tests/java/ifc/lang/_XEventListener.java
new file mode 100644
index 000000000..2401e7d24
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XEventListener.java
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XEventListener;
+
+/**
+* Testing <code>com.sun.star.lang.XEventListener</code>
+* interface methods :
+* <ul>
+* <li><code> disposing()</code></li>
+* </ul> <p>
+* Tests nothing, all methods has <b>OK</b> status.
+* @see com.sun.star.lang.XEventListener
+*/
+public class _XEventListener extends MultiMethodTest {
+
+ public XEventListener oObj = null;
+
+ /**
+ * Nothing to test. Always has <b>OK</b> status.
+ */
+ public void _disposing() {
+ log.println("The method 'disposing'");
+ log.println("gets called when the broadcaster is about to be"+
+ " disposed.") ;
+ log.println("All listeners and all other objects which reference "+
+ "the broadcaster should release the references.");
+ log.println("So there is nothing to test here");
+ tRes.tested("disposing()",true);
+
+ }
+
+} //EOF of XEventListener
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XInitialization.java b/qadevOOo/tests/java/ifc/lang/_XInitialization.java
new file mode 100644
index 000000000..5566aef0c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XInitialization.java
@@ -0,0 +1,102 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XInitialization;
+
+/**
+* Testing <code>com.sun.star.lang.XInitialization</code>
+* interface methods. <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XInitialization.args'</code> (of type <code>Object[]</code>):
+* (<b>Optional</b>) : argument for <code>initialize</code>
+* method. If omitted zero length array is used. </li>
+* <ul> <p>
+* Test is multithread compliant. <p>
+* Till the present time there was no need to recreate environment
+* after this test completion.
+*/
+public class _XInitialization extends MultiMethodTest {
+
+ public static XInitialization oObj = null;
+
+ /**
+ * Test calls the method with 0 length array and checks that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _initialize() {
+ boolean result = true ;
+
+ try {
+ XInitialization xInit = (XInitialization) tEnv.getObjRelation("XInitialization.xIni");
+ if (xInit == null) xInit = oObj;
+
+ log.println("calling method with valid arguments...");
+ Object[] args = (Object[]) tEnv.getObjRelation("XInitialization.args");
+ if (args==null) {
+ System.out.println("Using new Object[0] as Argument");
+ xInit.initialize(new Object[0]);
+ } else {
+ xInit.initialize(args);
+ }
+
+ // try to call the method with invalid parameters
+ Object[] ExArgs = (Object[]) tEnv.getObjRelation("XInitialization.ExceptionArgs");
+ if (ExArgs !=null) {
+ log.println("calling method with in-valid arguments...");
+ try{
+ result = false;
+ xInit.initialize(ExArgs);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Expected Exception 'com.sun.star.uno.Exception' occurred -> OK") ;
+ result = true ;
+ } catch (com.sun.star.uno.RuntimeException e) {
+ log.println("Expected Exception 'com.sun.star.uno.RuntimeException' occurred -> OK") ;
+ result = true ;
+ } catch (Exception e) {
+ log.println("Un-Expected Exception occurred -> FALSE") ;
+ log.println(e.toString());
+ e.printStackTrace();
+ }
+ }
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occurred while method calling.") ;
+ log.println(e) ;
+ result = false ;
+ }
+
+ tRes.tested("initialize()", result) ;
+ } // finished _initialize()
+
+ /**
+ * Disposes object environment.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finished class _XInitialization
+
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XLocalizable.java b/qadevOOo/tests/java/ifc/lang/_XLocalizable.java
new file mode 100644
index 000000000..9a758032b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XLocalizable.java
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.lang.XLocalizable;
+import lib.Status;
+
+
+public class _XLocalizable extends MultiMethodTest {
+
+ public XLocalizable oObj;
+ protected Locale initialLocale;
+
+ public void _getLocale() {
+ initialLocale = oObj.getLocale();
+ tRes.tested("getLocale()", initialLocale != null);
+ }
+
+ public void _setLocale() {
+ requiredMethod("getLocale()");
+
+ String ro = (String) tEnv.getObjRelation("XLocalizable.ReadOnly");
+ if (ro != null) {
+ log.println(ro);
+ tRes.tested("setLocale()", Status.skipped(true));
+ return;
+ }
+ Locale newLocale = new Locale("de", "DE", "");
+ oObj.setLocale(newLocale);
+
+ Locale getLocale = oObj.getLocale();
+ boolean res = ((getLocale.Country.equals(newLocale.Country)) &&
+ (getLocale.Language.equals(newLocale.Language)));
+
+ if (!res) {
+ log.println("Expected Language " + newLocale.Language +
+ " and Country " + newLocale.Country);
+ log.println("Getting Language " + getLocale.Language +
+ " and Country " + getLocale.Country);
+ }
+
+ oObj.setLocale(initialLocale);
+ tRes.tested("setLocale()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/lang/_XMain.java b/qadevOOo/tests/java/ifc/lang/_XMain.java
new file mode 100644
index 000000000..b50186fe0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XMain.java
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.lang;
+
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMain;
+
+
+/**
+ * Testing <code>com.sun.star.lang.XMain</code>
+ * interface methods :
+ * <ul>
+ * <li><code> run()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'ARGS'</code> (of type <code>String[]</code>):
+ * used as argument for <code>run</code> method. </li>
+ * <ul> <p>
+ *
+ * @see com.sun.star.lang.XMain
+ */
+public class _XMain extends MultiMethodTest{
+
+ public static XMain oObj = null;
+
+ /**
+ * Just calls the method. <p>
+ *
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _run() {
+ String[] args = (String[])tEnv.getObjRelation("ARGS");
+
+ log.println("Running with arguments:");
+ for (int i=0; i< args.length; i++)
+ log.println("#" + i + ": " + args[i]);
+
+ oObj.run(args);
+
+ tRes.tested("run()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/lang/_XMultiComponentFactory.java b/qadevOOo/tests/java/ifc/lang/_XMultiComponentFactory.java
new file mode 100644
index 000000000..424e3d576
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XMultiComponentFactory.java
@@ -0,0 +1,122 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMultiComponentFactory;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.lang.XMultiComponentFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createInstanceWithContext()</code></li>
+* <li><code> createInstanceWithArgumentsAndContext()</code></li>
+* <li><code> getAvailableServiceNames()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.lang.XMultiComponentFactory
+*/
+public class _XMultiComponentFactory extends MultiMethodTest {
+ public XMultiComponentFactory oObj = null;
+
+ public XComponentContext xContext = null;
+ private String[] availableServiceNames = null;
+
+ @Override
+ public void before(){
+ xContext = (XComponentContext)tEnv.getObjRelation("DC");
+ availableServiceNames = (String[])tEnv.getObjRelation("XMultiComponentFactory.ServiceNames");
+ }
+
+ /**
+ * Calls the method with one of the available service names
+ * obtained by method getAvailableServiceNames. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * and returned value is not null.
+ */
+ public void _createInstanceWithContext() {
+ requiredMethod("getAvailableServiceNames()");
+ boolean result = true;
+
+ try {
+ XInterface component = (XInterface)
+ oObj.createInstanceWithContext(
+ availableServiceNames[0], xContext);
+ result = (component != null);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't create instance " + availableServiceNames[0]);
+ result = false;
+ }
+
+ tRes.tested("createInstanceWithContext()", result);
+ }
+
+ /**
+ * Calls the method with one of the available service names
+ * obtained by method getAvailableServiceNames. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * and returned value is not null.
+ */
+ public void _createInstanceWithArgumentsAndContext() {
+ requiredMethod("getAvailableServiceNames()");
+ boolean result = true;
+ XInterface component = null;
+
+ try {
+ component = (XInterface)oObj.createInstanceWithArgumentsAndContext(
+ availableServiceNames[0], new Object[0], xContext);
+ result = (component != null);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't create instance " + availableServiceNames[0]);
+ result = false;
+ }
+
+ tRes.tested("createInstanceWithArgumentsAndContext()", result);
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * and returned value is not null.
+ */
+ public void _getAvailableServiceNames() {
+ boolean result = true;
+ if (availableServiceNames == null) {
+ availableServiceNames = oObj.getAvailableServiceNames();
+ result = (availableServiceNames != null);
+ }
+ else { // if service names are given, ignore result
+ String[]erg = oObj.getAvailableServiceNames();
+ result = (erg != null);
+ }
+
+ log.println("Available service names:");
+ if (availableServiceNames != null) {
+ for(int i = 0; i < availableServiceNames.length; i++) {
+ log.println(" " + availableServiceNames[i]);
+ }
+ }
+
+ tRes.tested("getAvailableServiceNames()", result);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XMultiServiceFactory.java b/qadevOOo/tests/java/ifc/lang/_XMultiServiceFactory.java
new file mode 100644
index 000000000..ac5898edb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XMultiServiceFactory.java
@@ -0,0 +1,188 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMultiServiceFactory;
+
+
+/**
+* Testing <code>com.sun.star.lang.XMultiServiceFactory</code>
+* interface methods:
+* <ul>
+* <li><code>createInstance()</code></li>
+* <li><code>createInstanceWithArguments()</code></li>
+* <li><code>getAvailableServiceNames()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XMSF.serviceNames'</code> (of type <code>String[]</code>)
+* <b>optional</b>:
+* the relation used when service names are obtained the way
+* other than calling <code>getAvailableServiceNames()</code>
+* method.
+* </li>
+* <li> <code>'XMSF.serviceNamesWithArgs'</code> (of type <code>String[]</code>)
+* <b>optional</b>:
+* the relation used when service names are obtained the way
+* other than calling <code>getAvailableServiceNames()</code>
+* method for testing <code>createInstanceWithArguments</code> method.
+* </li>
+* <li> <code>'XMSF.Args'</code> (of type <code>Object[][]</code>)
+* <b>optional</b>:
+* if this relation exists than the method
+* <code>createInstanceWithArguments</code> is tested. This relation
+* supplies arguments for creating instances. If the relation
+* <code>'XMSF.serviceNamesWithArgs'</code> is also specified
+* then for each service name from that relation appropriate arguments
+* are used from arguments array. If not than arguments with index
+* 0 are used for services creation obtained by
+* <code>getAvailableServiceNames</code> method.
+* </li>
+* </ul> <p>
+*
+* @see com.sun.star.lang.XMultiServiceFactory
+*/
+public class _XMultiServiceFactory extends MultiMethodTest {
+ public XMultiServiceFactory oObj = null;
+ public String[] services = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getAvailableServiceNames() {
+ services = oObj.getAvailableServiceNames();
+
+ for (int i = 0; i < services.length; i++) {
+ log.println("Service" + i + ": " + services[i]);
+ }
+
+ tRes.tested("getAvailableServiceNames()", true);
+ }
+
+ /**
+ * Test creates instance of the first service from names array
+ * get by <code>getAvailableServiceNames()</code>. If the array
+ * is empty than test looks for names from relation. <p>
+ *
+ * Has <b> OK </b> status if created instance isn't null. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAvailableServiceNames() </code> : to have list of
+ * supported services </li>
+ * </ul>
+ */
+ public void _createInstance() {
+ requiredMethod("getAvailableServiceNames()");
+
+ if (services.length == 0) {
+ services = (String[]) tEnv.getObjRelation("XMSF.serviceNames");
+
+ if (services == null) {
+ log.println("No service to create.");
+ tRes.tested("createInstance()", true);
+
+ return;
+ }
+ }
+
+ String needArgs = (String) tEnv.getObjRelation("needArgs");
+
+ if (needArgs != null) {
+ log.println("The " + needArgs +
+ " doesn't support createInstance without arguments");
+ tRes.tested("createInstance()", true);
+
+ return;
+ }
+
+ boolean res = true;
+
+ for (int k = 0; k < services.length; k++) {
+ try {
+ log.println("Creating Instance: " + services[k]);
+
+ Object Inst = oObj.createInstance(services[k]);
+ res = (Inst != null);
+ } catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred during createInstance()");
+ ex.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("createInstance()", res);
+ }
+
+ /**
+ * If the relation with arguments is not specified test does nothing.
+ * In other case it tries to create instance by its name from
+ * relation of from array <code>getAvailableServiceNames()</code>
+ * method supplied. <p>
+ *
+ * Has <b> OK </b> status if the created instance is not null. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getAvailableServiceNames() </code> : to have list of
+ * supported services </li>
+ * </ul>
+ */
+ public void _createInstanceWithArguments() {
+ requiredMethod("getAvailableServiceNames()");
+
+ Object[][] args = (Object[][]) tEnv.getObjRelation("XMSF.Args");
+ String[] sNames = (String[]) tEnv.getObjRelation(
+ "XMSF.serviceNamesWithArgs");
+
+ if (args == null) {
+ log.println("Relation 'XMSF.serviceNamesWithArgs' not found");
+ log.println("The component assumed not support " +
+ "createInstanceWithArguments()");
+ tRes.tested("createInstanceWithArguments()", true);
+ } else {
+ if (sNames == null) {
+ sNames = services;
+ }
+
+ boolean res = true;
+
+ for (int k = 0; k < sNames.length; k++) {
+ log.println("Creating service '" + sNames[k] +
+ "' with arguments");
+
+ try {
+ Object Inst = oObj.createInstanceWithArguments(sNames[k],
+ args[k]);
+ res &= (Inst != null);
+ } catch (com.sun.star.uno.Exception ex) {
+ log.println(
+ "Exception occurred during createInstanceWithArguments()");
+ ex.printStackTrace(log);
+ res = false;
+ }
+ }
+
+ tRes.tested("createInstanceWithArguments()", res);
+ }
+ }
+} // finish class _XMultiServiceFactory
diff --git a/qadevOOo/tests/java/ifc/lang/_XServiceDisplayName.java b/qadevOOo/tests/java/ifc/lang/_XServiceDisplayName.java
new file mode 100644
index 000000000..f726f4ec8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XServiceDisplayName.java
@@ -0,0 +1,50 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.lang.XServiceDisplayName;
+
+/**
+* Testing <code>com.sun.star.lang.XServiceDisplayName</code>
+* interface methods:
+* <ul>
+* <li><code>getServiceDisplayName()</code></li>
+* </ul> <p>
+* @see com.sun.star.lang.XServiceDisplayName
+*/
+public class _XServiceDisplayName extends MultiMethodTest {
+
+ public XServiceDisplayName oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getServiceDisplayName() {
+ String dn = oObj.getServiceDisplayName(new Locale("de","DE",""));
+
+ tRes.tested("getServiceDisplayName()", dn != null);
+ }
+
+} // finish class MTest
+
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XServiceInfo.java b/qadevOOo/tests/java/ifc/lang/_XServiceInfo.java
new file mode 100644
index 000000000..e1f2e0da3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XServiceInfo.java
@@ -0,0 +1,88 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XServiceInfo;
+
+/**
+* Testing <code>com.sun.star.lang.XServiceInfo</code>
+* interface methods :
+* <ul>
+* <li><code> getImplementationName()</code></li>
+* <li><code> supportsService()</code></li>
+* <li><code> getSupportedServiceNames()</code></li>
+* </ul> <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.lang.XServiceInfo
+*/
+public class _XServiceInfo extends MultiMethodTest {
+ public static XServiceInfo oObj = null;
+ public static String[] names = null;
+
+ /**
+ * Just calls the method.<p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getImplementationName() {
+ boolean result = true;
+ log.println("testing getImplementationName() ... ");
+
+ log.println("The ImplementationName is "+oObj.getImplementationName());
+ result=true;
+
+ tRes.tested("getImplementationName()", result);
+
+ } // end getImplementationName()
+
+
+ /**
+ * Just calls the method.<p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getSupportedServiceNames() {
+ boolean result = true;
+ log.println("getting supported Services...");
+ names = oObj.getSupportedServiceNames();
+ for (int i=0;i<names.length;i++) {
+ int k = i+1;
+ log.println(k+". Supported Service is "+names[i]);
+ }
+ result=true;
+
+ tRes.tested("getSupportedServiceNames()", result);
+
+ } // end getSupportedServiceNames()
+
+ /**
+ * Gets one of the service names returned by
+ * <code>getSupportedServiceNames</code> method and
+ * calls the <code>supportsService</code> method with this
+ * name. <p>
+ * Has <b>OK</b> status if <code>true</code> value is
+ * returned.
+ */
+ public void _supportsService() {
+ log.println("testing supportsService");
+ names = oObj.getSupportedServiceNames();
+ tRes.tested("supportsService()", oObj.supportsService(names[0]));
+ } // end supportsService()
+}
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XSingleServiceFactory.java b/qadevOOo/tests/java/ifc/lang/_XSingleServiceFactory.java
new file mode 100644
index 000000000..da039308c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XSingleServiceFactory.java
@@ -0,0 +1,160 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+/**
+* Testing <code>com.sun.star.</code>
+* interface methods :lang.XSingleServiceFactory
+* <ul>
+* <li><code> createInstance()</code></li>
+* <li><code> createInstanceWithArguments()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XSingleServiceFactory.createInstance.negative'</code> :
+* <code>String</code> relation; If its value 'true' then
+* <code>createInstance</code> method for the object isn't
+* supported. </li>
+* <li> <code>'XSingleServiceFactory.arguments'</code> <b>(optional)</b>:
+* has <code>Object[]</code> type. This relation is used as
+* a parameter for <code>createInstanceWithArguments</code>
+* method call. If this relation doesn't exist test pass
+* zero length array as argument. </li>
+* <li> <code>'XSingleServiceFactory.MustSupport'</code> <b>(optional)</b>:
+* of type <code>java.lang.Class[]</code>. This is an array of UNO
+* interface classes which must be supported by created instance.
+* </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.lang.XSingleServiceFactory
+*/
+public class _XSingleServiceFactory extends MultiMethodTest {
+
+ public XSingleServiceFactory oObj = null;
+ private Class<?>[] mustSupport = null ;
+
+ @Override
+ public void before() {
+ mustSupport = (Class[]) tEnv.getObjRelation
+ ("XSingleServiceFactory.MustSupport") ;
+ }
+
+ /**
+ * Just calls the method and check the value returned. <p>
+ *
+ * Has <b>OK</b> status in case if this method is supported
+ * by object and non null value is returned, or if
+ * this method isn't supported then the method call must
+ * rise an exception or return <code>null</code> value.
+ * If the relation exists which specifies required interfaces
+ * supported by created instance then status is <b>OK</b>
+ * if all these interfaces are supported.
+ */
+ public void _createInstance() {
+ // for some objects the method should fail.
+ // If this is required the property is set to true.
+ String negStr = (String)tEnv.getObjRelation(
+ "XSingleServiceFactory.createInstance.negative");
+ boolean negative = (negStr != null && negStr.equalsIgnoreCase("true"));
+
+ if (negative) {
+ log.println("Negative test: createInstance should fail");
+ }
+
+ try {
+ log.println("Creating Instance: ");
+ Object Inst = oObj.createInstance();
+ boolean bOK = Inst != null ;
+
+ if (mustSupport != null && bOK) {
+ for (int i = 0; i < mustSupport.length; i++) {
+ Object ifc = UnoRuntime.queryInterface(mustSupport[i], Inst) ;
+ if (ifc == null) {
+ log.println(" !!! Created instance doesn't support " +
+ mustSupport[i].toString()) ;
+ }
+ bOK &= ifc != null ;
+ }
+ }
+
+ tRes.tested("createInstance()",
+ (negative && Inst == null) || (!negative && bOK));
+ } catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred during createInstance()");
+ if (negative) {
+ ex.printStackTrace(log);
+ }
+ tRes.tested("createInstance()", negative);
+ }
+ }
+
+ /**
+ * Calls the method and checks the value returned. If relation
+ * with method argument doesn't exist new zero length array
+ * is created. <p>
+ * Has <b>OK</b> status if non null value is returned.
+ * If the relation exists which specifies required interfaces
+ * supported by created instance then status is <b>OK</b>
+ * if all these interfaces are supported.
+ */
+ public void _createInstanceWithArguments() {
+ Object[] arg = (Object[])tEnv.getObjRelation(
+ "XSingleServiceFactory.arguments");
+
+ if (arg == null) {
+ arg = new Object[0];
+ }
+
+ try {
+ boolean bOK = true ;
+ log.println("Creating Instance with Argument");
+ Object Inst = oObj.createInstanceWithArguments(arg);
+ bOK &= Inst != null ;
+
+ if (mustSupport != null) {
+ for (int i = 0; i < mustSupport.length; i++) {
+ Object ifc = UnoRuntime.queryInterface(mustSupport[i], Inst) ;
+ if (ifc == null) {
+ log.println(" !!! Created instance doesn't support " +
+ mustSupport[i].toString()) ;
+ }
+ bOK &= ifc != null ;
+ }
+ }
+
+ tRes.tested("createInstanceWithArguments()", bOK);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred during createInstanceWithArguments()");
+ ex.printStackTrace(log);
+ tRes.tested("createInstanceWithArguments()",false);
+ }
+ }
+
+} // finish class _XSingleServiceFactory
+
+
diff --git a/qadevOOo/tests/java/ifc/lang/_XTypeProvider.java b/qadevOOo/tests/java/ifc/lang/_XTypeProvider.java
new file mode 100644
index 000000000..1d13d9f28
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/lang/_XTypeProvider.java
@@ -0,0 +1,82 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.lang;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.lang.XTypeProvider</code>
+* interface methods :
+* <ul>
+* <li><code> getTypes()</code></li>
+* <li><code> getImplementationId()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.lang.XTypeProvider
+*/
+public class _XTypeProvider extends MultiMethodTest {
+
+ public static XTypeProvider oObj = null;
+ public static Type[] types = null;
+
+ /**
+ * Just calls the method.<p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getImplementationId() {
+ log.println("testing getImplementationId() ... ");
+
+ boolean result = oObj.getImplementationId().length > 0;
+
+ tRes.tested("getImplementationId()", result);
+
+ } // end getImplementationId()
+
+
+ /**
+ * Calls the method and checks the return value.<p>
+ * Has <b>OK</b> status if one of the return value equals to the
+ * type <code>com.sun.star.lang.XTypeProvider</code>.
+ */
+ public void _getTypes() {
+ boolean result = false;
+ log.println("getting Types...");
+ types = oObj.getTypes();
+ for (int i=0;i<types.length;i++) {
+ int k = i+1;
+ log.println(k+". Type is "+types[i].toString());
+ if (types[i].toString().equals
+ ("Type[com.sun.star.lang.XTypeProvider]")) {
+ result = true;
+ }
+ }
+ if (!result) {
+ log.println("Component must provide Type "
+ +"<com.sun.star.lang.XTypeProvider>");
+ }
+
+ tRes.tested("getTypes()", result);
+
+ } // end getTypes()
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_LinguProperties.java b/qadevOOo/tests/java/ifc/linguistic2/_LinguProperties.java
new file mode 100644
index 000000000..930986d56
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_LinguProperties.java
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.linguistic2;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.linguistic2.LinguProperties</code>
+* service properties:
+* <ul>
+* <li><code>'IsGermanPreReform'</code></li>
+* <li><code>'IsUseDictionaryList'</code></li>
+* <li><code>'IsIgnoreControlCharacters'</code></li>
+* <li><code>'IsSpellUpperCase'</code></li>
+* <li><code>'IsSpellWithDigits'</code></li>
+* <li><code>'IsSpellCapitalization'</code></li>
+* <li><code>'HyphMinLeading'</code></li>
+* <li><code>'HyphMinTrailing'</code></li>
+* <li><code>'HyphMinWordLength'</code></li>
+* <li><code>'DefaultLocale'</code></li>
+* <li><code>'IsHyphAuto'</code></li>
+* <li><code>'IsHyphSpecial'</code></li>
+* <li><code>'IsSpellAuto'</code></li>
+* <li><code>'IsSpellHide'</code></li>
+* <li><code>'IsSpellInAllLanguages'</code></li>
+* <li><code>'IsSpellSpecial'</code></li>
+* <li><code>'IsWrapReverse'</code></li>
+* <li><code>'DefaultLocale_CJK'</code></li>
+* <li><code>'DefaultLocale_CTL'</code></li>
+* </ul>
+* @see com.sun.star.linguistic2.LinguProperties
+*/
+public class _LinguProperties extends MultiPropertyTest {
+} // finish class _LinguProperties
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XAvailableLocales.java b/qadevOOo/tests/java/ifc/linguistic2/_XAvailableLocales.java
new file mode 100644
index 000000000..0fb7e4f88
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XAvailableLocales.java
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.linguistic2;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XAvailableLocales;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XAvailableLocales</code>
+* interface methods:
+* <ul>
+* <li><code>getAvailableLocales()</code></li>
+* </ul> <p>
+* @see com.sun.star.linguistic2.XAvailableLocales
+*/
+public class _XAvailableLocales extends MultiMethodTest {
+
+ public XAvailableLocales oObj = null;
+
+ /**
+ * Test calls the method, stores returned value and checks it. <p>
+ * Has <b> OK </b> status if length of returned array isn't zero. <p>
+ */
+ public void _getAvailableLocales() {
+ Locale[] locales = oObj.getAvailableLocales("com.sun.star.linguistic2.Hyphenator");
+ tRes.tested("getAvailableLocales()", locales.length > 0);
+ }
+
+} // finish class XAvailableLocales
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XDictionaryList.java b/qadevOOo/tests/java/ifc/linguistic2/_XDictionaryList.java
new file mode 100644
index 000000000..edbdc1a86
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XDictionaryList.java
@@ -0,0 +1,286 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.DictionaryListEvent;
+import com.sun.star.linguistic2.XDictionary;
+import com.sun.star.linguistic2.XDictionaryList;
+import com.sun.star.linguistic2.XDictionaryListEventListener;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XDictionaryList</code>
+* interface methods:
+* <ul>
+* <li><code>getCount()</code></li>
+* <li><code>getDictionaries()</code></li>
+* <li><code>getDictionaryByName()</code></li>
+* <li><code>addDictionary()</code></li>
+* <li><code>removeDictionary()</code></li>
+* <li><code>addDictionaryListEventListener()</code></li>
+* <li><code>removeDictionaryListEventListener()</code></li>
+* <li><code>beginCollectEvents()</code></li>
+* <li><code>endCollectEvents()</code></li>
+* <li><code>flushEvents()</code></li>
+* <li><code>createDictionary()</code></li>
+* </ul> <p>
+* @see com.sun.star.linguistic2.XDictionaryList
+*/
+public class _XDictionaryList extends MultiMethodTest {
+
+ public XDictionaryList oObj = null;
+ public XDictionary addedDic = null;
+
+ /**
+ * Flag for testing of listeners.
+ */
+ public boolean listenerCalled = false;
+
+ /**
+ * Class implements interface <code>XDictionaryListEventListener</code>
+ * for test method <code>addDictionaryListEventListener</code>.
+ * @see com.sun.star.linguistic2.XDictionaryListEventListener
+ */
+ public class MyDictionaryListEventListener implements
+ XDictionaryListEventListener {
+
+ public void disposing ( EventObject oEvent ) {
+ log.println("Listener has been disposed");
+ }
+ public void processDictionaryListEvent( DictionaryListEvent aDicEvent) {
+ listenerCalled = true;
+ }
+ }
+
+ XDictionaryListEventListener listener = new MyDictionaryListEventListener();
+
+ short count = 0;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is greater than zero. <p>
+ */
+ public void _getCount() {
+ count = oObj.getCount();
+ tRes.tested("getCount()",(count > 0) );
+ }
+
+ /**
+ * Test calls the method and checks number of obtained dictionaries
+ * with value that was returned by method <code>getCount</code>. <p>
+ * Has <b> OK </b> status if values are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getCount() </code> : to have number of dictionaries </li>
+ * </ul>
+ */
+ public void _getDictionaries() {
+ requiredMethod("getCount()");
+
+ XDictionary[] dics = oObj.getDictionaries();
+ boolean res = (dics.length == count);
+ if (!res) {
+ log.println("Expected: " + oObj.getCount());
+ log.println("Gained: " + dics.length);
+ }
+ tRes.tested("getDictionaries()", res);
+ }
+
+ /**
+ * Test calls the method, makes some actions that leads to event
+ * <code>processDictionaryListEvent</code>, removes listener, checks flag
+ * <code>listenerCalled</code> and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is true and value of flag
+ * <code>listenerCalled</code> is true. <p>
+ */
+ public void _addDictionaryListEventListener() {
+ listenerCalled = false;
+
+ XDictionary xDic = oObj.createDictionary("ListenDic",
+ new Locale("en","US","WIN"),
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+
+ boolean res = oObj.addDictionaryListEventListener(listener, false);
+
+ oObj.flushEvents();
+ oObj.addDictionary(xDic);
+ xDic.add("Positive", false, "");
+ xDic.setActive(true);
+ oObj.flushEvents();
+ oObj.removeDictionary(xDic);
+
+ oObj.removeDictionaryListEventListener(listener);
+
+ tRes.tested("addDictionaryListEventListener()",listenerCalled && res);
+ }
+
+ /**
+ * Test calls the method, makes some actions that leads to event
+ * <code>processDictionaryListEvent</code>, checks flag
+ * <code>listenerCalled</code> and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is false and value of flag
+ * <code>listenerCalled</code> is false. <p>
+ */
+ public void _removeDictionaryListEventListener() {
+ listenerCalled = false;
+
+ XDictionary xDic = oObj.createDictionary("ListenDic",
+ new Locale("en","US","WIN"),
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+
+ oObj.addDictionaryListEventListener(listener,false);
+
+ oObj.flushEvents();
+ oObj.addDictionary(xDic);
+ xDic.add("Positive", false,"");
+ xDic.setActive(true);
+
+ listenerCalled = false;
+ boolean res = oObj.removeDictionaryListEventListener(listener);
+
+ oObj.flushEvents();
+ oObj.removeDictionary(xDic);
+
+ tRes.tested(
+ "removeDictionaryListEventListener()",
+ !listenerCalled && res );
+ }
+
+ /**
+ * Test creates new dictionary, adds the dictionary to list and compares
+ * number of dictionaries after adding with number of dictionaries before.<p>
+ * Has <b> OK </b> status if number of dictionaries after method call is
+ * greater than number of dictionaries before method call. <p>
+ */
+ public void _addDictionary() {
+ short previous = oObj.getCount();
+ addedDic = oObj.createDictionary("AddedDic",new Locale("en","US","WIN"),
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+ addedDic.add("Positive",false,"");
+
+ oObj.addDictionary(addedDic);
+
+ short after = oObj.getCount();
+
+ tRes.tested( "addDictionary()", (after > previous) );
+ }
+
+ /**
+ * Test calls the method and compares number of dictionaries
+ * before method call and after. <p>
+ * Has <b> OK </b> status if number of dictionaries before method call is
+ * less than number of dictionaries after method call. <p>
+ */
+ public void _removeDictionary() {
+ short previous = oObj.getCount();
+ oObj.removeDictionary(addedDic);
+ short after = oObj.getCount();
+ tRes.tested("removeDictionary()",(after < previous) );
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getDictionaryByName() {
+ XDictionary getting = oObj.getDictionaryByName("NegativDic");
+ tRes.tested("getDictionaryByName()", getting != null );
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _createDictionary() {
+ XDictionary tmpDic = oObj.createDictionary("AddedDic",
+ new Locale("en","US","WIN"),
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+ tRes.tested("createDictionary()", tmpDic != null );
+ }
+
+ /**
+ * Test creates dictionary, adds dictionary list event listener,
+ * begins collect events, makes some actions that leads to event
+ * <code>processDictionaryListEvent</code>, ends collect events,
+ * removes the listener and checks the flag <code>listenerCalled</code> . <p>
+ * Has <b> OK </b> status if value of the flag is true. <p>
+ */
+ public void _beginCollectEvents() {
+ listenerCalled = false;
+
+ XDictionary xDic = oObj.createDictionary("ListenDic",
+ new Locale("en","US","WIN"),
+ com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+
+ oObj.addDictionaryListEventListener(listener,false);
+ oObj.beginCollectEvents();
+
+ oObj.addDictionary(xDic);
+ xDic.add("Positive",false,"");
+ xDic.setActive(true);
+
+ oObj.removeDictionary(xDic);
+ oObj.endCollectEvents();
+
+ oObj.removeDictionaryListEventListener(listener);
+
+ tRes.tested("beginCollectEvents()", listenerCalled );
+ }
+
+ /**
+ * Test does nothing. <p>
+ * Has <b> OK </b> status if method
+ * <code>addDictionaryListEventListener()</code> was completed
+ * successfully. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addDictionaryListEventListener() </code> :
+ * if listener adding worked, flushEvents was already used and worked </li>
+ * </ul>
+ */
+ public void _flushEvents() {
+ requiredMethod("addDictionaryListEventListener()");
+ // if listener adding worked, flushEvents was already used and worked
+ tRes.tested("flushEvents()",true);
+ }
+
+ /**
+ * Test does nothing. <p>
+ * Has <b> OK </b> status if method
+ * <code>beginCollectEvents()</code> was completed successfully. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> beginCollectEvents() </code> :
+ * if beginCollectEvents() worked then endCollectEvents was already
+ * used and worked </li>
+ * </ul>
+ */
+ public void _endCollectEvents() {
+ requiredMethod("beginCollectEvents()");
+ // if beginCollectEvents() worked, endCollectEvents
+ // was already used and worked
+ tRes.tested("endCollectEvents()",true);
+ }
+
+} // finish class _XDictionaryList
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XHyphenator.java b/qadevOOo/tests/java/ifc/linguistic2/_XHyphenator.java
new file mode 100644
index 000000000..907cd5aeb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XHyphenator.java
@@ -0,0 +1,102 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XHyphenatedWord;
+import com.sun.star.linguistic2.XHyphenator;
+import com.sun.star.linguistic2.XPossibleHyphens;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XHyphenator</code>
+* interface methods:
+* <ul>
+* <li><code>hyphenate()</code></li>
+* <li><code>queryAlternativeSpelling()</code></li>
+* <li><code>createPossibleHyphens()</code></li>
+* </ul><p>
+* @see com.sun.star.linguistic2.XHyphenator
+*/
+public class _XHyphenator extends MultiMethodTest {
+
+ public XHyphenator oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _hyphenate() {
+ boolean res = true;
+ PropertyValue[] Props = null;
+ try {
+ XHyphenatedWord result = oObj.hyphenate(
+ "wacker",new Locale("de","DE",""),(short)3,Props);
+ res &= (result != null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'hyphenate'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("hyphenate()",res);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _queryAlternativeSpelling() {
+ boolean res = true;
+ PropertyValue[] Props = null;
+ try {
+ XHyphenatedWord result = oObj.queryAlternativeSpelling(
+ "wacker",new Locale("de","DE",""),(short)2,Props);
+ res &= (result != null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'queryAlternativeSpelling'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("queryAlternativeSpelling()",res);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _createPossibleHyphens() {
+ boolean res = true;
+ PropertyValue[] Props = null;
+ try {
+ XPossibleHyphens result = oObj.createPossibleHyphens(
+ "wacker",new Locale("de","DE",""),Props);
+ res &= (result != null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'createPossibleHyphens'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("createPossibleHyphens()",res);
+ }
+
+} // \u0422\u044B finish class XHyphenator
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceEventBroadcaster.java b/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceEventBroadcaster.java
new file mode 100644
index 000000000..9396ebf28
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceEventBroadcaster.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.linguistic2.LinguServiceEvent;
+import com.sun.star.linguistic2.XLinguServiceEventBroadcaster;
+import com.sun.star.linguistic2.XLinguServiceEventListener;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XLinguServiceEventBroadcaster</code>
+* interface methods:
+* <ul>
+* <li><code>addLinguServiceEventListener()</code></li>
+* <li><code>removeLinguServiceEventListener()</code></li>
+* </ul><p>
+* @see com.sun.star.linguistic2.XLinguServiceEventBroadcaster
+*/
+public class _XLinguServiceEventBroadcaster extends MultiMethodTest {
+
+ public XLinguServiceEventBroadcaster oObj = null;
+
+ /**
+ * Class implements interface <code>XLinguServiceEventListener</code>
+ * for test method <code>addLinguServiceEventListener</code>.
+ * @see com.sun.star.linguistic2.XLinguServiceEventListener
+ */
+ public class MyLinguServiceEventListener implements
+ XLinguServiceEventListener {
+ public void disposing ( EventObject oEvent ) {
+ log.println("Listener has been disposed");
+ }
+ public void processLinguServiceEvent(LinguServiceEvent aServiceEvent) {
+ log.println("Listener called");
+ }
+
+ }
+
+ XLinguServiceEventListener listener = new MyLinguServiceEventListener();
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is true. <p>
+ */
+ public void _addLinguServiceEventListener() {
+ boolean res = true;
+
+ res = oObj.addLinguServiceEventListener(listener);
+
+ tRes.tested("addLinguServiceEventListener()",res);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is true. <p>
+ */
+ public void _removeLinguServiceEventListener() {
+ boolean res = true;
+
+ res = oObj.removeLinguServiceEventListener(listener);
+
+ tRes.tested("removeLinguServiceEventListener()",res);
+ }
+
+} // finish class XLinguServiceEventBroadcaster
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceManager.java b/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceManager.java
new file mode 100644
index 000000000..2f71ea372
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XLinguServiceManager.java
@@ -0,0 +1,174 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.LinguServiceEvent;
+import com.sun.star.linguistic2.XHyphenator;
+import com.sun.star.linguistic2.XLinguServiceEventListener;
+import com.sun.star.linguistic2.XLinguServiceManager;
+import com.sun.star.linguistic2.XSpellChecker;
+import com.sun.star.linguistic2.XThesaurus;
+
+/**
+*Testing <code>com.sun.star.linguistic2.XLinguServiceManager</code>
+* interface methods:
+* <ul>
+* <li><code>getSpellChecker()</code></li>
+* <li><code>getHyphenator()</code></li>
+* <li><code>getThesaurus()</code></li>
+* <li><code>addLinguServiceManagerListener()</code></li>
+* <li><code>removeLinguServiceManagerListener()</code></li>
+* <li><code>getAvailableServices()</code></li>
+* <li><code>setConfiguredServices()</code></li>
+* <li><code>getConfiguredServices()</code></li>
+* </ul> <p>
+*@see com.sun.star.linguistic2.XLinguServiceManager
+*/
+public class _XLinguServiceManager extends MultiMethodTest {
+
+ public XLinguServiceManager oObj = null;
+
+ /**
+ * Class implements interface <code>XLinguServiceEventListener</code>
+ * for test method <code>addLinguServiceManagerListener</code>.
+ * @see com.sun.star.linguistic2.XLinguServiceEventListener
+ */
+ public class MyLinguServiceEventListener implements
+ XLinguServiceEventListener {
+ public void disposing ( EventObject oEvent ) {
+ log.println("Listener has been disposed");
+ }
+ public void processLinguServiceEvent(LinguServiceEvent aServiceEvent) {
+ log.println("Listener called");
+ }
+ }
+
+ XLinguServiceEventListener listener = new MyLinguServiceEventListener();
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getSpellChecker() {
+ XSpellChecker SC = oObj.getSpellChecker();
+ tRes.tested("getSpellChecker()", SC != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getHyphenator() {
+ XHyphenator HN = oObj.getHyphenator();
+ tRes.tested("getHyphenator()", HN != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getThesaurus() {
+ XThesaurus TS = oObj.getThesaurus();
+ tRes.tested("getThesaurus()", TS != null);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is equal to true. <p>
+ */
+ public void _addLinguServiceManagerListener() {
+ boolean res = oObj.addLinguServiceManagerListener(listener);
+ tRes.tested("addLinguServiceManagerListener()", res);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value is equal to true. <p>
+ */
+ public void _removeLinguServiceManagerListener() {
+ boolean res = oObj.removeLinguServiceManagerListener(listener);
+ tRes.tested("removeLinguServiceManagerListener()",res);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if length of returned array is
+ * greater than zero.<p>
+ */
+ public void _getAvailableServices() {
+ String[] services = oObj.getAvailableServices(
+ "com.sun.star.linguistic2.Hyphenator",
+ new Locale("en", "US", "") );
+ tRes.tested("getAvailableServices()", services.length > 0);
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if length of returned array is
+ * greater than zero.<p>
+ */
+ public void _getConfiguredServices() {
+ String[] services = oObj.getConfiguredServices(
+ "com.sun.star.linguistic2.Hyphenator",
+ new Locale("en", "US", "") );
+ tRes.tested("getConfiguredServices()", services.length > 0);
+ }
+
+ /**
+ * Test sets empty list of service, checks value returned
+ * by method <code>getConfiguredServices()</code> and all services
+ * restored finally. <p>
+ * Has <b> OK </b> status if length of obtained service list equal to zero.
+ * <p>The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getConfiguredServices() </code></li>
+ * </ul>
+ */
+ public void _setConfiguredServices() {
+ requiredMethod("getConfiguredServices()");
+
+ String[] services = oObj.getConfiguredServices(
+ "com.sun.star.linguistic2.Hyphenator",new Locale("en","US",""));
+
+ String[] empty = new String[0];
+ oObj.setConfiguredServices(
+ "com.sun.star.linguistic2.Hyphenator",
+ new Locale("en", "US", ""),
+ empty );
+
+ String[] get = oObj.getConfiguredServices(
+ "com.sun.star.linguistic2.Hyphenator", new Locale("en","US",""));
+
+ boolean res = (get.length == 0);
+
+ oObj.setConfiguredServices(
+ "com.sun.star.linguistic2.Hyphenator",
+ new Locale("en", "US", ""),
+ services );
+
+ tRes.tested("setConfiguredServices()", res);
+ }
+
+} // finish class _XLinguServiceManager
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XSearchableDictionaryList.java b/qadevOOo/tests/java/ifc/linguistic2/_XSearchableDictionaryList.java
new file mode 100644
index 000000000..a22ecf2c8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XSearchableDictionaryList.java
@@ -0,0 +1,64 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.linguistic2;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XDictionaryEntry;
+import com.sun.star.linguistic2.XSearchableDictionaryList;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XSearchableDictionaryList</code>
+* interface methods:
+* <ul>
+* <li><code>queryDictionaryEntry()</code></li>
+* </ul> <p>
+* @see com.sun.star.linguistic2.XSearchableDictionaryList
+*/
+public class _XSearchableDictionaryList extends MultiMethodTest {
+
+ public XSearchableDictionaryList oObj = null;
+
+ /**
+ * Test calls the method for negative dictionary and for positive dictionary
+ * and checks returned values. <p>
+ * Has <b> OK </b> status if returned values are not null. <p>
+ */
+ public void _queryDictionaryEntry() {
+ XDictionaryEntry aNegativEntry = oObj.queryDictionaryEntry("Negative",
+ new Locale("en","US","WIN"),false,true);
+ if (aNegativEntry == null) {
+ log.println("'queryDictionary' didn't work for negative dictionaries");
+ } else {
+ log.println("'queryDictionary' works for negative dictionaries");
+ }
+ XDictionaryEntry aPositivEntry = oObj.queryDictionaryEntry("Positive",
+ new Locale("en","US","WIN"),true,true);
+ if (aPositivEntry == null) {
+ log.println("'queryDictionary' didn't work for positive dictionaries");
+ } else {
+ log.println("'queryDictionary' works for positive dictionaries");
+ }
+ tRes.tested("queryDictionaryEntry()",(aNegativEntry != null) &&
+ (aPositivEntry != null) );
+ }
+
+} // finish class _XSearchableDictionaryList
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XSpellChecker.java b/qadevOOo/tests/java/ifc/linguistic2/_XSpellChecker.java
new file mode 100644
index 000000000..75eaf8626
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XSpellChecker.java
@@ -0,0 +1,108 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XSpellAlternatives;
+import com.sun.star.linguistic2.XSpellChecker;
+import lib.Status;
+import lib.StatusException;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XSpellChecker</code>
+* interface methods:
+* <ul>
+* <li><code>isValid()</code></li>
+* <li><code>spell()</code></li>
+* </ul><p>
+* @see com.sun.star.linguistic2.XSpellChecker
+*/
+public class _XSpellChecker extends MultiMethodTest {
+
+ public XSpellChecker oObj = null;
+ XSpellChecker alternative = null;
+
+ @Override
+ public void before() {
+ alternative = (XSpellChecker) tEnv.getObjRelation("AlternativeChecker");
+ if (alternative == null) throw new StatusException(Status.failed
+ ("Relation AlternativeChecker not found")) ;
+ }
+
+ /**
+ * Test calls the method for a correctly spelled word and
+ * for an incorrectly spelled word and checks returned values. <p>
+ * Has <b> OK </b> status if returned value is equal to true in first case,
+ * if returned value is equal to false in second case and no exceptions
+ * were thrown. <p>
+ */
+ public void _isValid() {
+ boolean res = true;
+ try {
+ log.println("Checking 'original' Spellchecker");
+ PropertyValue[] empty = new PropertyValue[0] ;
+ res &= oObj.isValid("Sun", new Locale("en","US",""), empty);
+ res &= !oObj.isValid("Summersun", new Locale("en","US","") ,empty);
+ log.println("Result so far is - "+ (res ? "OK" : "failed"));
+ log.println("Checking alternative Spellchecker");
+ res &= alternative.isValid("Sun", new Locale("en","US",""), empty);
+ res &= !alternative.isValid("Summersun", new Locale("en","US","") ,empty);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'isValid'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("isValid()",res);
+ }
+
+ /**
+ * Test calls the method for an incorrectly spelled word
+ * and checks returned values. <p>
+ * Has <b> OK </b> status if at least one spell alternative exists
+ * and no exceptions were thrown. <p>
+ */
+ public void _spell() {
+ boolean res = true;
+ try {
+ log.println("Checking 'original' Spellchecker");
+ PropertyValue[] empty = new PropertyValue[0] ;
+ XSpellAlternatives alt = oObj.spell(
+ "Summersun",new Locale("en","US",""),empty);
+ String alternatives = alt.getAlternatives()[0];
+ res = (alternatives != null);
+ log.println("Result so far is - "+ (res ? "OK" : "failed"));
+ log.println("Checking alternative Spellchecker");
+ alt =alternative.spell(
+ "Summersun",new Locale("en","US",""),empty);
+ alternatives = alt.getAlternatives()[0];
+ res &= (alternatives != null);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'spell'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("spell()",res);
+ }
+
+} // finish class MTest
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XSupportedLocales.java b/qadevOOo/tests/java/ifc/linguistic2/_XSupportedLocales.java
new file mode 100644
index 000000000..a9536b8d2
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XSupportedLocales.java
@@ -0,0 +1,80 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XSupportedLocales;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XSupportedLocales</code>
+* interface methods:
+* <ul>
+* <li><code>getLocales()</code></li>
+* <li><code>hasLocale()</code></li>
+* </ul> <p>
+* @see com.sun.star.linguistic2.XSupportedLocales
+*/
+public class _XSupportedLocales extends MultiMethodTest {
+
+ public XSupportedLocales oObj = null;
+ public Locale[] locales = new Locale[0];
+
+ /**
+ * Test calls the method, stores returned value and checks it. <p>
+ * Has <b> OK </b> status if length of returned array isn't zero. <p>
+ */
+ public void _getLocales() {
+ locales = oObj.getLocales();
+ tRes.tested("getLocales()", locales.length > 0);
+ }
+
+ /**
+ * Test calls the method for every language from list of supported languages,
+ * calls the method for one unsupported language and checks
+ * all returned values. <p>
+ * Has <b> OK </b> status if all returned values for supported languages
+ * are equal to true and if returned value for unsupported language is equal
+ * to false. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getLocales() </code> : to have list of
+ * all supported languages </li>
+ * </ul>
+ */
+ public void _hasLocale() {
+ requiredMethod("getLocales()");
+ boolean res = true;
+
+ // first check all available locales
+ for (int i=0; i< locales.length; i++) {
+ res &= oObj.hasLocale(locales[i]);
+ }
+
+ // now create an invalid locale
+ Locale invalid = new Locale("myLanguage","myCountry","");
+ res &= !oObj.hasLocale(invalid);
+
+ tRes.tested("hasLocale()", res);
+ }
+
+} // finish class XSupportedLocales
+
+
diff --git a/qadevOOo/tests/java/ifc/linguistic2/_XThesaurus.java b/qadevOOo/tests/java/ifc/linguistic2/_XThesaurus.java
new file mode 100644
index 000000000..8bfcccf6e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/linguistic2/_XThesaurus.java
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.linguistic2;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.Locale;
+import com.sun.star.linguistic2.XMeaning;
+import com.sun.star.linguistic2.XThesaurus;
+
+/**
+* Testing <code>com.sun.star.linguistic2.XThesaurus</code>
+* interface methods:
+* <ul>
+* <li><code>queryMeanings()</code></li>
+* </ul> <p>
+* @see com.sun.star.linguistic2.XThesaurus
+*/
+public class _XThesaurus extends MultiMethodTest {
+
+ public XThesaurus oObj = null;
+
+ /**
+ * Test calls the method for one of supported language and checks
+ * returned value. <p>
+ * Has <b> OK </b> status if returned array is not empty
+ * and no exceptions were thrown. <p>
+ */
+ public void _queryMeanings() {
+ boolean res = true;
+ try {
+ XMeaning[] mean = oObj.queryMeanings(
+ "survive",new Locale("en","US",""), new PropertyValue[0]);
+ res = (mean.length > 0);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'queryMeanings'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+ tRes.tested("queryMeanings()",res);
+ }
+
+
+} // finish class
+
+
diff --git a/qadevOOo/tests/java/ifc/loader/_XImplementationLoader.java b/qadevOOo/tests/java/ifc/loader/_XImplementationLoader.java
new file mode 100644
index 000000000..1a8a05409
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/loader/_XImplementationLoader.java
@@ -0,0 +1,180 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.loader;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+import util.RegistryTools;
+
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.loader.CannotActivateFactoryException;
+import com.sun.star.loader.XImplementationLoader;
+import com.sun.star.registry.CannotRegisterImplementationException;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Testing <code>com.sun.star.loader.XImplementationLoader</code>
+ * interface methods :
+ * <ul>
+ * <li><code> activate()</code></li>
+ * <li><code> writeRegistryInfo()</code></li>
+ * </ul> <p>
+ *
+ * The following object relations required :
+ * <ul>
+ * <li> <code>'ImplementationLoader'</code> : service which is
+ * responsible for loading implementations. </li>
+ * <li> <code>'ImplementationUrl'</code> : implementation file location. </li>
+ * <li> <code>'ImplementationName'</code> : Name of the implementation.</li>
+ * </ul> <p>
+ * Object has to be recreated after this test. <p>
+ * Test is <b> Not </b> multithread compliant.
+ */
+public class _XImplementationLoader extends MultiMethodTest {
+
+ public XImplementationLoader oObj = null;
+ private String implLoader = null ;
+ private String implUrl = null ;
+ private String implName = null ;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ implLoader = (String) tEnv.getObjRelation("ImplementationLoader") ;
+ implUrl = (String) tEnv.getObjRelation("ImplementationUrl") ;
+ implName = (String) tEnv.getObjRelation("ImplementationName") ;
+
+ if (implLoader == null || implUrl == null || implName == null)
+ throw new StatusException("One of object relations not found",
+ new NullPointerException()) ;
+ }
+
+ /**
+ * First registry file created, and the root key retrieved.
+ * Then method <code>writeRegistryInfo</code> called and it must
+ * write some info into the registry root key. After all registry
+ * is destroyed.<p>
+ * Has OK status if some info was written into registry.
+ */
+ public void _writeRegistryInfo() {
+ XRegistryKey key ;
+ XSimpleRegistry xReg = null ;
+
+ String tmpDir = util.utils.getOfficeTempDir(tParam.getMSF());
+
+ try {
+ xReg = RegistryTools.createRegistryService
+ (tParam.getMSF()) ;
+
+ xReg.open(tmpDir + "XImpLoader_tmp.rdb", false, true) ;
+
+ key = xReg.getRootKey() ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can not create registry for writing") ;
+ e.printStackTrace(log) ;
+ tRes.tested("writeRegistryInfo()", false) ;
+ return ;
+ }
+
+ boolean rc ;
+ try {
+ rc = oObj.writeRegistryInfo(key, implLoader, implUrl) ;
+ } catch (CannotRegisterImplementationException e) {
+ throw new StatusException("Can not register implementation", e) ;
+ }
+
+ if (!rc)
+ log.println("Method returned false value") ;
+
+ String[] keys ;
+ try {
+ keys = key.getKeyNames() ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error retrieving key names from registry") ;
+ tRes.tested("writeRegistryInfo()", false) ;
+ return ;
+ }
+
+ // destroying registry file
+ try {
+ xReg.close() ;
+ xReg.destroy() ;
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ log.println("Can't destroy registry file.") ;
+ }
+
+ tRes.tested("writeRegistryInfo()", rc && keys.length > 0) ;
+ }
+
+ /**
+ * Tries to activate the implementation. <p>
+ *
+ * Has OK status if not <code>null</code> value returned by method,
+ * if its implementation name is the same as expected.
+ */
+ public void _activate() {
+ boolean ok = true ;
+ XInterface factory = null ;
+
+ try {
+ factory = (XInterface) oObj.activate
+ (implName, implLoader, implUrl, null) ;
+ } catch (CannotActivateFactoryException e) {
+ throw new StatusException("Can not activate factory", e) ;
+ }
+
+ XServiceInfo xServInf = UnoRuntime.queryInterface
+ (XServiceInfo.class, factory) ;
+
+ if (xServInf == null) {
+ if (factory == null) {
+ log.println("activate() returns null - FAILED.");
+ } else {
+ log.println("Activated implementation doesn't support "+
+ "XServiceInfo - FAILED.");
+ }
+ ok = false ;
+ } else {
+ String gImpName = xServInf.getImplementationName() ;
+ log.println("Implementation name returned :" + gImpName);
+
+ if (!gImpName.equals(implName)) {
+ log.println("!!! But other name was expected :" + implName);
+ ok = false ;
+ }
+ }
+
+ tRes.tested("activate()", ok) ;
+ }
+
+ /**
+ * Forces object recreation.
+ */
+ @Override
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_OutlineView.java b/qadevOOo/tests/java/ifc/presentation/_OutlineView.java
new file mode 100644
index 000000000..f702a7b4c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_OutlineView.java
@@ -0,0 +1,27 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.presentation;
+
+import lib.MultiPropertyTest;
+
+public class _OutlineView extends MultiPropertyTest {
+
+} // finish class _PresentationView
+
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_Presentation.java b/qadevOOo/tests/java/ifc/presentation/_Presentation.java
new file mode 100644
index 000000000..28f8a5aab
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_Presentation.java
@@ -0,0 +1,83 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.presentation;
+
+import lib.MultiPropertyTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.presentation.XPresentation;
+
+/**
+* Testing <code>com.sun.star.presentation.Presentation</code>
+* service properties :
+* <ul>
+* <li><code> AllowAnimations</code></li>
+* <li><code> CustomShow</code></li>
+* <li><code> FirstPage</code></li>
+* <li><code> IsAlwaysOnTop</code></li>
+* <li><code> IsAutomatic</code></li>
+* <li><code> IsEndless</code></li>
+* <li><code> IsFullScreen</code></li>
+* <li><code> IsLivePresentation</code></li>
+* <li><code> IsMouseVisible</code></li>
+* <li><code> Pause</code></li>
+* <li><code> StartWithNavigator</code></li>
+* <li><code> UsePen</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Presentation'</code> (of type <code>XPresentation</code>):
+* for test of property <code>IsLivePresentation</code>
+* presentation start needed </li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.presentation.Presentation
+* @see com.sun.star.presentation.XPresentation
+*/
+public class _Presentation extends MultiPropertyTest {
+
+ public void _IsLivePresentation() {
+ XPresentation aPresentation = (XPresentation)
+ tEnv.getObjRelation("Presentation");
+ if (aPresentation == null) throw new StatusException(Status.failed
+ ("Relation 'Presentation' not found"));
+
+ aPresentation.start();
+ testProperty("IsLivePresentation");
+ }
+
+ protected PropertyTester CustomShowTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if ( ((String)oldValue).equals("SecondPresentation") ) {
+ return "FirstPresentation";
+ } else {
+ return "SecondPresentation";
+ }
+ }
+ };
+
+ public void _CustomShow() {
+ testProperty("CustomShow", CustomShowTester);
+ }
+} // finish class _Presentation
+
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_PresentationView.java b/qadevOOo/tests/java/ifc/presentation/_PresentationView.java
new file mode 100644
index 000000000..0846877b1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_PresentationView.java
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.presentation;
+
+import lib.MultiPropertyTest;
+
+public class _PresentationView extends MultiPropertyTest {
+
+ /**
+ * Property tester which changes DrawPage.
+ */
+ protected PropertyTester PageTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(tEnv.getObjRelation("FirstPage")))
+ return tEnv.getObjRelation("SecondPage"); else
+ return tEnv.getObjRelation("FirstPage");
+ }
+ } ;
+
+ /**
+ * This property must be an XDrawPage
+ */
+ public void _CurrentPage() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("CurrentPage", PageTester) ;
+ }
+
+} // finish class _PresentationView
+
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_PreviewView.java b/qadevOOo/tests/java/ifc/presentation/_PreviewView.java
new file mode 100644
index 000000000..a1a7a6ec5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_PreviewView.java
@@ -0,0 +1,30 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.presentation;
+
+import lib.MultiPropertyTest;
+
+public class _PreviewView extends MultiPropertyTest {
+
+ public void _CurrentPage() {
+ Object obj1 = tEnv.getObjRelation("FirstPage");
+ Object obj2 = tEnv.getObjRelation("SecondPage");
+ testProperty("CurrentPage",obj1,obj2);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/presentation/_SlidesView.java b/qadevOOo/tests/java/ifc/presentation/_SlidesView.java
new file mode 100644
index 000000000..db688f604
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_SlidesView.java
@@ -0,0 +1,25 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.presentation;
+
+import lib.MultiPropertyTest;
+
+public class _SlidesView extends MultiPropertyTest {
+
+}
diff --git a/qadevOOo/tests/java/ifc/presentation/_XCustomPresentationSupplier.java b/qadevOOo/tests/java/ifc/presentation/_XCustomPresentationSupplier.java
new file mode 100644
index 000000000..8ee1d2509
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_XCustomPresentationSupplier.java
@@ -0,0 +1,49 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.presentation;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.presentation.XCustomPresentationSupplier;
+
+/**
+* Testing <code>com.sun.star.presentation.XCustomPresentationSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getCustomPresentations()</code></li>
+* </ul> <p>
+* @see com.sun.star.presentation.XCustomPresentationSupplier
+*/
+public class _XCustomPresentationSupplier extends MultiMethodTest {
+
+ public XCustomPresentationSupplier oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getCustomPresentations() {
+ XNameAccess NA = oObj.getCustomPresentations();
+ tRes.tested("getCustomPresentations()", NA != null);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_XPresentation.java b/qadevOOo/tests/java/ifc/presentation/_XPresentation.java
new file mode 100644
index 000000000..c68af3b77
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_XPresentation.java
@@ -0,0 +1,74 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.presentation;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.presentation.XPresentation;
+
+/**
+* Testing <code>com.sun.star.presentation.XPresentation</code>
+* interface methods :
+* <ul>
+* <li><code> start()</code></li>
+* <li><code> end()</code></li>
+* <li><code> rehearseTimings()</code></li>
+* </ul> <p>
+* @see com.sun.star.presentation.XPresentation
+*/
+public class _XPresentation extends MultiMethodTest {
+
+ public XPresentation oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _start() {
+ oObj.start();
+ tRes.tested("start()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> start() </code> : presentation must be started before</li>
+ * </ul>
+ */
+ public void _end() {
+ requiredMethod("start()");
+
+ oObj.end();
+ tRes.tested("end()", true);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns. <p>
+ */
+ public void _rehearseTimings() {
+ oObj.rehearseTimings();
+ tRes.tested("rehearseTimings()", true);
+ }
+
+} // finish class _XPresentation
+
+
diff --git a/qadevOOo/tests/java/ifc/presentation/_XPresentationSupplier.java b/qadevOOo/tests/java/ifc/presentation/_XPresentationSupplier.java
new file mode 100644
index 000000000..6c32e36b4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/presentation/_XPresentationSupplier.java
@@ -0,0 +1,49 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.presentation;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.presentation.XPresentation;
+import com.sun.star.presentation.XPresentationSupplier;
+
+/**
+* Testing <code>com.sun.star.presentation.XPresentationSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getPresentation()</code></li>
+* </ul> <p>
+* @see com.sun.star.presentation.XPresentationSupplier
+*/
+public class _XPresentationSupplier extends MultiMethodTest {
+
+ public XPresentationSupplier oObj = null;
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned value isn't null. <p>
+ */
+ public void _getPresentation() {
+ XPresentation NA = oObj.getPresentation();
+ tRes.tested("getPresentation()", NA != null);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/reflection/_XIdlReflection.java b/qadevOOo/tests/java/ifc/reflection/_XIdlReflection.java
new file mode 100644
index 000000000..f77b3ba7b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/reflection/_XIdlReflection.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.reflection;
+
+import com.sun.star.reflection.XIdlClass;
+import com.sun.star.reflection.XIdlReflection;
+import com.sun.star.uno.TypeClass;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.reflection.XIdlReflection</code>
+* interface methods :
+* <ul>
+* <li><code> forName()</code></li>
+* <li><code> getType()</code></li>
+* </ul> <p>
+* @see com.sun.star.reflection.XIdlReflection
+*/
+public class _XIdlReflection extends MultiMethodTest{
+ public XIdlReflection oObj = null;
+ protected static final String typeName = "com.sun.star.container.XNameAccess";
+
+ /**
+ * Test calls the method and checks returned interface
+ * <code>com.sun.star.container.XNameAccess</code>: gets the name and the
+ * type and checks it. <p>
+ * Has <b> OK </b> status if returned name is equal to the name of the
+ * interface that was passed as parameter in the method call and if returned
+ * type is equal to <code>com.sun.star.uno.TypeClass.INTERFACE</code>. <p>
+ */
+ public void _forName() {
+ boolean result = true;
+ XIdlClass cls = oObj.forName(typeName);
+
+ if (cls != null) {
+ log.println("Class name: " + cls.getName());
+ result &= cls.getTypeClass() == TypeClass.INTERFACE;
+ result &= typeName.equals(cls.getName());
+ } else {
+ log.println("Method returned null");
+ result = false;
+ }
+
+ tRes.tested("forName()", result);
+ }
+
+ /**
+ * Test creates the instance of <code>com.sun.star.io.Pipe</code>,
+ * calls the method using this instance as parameter and checks returned
+ * value. <p>
+ * Has <b> OK </b> status if the instance was created successfully, if
+ * returned value isn't null and no exceptions were thrown. <p>
+ */
+ public void _getType() {
+ Object obj = null;
+
+ try {
+ obj = tParam.getMSF().
+ createInstance("com.sun.star.io.Pipe") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create object");
+ tRes.tested("getType()", false);
+ return;
+ }
+
+ if (obj == null) {
+ log.println("Object wasn't created !");
+ tRes.tested("getType()", false);
+ }
+
+ XIdlClass cls = oObj.getType(obj);
+
+ if (cls != null) {
+ log.println("The name is " + cls.getName());
+ }
+
+ tRes.tested("getType()", cls != null);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/reflection/_XProxyFactory.java b/qadevOOo/tests/java/ifc/reflection/_XProxyFactory.java
new file mode 100644
index 000000000..f278f7372
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/reflection/_XProxyFactory.java
@@ -0,0 +1,88 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.reflection;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XInitialization;
+import com.sun.star.reflection.XProxyFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XAggregation;
+
+/**
+/**
+* Testing <code>com.sun.star.reflection.XProxyFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createProxy()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.reflection.XProxyFactory
+*/
+public class _XProxyFactory extends MultiMethodTest {
+ /** Is initialized in super class(using reflection API)
+ * when instantiating the test.
+ */
+ public XProxyFactory oObj;
+
+ /*
+ * First an implementation of
+ * <code>com.sun.star.lang.XInitialization</code> interface
+ * is made which sets a flag when its <code>initialize()</code>
+ * method is called. Then an instance of this implementation
+ * is created and a proxy object is created for it. Proxy
+ * object is tried to query for <code>XInitialization</code>
+ * interface and it's <code>initialize</code> method is
+ * called. The goal is to check if the real object method
+ * was called through its proxy. <p>
+ * Has <b>OK</b> status if the real object method was
+ * called and parameters were passed correctly.
+ */
+ public void _createProxy() {
+ class MyObject implements XInitialization {
+ Object[] params;
+
+ public void initialize(Object args[]) {
+ params = args;
+ }
+ }
+
+ MyObject obj = new MyObject();
+
+ XAggregation xAggr = oObj.createProxy(obj);
+
+ XInitialization xInit = UnoRuntime.queryInterface(
+ XInitialization.class, xAggr);
+
+ Object params[] = new Object[0];
+
+ try {
+ xInit.initialize(params);
+ } catch(com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception : " + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("createProxy()", false);
+ return;
+ }
+
+ tRes.tested("createProxy()",
+ util.ValueComparer.equalValue(params, obj.params));
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/reflection/_XTypeDescriptionEnumerationAccess.java b/qadevOOo/tests/java/ifc/reflection/_XTypeDescriptionEnumerationAccess.java
new file mode 100644
index 000000000..b4efdcdd0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/reflection/_XTypeDescriptionEnumerationAccess.java
@@ -0,0 +1,86 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.reflection;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.reflection.TypeDescriptionSearchDepth;
+import com.sun.star.reflection.XTypeDescription;
+import com.sun.star.reflection.XTypeDescriptionEnumeration;
+import com.sun.star.reflection.XTypeDescriptionEnumerationAccess;
+import com.sun.star.uno.TypeClass;
+
+/**
+ * Testing <code>com.sun.star.reflection.XTypeDescriptionEnumerationAccess
+ * </code><br>
+ * Needed object relation:
+ * <ul>
+ * <li><code>SearchString</code>
+ * A string to search for as a type description</li>
+ * </ul>
+ */
+public class _XTypeDescriptionEnumerationAccess extends MultiMethodTest {
+ public XTypeDescriptionEnumerationAccess oObj = null;
+
+ /**
+ * Search the type database for all information regarding the object
+ * relation 'SearchString'. Search depth is infinite and information
+ * about all types is gathered.
+ */
+ public void _createTypeDescriptionEnumeration() {
+ int i=0;
+ TypeClass[] tClass = new TypeClass[0];
+ String sString = (String)tEnv.getObjRelation("SearchString");
+ if (sString == null || sString.equals("")) {
+ System.out.println("Cannot get object relation 'SearchString'");
+ tRes.tested("createTypeDescriptionEnumeration()", false);
+ return;
+ }
+ try {
+ XTypeDescriptionEnumeration oEnum =
+ oObj.createTypeDescriptionEnumeration(sString, tClass,
+ TypeDescriptionSearchDepth.INFINITE);
+ try {
+ log.println("Got an enumeration.");
+ while (true) {
+ XTypeDescription desc = oEnum.nextTypeDescription();
+ i++;
+ log.println("\tdesc name: " + desc.getName());
+ }
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ log.println(
+ "Correct exception caught for exiting enumeration.");
+ log.println("Returned were " + i + " type descriptions.");
+ }
+ catch(Exception e) {
+ log.println("Exception while accessing the enumeration.");
+ log.println("Index is " + i);
+ log.println(e.getMessage());
+ tRes.tested("createTypeDescriptionEnumeration()", false);
+ return;
+ }
+ tRes.tested("createTypeDescriptionEnumeration()", i>0);
+ }
+ catch(Exception e) {
+ log.println("Cannot execute method.");
+ log.println(e.getMessage());
+ tRes.tested("createTypeDescriptionEnumeration()", false);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/registry/_XImplementationRegistration.java b/qadevOOo/tests/java/ifc/registry/_XImplementationRegistration.java
new file mode 100644
index 000000000..7603f8a00
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/registry/_XImplementationRegistration.java
@@ -0,0 +1,184 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.registry;
+
+import com.sun.star.registry.XImplementationRegistration;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.RuntimeException;
+import lib.MultiMethodTest;
+import util.RegistryTools;
+import util.utils;
+
+/**
+* Testing <code>com.sun.star.registry.XImplementationRegistration</code>
+* interface methods :
+* <ul>
+* <li><code> registerImplementation()</code></li>
+* <li><code> revokeImplementation()</code></li>
+* <li><code> getImplementations()</code></li>
+* <li><code> checkInstantiation()</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>solibrary.jar</code> : jar file with implementation
+* classes. One of the required implementation must have name
+* <code>com.ivistaportal.solibrary.HistogramImpl</code> cause
+* it is checked in <code>getImplementations</code> method. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star
+*/
+public class _XImplementationRegistration extends MultiMethodTest {
+
+ public XImplementationRegistration oObj = null;
+
+ private String url = null ;
+ private String loader = null ;
+ private XSimpleRegistry reg = null ;
+
+ /**
+ * First a registry created and opened in the temporary directory
+ * of StarOffice. Then some implementations situated in JAR file
+ * is registered in the registry opened. <p>
+ * Has <b>OK</b> status if some information is written into registry.
+ *
+ */
+ public void _registerImplementation()
+ throws RuntimeException
+ {
+ url = util.utils.getFullTestURL("qadevlibs/MyPersistObjectImpl.jar");
+ loader = "com.sun.star.loader.Java2";
+ boolean result = false ;
+ String name = null;
+
+ try {
+ name = utils.getOfficeTempDir(tParam.getMSF()) +
+ "XImplementationRegistration_tmp.rdb";
+ reg = RegistryTools.openRegistry
+ (name, tParam.getMSF()) ;
+
+ oObj.registerImplementation(loader, url, reg) ;
+
+ RegistryTools.printRegistryInfo(reg.getRootKey(), log) ;
+
+ String[] subKeys = reg.getRootKey().getKeyNames() ;
+
+ result = subKeys != null && subKeys.length > 0 ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't open registry file: " + name) ;
+ e.printStackTrace(log) ;
+ }
+ tRes.tested("registerImplementation()", result) ;
+ }
+
+ /**
+ * Retrieves an array of implementation names and check them. <p>
+ * Has <b>OK</b> status if among them an implementation name
+ * <code>com.ivistaportal.solibrary.HistogramImpl</code> exists.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerImplementation </code> </li>
+ * </ul>
+ */
+ public void _getImplementations() throws RuntimeException{
+ requiredMethod("registerImplementation()") ;
+
+ String[] impl = oObj.getImplementations(loader, url) ;
+
+ if (impl.length == 0) log.println("getImplementations() "+
+ "returns an empty array");
+ boolean result = false ;
+ log.println("Implementations found :") ;
+ for (int i = 0; i < impl.length; i++) {
+ log.println(" '" + impl[i] + "'") ;
+ if ("com.sun.star.cmp.MyPersistObject".
+ equals(impl[i])) {
+
+ result = true ;
+ break ;
+ }
+ }
+
+
+
+ tRes.tested("getImplementations()", result) ;
+ }
+
+ /**
+ * Calls the method with
+ * <code>com.sun.star.comp.stoc.JavaComponentLoader</code>
+ * implementation name.<p>
+ * Has <b>OK</b> status if not null array returned. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerImplementation </code> </li>
+ * </ul>
+ */
+ public void _checkInstantiation() throws RuntimeException {
+ requiredMethod("registerImplementation()") ;
+
+ String[] inst = oObj.checkInstantiation(
+ "com.sun.star.comp.stoc.JavaComponentLoader") ;
+
+ tRes.tested("checkInstantiation()", inst != null) ;
+ }
+
+ /**
+ * Revokes implementations from registry, and checks if
+ * all implementations' information is deleted. <p>
+ * Has <b>OK</b> status if registry has no key entries. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerImplementation </code> : to have
+ * implementation registered in registry. </li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getImplementations </code>
+ * <li> <code> checkInstantiation </code>
+ * </ul>
+ */
+ public void _revokeImplementation() throws RuntimeException{
+ requiredMethod("registerImplementation()") ;
+
+ executeMethod("getImplementations()") ;
+ executeMethod("checkInstantiation()") ;
+
+ oObj.revokeImplementation(url, reg);
+ RegistryTools.printRegistryInfo(reg, log) ;
+
+ try {
+ reg.getRootKey().getKeyNames();
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ log.println("!!! Exception retrieving keys from registry :") ;
+ e.printStackTrace(log);
+ }
+
+ tRes.tested("revokeImplementation()", true) ;
+ }
+
+ @Override
+ public void after() {
+ this.disposeEnvironment() ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/registry/_XSimpleRegistry.java b/qadevOOo/tests/java/ifc/registry/_XSimpleRegistry.java
new file mode 100644
index 000000000..93dfeb533
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/registry/_XSimpleRegistry.java
@@ -0,0 +1,405 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.registry;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.RegistryTools;
+
+import com.sun.star.registry.InvalidRegistryException;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.registry.XSimpleRegistry;
+
+
+/**
+* Testing <code>com.sun.star.registry.XSimpleRegistry</code>
+* interface methods :
+* <ul>
+* <li><code> getURL()</code></li>
+* <li><code> open()</code></li>
+* <li><code> isValid()</code></li>
+* <li><code> close()</code></li>
+* <li><code> destroy()</code></li>
+* <li><code> getRootKey()</code></li>
+* <li><code> isReadOnly()</code></li>
+* <li><code> mergeKey()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'NR'</code> <b>optional</b> (of type <code>String</code>):
+* if this object relation isn't null than the testing component
+* doesn't support some methods of the interface
+* (<code>open(), close(), destroy()</code>)</li>
+* <li> <code>'XSimpleRegistry.open'</code> (of type <code>String</code>):
+* The full system path to the registry file which is opened and modified.
+* </li>
+* <li> <code>'XSimpleRegistry.destroy'</code> (of type <code>String</code>):
+* The full system path to the registry file which is destroyed.
+* </li>
+* <li> <code>'XSimpleRegistry.merge'</code> (of type <code>String</code>):
+* The full system path to the registry file which is merged with the
+* registry tested.
+* </li>
+* </ul> <p>
+* @see com.sun.star.registry.XSimpleRegistry
+*/
+public class _XSimpleRegistry extends MultiMethodTest {
+ public XSimpleRegistry oObj = null;
+ protected String nr = null;
+ protected boolean configuration = false;
+ protected String openF = null;
+ protected String destroyF = null;
+ protected String mergeF = null;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of required relations not found.
+ */
+ @Override
+ protected void before() {
+ if (tEnv.getObjRelation("configuration") != null) {
+ configuration = true;
+ }
+
+ nr = (String) tEnv.getObjRelation("NR");
+
+ openF = (String) tEnv.getObjRelation("XSimpleRegistry.open");
+
+ if (openF == null) {
+ throw new StatusException(Status.failed(
+ "Relation 'XSimpleRegistry.open' not found"));
+ }
+
+ destroyF = (String) tEnv.getObjRelation("XSimpleRegistry.destroy");
+
+ if (destroyF == null) {
+ throw new StatusException(Status.failed(
+ "Relation 'XSimpleRegistry.destroy' not found"));
+ }
+
+ mergeF = (String) tEnv.getObjRelation("XSimpleRegistry.merge");
+
+ if (mergeF == null) {
+ throw new StatusException(Status.failed(
+ "Relation 'XSimpleRegistry.merge' not found"));
+ }
+ }
+
+ /**
+ * If the method is supported opens the registry key with the URL
+ * from <code>'XSimpleRegistry.open'</code> relation, then closes it. <p>
+ *
+ * Has <b> OK </b> status if the method isn't supported by the component
+ * (the object relation <code>'NR'</code> isn't null) or no exceptions were
+ * thrown during open/close operations. <p>
+ */
+ public void _open() {
+ if (nr != null) {
+ log.println("'open()' isn't supported by '" + nr + "'");
+ tRes.tested("open()", true);
+
+ return;
+ }
+
+ log.println("Trying to open registry :" + openF);
+
+ try {
+ oObj.open(openF, false, true);
+ oObj.close();
+ } catch (InvalidRegistryException e) {
+ e.printStackTrace(log);
+ tRes.tested("open()", false);
+
+ return;
+ }
+
+ tRes.tested("open()", true);
+ }
+
+ /**
+ * Test opens the registry key with the URL from
+ * <code>'XSimpleRegistry.open'</code> relation not only for read,
+ * calls the method, checks returned value and closes the registry. <p>
+ *
+ * Has <b> OK </b> status if returned value is false and no exceptions were
+ * thrown. <p>
+ */
+ public void _isReadOnly() {
+ boolean result = false;
+
+ try {
+ openReg(oObj, openF, false, true);
+ result = !oObj.isReadOnly();
+ closeReg(oObj);
+ } catch (InvalidRegistryException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("isReadOnly()", result);
+ }
+
+ /**
+ * Test opens the registry key with the URL from
+ * <code>'XSimpleRegistry.open'</code> relation, calls the method,
+ * checks returned value and closes the registry key. <p>
+ *
+ * Has <b>OK</b> status if returned value isn't null and no exceptions were
+ * thrown. <p>
+ */
+ public void _getRootKey() {
+ boolean result = false;
+
+ try {
+ openReg(oObj, openF, false, true);
+
+ XRegistryKey rootKey = oObj.getRootKey();
+ result = rootKey != null;
+ closeReg(oObj);
+ } catch (InvalidRegistryException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("getRootKey()", result);
+ }
+
+ /**
+ * Merges the current registry with the registry from URL got from
+ * <code>'XSimpleRegistry.merge'</code> relation under 'MergeKey' key.
+ * Then the keys of these two registries retrieved :
+ * <ul>
+ * <li> Root key from 'XSimpleRegistry.merge' registry </li>
+ * <li> 'MergeKey' key from the current registry </li>
+ * </ul>
+ * Then these two keys are recursively compared. <p>
+ *
+ * Has <b> OK </b> status if the method isn't supported by the component
+ * (the object relation <code>'NR'</code> isn't null)
+ * or
+ * if it's supported and after successful merging the keys mentioned
+ * above are recursively equal. <p>
+ */
+ public void _mergeKey() {
+ if (configuration) {
+ log.println(
+ "You can't merge into this registry. It's just a wrapper for a configuration node, which has a fixed structure which can not be modified");
+ tRes.tested("mergeKey()", true);
+
+ return;
+ }
+
+ if (nr != null) {
+ log.println("'mergeKey()' isn't supported by '" + nr + "'");
+ tRes.tested("mergeKey()", true);
+
+ return;
+ }
+
+ openReg(oObj, openF, false, true);
+
+ try {
+ RegistryTools.printRegistryInfo(oObj.getRootKey(), log);
+ oObj.mergeKey("MergeKey", mergeF);
+ RegistryTools.printRegistryInfo(oObj.getRootKey(), log);
+ } catch (com.sun.star.registry.MergeConflictException e) {
+ e.printStackTrace(log);
+ tRes.tested("mergeKey()", false);
+
+ return;
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ e.printStackTrace(log);
+ tRes.tested("mergeKey()", false);
+
+ return;
+ }
+
+ boolean isEqual = false;
+ XSimpleRegistry reg = null;
+
+ try {
+ reg = RegistryTools.createRegistryService(tParam.getMSF());
+ } catch (com.sun.star.uno.Exception e) {
+ log.print("Can't create registry service: ");
+ e.printStackTrace(log);
+ tRes.tested("mergeKey()", false);
+
+ return;
+ }
+
+ openReg(reg, mergeF, false, true);
+
+ try {
+ XRegistryKey key = oObj.getRootKey().openKey("MergeKey");
+ XRegistryKey mergeKey = reg.getRootKey();
+ isEqual = RegistryTools.compareKeyTrees(key, mergeKey);
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ log.print("Can't get root key: ");
+ e.printStackTrace(log);
+ tRes.tested("mergeKey()", false);
+
+ return;
+ }
+
+ closeReg(reg);
+ closeReg(oObj);
+
+ tRes.tested("mergeKey()", isEqual);
+ }
+
+ /**
+ * Test opens the registry key with the URL from
+ * <code>'XSimpleRegistry.open'</code> relation, calls the method,
+ * checks returned value and closes the registry key. <p>
+ *
+ * Has <b> OK </b> status if returned value isn't null and if length of the
+ * returned string is greater than 0. <p>
+ */
+ public void _getURL() {
+ openReg(oObj, openF, false, true);
+
+ String url = oObj.getURL();
+ closeReg(oObj);
+ log.println("Getting URL: " + url+";");
+ tRes.tested("getURL()", (url != null));
+ }
+
+ /**
+ * Test checks value returned by the object relation <code>'NR'</code>,
+ * opens the registry key with the URL from
+ * <code>XSimpleRegistry.open'</code> relation, calls the method
+ * and checks the validity of the registry key. <p>
+ *
+ * Has <b> OK </b> status if the registry key isn't valid after the method
+ * call, or if the method isn't supported by the component (the object
+ * relation <code>'NR'</code> isn't null). <p>
+ */
+ public void _close() {
+ if (nr != null) {
+ log.println("'close()' isn't supported by '" + nr + "'");
+ tRes.tested("close()", true);
+
+ return;
+ }
+
+ try {
+ oObj.open(openF, false, true);
+ oObj.close();
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ e.printStackTrace(log);
+ tRes.tested("close()", false);
+
+ return;
+ }
+
+ tRes.tested("close()", !oObj.isValid());
+ }
+
+ /**
+ * Test checks value returned by the object relation <code>'NR'</code>,
+ * opens the registry key with the URL from
+ * <code>'XSimpleRegistry.destroy'</code> relation, calls the method
+ * and checks the validity of the registry key. <p>
+ *
+ * Has <b> OK </b> status if the registry key isn't valid after the method
+ * call, or if the method isn't supported by the component (the object
+ * relation <code>'NR'</code> isn't null). <p>
+ */
+ public void _destroy() {
+ if (configuration) {
+ log.println(
+ "This registry is a wrapper for a configuration access. It can not be destroyed.");
+ tRes.tested("destroy()", true);
+
+ return;
+ }
+
+ if (nr != null) {
+ log.println("'destroy()' isn't supported by '" + nr + "'");
+ tRes.tested("destroy()", true);
+
+ return;
+ }
+
+ try {
+ oObj.open(destroyF, false, true);
+ oObj.destroy();
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ e.printStackTrace(log);
+ tRes.tested("destroy()", false);
+
+ return;
+ }
+
+ tRes.tested("destroy()", !oObj.isValid());
+ }
+
+ /**
+ * Test opens the registry key with the URL from
+ * <code>'XSimpleRegistry.open'</code> relation, calls the method,
+ * checks returned value and closes the registry key. <p>
+ * Has <b> OK </b> status if returned value is true. <p>
+ */
+ public void _isValid() {
+ boolean valid = true;
+
+ openReg(oObj, openF, false, true);
+ valid = oObj.isValid();
+ closeReg(oObj);
+
+ tRes.tested("isValid()", valid);
+ }
+
+ /**
+ * Method calls <code>close()</code> of the interface
+ * <code>com.sun.star.registry.XRegistryKey</code>. <p>
+ * @param reg interface <code>com.sun.star.registry.XRegistryKey</code>
+ * @param url specifies the complete URL to access the data source
+ * @param arg1 specifies if the data source should be opened for read only
+ * @param arg2 specifies if the data source should be created if it does not
+ * already exist
+ */
+ public void openReg(XSimpleRegistry reg, String url, boolean arg1,
+ boolean arg2) {
+ if (nr == null) {
+ try {
+ reg.open(url, arg1, arg2);
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ log.print("Couldn't open registry:");
+ e.printStackTrace(log);
+ }
+ }
+ }
+
+ /**
+ * Method calls <code>close()</code> of the interface
+ * <code>com.sun.star.registry.XRegistryKey</code>. <p>
+ * @param reg <code>com.sun.star.registry.XRegistryKey</code>
+ */
+ public void closeReg(XSimpleRegistry reg) {
+ if (nr == null) {
+ try {
+ reg.close();
+ } catch (com.sun.star.registry.InvalidRegistryException e) {
+ log.print("Couldn't close registry:");
+ e.printStackTrace(log);
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/script/_XEventAttacherManager.java b/qadevOOo/tests/java/ifc/script/_XEventAttacherManager.java
new file mode 100644
index 000000000..b0375c257
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/script/_XEventAttacherManager.java
@@ -0,0 +1,492 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.script;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.script.ScriptEvent;
+import com.sun.star.script.ScriptEventDescriptor;
+import com.sun.star.script.XEventAttacherManager;
+import com.sun.star.script.XScriptListener;
+
+/**
+* Testing <code>com.sun.star.script.XEventAttacherManager</code>
+* interface methods :
+* <ul>
+* <li><code> registerScriptEvent()</code></li>
+* <li><code> registerScriptEvents()</code></li>
+* <li><code> revokeScriptEvent()</code></li>
+* <li><code> revokeScriptEvents()</code></li>
+* <li><code> insertEntry()</code></li>
+* <li><code> removeEntry()</code></li>
+* <li><code> getScriptEvents()</code></li>
+* <li><code> attach()</code></li>
+* <li><code> detach()</code></li>
+* <li><code> addScriptListener()</code></li>
+* <li><code> removeScriptListener()</code></li>
+* </ul> <p>
+* @see com.sun.star.script.XEventAttacherManager
+*/
+public class _XEventAttacherManager extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XEventAttacherManager oObj = null;
+
+ private static final int index = 0;
+
+ /**
+ * Test calls the method and stores index of new entry. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _insertEntry() {
+ try {
+ oObj.insertEntry(index);
+ tRes.tested("insertEntry()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("insertEntry(" + index
+ + ") throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("insertEntry()", false);
+ }
+ }
+
+ ScriptEventDescriptor desc;
+
+ /**
+ * Test creates <code>ScriptEventDescriptor</code>, registers
+ * the script event and stores the descriptor. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertEntry() </code> : to have entry's index</li>
+ * </ul>
+ * @see com.sun.star.script.ScriptEventDescriptor
+ */
+ public void _registerScriptEvent() {
+ requiredMethod("insertEntry()");
+ desc = new ScriptEventDescriptor(
+ "XEventListener1",
+ "disposing", "", "Basic", "");
+
+ try {
+ oObj.registerScriptEvent(index, desc);
+ tRes.tested("registerScriptEvent()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("registerScriptEvent() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("registerScriptEvent()", false);
+ }
+ }
+
+ ScriptEventDescriptor descs[];
+
+ /**
+ * Test creates array of <code>ScriptEventDescriptor</code>, registers
+ * this script events and stores the descriptors. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertEntry() </code> : to have entry's index</li>
+ * </ul>
+ * @see com.sun.star.script.ScriptEventDescriptor
+ */
+ public void _registerScriptEvents() {
+ requiredMethod("insertEntry()");
+ descs = new ScriptEventDescriptor[] {
+ new ScriptEventDescriptor(
+ "XEventListener2",
+ "disposing", "", "Basic", ""),
+ new ScriptEventDescriptor(
+ "XEventListener3",
+ "disposing", "", "Basic", "")
+ };
+
+ try {
+ oObj.registerScriptEvents(index, descs);
+ tRes.tested("registerScriptEvents()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("registerScriptEvents() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("registerScriptEvents()", false);
+ }
+ }
+
+ /**
+ * Test calls the method and checks returned value. <p>
+ * Has <b> OK </b> status if returned array of descriptors contains
+ * array of descriptors registered by methods <code>registerScriptEvents</code>
+ * and <code>registerScriptEvent</code> and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerScriptEvent() </code> :
+ * to have registered descriptor </li>
+ * <li> <code> registerScriptEvents() </code> :
+ * to have registered descriptors </li>
+ * </ul>
+ */
+ public void _getScriptEvents() {
+ requiredMethod("registerScriptEvent()");
+ requiredMethod("registerScriptEvents()");
+
+ ScriptEventDescriptor[] res;
+
+ try {
+ res = oObj.getScriptEvents(index);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("registerScriptEvents() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("registerScriptEvents()", false);
+ return;
+ }
+
+ // checking the desc and descs are in script events
+ tRes.tested("getScriptEvents()",
+ contains(res, desc) && containsArray(res, descs));
+
+ log.println("Script events :") ;
+ printEvents(res) ;
+ }
+
+ /**
+ * Method checks that array of descriptors contains the concrete descriptor.
+ * @param container the array of descriptors
+ * @param evt the descriptor which presence in the array is checked
+ * @return true if the descriptor presence in the array
+ */
+ boolean contains(ScriptEventDescriptor[] container,
+ ScriptEventDescriptor evt) {
+ for (int i = 0; i < container.length; i++) {
+ if (equal(container[i], evt)) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Method checks that one array of descriptors contains
+ * another array of descriptors.
+ * @param container the array of descriptors
+ * @param events the array of descriptors which presence
+ * in array <code>container</code> is checked
+ * @return true if the array <code>events</code> contains in the array
+ * <code>container</code>
+ */
+ boolean containsArray(ScriptEventDescriptor[] container,
+ ScriptEventDescriptor[] events) {
+ for (int i = 0; i < events.length; i++) {
+ if (!contains(container, events[i])) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Compares descriptor <code>evt1</code> to descriptor <code>evt2</code>.
+ * Two descriptors are considered equal if all their fields are equal.
+ * @return true if the argument is not <code>null</code> and
+ * the descriptors are equal; false otherwise
+ */
+ boolean equal(ScriptEventDescriptor evt1,
+ ScriptEventDescriptor evt2) {
+ return evt1.ListenerType.equals(evt2.ListenerType)
+ && evt1.EventMethod.equals(evt2.EventMethod)
+ && evt1.ScriptType.equals(evt2.ScriptType)
+ && evt1.ScriptCode.equals(evt2.ScriptCode)
+ && evt1.AddListenerParam.equals(evt2.AddListenerParam);
+ }
+
+ /**
+ * Prints fields of descriptor <code>evt</code> to log.
+ * @param evt the descriptor that needs to be printed to log
+ */
+ void printEvent(ScriptEventDescriptor evt) {
+ if (evt == null) {
+ log.println("null");
+ } else {
+ log.println("\"" + evt.ListenerType + "\",\""
+ + evt.EventMethod + "\",\""
+ + evt.ScriptType + "\",\""
+ + evt.ScriptCode + "\",\""
+ + evt.AddListenerParam + "\"");
+ }
+ }
+
+ /**
+ * Prints the descriptors to log.
+ * @param events the array of descriptors that need to be printed to log
+ */
+ void printEvents(ScriptEventDescriptor events[]) {
+ if (events == null) {
+ log.println("null");
+ } else {
+ for (int i = 0; i < events.length; i++) {
+ printEvent(events[i]);
+ }
+ }
+ }
+
+ Object attachedObject;
+
+ /**
+ * Test creates instance of <code>NamingService</code> (arbitrarily),
+ * stores it and attaches it to the entry with index stored in the method
+ * <code>insertEntry()</code>. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertEntry() </code> : to have entry's index for attach</li>
+ */
+ public void _attach() {
+ requiredMethod("insertEntry()");
+
+ try {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ attachedObject = xMSF.createInstance
+ ( "com.sun.star.uno.NamingService" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("com.sun.star.uno.NamingService not available" );
+ e.printStackTrace(log);
+ tRes.tested("attach()", false);
+ return;
+ }
+ if (attachedObject == null) {
+ log.println("com.sun.star.uno.NamingService not available" );
+ tRes.tested("attach()", false);
+ return;
+ }
+
+ try {
+ oObj.attach(index, attachedObject, "param");
+ tRes.tested("attach()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("attach() throws exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("attach()", false);
+ } catch (com.sun.star.lang.ServiceNotRegisteredException e) {
+ log.println("attach() throws exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("attach()", false);
+ }
+ }
+
+ /**
+ * Test calls the method for the object that was stored in the method
+ * <code>attach()</code>. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> attach() </code> : to have attached object </li>
+ * </ul>
+ */
+ public void _detach() {
+ requiredMethod("attach()");
+
+ try {
+ oObj.detach(index, attachedObject);
+ tRes.tested("detach()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("detach() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("detach()", false);
+ }
+ }
+
+ /**
+ * Test revokes script event that was registered by method
+ * <code>registerScriptEvent()</code> and checks that the description
+ * was removed. <p>
+ * Has <b> OK </b> status if description was successfully removed. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerScriptEvent() </code> :
+ * to have registered descriptor </li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getScriptEvents() </code> :
+ * this method must be executed first </li>
+ * </ul>
+ */
+ public void _revokeScriptEvent() {
+ requiredMethod("registerScriptEvent()");
+ executeMethod("getScriptEvents()") ;
+
+ try {
+ oObj.revokeScriptEvent(index, desc.ListenerType,
+ desc.EventMethod, "");
+
+ ScriptEventDescriptor[] res = oObj.getScriptEvents(index);
+ // checking that the desc has been removed
+ tRes.tested("revokeScriptEvent()", !contains(res, desc));
+ printEvents(res) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("revokeScriptEvent() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("revokeScriptEvent()", false);
+ }
+ }
+
+ /**
+ * Test revokes script events that was registered by method
+ * <code>registerScriptEvents()</code> and checks that the descriptions
+ * were removed. <p>
+ * Has <b> OK </b> status if descriptions were successfully removed. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> revokeScriptEvent() </code> :
+ * this method must be executed first </li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getScriptEvents() </code> :
+ * this method must be executed first </li>
+ * </ul>
+ */
+ public void _revokeScriptEvents() {
+ requiredMethod("revokeScriptEvent()");
+ executeMethod("getScriptEvents()") ;
+
+ try {
+ oObj.revokeScriptEvents(index);
+
+ ScriptEventDescriptor[] res = oObj.getScriptEvents(index);
+ // checking that all events have been removed
+ tRes.tested("revokeScriptEvents()",
+ res == null || res.length == 0);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("revokeScriptEvents() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("revokeScriptEvents()", false);
+ }
+ }
+
+ /**
+ * Test calls the method with entry's index that was stored in method
+ * <code>insertEntry()</code>. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertEntry() </code> :
+ * to have entry's index </li>
+ */
+ public void _removeEntry() {
+ requiredMethod("insertEntry()");
+ try {
+ oObj.removeEntry(index);
+ tRes.tested("removeEntry()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("removeEntry(" + index
+ + ") throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("removeEntry()", false);
+ }
+ }
+
+ XScriptListener listener;
+
+ /**
+ * Test creates object that supports interface <code>XScriptListener</code>,
+ * stores it and adds this scripts listener. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * @see com.sun.star.script.XScriptListener
+ */
+ public void _addScriptListener() {
+ listener = new MyScriptListener();
+
+ try {
+ oObj.addScriptListener(listener);
+ tRes.tested("addScriptListener()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("addScriptListener() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("addScriptListener()", false);
+ }
+ }
+
+ /**
+ * Test removes script listener that was stored in method
+ * <code>addScriptListener()</code>. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addScriptListener() </code> :
+ * to have script listener </li>
+ * </ul>
+ */
+ public void _removeScriptListener() {
+ requiredMethod("addScriptListener()");
+
+ try {
+ oObj.removeScriptListener(listener);
+ tRes.tested("removeScriptListener()", true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("removeScriptListener() throws unexpected exception "
+ + e.getMessage());
+ e.printStackTrace(log);
+ tRes.tested("removeScriptListener()", false);
+ }
+ }
+
+ /**
+ * Class implement interface <code>XScriptListener</code>
+ * for test of the method <code>addScriptListener()</code>.
+ * No functionality implemented.
+ * @see com.sun.star.script.XScriptListener
+ */
+ static class MyScriptListener implements XScriptListener {
+ public void firing(ScriptEvent evt) {
+ }
+
+ public Object approveFiring(ScriptEvent evt) {
+ return evt.Helper;
+ }
+
+ public void disposing(EventObject evt) {
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory.java b/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory.java
new file mode 100644
index 000000000..1475b7380
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory.java
@@ -0,0 +1,103 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.script;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.script.XInvocation;
+import com.sun.star.script.XInvocationAdapterFactory;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.script.XInvocationAdapterFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createAdapter()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.script.XInvocationAdapterFactory
+*/
+public class _XInvocationAdapterFactory extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XInvocationAdapterFactory oObj = null;
+
+ /**
+ * First an invocation object of <code>com.sun.star.io.Pipe</code>
+ * instance is created using <code>com.sun.star.script.Invocation
+ * </code> service. Then trying to create an adapter of this
+ * invocation for <code>com.sun.star.io.XInputStream</code>
+ * interface. <p>
+ * Has <b>OK</b> status if the adapter returned is successfully
+ * queried for <code>com.sun.star.io.XInputStream</code>
+ * interface.
+ * @see com.sun.star.script.Invocation
+ * @see com.sun.star.script.XInvocation
+ * @see com.sun.star.io.Pipe
+ */
+ public void _createAdapter() {
+ XInvocation xInv = null ;
+ XMultiServiceFactory xMSF = null;
+ try {
+ xMSF = tParam.getMSF();
+ Object[] args = {xMSF.createInstance
+ ("com.sun.star.io.Pipe")};
+
+ Object oInvFac = xMSF.createInstance
+ ("com.sun.star.script.Invocation") ;
+
+ XSingleServiceFactory xInvFac = UnoRuntime.
+ queryInterface(XSingleServiceFactory.class, oInvFac) ;
+
+ Object oInv = xInvFac.createInstanceWithArguments(args) ;
+
+ xInv = UnoRuntime.queryInterface
+ (XInvocation.class, oInv) ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create invocation for object", e) ;
+ }
+
+ XInterface xInStr = null ;
+
+ Object adp = oObj.createAdapter(xInv,
+ new Type(XInputStream.class)) ;
+
+ xInStr = UnoRuntime.queryInterface
+ (XInputStream.class, adp) ;
+
+
+ if (xInStr != null)
+ tRes.tested("createAdapter()", true) ;
+ else {
+ log.println("Adapter created doesn't implement required interface") ;
+ tRes.tested("createAdapter()", false) ;
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory2.java b/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory2.java
new file mode 100644
index 000000000..ba38e2e72
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/script/_XInvocationAdapterFactory2.java
@@ -0,0 +1,105 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.script;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.script.XInvocation;
+import com.sun.star.script.XInvocationAdapterFactory2;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Testing <code>com.sun.star.script.XInvocationAdapterFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createAdapter()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.script.XInvocationAdapterFactory
+*/
+public class _XInvocationAdapterFactory2 extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XInvocationAdapterFactory2 oObj = null;
+
+ /**
+ * First an invocation object of <code>com.sun.star.io.Pipe</code>
+ * instance is created using <code>com.sun.star.script.Invocation
+ * </code> service. Then trying to create an adapter of this
+ * invocation for <code>com.sun.star.io.XInputStream</code>
+ * interface. <p>
+ * Has <b>OK</b> status if the adapter returned is successfully
+ * queried for <code>com.sun.star.io.XInputStream</code>
+ * interface.
+ * @see com.sun.star.script.Invocation
+ * @see com.sun.star.script.XInvocation
+ * @see com.sun.star.io.Pipe
+ */
+ public void _createAdapter() {
+ XInvocation xInv = null ;
+ XMultiServiceFactory xMSF = null;
+ try {
+ xMSF = tParam.getMSF();
+ Object[] args = {xMSF.createInstance
+ ("com.sun.star.io.Pipe")};
+
+ Object oInvFac = xMSF.createInstance
+ ("com.sun.star.script.Invocation") ;
+
+ XSingleServiceFactory xInvFac = UnoRuntime.
+ queryInterface(XSingleServiceFactory.class, oInvFac) ;
+
+ Object oInv = xInvFac.createInstanceWithArguments(args) ;
+
+ xInv = UnoRuntime.queryInterface
+ (XInvocation.class, oInv) ;
+
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create invocation for object", e) ;
+ }
+
+ XInterface xInStr = null ;
+
+ Type[] types = new Type[1];
+ types[0] = new Type(XInputStream.class);
+
+ Object adp = oObj.createAdapter(xInv,types);
+
+ xInStr = UnoRuntime.queryInterface
+ (XInputStream.class, adp) ;
+
+
+ if (xInStr != null)
+ tRes.tested("createAdapter()", true) ;
+ else {
+ log.println("Adapter created doesn't implement required interface") ;
+ tRes.tested("createAdapter()", false) ;
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/script/_XTypeConverter.java b/qadevOOo/tests/java/ifc/script/_XTypeConverter.java
new file mode 100644
index 000000000..3e42a16d9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/script/_XTypeConverter.java
@@ -0,0 +1,122 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.script;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XSet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.script.XTypeConverter;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.TypeClass;
+
+/**
+* Testing <code>com.sun.star.script.XTypeConverter</code>
+* interface methods :
+* <ul>
+* <li><code> convertTo()</code></li>
+* <li><code> convertToSimpleType()</code></li>
+* </ul> <p>
+* @see com.sun.star.script.XTypeConverter
+*/
+public class _XTypeConverter extends MultiMethodTest {
+
+ /**
+ * oObj filled by MultiMethodTest
+ */
+ public XTypeConverter oObj = null;
+
+ /**
+ * Test creates instance of <code>TypeDescriptionManager</code>,
+ * and converts it to <code>XSet</code>. <p>
+ * Has <b> OK </b> status if returned value is instance of <code>XSet</code>
+ * and no exceptions were thrown. <p>
+ * @see com.sun.star.comp.stoc.TypeDescriptionManager
+ * @see com.sun.star.container.XSet
+ */
+ public void _convertTo() {
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ Object value = null ;
+
+ try {
+ value = xMSF.createInstance
+ ("com.sun.star.comp.stoc.TypeDescriptionManager") ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't create value to convert") ;
+ e.printStackTrace(log) ;
+ tRes.tested("convertTo()", false) ;
+ }
+
+ try {
+ Type destType = new Type(XSet.class) ;
+
+ Object o = oObj.convertTo(value, destType);
+
+ boolean result;
+ if (o instanceof Any) {
+ result = ((Any)o).getType().equals(destType);
+ }
+ else {
+ result = (o instanceof XSet);
+ }
+
+ tRes.tested("convertTo()", result) ;
+ } catch (com.sun.star.script.CannotConvertException e) {
+ log.println("Exception while converting value.") ;
+ e.printStackTrace(log) ;
+ tRes.tested("convertTo()", false) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while converting value.") ;
+ e.printStackTrace(log) ;
+ tRes.tested("convertTo()", false) ;
+ }
+ }
+
+ /**
+ * Test creates instance of <code>Integer</code>,
+ * and converts it to <code>String</code>. <p>
+ * Has <b> OK </b> status if returned value is instance of <code>String</code>,
+ * if returned value is string representation of integer value that
+ * was passed to method and no exceptions were thrown. <p>
+ */
+ public void _convertToSimpleType() {
+ Object value = Integer.valueOf(123) ;
+ Object destValue = null ;
+
+ try {
+ destValue = oObj.convertToSimpleType(value, TypeClass.STRING) ;
+ } catch (com.sun.star.script.CannotConvertException e) {
+ log.println("Exception while converting value.") ;
+ e.printStackTrace(log) ;
+ tRes.tested("convertToSimpleType()", false) ;
+ return ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while converting value.") ;
+ e.printStackTrace(log) ;
+ tRes.tested("convertToSimpleType()", false) ;
+ return ;
+ }
+
+ tRes.tested("convertToSimpleType()", destValue != null &&
+ destValue instanceof String &&
+ ((String) destValue).equals("123")) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_DataAccessDescriptor.java b/qadevOOo/tests/java/ifc/sdb/_DataAccessDescriptor.java
new file mode 100644
index 000000000..fda6ad192
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_DataAccessDescriptor.java
@@ -0,0 +1,116 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiPropertyTest;
+
+public class _DataAccessDescriptor extends MultiPropertyTest {
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ResultSet() {
+ String propName = "ResultSet";
+ try{
+
+ log.println("try to get value from property...");
+ UnoRuntime.queryInterface(XResultSet.class,oObj.getPropertyValue(propName));
+
+ log.println("try to get value from object relation...");
+ XResultSet newValue = UnoRuntime.queryInterface(XResultSet.class,tEnv.getObjRelation("DataAccessDescriptor.XResultSet"));
+
+ log.println("set property to a new value...");
+ oObj.setPropertyValue(propName, newValue);
+
+ log.println("get the new value...");
+ XResultSet getValue = UnoRuntime.queryInterface(XResultSet.class,oObj.getPropertyValue(propName));
+
+ tRes.tested(propName, this.compare(newValue, getValue));
+ } catch (com.sun.star.beans.PropertyVetoException e){
+ log.println("could not set property '"+ propName +"' to a new value!");
+ tRes.tested(propName, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("could not set property '"+ propName +"' to a new value!");
+ tRes.tested(propName, false);
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ if (this.isOptional(propName)){
+ // skipping optional property test
+ log.println("Property '" + propName
+ + "' is optional and not supported");
+ tRes.tested(propName,true);
+
+ } else {
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ActiveConnection() {
+ String propName = "ActiveConnection";
+ try{
+
+ log.println("try to get value from property...");
+ UnoRuntime.queryInterface(XConnection.class,oObj.getPropertyValue(propName));
+
+ log.println("try to get value from object relation...");
+ XConnection newValue = UnoRuntime.queryInterface(XConnection.class,tEnv.getObjRelation("DataAccessDescriptor.XConnection"));
+
+ log.println("set property to a new value...");
+ oObj.setPropertyValue(propName, newValue);
+
+ log.println("get the new value...");
+ XConnection getValue = UnoRuntime.queryInterface(XConnection.class,oObj.getPropertyValue(propName));
+
+ tRes.tested(propName, this.compare(newValue, getValue));
+ } catch (com.sun.star.beans.PropertyVetoException e){
+ log.println("could not set property '"+ propName +"' to a new value! " + e.toString());
+ tRes.tested(propName, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("could not set property '"+ propName +"' to a new value! " + e.toString());
+ tRes.tested(propName, false);
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ if (this.isOptional(propName)){
+ // skipping optional property test
+ log.println("Property '" + propName
+ + "' is optional and not supported");
+ tRes.tested(propName,true);
+
+ } else {
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_DataSource.java b/qadevOOo/tests/java/ifc/sdb/_DataSource.java
new file mode 100644
index 000000000..e693d781a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_DataSource.java
@@ -0,0 +1,165 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.beans.PropertyValue;
+
+/**
+ * Testing <code>com.sun.star.sdb.DataSource</code>
+ * service properties :
+ * <ul>
+ * <li><code> Name</code></li>
+ * <li><code> URL</code></li>
+ * <li><code> Info</code></li>
+ * <li><code> User</code></li>
+ * <li><code> Password</code></li>
+ * <li><code> IsPasswordRequired</code></li>
+ * <li><code> SuppressVersionColumns</code></li>
+ * <li><code> IsReadOnly</code></li>
+ * <li><code> NumberFormatsSupplier</code></li>
+ * <li><code> TableFilter</code></li>
+ * <li><code> TableTypeFilter</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code> <p>.
+* After this interface test <b>it's better to recreate</b> object tested.
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XPropertySetInfo
+* @see com.sun.star.beans.Property
+* @see com.sun.star.lang.XServiceInfo
+*/
+public class _DataSource extends MultiPropertyTest {
+
+ /**
+ * This property is an array of additional parameters for database
+ * connecting. Parameter is <code>PropertyValue</code> structure.
+ * The test just changes existing array onto array with a single
+ * element <code>("user", "API_QA_Tester")</code> <p>
+ *
+ * After testing old value is set for this property. <p>
+ *
+ * Result is OK: if property successfully changed with no exceptions.
+ * @see com.sun.star.beans.PropertyValue
+ */
+ public void _Info() {
+ try {
+ Object oldInfo = oObj.getPropertyValue("Info") ;
+
+ testProperty("Info", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+
+ PropertyValue propUsr = new PropertyValue(),
+ propPass = new PropertyValue() ;
+
+ propUsr.Name = "user" ;
+ propUsr.Value = "API_QA_Tester" ;
+ propPass.Name = "password" ;
+ propPass.Value = "guest" ;
+
+ return new PropertyValue[] { propUsr, propPass } ;
+ }
+ }) ;
+
+ oObj.setPropertyValue("Info", oldInfo) ;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {}
+ catch(com.sun.star.beans.PropertyVetoException e) {}
+ catch(com.sun.star.lang.IllegalArgumentException e) {}
+ catch(com.sun.star.lang.WrappedTargetException e) {}
+ }
+
+ /**
+ * Property is tested by the common method, but after testing
+ * old value is set for this property.
+ */
+ public void _URL() {
+ try {
+ Object oldURL = oObj.getPropertyValue("URL") ;
+
+ testProperty("URL") ;
+
+ oObj.setPropertyValue("URL", oldURL) ;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {}
+ catch(com.sun.star.beans.PropertyVetoException e) {}
+ catch(com.sun.star.lang.IllegalArgumentException e) {}
+ catch(com.sun.star.lang.WrappedTargetException e) {}
+ }
+
+ /**
+ * Property is tested by the common method, but after testing
+ * old value is set for this property.
+ */
+ public void _User() {
+ try {
+ Object oldUser = oObj.getPropertyValue("User") ;
+
+ testProperty("User") ;
+
+ oObj.setPropertyValue("User", oldUser) ;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {}
+ catch(com.sun.star.beans.PropertyVetoException e) {}
+ catch(com.sun.star.lang.IllegalArgumentException e) {}
+ catch(com.sun.star.lang.WrappedTargetException e) {}
+ }
+
+ /**
+ * Property is tested by the common method, but after testing
+ * old value is set for this property.
+ */
+ public void _Password() {
+ try {
+ Object oldPass = oObj.getPropertyValue("Password") ;
+
+ testProperty("Password") ;
+
+ oObj.setPropertyValue("Password", oldPass) ;
+ } catch(com.sun.star.beans.UnknownPropertyException e) {}
+ catch(com.sun.star.beans.PropertyVetoException e) {}
+ catch(com.sun.star.lang.IllegalArgumentException e) {}
+ catch(com.sun.star.lang.WrappedTargetException e) {}
+ }
+
+ /**
+ * New value for the test is always <code>null</code>.
+ */
+ public void _NumberFormatsSupplier() {
+ testProperty("NumberFormatsSupplier", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ return null ;
+ }
+ }) ;
+ }
+
+ /**
+ * If object test allows to recreate environment it is better to do it.
+ */
+ @Override
+ public void after() {
+ try {
+ oObj.setPropertyValue("IsPasswordRequired",Boolean.FALSE);
+ } catch (Exception e) {
+ log.println("Couldn't set 'IsPasswordRequired' to false");
+ }
+ }
+
+} // finish class _DataSource
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_DatasourceAdministrationDialog.java b/qadevOOo/tests/java/ifc/sdb/_DatasourceAdministrationDialog.java
new file mode 100644
index 000000000..747ffe5d0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_DatasourceAdministrationDialog.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.sdb.DatasourceAdministrationDialog</code>
+ * service properties :
+ * <ul>
+ * <li><code> Title</code></li>
+ * <li><code> ParentWindow</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.sdb.DatasourceAdministrationDialog
+ */
+public class _DatasourceAdministrationDialog extends MultiPropertyTest {
+
+} // EOF DatasourceAdministrationDialog
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_ErrorMessageDialog.java b/qadevOOo/tests/java/ifc/sdb/_ErrorMessageDialog.java
new file mode 100644
index 000000000..fcdc4f3f9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_ErrorMessageDialog.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.sdb.ErrorMessageDialog</code>
+ * service properties :
+ * <ul>
+ * <li><code> Title</code></li>
+ * <li><code> ParentWindow</code></li>
+ * <li><code> SQLException</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'ERR1', 'ERR2'</code>
+ * (of type <code>com.sun.star.sdbc.SQLException</code>):
+ * two objects which are used for changing 'SQLException'
+ * property. </li>
+ * <ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.sdb.ErrorMessageDialog
+ */
+public class _ErrorMessageDialog extends MultiPropertyTest {
+
+ /**
+ * <code>SQLException</code> instances must be used as property
+ * value.
+ */
+ public void _SQLException() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("SQLException", tEnv.getObjRelation("ERR1"),
+ tEnv.getObjRelation("ERR2")) ;
+ }
+
+ public void _ParentWindow(){
+ log.println("Testing with custom Property tester");
+ testProperty("ParentWindow", tEnv.getObjRelation("ERR_XWindow"), null);
+ }
+
+} // finish class _ErrorMessageDialog
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_QueryDefinition.java b/qadevOOo/tests/java/ifc/sdb/_QueryDefinition.java
new file mode 100644
index 000000000..efd49829b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_QueryDefinition.java
@@ -0,0 +1,46 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.sdb.QueryDefinition</code>
+ * service properties :
+ * <ul>
+ * <li><code> Name</code></li>
+ * <li><code> Command</code></li>
+ * <li><code> EscapeProcessing</code></li>
+ * <li><code> UpdateTableName</code></li>
+ * <li><code> UpdateCatalogName</code></li>
+ * <li><code> UpdateSchemaName</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.sdb.QueryDefinition
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XPropertySetInfo
+ * @see com.sun.star.beans.Property
+ * @see com.sun.star.lang.XServiceInfo
+ */
+public class _QueryDefinition extends MultiPropertyTest {
+
+
+} // finish class _QueryDefinition
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_RowSet.java b/qadevOOo/tests/java/ifc/sdb/_RowSet.java
new file mode 100644
index 000000000..9064a1411
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_RowSet.java
@@ -0,0 +1,144 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiPropertyTest;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * Testing <code>com.sun.star.sdb.RowSet</code>
+ * service properties :
+ * <ul>
+ * <li><code> ActiveConnection</code></li>
+ * <li><code> DataSourceName</code></li>
+ * <li><code> Command</code></li>
+ * <li><code> CommandType</code></li>
+ * <li><code> ActiveCommand</code></li>
+ * <li><code> IgnoreResult</code></li>
+ * <li><code> Filter</code></li>
+ * <li><code> ApplyFilter</code></li>
+ * <li><code> Order</code></li>
+ * <li><code> Privileges</code></li>
+ * <li><code> IsModified</code></li>
+ * <li><code> IsNew</code></li>
+ * <li><code> RowCount</code></li>
+ * <li><code> IsRowCountFinal</code></li>
+ * <li><code> UpdateTableName</code></li>
+ * <li><code> UpdateCatalogName</code></li>
+ * <li><code> UpdateSchemaName</code></li>
+ * </ul> <p>
+ *
+ * Properties are tested in a safe way, this means that old
+ * properties' values are restored to their previous values
+ * after testing. These values are meaningful for further
+ * testing. <p>
+ *
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.sdb.RowSet
+ */
+public class _RowSet extends MultiPropertyTest {
+
+ /**
+ * The tester implementation which restores properties
+ * values after testing.
+ */
+ protected class SafeTester extends PropertyTester {
+ Object oldValue = null ;
+
+ @Override
+ protected Object getNewValue(String prop, Object old) {
+ log.println("Testing with SafeTester ...") ;
+ oldValue = old ;
+ return super.getNewValue(prop, old) ;
+ }
+
+ @Override
+ protected void checkResult(String propName, Object oldValue,
+ Object newValue, Object resValue, Exception exception)
+ throws Exception {
+
+ super.checkResult(propName, oldValue, newValue, resValue, exception);
+
+ try {
+ oObj.setPropertyValue(propName, this.oldValue);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while setting property to its old value '" +
+ this.oldValue + "' (ignoring) : " + e );
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while setting property to its old value '" +
+ this.oldValue + "' (ignoring) : " + e );
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while setting property to its old value '" +
+ this.oldValue + "' (ignoring) : " + e );
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while setting property to its old value '" +
+ this.oldValue + "' (ignoring) : " + e );
+ }
+
+ }
+ }
+
+ /**
+ * Overridden method which tests all the properties
+ * with <code>SafeTester</code>.
+ *
+ * @see SafeTester
+ */
+ @Override
+ protected void testProperty(String propName) {
+ testProperty(propName, new SafeTester()) ;
+ }
+
+ public void _ActiveConnection() {
+ boolean result = false;
+ try {
+ XConnection the_connection = null;
+
+ try {
+ the_connection = (XConnection) AnyConverter.toObject(
+ new Type(XConnection.class),
+ oObj.getPropertyValue("ActiveConnection"));
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ throw new StatusException("couldn't convert Any",iae);
+ }
+
+ result = (the_connection != null);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("the property is unknown");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println(e.getMessage());
+ }
+
+ tRes.tested("ActiveConnection", result) ;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // EOF DatasourceAdministrationDialog
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_SingleSelectQueryComposer.java b/qadevOOo/tests/java/ifc/sdb/_SingleSelectQueryComposer.java
new file mode 100644
index 000000000..082bb7415
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_SingleSelectQueryComposer.java
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.sdb.SingleSelectQueryComposer</code>
+ * service properties :
+ * <ul>
+ * <li><code> Original</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.sdb.SingleSelectQueryComposer
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XPropertySetInfo
+ * @see com.sun.star.beans.Property
+ * @see com.sun.star.lang.XServiceInfo
+ */
+public class _SingleSelectQueryComposer extends MultiPropertyTest {
+
+
+} // finish class _SingleSelectQueryComposer
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XBookmarksSupplier.java b/qadevOOo/tests/java/ifc/sdb/_XBookmarksSupplier.java
new file mode 100644
index 000000000..a0ddfdd57
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XBookmarksSupplier.java
@@ -0,0 +1,51 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdb.XBookmarksSupplier;
+
+
+/**
+ * Testing <code>com.sun.star.sdb.XBookmarksSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getBookmarks()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.sdb.XBookmarksSupplier
+ */
+public class _XBookmarksSupplier extends MultiMethodTest {
+
+ public XBookmarksSupplier oObj = null ;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getBookmarks() {
+ XNameAccess bookmarks = oObj.getBookmarks();
+ tRes.tested("getBookmarks()",bookmarks != null);
+ }
+
+} // finish class _XBookmarksSupplier
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XCompletedConnection.java b/qadevOOo/tests/java/ifc/sdb/_XCompletedConnection.java
new file mode 100644
index 000000000..12542edaa
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XCompletedConnection.java
@@ -0,0 +1,75 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.sdb.XCompletedConnection;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.task.XInteractionHandler;
+
+/**
+ * Testing <code>com.sun.star.sdb.XCompletedConnection</code>
+ * interface methods :
+ * <ul>
+ * <li><code> connectWithCompletion()</code></li>
+ * </ul> <p>
+* The following object relations required :
+* <ul>
+* <li> <code>'XCompletedConnection.Handler'</code> : passed as parameter
+* to <code>connectWithCompletion</code> method. </li>
+* </ul>
+* @see com.sun.star.sdb.XCompletedConnection
+* @see com.sun.star.task.XInteractionHandler
+* @see com.sun.star.sdbc.XConnection
+*/
+public class _XCompletedConnection extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XCompletedConnection oObj = null ;
+
+ /**
+ * Test call the method with handler passed as object relation.
+ * Then value returned is checked.<p>
+ * Has OK status if not null value returned. <&nbsp>
+ * FAILED if exception occurred, null value returned or object
+ * relation was not found.
+ */
+ public void _connectWithCompletion() throws StatusException {
+ XInteractionHandler handler = (XInteractionHandler)
+ tEnv.getObjRelation("XCompletedConnection.Handler") ;
+
+ if (handler == null) {
+ log.println("Required object relation not found !") ;
+ tRes.tested("connectWithCompletion()", false) ;
+ return ;
+ }
+
+ XConnection con = null ;
+ try {
+ con = oObj.connectWithCompletion(handler) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ throw new StatusException("Exception while method calling", e) ;
+ }
+
+ tRes.tested("connectWithCompletion()", con != null) ;
+ }
+} // finish class _XCompletedConnection
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XCompletedExecution.java b/qadevOOo/tests/java/ifc/sdb/_XCompletedExecution.java
new file mode 100644
index 000000000..548b86c96
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XCompletedExecution.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.sdb;
+
+import com.sun.star.sdb.XCompletedExecution;
+import com.sun.star.task.XInteractionHandler;
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+/**
+ *
+ */
+public class _XCompletedExecution extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XCompletedExecution oObj = null ;
+
+ private CheckInteractionHandler checkHandler = null;
+ /**
+ * Interface to implement so the call of the listener can be checked.
+ */
+ public interface CheckInteractionHandler extends XInteractionHandler {
+ /**
+ * Set a log of the listener, so messages of the listener get printed
+ * into the file of the interface
+ */
+ void setLog(PrintWriter log);
+ /**
+ * Return True, when the listener was called correctly.
+ */
+ boolean checkInteractionHandler();
+ }
+
+ @Override
+ protected void before() {
+ checkHandler = (CheckInteractionHandler)
+ tEnv.getObjRelation("InteractionHandlerChecker");
+ if (checkHandler == null)
+ throw new StatusException("Missing object relation 'InteractionHandlerChecker'", new Exception());
+ checkHandler.setLog(log);
+ }
+
+
+ public void _executeWithCompletion() {
+ try {
+ oObj.executeWithCompletion(checkHandler);
+ }
+ catch(com.sun.star.sdbc.SQLException e) {
+ e.printStackTrace(log);
+ tRes.tested("executeWithCompletion()", false);
+ return;
+ }
+
+ tRes.tested("executeWithCompletion()", checkHandler.checkInteractionHandler());
+ }
+
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sdb/_XFormDocumentsSupplier.java b/qadevOOo/tests/java/ifc/sdb/_XFormDocumentsSupplier.java
new file mode 100644
index 000000000..3ca625281
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XFormDocumentsSupplier.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdb.XFormDocumentsSupplier;
+
+/**
+* <code>com.sun.star.sdb.XFormDocumentsSupplier</code> interface
+* testing.
+* @see com.sun.star.sdb.XFormDocumentsSupplier
+*/
+public class _XFormDocumentsSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XFormDocumentsSupplier oObj = null ;
+
+ /**
+ * Has OK status if not null returned. <p>
+ */
+ public void _getFormDocuments() {
+
+ XNameAccess docs = oObj.getFormDocuments() ;
+
+ String[] docNames = docs.getElementNames() ;
+ if (docNames != null) {
+ log.println("Totally " + docNames.length + " documents :") ;
+ for (int i = 0; i < docNames.length; i++)
+ log.println(" " + docNames[i]) ;
+ }
+
+ tRes.tested("getFormDocuments()", docNames != null) ;
+ }
+
+} // finish class _XFormDocumentsSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XParametersSupplier.java b/qadevOOo/tests/java/ifc/sdb/_XParametersSupplier.java
new file mode 100644
index 000000000..0c40f8547
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XParametersSupplier.java
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.sdb.XParametersSupplier;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.sdb.XParametersSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getParameters()</code></li>
+* </ul> <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.sdb.XParametersSupplier
+*/
+public class _XParametersSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XParametersSupplier oObj = null ;
+
+ /**
+ * checks of the return of <code>getParameters()</code>
+ * is not null
+ */
+ public void _getParameters() {
+
+ XIndexAccess the_Set = oObj.getParameters();
+ if (the_Set == null) log.println("'getParameters()' returns NULL");
+ tRes.tested("getParameters()",the_Set != null);
+
+ }
+} // finish class _XParametersSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XQueryDefinitionsSupplier.java b/qadevOOo/tests/java/ifc/sdb/_XQueryDefinitionsSupplier.java
new file mode 100644
index 000000000..a8d88983a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XQueryDefinitionsSupplier.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdb.XQueryDefinitionsSupplier;
+
+/**
+ * Testing <code>com.sun.star.sdb.XQueryDefinitionsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getQueryDefinitions()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.sdb.XQueryDefinitionsSupplier
+ */
+public class _XQueryDefinitionsSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XQueryDefinitionsSupplier oObj = null ;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getQueryDefinitions() {
+
+ XNameAccess docs = oObj.getQueryDefinitions() ;
+
+ String[] docNames = docs.getElementNames() ;
+ if (docNames != null) {
+ log.println("Totally " + docNames.length + " queries :") ;
+ for (int i = 0; i < docNames.length; i++)
+ log.println(" " + docNames[i]) ;
+ }
+
+ tRes.tested("getQueryDefinitions()", docNames != null) ;
+ }
+
+} // finish class _XQueryDefinitionsSupplier
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XReportDocumentsSupplier.java b/qadevOOo/tests/java/ifc/sdb/_XReportDocumentsSupplier.java
new file mode 100644
index 000000000..fe1b5f0b1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XReportDocumentsSupplier.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdb.XReportDocumentsSupplier;
+
+/**
+* <code>com.sun.star.sdb.XReportDocumentsSupplier</code> interface
+* testing.
+* @see com.sun.star.sdb.XReportDocumentsSupplier
+*/
+public class _XReportDocumentsSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XReportDocumentsSupplier oObj = null ;
+
+ /**
+ * Has OK status if not null returned. <p>
+ */
+ public void _getReportDocuments() {
+
+ XNameAccess docs = oObj.getReportDocuments() ;
+
+ String[] docNames = docs.getElementNames() ;
+ if (docNames != null) {
+ log.println("Totally " + docNames.length + " documents :") ;
+ for (int i = 0; i < docNames.length; i++)
+ log.println(" " + docNames[i]) ;
+ }
+
+ tRes.tested("getReportDocuments()", docNames != null) ;
+ }
+
+} // finish class _XReportDocumentsSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XResultSetAccess.java b/qadevOOo/tests/java/ifc/sdb/_XResultSetAccess.java
new file mode 100644
index 000000000..f689c6cbf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XResultSetAccess.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sdb.XResultSetAccess;
+import com.sun.star.sdbc.XResultSet;
+
+/**
+* Testing <code>com.sun.star.sdb.XResultSetAccess</code>
+* interface methods :
+* <ul>
+* <li><code> createResultSet()</code></li>
+* </ul> <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.sdb.XResultSetAccess
+*/
+public class _XResultSetAccess extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XResultSetAccess oObj = null ;
+
+ /**
+ * tries to create a ResultSet for the Object</br>
+ * an XResultSet is returned.</br>
+ * The test is OK if a not null ResultSet is returned
+ */
+ public void _createResultSet() {
+
+ try {
+ XResultSet the_Set = oObj.createResultSet();
+ if (the_Set == null) log.println("'createResulSet()' returns NULL");
+ tRes.tested("createResultSet()",the_Set != null);
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Exception while checking 'createResultSet()'");
+ e.printStackTrace(log);
+ tRes.tested("createResultSet()",false);
+ }
+
+ }
+} // finish class _XResultSetAccess
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XRowSetApproveBroadcaster.java b/qadevOOo/tests/java/ifc/sdb/_XRowSetApproveBroadcaster.java
new file mode 100644
index 000000000..62911c851
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XRowSetApproveBroadcaster.java
@@ -0,0 +1,207 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.sdb.RowChangeEvent;
+import com.sun.star.sdb.XRowSetApproveBroadcaster;
+import com.sun.star.sdb.XRowSetApproveListener;
+
+/**
+* <code>com.sun.star.sdb.XRowSetApproveBroadcaster</code> interface test. <p>
+* Required object relations :
+* <ul>
+* <li> <code>'XRowSetApproveBroadcaster.ApproveChecker'</code>:
+* implementation of inner interface <code>RowSetApproveChecker</code>
+* which can move cursor within a rowset, change row, and change the
+* whole rowset. </li>
+* </ul> <p>
+* It is better to recreate the object after test, because of unknown
+* actions made by <code>RowSetApproveChecker</code> interface implementation.
+*
+* @see com.sun.star.sdb.XRowSetApproveBroadcaster
+* @see _XRowSetApproveBroadcaster.RowSetApproveChecker
+*/
+public class _XRowSetApproveBroadcaster extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XRowSetApproveBroadcaster oObj = null ;
+
+ /**
+ * The purpose of this interface is to pass to this test
+ * relation which can make some operations with row set
+ * on which <code>XRowSetApproveListener</code>s can react.
+ * @see com.sun.star.sdb.XRowSetApproveListener
+ */
+ public interface RowSetApproveChecker {
+ /**
+ * Moves cursor within row set. Method <code>approveCursorMove</code>
+ * of <code>XRowSetApproveListener</code> must be called.
+ */
+ void moveCursor() ;
+ /**
+ * Change rows in row set. Method <code>approveRowChange</code>
+ * of <code>XRowSetApproveListener</code> must be called.
+ * @return <code>RowChangeEvent</code> structure which contains
+ * what type of change was made and how many rows it affected.
+ * @see com.sun.star.sdb.RowChangeEvent
+ */
+ RowChangeEvent changeRow() ;
+ /**
+ * Change the whole row set. Method <code>approveRowSetChange</code>
+ * of <code>XRowSetApproveListener</code> must be called.
+ */
+ void changeRowSet() ;
+ }
+
+ /**
+ * Implementation of <code>XRowSetApproveListener</code> interface
+ * which just detects and stores approve requirements. They are checked
+ * later.
+ */
+ private static class TestListener implements XRowSetApproveListener {
+ public boolean approveRequests = true ;
+ public boolean approveCursorMoveCalled = false ;
+ public boolean approveRowChangeCalled = false ;
+ public RowChangeEvent approveRowChangeEvent = null ;
+ public boolean approveRowSetChangeCalled = false ;
+
+ public TestListener(boolean approve) {
+ approveRequests = approve ;
+ }
+
+ public void reset() {
+ approveCursorMoveCalled = false ;
+ approveRowChangeCalled = false ;
+ approveRowSetChangeCalled = false ;
+ }
+ public boolean approveCursorMove(EventObject ev) {
+ approveCursorMoveCalled = true ;
+ return approveRequests ;
+ }
+ public boolean approveRowChange(RowChangeEvent ev) {
+ approveRowChangeCalled = true ;
+ approveRowChangeEvent = ev ;
+ return approveRequests ;
+ }
+ public boolean approveRowSetChange(EventObject ev) {
+ approveRowSetChangeCalled = true ;
+ return approveRequests ;
+ }
+ public void disposing(EventObject ev) {}
+ }
+ private TestListener listener1 = null ;
+
+ private RowSetApproveChecker checker = null ;
+
+ /**
+ * Tries to retrieve object relation.
+ */
+ @Override
+ public void before() {
+ checker = (RowSetApproveChecker) tEnv.getObjRelation
+ ("XRowSetApproveBroadcaster.ApproveChecker") ;
+
+ if (checker == null) {
+ log.println("!!! Relation for test not found !!!") ;
+ throw new StatusException(Status.failed
+ ("!!! Relation for test not found !!!")) ;
+ }
+ }
+
+ /**
+ * Creates and adds listener, then call <code>RowSetApproveChecker</code>
+ * methods for listener methods to be called. Then checks if
+ * listener methods were called on appropriate actions. <p>
+ * Has OK status : If and only if appropriate listener methods called,
+ * and listener <code>approveRowChange</code> method has write parameter,
+ * i.e. type and rows number expected.
+ */
+ public void _addRowSetApproveListener() {
+ listener1 = new TestListener(true) ;
+ oObj.addRowSetApproveListener(listener1) ;
+ log.println("Listener added.") ;
+
+ boolean result = true ;
+
+ checker.moveCursor() ;
+ log.println("Cursor moved.") ;
+ result &= listener1.approveCursorMoveCalled ;
+
+ listener1.reset() ;
+ RowChangeEvent actualEvent = checker.changeRow() ;
+ log.println("Row changed.") ;
+
+ RowChangeEvent event = listener1.approveRowChangeEvent ;
+ result &= listener1.approveRowChangeCalled ;
+
+ boolean eventOK = event.Action == actualEvent.Action &&
+ event.Rows == actualEvent.Rows ;
+
+ result &= eventOK ;
+
+ listener1.reset() ;
+ checker.changeRowSet();
+ log.println("Row set changed.") ;
+ result &= listener1.approveRowSetChangeCalled ;
+
+ tRes.tested("addRowSetApproveListener()", result) ;
+ }
+
+ /**
+ * Removes listener inserted before, then perform all actions
+ * on which listener must react. <p>
+ * Has OK status if no listener methods were called. <p>
+ * Methods required to pass before :
+ * <ul>
+ * <li> <code>_addRowSetApproveListener</code> </li>
+ * </ul>
+ */
+ public void _removeRowSetApproveListener() {
+ requiredMethod("addRowSetApproveListener()") ;
+
+ listener1.reset() ;
+
+ oObj.removeRowSetApproveListener(listener1) ;
+
+ checker.moveCursor() ;
+ checker.changeRow() ;
+ checker.changeRowSet() ;
+
+ tRes.tested("removeRowSetApproveListener()",
+ !listener1.approveCursorMoveCalled &&
+ !listener1.approveRowChangeCalled &&
+ !listener1.approveRowSetChangeCalled) ;
+ }
+
+ /**
+ * Disposes object environment.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finish class _XRowSetApproveBroadcaster
+
+
diff --git a/qadevOOo/tests/java/ifc/sdb/_XSQLErrorBroadcaster.java b/qadevOOo/tests/java/ifc/sdb/_XSQLErrorBroadcaster.java
new file mode 100644
index 000000000..ca2efa664
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XSQLErrorBroadcaster.java
@@ -0,0 +1,29 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.sdb;
+
+import com.sun.star.sdb.XSQLErrorBroadcaster;
+import lib.MultiMethodTest;
+
+/**
+ *
+ */
+public class _XSQLErrorBroadcaster extends MultiMethodTest {
+
+ public XSQLErrorBroadcaster oObj = null;
+}
diff --git a/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryAnalyzer.java b/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryAnalyzer.java
new file mode 100644
index 000000000..39aabf688
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryAnalyzer.java
@@ -0,0 +1,290 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import com.sun.star.sdb.XSingleSelectQueryAnalyzer;
+import lib.MultiMethodTest;
+import com.sun.star.sdb.XSingleSelectQueryComposer;
+import com.sun.star.uno.UnoRuntime;
+import lib.StatusException;
+import lib.Status;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+
+/**
+* Testing <code>com.sun.star.sdb.XSingleSelectQueryAnalyzer</code>
+* interface methods :
+* <ul>
+* <li><code>getQuery()</code></li>
+* <li><code>setQuery()</code></li>
+* <li><code>getFilter()</code></li>
+* <li><code>getStructuredFilter()</code></li>
+* <li><code>getGroup()</code></li>
+* <li><code>getGroupColumns()</code></li>
+* <li><code>getHavingClause()</code></li>
+* <li><code>getStructuredHavingClause()</code></li>
+* <li><code>getOrder()</code></li>
+* <li><code>getOrderColumns()</code></li>
+
+* </ul> <p>
+* @see com.sun.star.sdb.XSingleSelectQueryAnalyzer
+*/
+public class _XSingleSelectQueryAnalyzer extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XSingleSelectQueryAnalyzer oObj = null ;
+
+ private static final String queryString = "SELECT * FROM \"biblio\"";
+
+ private XSingleSelectQueryComposer xComposer = null;
+
+ /**
+ * Receives the object relations:
+ * <ul>
+ * <li><code>XSingleSelectQueryComposer xCompoer</code></li>
+ * </ul> <p>
+ * @see com.sun.star.sdb.XSingleSelectQueryComposer
+ */
+ @Override
+ protected void before() {
+
+ xComposer = UnoRuntime.queryInterface(XSingleSelectQueryComposer.class,
+ tEnv.getObjRelation("xComposer"));
+
+ if (xComposer == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get object relation 'xComposer'. Test must be modified"));
+
+ }
+
+ }
+ /**
+ * call <code>setQuery()</code> once with valid query, once with invalid
+ * query. Has ok if only on second call <code>SQLException</code> was thrown
+ */
+ public void _setQuery() {
+
+ try{
+ oObj.setQuery("This is an invalid SQL query");
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("expected Exception. ");
+ }
+
+ try{
+ oObj.setQuery(queryString);
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setQuery()", false);
+ }
+ tRes.tested("setQuery()", true);
+ }
+
+ /**
+ * checks of the returned value of <code>getQuery()</code>
+ * equals the string which was set by <code>setQuery()</code>
+ * <p>
+ * required methods:
+ *<ul>
+ * <li><code>setQuery</code></li>
+ *</ul>
+ */
+ public void _getQuery() {
+ this.requiredMethod("setQuery()");
+
+ boolean res = false;
+
+ res = oObj.getQuery().equals(queryString);
+
+ tRes.tested("getQuery()", res);
+ }
+
+
+ /**
+ * Object relation <code>xComposer</code> set a filter. This filter
+ * must returned while calling <code>getFilter</code>
+ */
+ public void _getFilter() {
+ try{
+ String filter = "\"Identifier\" = 'BOR02b'";
+ xComposer.setFilter(filter);
+ tRes.tested("getFilter()", oObj.getFilter().equals(filter));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getFilter()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xComposer</code> set a complex filter with method
+ . <code>setFilter</code>. Then <code>getStructuredFilter</code> returns a
+ * sequence of <code>PropertyValue</code> which was set with method
+ * <code>setStructuredFilter</code> from <xComposer>.
+ * Then test has ok status if <getFilter> returns the complex filter.
+ * <p>
+ * required methods:
+ *<ul>
+ * <li><code>setQuery</code></li>
+ * <li><code>getFilter</code></li>
+ *</ul>
+ */
+ public void _getStructuredFilter() {
+ requiredMethod("setQuery()");
+ requiredMethod("getFilter()");
+ try{
+ oObj.setQuery("SELECT \"Identifier\", \"Type\", \"Address\" FROM \"biblio\" \"biblio\"");
+ String complexFilter = "( \"Identifier\" >= '1' AND \"Type\" <= '4' ) OR ( \"Identifier\" <> '2' AND \"Type\" = '5' ) OR ( \"Identifier\" < '3' AND \"Type\" > '6' AND \"Address\" = '7' ) OR ( \"Address\" >= '8' ) OR ( \"Type\" = '9' )";
+ xComposer.setFilter(complexFilter);
+ PropertyValue[][] aStructuredFilter = oObj.getStructuredFilter();
+
+ xComposer.setFilter("");
+ xComposer.setStructuredFilter(aStructuredFilter);
+ tRes.tested("getStructuredFilter()", oObj.getFilter().equals(complexFilter));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getStructuredFilter()", false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getStructuredFilter()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xComposer</code> set a goup. This group
+ * must returned while calling <code>getGroup</code>
+ */
+ public void _getGroup() {
+ try{
+ String group = "\"Identifier\"";
+ xComposer.setGroup(group);
+ tRes.tested("getGroup()", oObj.getGroup().equals(group));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getGroup()", false);
+ }
+ }
+
+ /**
+ * Method <code>getGroupColumns</code> returns a <code>XIndexAccess</code>
+ * Test has ok status if returned value is a usable <code>XIndexAccess</code>
+ */
+ public void _getGroupColumns() {
+ try{
+ XIndexAccess xGroupColumns = oObj.getGroupColumns();
+
+ tRes.tested("getGroupColumns()", (xGroupColumns != null &&
+ xGroupColumns.getCount() == 1 &&
+ xGroupColumns.getByIndex(0) != null));
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getGroupColumns()", false);
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getGroupColumns()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xComposer</code> set a clause. This clause
+ * must returned while calling <code>getHavingClause</code>
+ */
+ public void _getHavingClause() {
+ try{
+ String clause = "\"Identifier\" = 'BOR02b'";
+ xComposer.setHavingClause(clause);
+ tRes.tested("getHavingClause()", oObj.getHavingClause().equals(clause));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getHavingClause()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xComposer</code> set a clause. This clause
+ * must returned while calling <code>getHavingClause</code>
+ * <p>
+ * required methods:
+ *<ul>
+ * <li><code>setQuery</code></li>
+ * <li><code>getFilter</code></li>
+ * <li><code>getStructuredFilter</code></li>
+ *</ul>
+ */
+ public void _getStructuredHavingClause() {
+ requiredMethod("setQuery()");
+ requiredMethod("getFilter()");
+ executeMethod("getStructuredFilter()");
+
+ String complexFilter = "( \"Identifier\" >= '1' AND \"Type\" <= '4' ) OR ( \"Identifier\" <> '2' AND \"Type\" = '5' ) OR ( \"Identifier\" < '3' AND \"Type\" > '6' AND \"Address\" = '7' ) OR ( \"Address\" >= '8' ) OR ( \"Type\" = '9' )";
+ try{
+ xComposer.setHavingClause(complexFilter);
+ PropertyValue[][] aStructuredHaving = oObj.getStructuredHavingClause();
+ xComposer.setHavingClause("");
+ xComposer.setStructuredHavingClause(aStructuredHaving);
+ tRes.tested("getStructuredHavingClause()",
+ oObj.getHavingClause().equals(complexFilter));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getStructuredHavingClause()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xComposer</code> set an order. This order
+ * must returned while calling <code>getOrder</code>
+ */
+ public void _getOrder() {
+ try{
+ String order = "\"Identifier\"";
+ xComposer.setOrder(order);
+ tRes.tested("getOrder()", oObj.getOrder().equals(order));
+
+ } catch (com.sun.star.sdbc.SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getOrder()", false);
+ }
+ }
+
+ /**
+ * Method <code>getGroupColumns</code> returns a <code>XIndexAccess</code>
+ * Test has ok status if returned value is a usable <code>XIndexAccess</code>
+ */
+ public void _getOrderColumns() {
+ try{
+ XIndexAccess xOrderColumns = oObj.getOrderColumns();
+ tRes.tested("getOrderColumns()", (xOrderColumns != null &&
+ xOrderColumns.getCount() == 1 &&
+ xOrderColumns.getByIndex(0) != null));
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getOrderColumns()", false);
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("getOrderColumns()", false);
+ }
+ }
+
+
+} // finish class _XSingleSelectQueryAnalyzer
diff --git a/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryComposer.java b/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryComposer.java
new file mode 100644
index 000000000..53b31f693
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryComposer.java
@@ -0,0 +1,521 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdb;
+
+import com.sun.star.sdb.XSingleSelectQueryComposer;
+import lib.MultiMethodTest;
+import com.sun.star.sdb.XSingleSelectQueryAnalyzer;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.UnoRuntime;
+import lib.StatusException;
+import lib.Status;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.sdb.SQLFilterOperator;
+import com.sun.star.sdbc.SQLException;
+
+/**
+* Testing <code>com.sun.star.sdb.XSingleSelectQueryComposer</code>
+* interface methods :
+* <ul>
+* <li><code>setFilter()</code></li>
+* <li><code>setStructuredFilter()</code></li>
+* <li><code>appendFilterByColumn()</code></li>
+* <li><code>appendGroupByColumn()</code></li>
+* <li><code>setGroup()</code></li>
+* <li><code>setHavingClause()</code></li>
+* <li><code>setStructuredHavingClause()</code></li>
+* <li><code>appendHavingClauseByColumn()</code></li>
+* <li><code>appendOrderByColumn()</code></li>
+* <li><code>setOrder()</code></li>
+
+* </ul> <p>
+* @see com.sun.star.sdb.XSingleSelectQueryComposer
+*/
+public class _XSingleSelectQueryComposer extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XSingleSelectQueryComposer oObj = null ;
+
+ private XSingleSelectQueryAnalyzer xQueryAna = null;
+
+ private XPropertySet xProp = null;
+
+ private String colName = null;
+
+ private XResultSet xReSet = null;
+
+ /**
+ * Retrieves the object relations:
+ * <ul>
+ * <li><code>XSingleSelectQueryAnalyzer xQueryAna</code></li>
+ * <li><code>XPropertySet xProp</code></li>
+ * <li><code>String colName</code></li>
+ * </ul> <p>
+ * @see com.sun.star.sdb.XSingleSelectQueryAnalyzer
+ * @see com.sun.star.beans.XPropertySet
+ */
+ @Override
+ protected void before() /* throws Exception*/ {
+
+ xQueryAna = UnoRuntime.queryInterface(XSingleSelectQueryAnalyzer.class,
+ tEnv.getObjRelation("xQueryAna"));
+
+ if (xQueryAna == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get object relation 'xQueryAna'. Test must be modified"));
+
+ }
+
+ xProp = UnoRuntime.queryInterface(XPropertySet.class,
+ tEnv.getObjRelation("xProp"));
+
+ if (xProp == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get object relation 'xProp'. Test must be modified"));
+
+ }
+
+ xReSet = UnoRuntime.queryInterface(XResultSet.class,
+ tEnv.getObjRelation("xResultSet"));
+
+ if (xReSet == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get object relation 'xResultSet'. Test must be modified"));
+
+ }
+
+ try
+ {
+ colName = AnyConverter.toString(tEnv.getObjRelation("colName"));
+ }
+ catch (com.sun.star.lang.IllegalArgumentException e)
+ {
+ colName = null;
+ }
+
+ if (colName == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get object relation 'colName'. Test must be modified"));
+
+ }
+
+ }
+
+
+ /**
+ * Object relation <code>xQueryAna</code> set a filter. This filter
+ * must returned while calling <code>getFilter</code>
+ */
+ public void _setFilter() {
+ try{
+ String filter = "\"Identifier\" = 'BOR02b'";
+ oObj.setFilter(filter);
+ tRes.tested("setFilter()", xQueryAna.getFilter().equals(filter));
+
+ } catch (SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setFilter()", false);
+ }
+ }
+
+ /**
+ * Object relation <code>xQueryAna</code> set a complex filter with method
+ . <code>setFilter</code>. Then <code>getStructuredFilter</code> returns a
+ * sequence of <code>PropertyValue</code> which was set with method
+ * <code>setStructuredFilter</code> from <code>xQueryAna</code>.
+ * Then test has ok status if <code>getFilter</code> returns the complex filter.
+ */
+ public void _setStructuredFilter() {
+ requiredMethod("setFilter()");
+ try{
+ xQueryAna.setQuery("SELECT \"Identifier\", \"Type\", \"Address\" FROM \"biblio\" \"biblio\"");
+ String complexFilter = "( \"Identifier\" >= '1' AND \"Type\" <= '4' ) OR ( \"Identifier\" <> '2' AND \"Type\" = '5' ) OR ( \"Identifier\" < '3' AND \"Type\" > '6' AND \"Address\" = '7' ) OR ( \"Address\" >= '8' ) OR ( \"Type\" = '9' )";
+ oObj.setFilter(complexFilter);
+ PropertyValue[][] aStructuredFilter = xQueryAna.getStructuredFilter();
+ oObj.setFilter("");
+ oObj.setStructuredFilter(aStructuredFilter);
+ tRes.tested("setStructuredFilter()", xQueryAna.getFilter().equals(complexFilter));
+
+ } catch (SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setStructuredFilter()", false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setStructuredFilter()", false);
+ }
+ }
+
+ /**
+ * At first the object relation <code>xProp</code> was set as parameter.
+ * Relation <code>xQueryAna</code> was used to check if relation
+ * <code>colName</code> was found.
+ * Second an empty <code>XPropertySet</code> was used as parameter. A
+ * <code>SQLException</code> must be thrown.
+ */
+ public void _appendFilterByColumn() {
+ boolean ok = true;
+ try
+ {
+ xReSet.beforeFirst();
+ }
+ catch (SQLException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ }
+ try
+ {
+ oObj.appendFilterByColumn(xProp, true,SQLFilterOperator.EQUAL);
+ log.println("expected Exception was not thrown");
+ tRes.tested("appendFilterByColumn()", false);
+ ok = false;
+ }
+ catch (com.sun.star.uno.RuntimeException e)
+ {
+ log.println("expected Exception: " + e.toString());
+ ok = ok && true;
+ }
+ catch (SQLException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ }
+
+ try
+ {
+ xReSet.first();
+ }
+ catch (SQLException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ }
+ try{
+
+ oObj.appendFilterByColumn(xProp, true,SQLFilterOperator.EQUAL);
+ log.println("appendFilterByColumn: " + xQueryAna.getFilter());
+ ok = ok && (xQueryAna.getFilter().indexOf(colName) > 0);
+
+ } catch (SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ }
+ catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ }
+
+ try{
+
+ oObj.appendFilterByColumn(xProp, false,SQLFilterOperator.EQUAL);
+ log.println("appendFilterByColumn: " + xQueryAna.getFilter());
+ ok = ok && (xQueryAna.getFilter().indexOf(colName) > 0);
+
+ } catch (SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ } catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ }
+
+ try{
+ XPropertySet dummy = null;
+ oObj.appendFilterByColumn(dummy, true,SQLFilterOperator.EQUAL);
+ log.println("expected Exception was not thrown");
+ tRes.tested("appendFilterByColumn()", false);
+
+ } catch (SQLException e){
+ log.println("expected Exception");
+ ok = ok && true;
+ } catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ }
+
+ try
+ {
+ xReSet.beforeFirst();
+ }
+ catch (SQLException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendFilterByColumn()", false);
+ }
+ tRes.tested("appendFilterByColumn()", ok);
+ }
+
+ /**
+ * At first the object relation <code>xProp</code> was used as parameter.
+ * Relation <code>xQueryAna</code> was used to check if relation
+ * <code>colName</code> was found.
+ * Second an empty <code>XPropertySet</code> was used as parameter. An
+ * <code>SQLException</code> must be thrown.
+ */
+ public void _appendGroupByColumn() {
+ boolean ok = true;
+ try{
+
+ oObj.appendGroupByColumn(xProp);
+ log.println("appendGroupByColumn: " + xQueryAna.getFilter());
+ ok = ok && (xQueryAna.getFilter().indexOf(colName) > 0);
+
+ } catch (SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendGroupByColumn()", false);
+ }
+ try{
+ XPropertySet dummy = null;
+ oObj.appendGroupByColumn(dummy);
+ log.println("expected Exception was not thrown");
+ tRes.tested("appendGroupByColumn()", false);
+
+ } catch (SQLException e){
+ log.println("expected Exception");
+ ok = ok && true;
+ }
+ tRes.tested("appendGroupByColumn()", ok);
+ }
+
+ /**
+ * The group which was set by <code>setGroup</code> must be returned
+ * while calling from object relation <code>XQueryAna</code>
+ * method <code>getGroup</code>
+ */
+ public void _setGroup() {
+ try{
+ String group = "\"Identifier\"";
+ oObj.setGroup(group);
+ tRes.tested("setGroup()", xQueryAna.getGroup().equals(group));
+
+ } catch (SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setGroup()", false);
+ }
+ }
+
+
+ /**
+ * The clause which was set by <code>setHavingClause</code> must be returned
+ * while calling from object relation <code>XQueryAna</code>
+ * method <code>getHavingClause</code>
+ */
+ public void _setHavingClause() {
+ try{
+ String clause = "\"Identifier\" = 'BOR02b'";
+ oObj.setHavingClause(clause);
+ tRes.tested("setHavingClause()",
+ xQueryAna.getHavingClause().equals(clause));
+
+ } catch (SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setHavingClause()", false);
+ }
+ }
+
+ /**
+ * At first <code>setHavingClause</code> sets a complex clause.
+ * Then method <code>getStructuredHavingClause</code> from object relation
+ * <code>xQueryAna</code> returns a valid <code>PropertyValue[][]</code>
+ * Method <code>setHavingClause</code> was called with an empty string to
+ * reset filter. Now <code>setStructuredHavingClause</code> with the valid
+ * <code>PropertyValue[][]</code> as parameter was called.
+ * Test is ok if <code>getHavingClause</code> from <code>xQueryAna</code>
+ * returns the complex clause from beginning.
+ * <p>
+ * required methods:
+ *<ul>
+ * <li><code>setHavingClause</code></li>
+ * <li><code>setStructuredFilter</code></li>
+ *</ul>
+ */
+ public void _setStructuredHavingClause() {
+ requiredMethod("setHavingClause()");
+ executeMethod("setStructuredFilter()");
+ String complexFilter = "( \"Identifier\" >= '1' AND \"Type\" <= '4' ) OR ( \"Identifier\" <> '2' AND \"Type\" = '5' ) OR ( \"Identifier\" < '3' AND \"Type\" > '6' AND \"Address\" = '7' ) OR ( \"Address\" >= '8' ) OR ( \"Type\" = '9' )";
+ try{
+ oObj.setHavingClause(complexFilter);
+ PropertyValue[][] aStructuredHaving =
+ xQueryAna.getStructuredHavingClause();
+ oObj.setHavingClause("");
+ oObj.setStructuredHavingClause(aStructuredHaving);
+ tRes.tested("setStructuredHavingClause()",
+ xQueryAna.getHavingClause().equals(complexFilter));
+
+ } catch (SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setStructuredHavingClause()", false);
+ }
+ }
+
+ /**
+ * First object relation <code>xProp</code> was used as parameter. Relation
+ * <code>xQueryAna</code> was used to check if relation <code>colName</code>
+ * was found.
+ * Second an empty <code>XPropertySet</code> was given as parameter. An
+ * <code>SQLException</code> must be thrown.
+ */
+ public void _appendHavingClauseByColumn() {
+ boolean ok = true;
+ try
+ {
+ xReSet.beforeFirst();
+ }
+ catch (SQLException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendHavingClauseByColumn()", false);
+ }
+ try{
+
+ oObj.appendHavingClauseByColumn(xProp, true,SQLFilterOperator.EQUAL);
+ log.println("expected Exception was not thrown");
+ tRes.tested("appendHavingClauseByColumn()", false);
+ ok = false;
+
+ }
+ catch (com.sun.star.uno.RuntimeException e)
+ {
+ log.println("expected Exception: " + e.toString());
+ ok = ok && true;
+ }
+ catch (SQLException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendHavingClauseByColumn()", false);
+ } catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendHavingClauseByColumn()", false);
+ }
+
+ try
+ {
+ xReSet.first();
+ }
+ catch (SQLException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendHavingClauseByColumn()", false);
+ }
+ try{
+
+ oObj.appendHavingClauseByColumn(xProp, true,SQLFilterOperator.EQUAL);
+ log.println("appendHavingClauseByColumn: " + xQueryAna.getFilter());
+ ok = ok && (xQueryAna.getFilter().indexOf(colName) > 0);
+
+ } catch (SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendHavingClauseByColumn()", false);
+ } catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendHavingClauseByColumn()", false);
+ }
+
+ try{
+ XPropertySet dummy = null;
+ oObj.appendHavingClauseByColumn(dummy, true,SQLFilterOperator.EQUAL);
+ log.println("expected Exception was not thrown");
+ tRes.tested("appendHavingClauseByColumn()", false);
+
+ } catch (SQLException e){
+ log.println("expected Exception");
+ ok = ok && true;
+ } catch (com.sun.star.lang.WrappedTargetException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendHavingClauseByColumn()", false);
+ }
+
+ // cleanup
+ try
+ {
+ xReSet.beforeFirst();
+ }
+ catch (SQLException e)
+ {
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendHavingClauseByColumn()", false);
+ }
+ tRes.tested("appendHavingClauseByColumn()", ok);
+ }
+
+ /**
+ * First object relation <code>xProp</code> was set as parameter. Relation
+ * <code>xQueryAna</code> was used to check if relation <code>colName</code>
+ * was found.
+ * Second an empty <code>XPropertySet</code> was given as parameter. An
+ * <code>SQLException</code> must be thrown.
+ */
+ public void _appendOrderByColumn() {
+ boolean ok = true;
+ try{
+
+ oObj.appendOrderByColumn(xProp, true);
+ log.println("appendOrderByColumn: " + xQueryAna.getFilter());
+ ok = ok && (xQueryAna.getFilter().indexOf(colName) > 0);
+
+ } catch (SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("appendOrderByColumn()", false);
+ }
+ try{
+ XPropertySet dummy = null;
+ oObj.appendOrderByColumn(dummy, true);
+ log.println("expected Exception was not thrown");
+ tRes.tested("appendOrderByColumn()", false);
+
+ } catch (SQLException e){
+ log.println("expected Exception");
+ ok = ok && true;
+ }
+ tRes.tested("appendOrderByColumn()", ok);
+ }
+
+
+ /**
+ * Method <code>getOrder</code> from object relation <code>xQueryAna</code>
+ * checks the order which was set while calling <code>setOrder</code>
+ */
+ public void _setOrder() {
+ try{
+ String order = "\"Identifier\"";
+ oObj.setOrder(order);
+ tRes.tested("setOrder()", xQueryAna.getOrder().equals(order));
+
+ } catch (SQLException e){
+ log.println("unexpected Exception: " + e.toString());
+ tRes.tested("setOrder()", false);
+ }
+ }
+
+
+
+} // finish class _XSingleSelectQueryComposer
diff --git a/qadevOOo/tests/java/ifc/sdbc/_ResultSet.java b/qadevOOo/tests/java/ifc/sdbc/_ResultSet.java
new file mode 100644
index 000000000..56724524e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_ResultSet.java
@@ -0,0 +1,40 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sdbc.ResultSet</code>
+* service properties :
+* <ul>
+* <li><code> CursorName</code></li>
+* <li><code> ResultSetConcurrency</code></li>
+* <li><code> ResultSetType</code></li>
+* <li><code> FetchDirection</code></li>
+* <li><code> FetchSize</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sdbc.ResultSet
+*/
+public class _ResultSet extends MultiPropertyTest {
+
+
+} // finish class _ResultSet
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_RowSet.java b/qadevOOo/tests/java/ifc/sdbc/_RowSet.java
new file mode 100644
index 000000000..fae52a637
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_RowSet.java
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.uno.Any;
+
+
+/**
+* Testing <code>com.sun.star.sdbc.RowSet</code>
+* service properties :
+* <ul>
+* <li><code> DataSourceName</code></li>
+* <li><code> URL</code></li>
+* <li><code> Command</code></li>
+* <li><code> TransactionIsolation</code></li>
+* <li><code> TypeMap</code></li>
+* <li><code> EscapeProcessing</code></li>
+* <li><code> QueryTimeOut</code></li>
+* <li><code> MaxFieldSize</code></li>
+* <li><code> MaxRows</code></li>
+* <li><code> User</code></li>
+* <li><code> Password</code></li>
+* <li><code> ResultSetType</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sdbc.RowSet
+*/
+public class _RowSet extends MultiPropertyTest {
+
+ /**
+ * Redefined method returns object, that contains changed property value.
+ */
+ public void _TypeMap() {
+ boolean result = false;
+ try {
+ Any TypeMap = (Any) oObj.getPropertyValue("TypeMap");
+ String TypeName = TypeMap.getType().getTypeName();
+ String expected = "com.sun.star.container.XNameAccess";
+ result = TypeName.equals(expected);
+ if (! result ) {
+ log.println("Expected Type is "+expected);
+ log.println("but the returned is "+TypeName);
+ }
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception " + e.getMessage());
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception " + e.getMessage());
+ }
+
+ tRes.tested("TypeMap",result);
+ }
+
+} // finish class _RowSet
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XCloseable.java b/qadevOOo/tests/java/ifc/sdbc/_XCloseable.java
new file mode 100644
index 000000000..efd39fd1f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XCloseable.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XCloseable;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sdbc.XCloseable</code>
+* interface methods :
+* <ul>
+* <li><code> close()</code></li>
+* </ul> <p>
+* After test object must be recreated.
+* @see com.sun.star.sdbc.XCloseable
+*/
+public class _XCloseable extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XCloseable oObj = null ;
+
+ /**
+ * Closes row set. If the component implements the interface
+ * <code>com.sun.star.sdbc.XResultSet</code> then tries to move
+ * the cursor to the first row in the result set.
+ * Has OK status if no exceptions were thrown during first call and
+ * if expected SQL exception was thrown during cursor moving.
+ */
+ public void _close() throws StatusException {
+ boolean res = false;
+ try {
+ oObj.close();
+ res = true;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL Exception occurred:" + e) ;
+ res = false;
+ }
+
+ XResultSet resSet = UnoRuntime.queryInterface(XResultSet.class, oObj);
+
+ if (resSet != null) {
+ try {
+ resSet.first();
+ log.println("Expected SQLException not occurred !");
+ res = false;
+ } catch(SQLException e) {
+ log.println("Expected SQLException occurred");
+ res = true;
+ }
+ }
+
+ tRes.tested("close()", res);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finish class _XCloseable
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XColumnLocate.java b/qadevOOo/tests/java/ifc/sdbc/_XColumnLocate.java
new file mode 100644
index 000000000..f1d57c5b7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XColumnLocate.java
@@ -0,0 +1,76 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XColumnLocate;
+
+/**
+/**
+* Testing <code>com.sun.star.sdbc.XColumnLocate</code>
+* interface methods :
+* <ul>
+* <li><code> findColumn()</code></li>
+* </ul> <p>
+* The test required the following relations :
+* <ul>
+* <li> <code> XColumnLocate.ColumnName </code> : The name of the first
+* column. </li>
+* </ul>
+* @see com.sun.star.sdbc.XColumnLocate
+*/
+public class _XColumnLocate extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XColumnLocate oObj = null ;
+
+ /**
+ * Using column name from object relation trying to find out
+ * the index of this column. <p>
+ * Has OK status if column index returned by method equals to 1,
+ * FAILED otherwise.
+ */
+ public void _findColumn() {
+ boolean result = false ;
+ String colName = (String) tEnv.getObjRelation("XColumnLocate.ColumnName") ;
+
+ if (colName == null) {
+ throw new StatusException(
+ Status.failed("Object relation 'XColumnLocate.ColumnName' " +
+ "for this interface not found"));
+ }
+
+ try {
+ int colIdx = oObj.findColumn(colName) ;
+ result = colIdx == 1 ;
+ } catch (SQLException e) {
+ log.println("Exception occurred:");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("findColumn()", result);
+ }
+
+} // finish class _XColumnLocate
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XDataSource.java b/qadevOOo/tests/java/ifc/sdbc/_XDataSource.java
new file mode 100644
index 000000000..304ea7ded
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XDataSource.java
@@ -0,0 +1,105 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XDataSource;
+
+/**
+* Testing <code>com.sun.star.sdbc.XDataSource</code>
+* interface methods :
+* <ul>
+* <li><code>getConnection()</code></li>
+* <li><code>setLoginTimeout()</code></li>
+* <li><code>getLoginTimeout()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbc.XDataSource
+*/
+public class _XDataSource extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XDataSource oObj = null;
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if exception wasn't thrown and
+ * if returned value isn't null.
+ */
+ public void _getConnection() {
+ boolean res = true;
+
+ try {
+ XConnection connection = oObj.getConnection("", "");
+ res = connection != null;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception:");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("getConnection()", res);
+ }
+
+ /**
+ * Sets new timeout, compares with timeout returned by the method
+ * <code>getLoginTimeout()</code>.
+ * Has OK status if exception wasn't thrown and if timeout values are equal.
+ */
+ public void _setLoginTimeout() {
+ requiredMethod("getLoginTimeout()");
+ boolean res = true;
+
+ try {
+ final int TO = 111;
+ log.println("setLoginTimeout(" + TO + ")");
+ oObj.setLoginTimeout(TO);
+ int timeout = oObj.getLoginTimeout();
+ res = timeout == TO;
+ log.println("getLoginTimeout(): " + timeout);
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception:");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("setLoginTimeout()", res);
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if exception wasn't thrown and
+ * if returned value is equal to zero.
+ */
+ public void _getLoginTimeout() {
+ boolean res = true;
+
+ try {
+ int timeout = oObj.getLoginTimeout();
+ log.println("getLoginTimeout(): " + timeout);
+ res = timeout == 0;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception:");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("getLoginTimeout()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XDriver.java b/qadevOOo/tests/java/ifc/sdbc/_XDriver.java
new file mode 100644
index 000000000..4b0eb147f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XDriver.java
@@ -0,0 +1,205 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.sdbc.DriverPropertyInfo;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XDriver;
+
+/**
+* Testing <code>com.sun.star.sdbc.XDriver</code>
+* interface methods :
+* <ul>
+* <li><code> connect()</code></li>
+* <li><code> acceptsURL()</code></li>
+* <li><code> getPropertyInfo()</code></li>
+* <li><code> getMajorVersion()</code></li>
+* <li><code> getMinorVersion()</code></li>
+* </ul> <p>
+* Required object relations :
+* <ul>
+* <li> <code>'XDriver.URL'</code>:
+* is the URL of the database to which to connect</code></li>
+* <li><code>'XDriver.UNSUITABLE_URL'</code>:
+* the wrong kind of URL to connect using given driver</li>
+* <li><code>'XDriver.INFO'</code>:
+* a list of arbitrary string tag/value pairs as connection arguments</li>
+* </ul> <p>
+* @see com.sun.star.sdbc.XDriver
+*/
+public class _XDriver extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XDriver oObj = null;
+ String url = null;
+ String wrongUrl = null;
+ String nbu = null;
+ PropertyValue[] info = null;
+
+ /**
+ * Retrieves relations.
+ * @throw StatusException If any relation not found.
+ */
+ @Override
+ protected void before() {
+ nbu = (String) tEnv.getObjRelation("NoBadURL");
+ url = (String)tEnv.getObjRelation("XDriver.URL");
+ if (url == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.URL'"));
+ }
+ wrongUrl = (String)tEnv.getObjRelation("XDriver.UNSUITABLE_URL");
+ if (wrongUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.WRONG_URL'"));
+ }
+ info = (PropertyValue[])tEnv.getObjRelation("XDriver.INFO");
+ if (info == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.INFO'"));
+ }
+ }
+
+ /**
+ * Connects to <code>'XDriver.URL'</code>,
+ * to <code>'XDriver.UNSUITABLE_URL'</code> and to wrong URL using
+ * <code>'XDriver.INFO'</code>.
+ * Has OK status if the method returns not null for <code>'XDriver.URL'</code>,
+ * null for <code>'XDriver.UNSUITABLE_URL'</code> and
+ * exception was thrown during the call with a wrong URL.
+ */
+ public void _connect() {
+ boolean res = true;
+
+ try {
+ log.println("Trying to connect to " + url);
+ XConnection connection = oObj.connect(url, info);
+ res = (connection != null);
+ log.println("Connected? " + res);
+ log.println("Trying to connect to " + wrongUrl);
+ connection = oObj.connect(wrongUrl, info);
+ res &= (connection == null);
+ log.println("Connected? " + !res);
+ } catch(SQLException e) {
+ log.println("Unexpected exception");
+ res &= false;
+ }
+
+ if (nbu==null) {
+ try {
+ String badUrl = url + "bla";
+ log.println("Trying to connect to " + badUrl);
+ oObj.connect(badUrl, info);
+ res &= false;
+ log.println("Expected exception isn't thrown");
+ } catch(SQLException e) {
+ log.println("Expected exception");
+ res &= true;
+ }
+ }
+
+ tRes.tested("connect()", res);
+ }
+
+ /**
+ * Calls the method for <code>'XDriver.URL'</code> and
+ * for <code>'XDriver.UNSUITABLE_URL'</code>.
+ * Has OK status if the method returns true for <code>'XDriver.URL'</code>
+ * and false for <code>'XDriver.UNSUITABLE_URL'</code>.
+ */
+ public void _acceptsURL() {
+ boolean res = false;
+
+ try {
+ res = oObj.acceptsURL(url);
+ log.println("Accepts " + url + "? " + res);
+ res &= !oObj.acceptsURL(wrongUrl);
+ log.println("Accepts " + wrongUrl + "? " + !res);
+ } catch(SQLException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("acceptsURL()", res);
+ }
+
+ /**
+ * Calls the method with passed <code>'XDriver.URL'</code> and
+ * <code>'XDriver.INFO'</code>. Prints obtained driver properties info
+ * to log.
+ * Has OK status if returned value isn't null.
+ */
+ public void _getPropertyInfo() {
+ requiredMethod("acceptsURL()");
+ boolean res = false;
+ DriverPropertyInfo[] dpi = null;
+ try {
+ dpi = oObj.getPropertyInfo(url, info);
+ } catch(SQLException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ if (dpi != null) {
+ res = true;
+ log.println("Driver properties info:");
+ for(int i = 0; i < dpi.length; i++) {
+ log.println("Property: " + dpi[i].Name);
+ log.println("Description: " + dpi[i].Description);
+ log.println("IsRequired? " + dpi[i].IsRequired);
+ log.println("Value: " + dpi[i].Value);
+ log.println("Choices: ");
+ for(int j = 0; j < dpi[i].Choices.length; j++) {
+ log.println("\t" + dpi[i].Choices[j]);
+ }
+ }
+ }
+
+ tRes.tested("getPropertyInfo()", res);
+ }
+
+ /**
+ * Calls the method.
+ * Has OK status if returned value is greater than or is equal to 1.
+ */
+ public void _getMajorVersion() {
+ int majorVer = oObj.getMajorVersion();
+ boolean res = majorVer >= 1;
+ log.println("Major version " + majorVer);
+ tRes.tested("getMajorVersion()", res);
+ }
+
+ /**
+ * Calls the method.
+ * Has OK status if returned value is greater than or is equal to 0.
+ */
+ public void _getMinorVersion() {
+ int minorVer = oObj.getMinorVersion();
+ boolean res = minorVer >= 0;
+ log.println("Minor version " + minorVer);
+ tRes.tested("getMinorVersion()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XDriverManager.java b/qadevOOo/tests/java/ifc/sdbc/_XDriverManager.java
new file mode 100644
index 000000000..57477b4a7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XDriverManager.java
@@ -0,0 +1,152 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XDriverManager;
+
+/**
+* Testing <code>com.sun.star.sdbc.XDriverManager</code>
+* interface methods :
+* <ul>
+* <li><code> getConnection()</code></li>
+* <li><code> getConnectionWithInfo()</code></li>
+* <li><code> setLoginTimeout()</code></li>
+* <li><code> getLoginTimeout()</code></li>
+* </ul> <p>
+* Required object relations :
+* <ul>
+* <li> <code>'SDBC.URL'</code>:
+* is the URL of the database to which to connect using sdbc-driver
+* </code></li>
+* <li> <code>'JDBC.URL'</code>:
+* is the URL of the database to which to connect using jdbc-driver
+* </code></li>
+* <li> <code>'JDBC.INFO'</code> of type <code>PropertyValue[]</code>:
+* a list of arbitrary string tag/value pairs as connection arguments;
+* normally at least a "user" and "password" property should be included
+* </code></li>
+* </ul> <p>
+* @see com.sun.star.sdbc.XDriverManager
+*/
+public class _XDriverManager extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XDriverManager oObj = null;
+ String sdbcURL = null;
+ String jdbcURL = null;
+ PropertyValue[] jdbcINFO = null;
+
+ /**
+ * Retrieves the required object relations.
+ */
+ @Override
+ protected void before() {
+ sdbcURL = (String)tEnv.getObjRelation("SDBC.URL");
+ if (sdbcURL == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get relation 'SDBC.URL'"));
+ }
+ jdbcURL = (String)tEnv.getObjRelation("JDBC.URL");
+ if (jdbcURL == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get relation 'JDBC.URL'"));
+ }
+ jdbcINFO = (PropertyValue[])tEnv.getObjRelation("JDBC.INFO");
+ if (jdbcINFO == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get relation 'JDBC.INFO'"));
+ }
+ }
+
+ /**
+ * Calls the method with the url received from the relation
+ * <code>SDBC.URL</code>.
+ * Has OK status if exception wasn't thrown and
+ * if returned value isn't null.
+ */
+ public void _getConnection() {
+ boolean res = true;
+
+ try {
+ log.println("getConnection(" + sdbcURL + ")");
+ XConnection connection = oObj.getConnection(sdbcURL);
+ res = connection != null;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("getConnection()", res);
+ }
+
+ /**
+ * Calls the method with the url received from the relation
+ * <code>JDBC.URL</code> and with info received from the relation
+ * <code>JDBC.INFO</code>.
+ * Has OK status if exception wasn't thrown and
+ * if returned value isn't null.
+ */
+ public void _getConnectionWithInfo() {
+ boolean res = true;
+
+ try {
+ log.println("getConnectionWithInfo(" + jdbcURL + ")");
+ XConnection connection =
+ oObj.getConnectionWithInfo(jdbcURL, jdbcINFO);
+ res = connection != null;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("getConnectionWithInfo()", res);
+ }
+
+ /**
+ * Calls the method and checks returned value.
+ * Has OK status if timeout that was set and timeout that was returned by
+ * the method <code>getLoginTimeout()</code> are equal.
+ */
+ public void _setLoginTimeout() {
+ requiredMethod("getLoginTimeout()");
+ final int TO = 111;
+ log.println("setLoginTimeout(" + TO + ")");
+ oObj.setLoginTimeout(TO);
+ int timeout = oObj.getLoginTimeout();
+ log.println("getLoginTimeout(): " + timeout);
+ tRes.tested("setLoginTimeout()", timeout == TO);
+ }
+
+ /**
+ * Calls the method.
+ */
+ public void _getLoginTimeout() {
+ int timeout = oObj.getLoginTimeout();
+ log.println("getLoginTimeout(): " + timeout);
+
+ tRes.tested("getLoginTimeout()", true);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XIsolatedConnection.java b/qadevOOo/tests/java/ifc/sdbc/_XIsolatedConnection.java
new file mode 100644
index 000000000..64af7feb5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XIsolatedConnection.java
@@ -0,0 +1,111 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XIsolatedConnection;
+import com.sun.star.task.XInteractionHandler;
+
+/**
+ * Testing <code>com.sun.star.sdb.XCompletedConnection</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getIsolatedConnectionWithCompletion()</code></li>
+ * <li><code> getIsolatedConnection()</code></li>
+ * </ul> <p>
+* The following object relations required :
+* <ul>
+* <li> <code>'XCompletedConnection.Handler'</code> : passed as parameter
+* to <code>connectWithCompletion</code> method. </li>
+* </ul>
+* @see com.sun.star.sdb.XIsolatedConnection
+* @see com.sun.star.task.XInteractionHandler
+* @see com.sun.star.sdbc.XConnection
+*/
+public class _XIsolatedConnection extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XIsolatedConnection oObj = null ;
+
+ /**
+ * Test call the method with handler passed as object relation.
+ * Then value returned is checked.<p>
+ * Has OK status if not null value returned. <&nbsp>
+ * FAILED if exception occurred, null value returned or object
+ * relation was not found.
+ */
+ public void _getIsolatedConnectionWithCompletion() throws StatusException {
+ XInteractionHandler handler = (XInteractionHandler)
+ tEnv.getObjRelation("XCompletedConnection.Handler") ;
+
+ if (handler == null) {
+ log.println("Required object relation not found !") ;
+ tRes.tested("getIsolatedConnectionWithCompletion()", false) ;
+ return ;
+ }
+
+ XConnection con = null ;
+ try {
+ con = oObj.getIsolatedConnectionWithCompletion(handler) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ throw new StatusException("Exception while method calling", e) ;
+ }
+
+ tRes.tested("getIsolatedConnectionWithCompletion()", con != null) ;
+ }
+
+ /**
+ * Test call the method with handler passed as object relation.
+ * Then value returned is checked.<p>
+ * Has OK status if not null value returned. <&nbsp>
+ * FAILED if exception occurred, null value returned or object
+ * relation was not found.
+ */
+ public void _getIsolatedConnection() throws StatusException {
+ String[] userSettings = (String[])
+ tEnv.getObjRelation("UserAndPassword") ;
+
+ String user = null;
+ String pwd = null;
+
+ if (userSettings[0] != null)
+ user = userSettings[0].equals("")?"<empty>":userSettings[0];
+ else
+ user = "<null>";
+ if (userSettings[1] != null)
+ pwd = userSettings[1].equals("")?"<empty>":userSettings[1];
+ else
+ pwd = "<null>";
+
+ log.println("Testing \"getIsolatedConnection('user', 'password')\"\n" +
+ "with user = '" + user + "'; password = '" + pwd + "'");
+ XConnection con = null ;
+ try {
+ con = oObj.getIsolatedConnection(user, pwd) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ throw new StatusException("Exception while method calling", e) ;
+ }
+
+ tRes.tested("getIsolatedConnection()", con != null) ;
+ }
+} // finish class _XIsolatedConnection
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XParameters.java b/qadevOOo/tests/java/ifc/sdbc/_XParameters.java
new file mode 100644
index 000000000..4284931fe
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XParameters.java
@@ -0,0 +1,564 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import java.util.List;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.io.XDataInputStream;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XTextInputStream;
+import com.sun.star.sdbc.DataType;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XParameters;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.Date;
+import com.sun.star.util.DateTime;
+import com.sun.star.util.Time;
+
+/**
+/**
+* Testing <code>com.sun.star.sdbc.XParameters</code>
+* interface methods :
+* <ul>
+* <li><code> setNull()</code></li>
+* <li><code> setObjectNull()</code></li>
+* <li><code> setBoolean()</code></li>
+* <li><code> setByte()</code></li>
+* <li><code> setShort()</code></li>
+* <li><code> setInt()</code></li>
+* <li><code> setLong()</code></li>
+* <li><code> setFloat()</code></li>
+* <li><code> setDouble()</code></li>
+* <li><code> setString()</code></li>
+* <li><code> setBytes()</code></li>
+* <li><code> setDate()</code></li>
+* <li><code> setTime()</code></li>
+* <li><code> setTimestamp()</code></li>
+* <li><code> setBinaryStream()</code></li>
+* <li><code> setCharacterStream()</code></li>
+* <li><code> setObject()</code></li>
+* <li><code> setObjectWithInfo()</code></li>
+* <li><code> setRef()</code></li>
+* <li><code> setBlob()</code></li>
+* <li><code> setClob()</code></li>
+* <li><code> setArray()</code></li>
+* <li><code> clearParameters()</code></li>
+* </ul> <p>
+* Object relations required :
+* <ul>
+* <li> <code>'XParameters.ParamValues'</code> : is a
+* <code>java.util.Vector</code> object
+* that contains parameter types and values of the statement. Each
+* element of vector corresponds to appropriate parameter (element
+* with index 0 to parameter #1, 1 -> #2, etc.). <p>
+* The following <code>XParameters</code> methods correspond to classes
+* in Vector :
+* <ul>
+* <li> <code>setBinaryStream</code> -
+* <code>com.sun.star.io.XDataInputStream</code> class. </li>
+* <li> <code>setCharacterStream</code> -
+* <code>com.sun.star.io.XTextInputStream</code> class. </li>
+* <li> <code>setObject</code> -
+* <code>java.lang.Object[]</code> class, the element with
+* index 0 must be used. </li>
+* </ul>
+* Other methods uses types of their arguments (i.e.
+* <code>String</code>
+* for <code>setString</code> method, <code>com.sun.star.sdbc.XRef</code>
+* for <code>setRef</code> method).
+* </li>
+* </ul>
+* @see com.sun.star.sdbc.XParameters
+*/
+public class _XParameters extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XParameters oObj = null ;
+
+ private List<Object> data = null ;
+
+ /**
+ * Gets object relation
+ */
+ @Override
+ public void before() {
+ data = (List<Object>) tEnv.getObjRelation("XParameters.ParamValues") ;
+ if (data == null) {
+ log.println("!!! Relation not found !!!") ;
+ }
+ }
+
+ /**
+ * Sets String parameter (if exists) to SQL NULL value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setNull() {
+ boolean result = true ;
+ int idx = findParamOfType(String.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setNull(idx, DataType.VARCHAR) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setNull()", result) ;
+ }
+
+ public void _setObjectNull() {
+ /*
+ !!! TO DO !!!
+ */
+ tRes.tested("setObjectNull()", Status.skipped(true)) ;
+ }
+
+ /**
+ * Sets String parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setString() {
+ boolean result = true ;
+ int idx = findParamOfType(String.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setString(idx, "XParameters") ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setString()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setBoolean() {
+ boolean result = true ;
+ int idx = findParamOfType(Boolean.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setBoolean(idx, true) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setBoolean()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setByte() {
+ boolean result = true ;
+ int idx = findParamOfType(Byte.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setByte(idx, (byte)122) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setByte()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setShort() {
+ boolean result = true ;
+ int idx = findParamOfType(Short.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setShort(idx, (short)133) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setShort()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setInt() {
+ boolean result = true ;
+ int idx = findParamOfType(Integer.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setInt(idx, 13300) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setInt()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setLong() {
+ boolean result = true ;
+ int idx = findParamOfType(Long.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setLong(idx, 13362453) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setLong()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setFloat() {
+ boolean result = true ;
+ int idx = findParamOfType(Float.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setFloat(idx, (float)133.55) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setFloat()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setDouble() {
+ boolean result = true ;
+ int idx = findParamOfType(Double.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setDouble(idx, 133) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setDouble()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setBytes() {
+ boolean result = true ;
+ int idx = findParamOfType(byte[].class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setBytes(idx, new byte[] {5}) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setBytes()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setDate() {
+ boolean result = true ;
+ int idx = findParamOfType(Date.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setDate(
+ idx, new Date ((short)19, (short)1, (short)1979)) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setDate()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setTime() {
+ boolean result = true ;
+ int idx = findParamOfType(Time.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setTime(
+ idx, new Time((short)1,(short)2,(short)3,(short)44, false));
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setTime()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setTimestamp() {
+ boolean result = true ;
+ int idx = findParamOfType(DateTime.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.setTimestamp(idx, new DateTime((short)1,(short)2,(short)3,
+ (short)4, (short)19, (short)1, (short)1979, false)) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setTimestamp()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setBinaryStream() {
+ boolean result = true ;
+ int idx = findParamOfType(XDataInputStream.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ Object oStream = tParam.getMSF().
+ createInstance("com.sun.star.io.DataInputStream") ;
+ XInputStream xStream = UnoRuntime.queryInterface
+ (XInputStream.class, oStream);
+
+ oObj.setBinaryStream(idx, xStream, 2) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setBinaryStream()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setCharacterStream() {
+ boolean result = true ;
+ int idx = findParamOfType(XTextInputStream.class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ Object oStream = tParam.getMSF()
+ .createInstance("com.sun.star.io.TextInputStream") ;
+ XInputStream xStream = UnoRuntime.queryInterface
+ (XInputStream.class, oStream);
+
+ oObj.setCharacterStream(idx, xStream, 2) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setCharacterStream()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setObject() {
+ boolean result = true ;
+ int idx = findParamOfType(Object[].class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ Object obj = tParam.getMSF().
+ createInstance("com.sun.star.io.Pipe") ;
+
+ oObj.setObject(idx, obj) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setObject()", result) ;
+ }
+
+ /**
+ * Sets parameter (if exists) to new value. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _setObjectWithInfo() {
+ boolean result = true ;
+ int idx = findParamOfType(Object[].class) ;
+ if (idx < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ Object obj = tParam.getMSF().
+ createInstance("com.sun.star.io.Pipe") ;
+
+ oObj.setObjectWithInfo(idx, obj, DataType.OBJECT, 0) ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("setObjectWithInfo()", result) ;
+ }
+
+ public void _setRef() {
+ /*
+ !!! TO DO !!!
+ */
+ tRes.tested("setRef()", Status.skipped(true)) ;
+ }
+ public void _setBlob() {
+ /*
+ !!! TO DO !!!
+ */
+ tRes.tested("setBlob()", Status.skipped(true)) ;
+ }
+ public void _setClob() {
+ /*
+ !!! TO DO !!!
+ */
+ tRes.tested("setClob()", Status.skipped(true)) ;
+ }
+ public void _setArray() {
+ /*
+ !!! TO DO !!!
+ */
+ tRes.tested("setArray()", Status.skipped(true)) ;
+ }
+
+ /**
+ * Calls method. <p>
+ * Has OK status if no exceptions occurred.
+ */
+ public void _clearParameters() {
+ boolean result = true ;
+ try {
+ oObj.clearParameters() ;
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+
+ tRes.tested("clearParameters()", result) ;
+ }
+
+
+ /**
+ * Finds in relation vector index of parameter of the appropriate
+ * type.
+ */
+ private int findParamOfType(Class<?> clz) {
+ for (int i = 0; i < data.size(); i++)
+ if (clz.isInstance(data.get(i))) return i + 1 ;
+ return -1 ;
+ }
+
+} // finish class _XParameters
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XResultSet.java b/qadevOOo/tests/java/ifc/sdbc/_XResultSet.java
new file mode 100644
index 000000000..a2114d7d0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XResultSet.java
@@ -0,0 +1,497 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+/**
+* Testing <code>com.sun.star.sdbc.XResultSet</code>
+* interface methods :
+* <ul>
+* <li><code> next()</code></li>
+* <li><code> isBeforeFirst()</code></li>
+* <li><code> isAfterLast()</code></li>
+* <li><code> isFirst()</code></li>
+* <li><code> isLast()</code></li>
+* <li><code> beforeFirst()</code></li>
+* <li><code> afterLast()</code></li>
+* <li><code> first()</code></li>
+* <li><code> last()</code></li>
+* <li><code> getRow()</code></li>
+* <li><code> absolute()</code></li>
+* <li><code> relative()</code></li>
+* <li><code> previous()</code></li>
+* <li><code> refreshRow()</code></li>
+* <li><code> rowUpdated()</code></li>
+* <li><code> rowInserted()</code></li>
+* <li><code> rowDeleted()</code></li>
+* <li><code> getStatement()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XResultSet.hasStatement'</code> (<b>optional</b> of type
+* <code>Object</code>):
+* it the relation exists than <code>getStatement</code> method
+* must not return <code>null</code> </li>
+* <ul> <p>
+* Test places DB cursor to different positions and then checks
+* its current position. <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.sdbc.XResultSet
+*/
+public class _XResultSet extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XResultSet oObj = null ;
+
+ /**
+ * Positions the cursor to the first row.
+ * Forces method tests to be executed in definite order.
+ */
+ @Override
+ public void before() {
+ try {
+ oObj.last() ;
+ log.println("Totally number of rows is " + oObj.getRow()) ;
+ oObj.first() ;
+ } catch (SQLException e) {
+ log.println("Ignored exception :") ;
+ e.printStackTrace(log);
+ }
+
+ executeMethod("isBeforeFirst()") ;
+ executeMethod("isAfterLast()") ;
+ executeMethod("isLast()") ;
+ executeMethod("isFirst()") ;
+ executeMethod("next()") ;
+ executeMethod("previous()") ;
+ }
+
+ /**
+ * Places the cursor before the first row. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _beforeFirst() {
+ try {
+ oObj.beforeFirst() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("beforeFirst()", false) ;
+ return ;
+ }
+ tRes.tested("beforeFirst()", true) ;
+ }
+
+ /**
+ * The method is called immediately after <code>beforeFirst</code>
+ * method test. <p>
+ * Has <b>OK</b> status if method returns <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> beforeFirst </code> : to position cursor before
+ * the first row. </li>
+ * </ul>
+ */
+ public void _isBeforeFirst() {
+ requiredMethod("beforeFirst()") ;
+
+ boolean result = true ;
+
+ try {
+ result = oObj.isBeforeFirst() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("isBeforeFirst()", result) ;
+ }
+
+ /**
+ * Places the cursor after the last row. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _afterLast() {
+ try {
+ oObj.afterLast() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("afterLast()", false) ;
+ return ;
+ }
+ tRes.tested("afterLast()", true) ;
+ }
+
+ /**
+ * The method is called immediately after <code>afterLast</code>
+ * method test. <p>
+ * Has <b>OK</b> status if method returns <code>true</code> <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> afterLast </code> : to position cursor after
+ * the last row. </li>
+ * </ul>
+ */
+ public void _isAfterLast() {
+ requiredMethod("afterLast()") ;
+
+ boolean result = true ;
+
+ try {
+ result = oObj.isAfterLast() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("isAfterLast()", result) ;
+ }
+
+ /**
+ * Places the cursor on the first row. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _first() {
+ try {
+ oObj.first() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("first()", false) ;
+ return ;
+ }
+ tRes.tested("first()", true) ;
+ }
+
+ /**
+ * The method is called immediately after <code>first</code>
+ * method test. <p>
+ * Has <b>OK</b> status if method returns <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> first </code> : to position cursor on
+ * the first row. </li>
+ * </ul>
+ */
+ public void _isFirst() {
+ requiredMethod("first()") ;
+
+ boolean result = true ;
+
+ try {
+ result = oObj.isFirst() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("isFirst()", result) ;
+ }
+
+ /**
+ * Places the cursor on the last row. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _last() {
+ try {
+ oObj.last() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("last()", false) ;
+ return ;
+ }
+ tRes.tested("last()", true) ;
+ }
+
+ /**
+ * The method is called immediately after <code>last</code>
+ * method test. <p>
+ * Has <b>OK</b> status if method returns <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> last </code> : to position cursor on
+ * the last row. </li>
+ * </ul>
+ */
+ public void _isLast() {
+ requiredMethod("last()") ;
+ boolean result = true ;
+
+ try {
+ result = oObj.isLast() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("isLast()", result) ;
+ }
+
+ /**
+ * Places the cursor on the row number 1. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _absolute() {
+ boolean result = true ;
+
+ try {
+ oObj.absolute(1) ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("absolute()", result) ;
+ }
+
+ /**
+ * The method is called immediately after <code>absolute</code>
+ * method test. <p>
+ * Has <b>OK</b> status if method returns 1. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> absolute </code> : to position cursor on
+ * the row number 1. </li>
+ * </ul>
+ */
+ public void _getRow() {
+ requiredMethod("absolute()");
+ boolean result = true;
+
+ try {
+ result &= oObj.getRow() == 1;
+ } catch (SQLException e) {
+ log.println("Exception occurred:");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ tRes.tested("getRow()", result);
+ }
+
+ /**
+ * Positions the cursor to the next row. Current row
+ * number is retrieved before and after method call. <p>
+ * Has <b>OK</b> status if current row number increases
+ * by 1 after method call.
+ */
+ public void _next() {
+ boolean result = true ;
+
+ try {
+ int prevRow = oObj.getRow() ;
+ oObj.next() ;
+
+ log.println("Row was : " + prevRow + ", row is : " + oObj.getRow());
+ result &= prevRow + 1 == oObj.getRow() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("next()", result) ;
+ }
+
+ /**
+ * Positions the cursor to the previous row. Current row
+ * number is retrieved before and after method call. <p>
+ * Has <b>OK</b> status if current row number decreases
+ * by 1 after method call.
+ */
+ public void _previous() {
+ boolean result = true ;
+
+ try {
+ int prevRow = oObj.getRow() ;
+ oObj.previous() ;
+
+ log.println("Row was : " + prevRow + ", row is : " + oObj.getRow());
+ result &= prevRow - 1 == oObj.getRow() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("previous()", result) ;
+ }
+
+ /**
+ * Positions the cursor relatively by 2 rows forward.
+ * Current row number is retrieved before and after method call. <p>
+ * Has <b>OK</b> status if current row number increases
+ * by 2 after method call.
+ */
+ public void _relative() {
+ boolean result = true ;
+
+ try {
+ oObj.first() ;
+ int prevRow = oObj.getRow() ;
+ oObj.relative(2) ;
+
+ log.println("Row was : " + prevRow + ", row is : " + oObj.getRow());
+
+ result &= prevRow + 2 == oObj.getRow() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("relative()", result) ;
+ }
+
+ /**
+ * If component supports XRow and XRowUpdate then:
+ * test saves current value of string field, updates string,
+ * calls refreshRow() and checks that value of
+ * string field was refetched from DB
+ * else: just calls method.<p>
+ * Has <b>OK</b> status if no exceptions were thrown and value after
+ * refreshRow() equals to saved value.
+ */
+ public void _refreshRow() {
+ XRowUpdate xRowUpdate = UnoRuntime.queryInterface(XRowUpdate.class, oObj);
+ XRow xRow = UnoRuntime.queryInterface(XRow.class, oObj);
+
+ if (xRowUpdate == null || xRow == null) {
+ log.println("Test must be modified because XRow or XRowUpdate is't supported");
+ log.println("Only call method");
+ try {
+ oObj.refreshRow() ;
+ tRes.tested("refreshRow()", true) ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("refreshRow()", false) ;
+ }
+ } else {
+ log.println("Testing of refreshRow()...");
+ try {
+ String oldValue = xRow.getString(util.DBTools.TST_STRING);
+ log.println("Old value: " + oldValue);
+ xRowUpdate.updateString(util.DBTools.TST_STRING,
+ "Test method refreshRow");
+ log.println("New value: "
+ + xRow.getString(util.DBTools.TST_STRING));
+ oObj.refreshRow();
+ String valAfterRefresh =
+ xRow.getString(util.DBTools.TST_STRING);
+ log.println("Value after refresh: " + valAfterRefresh);
+ tRes.tested("refreshRow()", valAfterRefresh.equals(oldValue));
+ } catch(SQLException e) {
+ log.println("Exception occurred :");
+ e.printStackTrace(log);
+ tRes.tested("refreshRow()", false);
+ }
+ }
+ }
+
+ /**
+ * Just the method is called. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _rowUpdated() {
+
+ try {
+ oObj.rowUpdated();
+ tRes.tested("rowUpdated()", true) ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("rowUpdated()", false) ;
+ }
+ }
+
+ /**
+ * Just the method is called. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _rowInserted() {
+ try {
+ oObj.rowInserted();
+ tRes.tested("rowInserted()", true) ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("rowInserted()", false) ;
+ }
+ }
+
+ /**
+ * Just the method is called. <p>
+ * Has <b>OK</b> status if no exceptions were thrown.
+ */
+ public void _rowDeleted() {
+ try {
+ oObj.rowDeleted();
+ tRes.tested("rowDeleted()", true) ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("rowDeleted()", false) ;
+ }
+ }
+
+ /**
+ * Just the method is called. <p>
+ * Has <b>OK</b> status if the statement returned isn't null or
+ * the relation exists that informs that statement absent (e.g. for
+ * MetaData row set).
+ */
+ public void _getStatement() {
+ try {
+ boolean hasStatement =
+ tEnv.getObjRelation("XResultSet.hasStatement") != null ;
+ Object res = oObj.getStatement() ;
+ tRes.tested("getStatement()",
+ (hasStatement && res != null) || !hasStatement) ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ tRes.tested("getStatement()", false) ;
+ }
+ }
+
+ /**
+ * Moves the cursor to the first row to avoid affection to
+ * the following interfaces tests
+ */
+ @Override
+ public void after() {
+ log.println("Finally moving cursor to the first row ...");
+ try {
+ oObj.first();
+ } catch (SQLException e) {
+ log.println("Exception occurred :") ;
+ e.printStackTrace(log) ;
+ }
+ }
+
+} // finish class _XResultSet
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XResultSetMetaDataSupplier.java b/qadevOOo/tests/java/ifc/sdbc/_XResultSetMetaDataSupplier.java
new file mode 100644
index 000000000..0a721b368
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XResultSetMetaDataSupplier.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sdbc.XResultSetMetaData;
+import com.sun.star.sdbc.XResultSetMetaDataSupplier;
+
+/**
+* Testing <code>com.sun.star.sdbc.XResultSetMetaDataSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getMetaData()</code></li>
+* </ul> <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.sdbc.XResultSetMetaDataSupplier
+*/
+public class _XResultSetMetaDataSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XResultSetMetaDataSupplier oObj = null ;
+
+ /**
+ * Tries to get the ResultSetMetaData of the Object</br>
+ * an XResultSetMetaData is returned.</br>
+ * The test is OK if a not null ResultSetMetaData is returned
+ */
+ public void _getMetaData() {
+
+ try {
+ XResultSetMetaData the_Meta = oObj.getMetaData();
+ if (the_Meta == null) log.println("'getMetaData()' returns NULL");
+ tRes.tested("getMetaData()",the_Meta != null);
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Exception while checking 'createResultSet()'");
+ e.printStackTrace(log);
+ tRes.tested("getMetaData()",false);
+ }
+
+ }
+} // finish class _XResultSetMetaDataSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XResultSetUpdate.java b/qadevOOo/tests/java/ifc/sdbc/_XResultSetUpdate.java
new file mode 100644
index 000000000..372373910
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XResultSetUpdate.java
@@ -0,0 +1,255 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+/**
+* Testing <code>com.sun.star.sdbc.XResultSetUpdate</code>
+* interface methods :
+* <ul>
+* <li><code> insertRow()</code></li>
+* <li><code> updateRow()</code></li>
+* <li><code> deleteRow()</code></li>
+* <li><code> cancelRowUpdates()</code></li>
+* <li><code> moveToInsertRow()</code></li>
+* <li><code> moveToCurrentRow()</code></li>
+* </ul> <p>
+* The test requires the following object relations :
+* <ul>
+* <li><code>'XResultSetUpdate.UpdateTester'</code>
+* inner <code>UpdateTester</code> interface implementation :
+* is used for checking test results. See interface
+* documentation for more information.</li>
+* </ul>
+* The test is <b>not designed</b> for multithreaded testing. <p>
+* After it's execution environment must be recreated.
+* @see com.sun.star.sdbc.XResultSetUpdate
+*/
+public class _XResultSetUpdate extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XResultSetUpdate oObj = null ;
+
+ private UpdateTester tester = null ;
+
+ /**
+ * Interface contains some methods for checking
+ * test results. It's implementation must be passed
+ * to this test.
+ */
+ public interface UpdateTester {
+ /**
+ * @return Current number of rows.
+ */
+ int rowCount() throws SQLException ;
+ /**
+ * Updates some data in the current row but doesn't commit
+ * changes to the source.
+ */
+ void update() throws SQLException ;
+ /**
+ * Checks if updates made by method <code>update</code> was
+ * committed to the data source.
+ */
+ boolean wasUpdated() throws SQLException ;
+ /**
+ * Returns current row number. Really it must returns value
+ * < 1 if the current position is on insert row.
+ */
+ int currentRow() throws SQLException ;
+ }
+
+ /**
+ * Retrieves relation.
+ * @throw StatusException If relation not found.
+ */
+ @Override
+ public void before() throws StatusException {
+ tester = (UpdateTester)tEnv.getObjRelation
+ ("XResultSetUpdate.UpdateTester") ;
+
+ if (tester == null) {
+ log.println("Required relation not found !!!") ;
+ throw new StatusException("Required relation not found !!!",
+ new NullPointerException()) ;
+ }
+ }
+
+ /**
+ * Calls method when the cursor position is on existing row.
+ * Checks total number of rows before and after method call. <p>
+ * Executes <code>moveToCurrentRow</code> method test before to
+ * be sure that cursor is not on the insert row. <p>
+ * Has OK status if after method execution number of rows decreased
+ * by one.
+ */
+ public void _deleteRow() {
+ executeMethod("moveToCurrentRow()") ;
+
+ //temporary to avoid SOffice hanging
+ executeMethod("updateRow()") ;
+ executeMethod("cancelRowUpdates()") ;
+
+ boolean result = true ;
+ try {
+ int rowsBefore = tester.rowCount() ;
+ oObj.deleteRow() ;
+ int rowsAfter = tester.rowCount() ;
+
+ result = rowsBefore == rowsAfter + 1 ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("deleteRow()", result) ;
+ }
+
+ /**
+ * Using relation methods first updates some data in the current
+ * row, then calls <code>updateRow</code> method to commit data.
+ * Then checks if the data changed was committed. <p>
+ * Executes <code>moveToCurrentRow</code> method test before to
+ * be sure that cursor is not on the insert row. <p>
+ * Has OK status if data in the source was changed.
+ */
+ public void _updateRow() {
+ executeMethod("moveToCurrentRow()") ;
+ boolean result = true ;
+ try {
+ tester.update() ;
+ oObj.updateRow() ;
+
+ result = tester.wasUpdated() ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("updateRow()", result) ;
+ }
+
+ /**
+ * Using relation methods first updates some data in the current
+ * row, then calls <code>cancelRowUpdates</code> method.
+ * Then checks if the data changed was not committed. <p>
+ * Executes <code>moveToCurrentRow</code> method test before to
+ * be sure that cursor is not on the insert row. <p>
+ * Has OK status if data in the source was not changed.
+ */
+ public void _cancelRowUpdates() {
+ executeMethod("moveToCurrentRow()") ;
+ boolean result = true ;
+ try {
+ tester.update() ;
+ oObj.cancelRowUpdates() ;
+
+ result = !tester.wasUpdated() ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("cancelRowUpdates()", result) ;
+ }
+
+ /**
+ * Tries to move cursor to insert row. Then checks current row
+ * number. It must be less than 1. (0 as I know) <p>
+ */
+ public void _moveToInsertRow() {
+ boolean result = true ;
+ try {
+ oObj.moveToInsertRow() ;
+
+ result = tester.currentRow() < 1 ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("moveToInsertRow()", result) ;
+ }
+
+ /**
+ * Returns cursor from insert row back to previous row. <p>
+ * <code>moveToInsertRow</code> method test must be executed
+ * first for positioning cursor to insert row. <p>
+ * Has OK status if after method call current row number is
+ * above 0.
+ */
+ public void _moveToCurrentRow() {
+ boolean result = true ;
+ try {
+ oObj.moveToCurrentRow() ;
+
+ result = tester.currentRow() >= 1 ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ tRes.tested("moveToCurrentRow()", result) ;
+ }
+
+ /**
+ * Moves cursor to the insert row, then calls the method
+ * <code>insertRow</code>. Before and after call stores
+ * total number of rows. <p>
+ * Has OK status if after method call rows number increases
+ * by one.
+ */
+ public void _insertRow() {
+ executeMethod("moveToInsertRow()") ;
+ boolean result = true ;
+ try {
+ oObj.moveToCurrentRow();
+ int rowsBefore = tester.rowCount() ;
+ oObj.moveToInsertRow() ;
+ XRowUpdate rowU = UnoRuntime.queryInterface(XRowUpdate.class, oObj);
+ rowU.updateString(1,"open");
+ rowU.updateInt(2,5);
+ rowU.updateDouble(5,3.4);
+ rowU.updateBoolean(10,true);
+ oObj.insertRow() ;
+ oObj.moveToCurrentRow();
+ int rowsAfter = tester.rowCount() ;
+ result = rowsBefore + 1 == rowsAfter ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ log.println("******"+e.getMessage());
+ result = false ;
+ }
+ tRes.tested("insertRow()", result) ;
+ }
+
+ /**
+ * Forces environment to be recreated.
+ */
+ @Override
+ public void after() {
+ //disposeEnvironment() ;
+ }
+} // finish class _XResultSetUpdate
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XRow.java b/qadevOOo/tests/java/ifc/sdbc/_XRow.java
new file mode 100644
index 000000000..70a60b0cf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XRow.java
@@ -0,0 +1,527 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import java.util.List;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XDataInputStream;
+import com.sun.star.io.XTextInputStream;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XArray;
+import com.sun.star.sdbc.XBlob;
+import com.sun.star.sdbc.XClob;
+import com.sun.star.sdbc.XRef;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.util.Date;
+import com.sun.star.util.DateTime;
+import com.sun.star.util.Time;
+
+/**
+* Testing <code>com.sun.star.sdbc.XRow</code>
+* interface methods :
+* <ul>
+* <li><code> wasNull()</code></li>
+* <li><code> getString()</code></li>
+* <li><code> getBoolean()</code></li>
+* <li><code> getByte()</code></li>
+* <li><code> getShort()</code></li>
+* <li><code> getInt()</code></li>
+* <li><code> getLong()</code></li>
+* <li><code> getFloat()</code></li>
+* <li><code> getDouble()</code></li>
+* <li><code> getBytes()</code></li>
+* <li><code> getDate()</code></li>
+* <li><code> getTime()</code></li>
+* <li><code> getTimestamp()</code></li>
+* <li><code> getBinaryStream()</code></li>
+* <li><code> getCharacterStream()</code></li>
+* <li><code> getObject()</code></li>
+* <li><code> getRef()</code></li>
+* <li><code> getBlob()</code></li>
+* <li><code> getClob()</code></li>
+* <li><code> getArray()</code></li>
+* </ul> <p>
+*
+* This interface is full tested in XRowUpdate interface test. Here
+* only exceptions checked.
+* <p>
+*
+* Object relations required :
+* <ul>
+* <li> <code>'CurrentRowData'</code> : (may be used in other
+* interface tests) is a <code>java.util.Vector</code> object
+* that contains column types and values in current row. Each
+* element of vector corresponds to appropriate column (element
+* with index 0 to column 1, 1 -> 2, etc.). <p>
+* The following <code>XRow</code> methods correspond to classes
+* in Vector :
+* <ul>
+* <li> <code>getBinaryStream</code> -
+* <code>com.sun.star.io.XDataInputStream</code> class. </li>
+* <li> <code>getCharacterStream</code> -
+* <code>com.sun.star.io.XTextInputStream</code> class. </li>
+* <li> <code>getObject</code> -
+* <code>java.lang.Object[]</code> class, the element with
+* index 0 must be used. </li>
+* </ul>
+* Other methods uses types they return (i.e. <code>String</code>
+* for <code>getString</code> method, <code>com.sun.star.sdbc.XRef</code>
+* for <code>getRef</code> method).
+* </li>
+* </ul>
+* @see com.sun.star.sdbc.XRaw
+* @see ifc.sdbc._XRowUpdate
+*/
+public class _XRow extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XRow oObj = null ;
+ private List<Object> data = null ;
+ private static final boolean notNullRes = true;
+
+ /**
+ * Retrieves object relation first.
+ */
+ @Override
+ public void before() {
+ data = (List<Object>) tEnv.getObjRelation("CurrentRowData") ;
+ }
+
+ /**
+ * Always has <b>OK</b> status.
+ */
+ public void _wasNull() {
+ executeMethod("getString()") ;
+ executeMethod("getBoolean()") ;
+ executeMethod("getByte()") ;
+ executeMethod("getShort()") ;
+ executeMethod("getInt()") ;
+ executeMethod("getLong()") ;
+ executeMethod("getFloat()") ;
+ executeMethod("getDouble()") ;
+ executeMethod("getBytes()") ;
+ executeMethod("getDate()") ;
+ executeMethod("getTime()") ;
+ executeMethod("getTimestamp()") ;
+ executeMethod("getBinaryStream()") ;
+ executeMethod("getCharacterStream()") ;
+ executeMethod("getObject()") ;
+ executeMethod("getRef()") ;
+ executeMethod("getBlob()") ;
+ executeMethod("getClob()") ;
+ executeMethod("getArray()") ;
+
+ tRes.tested("wasNull()", notNullRes) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getString() {
+ boolean result = true ;
+ int col = findColumnOfType(String.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getString(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getString()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getBoolean() {
+ boolean result = true ;
+ int col = findColumnOfType(Boolean.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getBoolean(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getBoolean()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getByte() {
+ boolean result = true ;
+ int col = findColumnOfType(Byte.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getByte(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getByte()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getShort() {
+ boolean result = true ;
+ int col = findColumnOfType(Short.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getShort(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getShort()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getInt() {
+ boolean result = true ;
+ int col = findColumnOfType(Integer.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getInt(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getInt()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getLong() {
+ boolean result = true ;
+ int col = findColumnOfType(Long.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getLong(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getLong()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getFloat() {
+ boolean result = true ;
+ int col = findColumnOfType(Float.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getFloat(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getFloat()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getDouble() {
+ boolean result = true ;
+ int col = findColumnOfType(Double.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getDouble(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getDouble()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getBytes() {
+ boolean result = true ;
+ int col = findColumnOfType(byte[].class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getBytes(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getBytes()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getDate() {
+ boolean result = true ;
+ int col = findColumnOfType(Date.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getDate(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getDate()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getTime() {
+ boolean result = true ;
+ int col = findColumnOfType(Time.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getTime(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getTime()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getTimestamp() {
+ boolean result = true ;
+ int col = findColumnOfType(DateTime.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getTimestamp(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getTimestamp()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getBinaryStream() {
+ boolean result = true ;
+ int col = findColumnOfType(XDataInputStream.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getBinaryStream(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getBinaryStream()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getCharacterStream() {
+ boolean result = true ;
+ int col = findColumnOfType(XTextInputStream.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getCharacterStream(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getCharacterStream()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getObject() {
+ boolean result = true ;
+ int col = findColumnOfType(Object[].class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getObject(col, null);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getObject()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getRef() {
+ boolean result = true ;
+ int col = findColumnOfType(XRef.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getRef(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getRef()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getBlob() {
+ boolean result = true ;
+ int col = findColumnOfType(XBlob.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getBlob(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getBlob()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getClob() {
+ boolean result = true ;
+ int col = findColumnOfType(XClob.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getClob(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getClob()", result) ;
+ }
+
+ /**
+ * Has <b>OK</b> status if no exceptions occurred in method call.
+ */
+ public void _getArray() {
+ boolean result = true ;
+ int col = findColumnOfType(XArray.class) ;
+ if (col < 0) log.println("Type not found in relation: not tested");
+ else {
+ try {
+ oObj.getArray(col);
+ } catch (SQLException e) {
+ log.println("Unexpected SQL exception:") ;
+ log.println(e) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("getArray()", result) ;
+ }
+
+ /**
+ * Finds in relation vector index of column of the appropriate
+ * type.
+ */
+ protected int findColumnOfType(Class<?> clz) {
+
+ for (int i = 0; i < data.size(); i++)
+ if (clz.isInstance(data.get(i))) return i + 1 ;
+ return -1 ;
+ }
+} // finish class _XRow
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XRowSet.java b/qadevOOo/tests/java/ifc/sdbc/_XRowSet.java
new file mode 100644
index 000000000..cda9da30b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XRowSet.java
@@ -0,0 +1,192 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import ifc.sdb._XRowSetApproveBroadcaster;
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XRowSet;
+import com.sun.star.sdbc.XRowSetListener;
+
+/**
+* Testing <code>com.sun.star.sdbc.XRowSet</code>
+* interface methods :
+* <ul>
+* <li><code> execute()</code></li>
+* <li><code> addRowSetListener()</code></li>
+* <li><code> removeRowSetListener()</code></li>
+* </ul> <p>
+* Required object relations :
+* <ul>
+* <li> <code>'XRowSetApproveBroadcaster.ApproveChecker'</code>:
+* implementation of inner interface
+* <code>ifs.sdb._XRowSetApproveBroadcaster.RowSetApproveChecker</code>
+* which can move cursor within a rowset, change row, and change the
+* whole rowset. </li>
+* </ul> <p>
+* It is better to recreate the object after test, because of unknown
+* actions made by <code>RowSetApproveChecker</code> interface implementation.
+* @see com.sun.star.sdbc.XRowSet
+* @see ifc.sdb._XRowSetApproveBroadcaster
+*/
+public class _XRowSet extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XRowSet oObj = null ;
+ private _XRowSetApproveBroadcaster.RowSetApproveChecker checker = null ;
+ private final TestListener listener = new TestListener() ;
+
+ private static class TestListener implements XRowSetListener {
+ public boolean cursorMoved = false ;
+ public boolean rowChanged = false ;
+ public boolean rowSetChanged = false ;
+
+ public void reset() {
+ cursorMoved = false ;
+ rowChanged = false ;
+ rowSetChanged = false ;
+ }
+ public void cursorMoved(EventObject ev) {
+ cursorMoved = true ;
+ }
+ public void rowChanged(EventObject ev) {
+ rowChanged = true ;
+ }
+ public void rowSetChanged(EventObject ev) {
+ rowSetChanged = true ;
+ }
+ public void disposing(EventObject ev) {}
+ }
+
+ /**
+ * Retrieves relation.
+ * @throw StatusException If relation not found.
+ */
+ @Override
+ public void before() throws StatusException {
+ checker = (_XRowSetApproveBroadcaster.RowSetApproveChecker)
+ tEnv.getObjRelation("XRowSetApproveBroadcaster.ApproveChecker") ;
+
+ if (checker == null) {
+ log.println("Required relation not found !!!") ;
+ throw new StatusException("Required relation not found !!!",
+ new NullPointerException()) ;
+ }
+ }
+
+ /**
+ * Reexecutes the RowSet and checks that listener was called. <p>
+ * Has OK status if no exceptions were raised and listener was called.
+ */
+ public void _execute() {
+ requiredMethod("addRowSetListener()");
+ listener.reset();
+ try {
+ oObj.execute() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :" + e) ;
+ }
+
+ tRes.tested("execute()", listener.rowSetChanged);
+ }
+
+ /**
+ * Adds listener and calls methods moveCursor, changeRow,
+ * changeRowSet of the relation and then checks if appropriate
+ * methods of the listener were called. <p>
+ * Has OK status if all listener methods were called.
+ */
+ public void _addRowSetListener() {
+ boolean result = true ;
+
+ oObj.addRowSetListener(listener) ;
+
+ checker.moveCursor() ;
+ result &= listener.cursorMoved ;
+ if (!listener.cursorMoved)
+ log.println("cursorMoved event wasn't called") ;
+ listener.reset() ;
+
+ checker.changeRow() ;
+ result &= listener.rowChanged ;
+ if (!listener.rowChanged)
+ log.println("rowChanged event wasn't called") ;
+ listener.reset() ;
+
+ checker.changeRowSet() ;
+ result &= listener.rowSetChanged ;
+ if (!listener.rowSetChanged)
+ log.println("rowSetChanged event wasn't called") ;
+ listener.reset() ;
+
+ tRes.tested("addRowSetListener()", result) ;
+ }
+
+ /*
+ * Removes listener added before, and checks for no listener
+ * methods were called on response to rowSet manipulations. <p>
+ * Methods to be successfully completed before :
+ * <ul>
+ * <li> <code>addRowSetListener()</code> </li>
+ * </ul> <p>
+ * Has OK status if no listeners methods were called.
+ */
+ public void _removeRowSetListener() {
+ requiredMethod("addRowSetListener()") ;
+
+ boolean result = true ;
+
+ oObj.removeRowSetListener(listener) ;
+
+ checker.moveCursor() ;
+ if (listener.cursorMoved) {
+ log.println("cursorMoved is erroneously set");
+ result = false;
+ }
+ listener.reset() ;
+
+ checker.changeRow() ;
+ if (listener.rowChanged) {
+ log.println("rowChanged is erroneously set");
+ result = false;
+ }
+ listener.reset() ;
+
+ checker.changeRowSet() ;
+ if (listener.rowSetChanged) {
+ log.println("rowSetChanged is erroneously set");
+ result = false;
+ }
+
+ tRes.tested("removeRowSetListener()", result) ;
+ }
+
+ /**
+ * Disposes test environment.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finish class _XRowSet
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XRowUpdate.java b/qadevOOo/tests/java/ifc/sdbc/_XRowUpdate.java
new file mode 100644
index 000000000..e57b2f062
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XRowUpdate.java
@@ -0,0 +1,683 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import java.util.List;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import util.utils;
+import util.ValueComparer;
+
+import com.sun.star.io.XDataInputStream;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XTextInputStream;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.Date;
+import com.sun.star.util.DateTime;
+import com.sun.star.util.Time;
+
+/**
+* Testing <code>com.sun.star.sdbc.XRowUpdate</code>
+* interface methods :
+* <ul>
+* <li><code> updateNull()</code></li>
+* <li><code> updateBoolean()</code></li>
+* <li><code> updateByte()</code></li>
+* <li><code> updateShort()</code></li>
+* <li><code> updateInt()</code></li>
+* <li><code> updateLong()</code></li>
+* <li><code> updateFloat()</code></li>
+* <li><code> updateDouble()</code></li>
+* <li><code> updateString()</code></li>
+* <li><code> updateBytes()</code></li>
+* <li><code> updateDate()</code></li>
+* <li><code> updateTime()</code></li>
+* <li><code> updateTimestamp()</code></li>
+* <li><code> updateBinaryStream()</code></li>
+* <li><code> updateCharacterStream()</code></li>
+* <li><code> updateObject()</code></li>
+* <li><code> updateNumericObject()</code></li>
+* </ul> <p>
+* Object relations required :
+* <ul>
+* <li> <code>'CurrentRowData'</code> : (may be used in other
+* interface tests) is a <code>java.util.Vector</code> object
+* that contains column types and values in current row. Each
+* element of vector corresponds to appropriate column (element
+* with index 0 to column 1, 1 -> 2, etc.). <p>
+* The following <code>XRowUpdate</code> methods correspond to classes
+* in Vector :
+* <ul>
+* <li> <code>setBinaryStream</code> -
+* <code>com.sun.star.io.XDataInputStream</code> class. </li>
+* <li> <code>setCharacterStream</code> -
+* <code>com.sun.star.io.XTextInputStream</code> class. </li>
+* <li> <code>setObject</code> -
+* <code>java.lang.Object[]</code> class, the element with
+* index 0 must be used. </li>
+* </ul>
+* Other methods uses types they return (i.e. <code>String</code>
+* for <code>setString</code> method, <code>com.sun.star.sdbc.XRef</code>
+* for <code>setRef</code> method).
+* </li>
+* <li> <code>'XRowUpdate.XRow'</code> : implementation of <code>
+* com.sun.star.sdbc.XRow</code> interface for checking updated data.
+* </li>
+* </ul> <p>
+* The test <b>damages</b> the object, so it is recreated finally.
+* @see com.sun.star.sdbc.XRowUpdate
+* @see com.sun.star.sdbc.XRow
+*/
+public class _XRowUpdate extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XRowUpdate oObj = null ;
+
+ private List<Object> rowData = null ;
+ private XRow row = null ;
+
+ /**
+ * Gets relations.
+ */
+ @Override
+ public void before() {
+ rowData = (List<Object>) tEnv.getObjRelation("CurrentRowData") ;
+ if (rowData == null) {
+ log.println("!!! 'CurrentRowData' relation not found !!!") ;
+ }
+ row = (XRow) tEnv.getObjRelation("XRowUpdate.XRow") ;
+ if (rowData == null) {
+ log.println("!!! 'XRowUpdate.XRow' relation not found !!!") ;
+ }
+ }
+
+ /**
+ * Try to set NULL value for each column. Then using <code>XRow</code>
+ * relation check if NULL was really set. <p>
+ * Has OK status if for every column NULL value was successfully set.
+ * @see com.sun.star.sdbc.XRow
+ */
+ public void _updateNull() {
+ boolean result = true ;
+ for (int i = 0; i < rowData.size(); i++) {
+ if (rowData.get(i) == null) continue ;
+ log.print(" Setting NULL at column #" + (i+1) + " ...") ;
+ try {
+ oObj.updateNull(i + 1) ;
+
+ if (rowData.get(i) instanceof String) row.getString(i + 1) ;
+ if (rowData.get(i) instanceof Boolean) row.getBoolean(i + 1) ;
+ if (rowData.get(i) instanceof Byte) row.getByte(i + 1) ;
+ if (rowData.get(i) instanceof Short) row.getShort(i + 1) ;
+ if (rowData.get(i) instanceof Integer) row.getInt(i + 1) ;
+ if (rowData.get(i) instanceof Long) row.getLong(i + 1) ;
+ if (rowData.get(i) instanceof Float) row.getFloat(i + 1) ;
+ if (rowData.get(i) instanceof Double) row.getDouble(i + 1) ;
+ if (rowData.get(i) instanceof byte[]) row.getBytes(i + 1) ;
+ if (rowData.get(i) instanceof Date) row.getDate(i + 1) ;
+ if (rowData.get(i) instanceof Time) row.getTime(i + 1) ;
+ if (rowData.get(i) instanceof DateTime)
+ row.getTimestamp(i + 1) ;
+ if (rowData.get(i) instanceof XDataInputStream)
+ row.getBinaryStream(i + 1) ;
+ if (rowData.get(i) instanceof XTextInputStream)
+ row.getCharacterStream(i + 1) ;
+
+ if (!row.wasNull()) {
+ log.println("FAILED") ;
+ log.println("Not NULL was returned !!!") ;
+ result = false ;
+ } else {
+ log.println("OK") ;
+ }
+ } catch (SQLException e) {
+ log.println("FAILED") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("updateNull()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateBoolean() {
+ boolean result = true ;
+ int idx = findColumnOfType(Boolean.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateBoolean()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ boolean newVal = !row.getBoolean(idx) ;
+ oObj.updateBoolean(idx, newVal) ;
+ boolean getVal = row.getBoolean(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateBoolean()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateByte() {
+ boolean result = true ;
+ int idx = findColumnOfType(Byte.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateByte()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ byte newVal = (byte) (row.getByte(idx) + 1) ;
+ oObj.updateByte(idx, newVal) ;
+ byte getVal = row.getByte(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateByte()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateShort() {
+ boolean result = true ;
+ int idx = findColumnOfType(Short.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateShort()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ short newVal = (short) (row.getShort(idx) + 1) ;
+ oObj.updateShort(idx, newVal) ;
+ short getVal = row.getShort(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateShort()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateInt() {
+ boolean result = true ;
+ int idx = findColumnOfType(Integer.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateInt()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ int newVal = 1 + row.getInt(idx) ;
+ oObj.updateInt(idx, newVal) ;
+ int getVal = row.getInt(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateInt()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateLong() {
+ boolean result = true ;
+ int idx = findColumnOfType(Long.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateLong()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ long newVal = 1 + row.getLong(idx) ;
+ oObj.updateLong(idx, newVal) ;
+ long getVal = row.getLong(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateLong()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateFloat() {
+ boolean result = true ;
+ int idx = findColumnOfType(Float.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateFloat()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ float newVal = (float) (1.1 + row.getFloat(idx));
+ oObj.updateFloat(idx, newVal) ;
+ float getVal = row.getFloat(idx) ;
+ result = newVal == getVal ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateFloat()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateDouble() {
+ boolean result = true ;
+ int idx = findColumnOfType(Double.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateDouble()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ double newVal = 1.1 + row.getDouble(idx) ;
+ oObj.updateDouble(idx, newVal) ;
+ double getVal = row.getDouble(idx) ;
+ result = utils.approxEqual(newVal, getVal);
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateDouble()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateString() {
+ boolean result = true ;
+ int idx = findColumnOfType(String.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateString()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ String newVal = "_" + row.getString(idx) ;
+ oObj.updateString(idx, newVal) ;
+ String getVal = row.getString(idx) ;
+ result = newVal.equals(getVal) ;
+ log.println("New value = '" + newVal + "', get value = '"
+ + getVal + "'") ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateString()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateBytes() {
+ boolean result = true ;
+ int idx = findColumnOfType(byte[].class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateBytes()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ byte[] newVal = row.getBytes(idx) ;
+ if (newVal == null || newVal.length == 0) {
+ newVal = new byte[] {34, 111, 98} ;
+ } else {
+ newVal = new byte[] {(byte) (newVal[0] + 1), 111, 98} ;
+ }
+ oObj.updateBytes(idx, newVal) ;
+ byte[] getVal = row.getBytes(idx) ;
+ result = ValueComparer.equalValue(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateBytes()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateDate() {
+ boolean result = true ;
+ int idx = findColumnOfType(Date.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateDate()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Date newVal = row.getDate(idx) ;
+ newVal.Year ++ ;
+ oObj.updateDate(idx, newVal) ;
+ Date getVal = row.getDate(idx) ;
+ result = ValueComparer.equalValue(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateDate()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateTime() {
+ boolean result = true ;
+ int idx = findColumnOfType(Time.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateTime()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Time newVal = row.getTime(idx) ;
+ newVal.Seconds ++ ;
+ oObj.updateTime(idx, newVal) ;
+ Time getVal = row.getTime(idx) ;
+ result = ValueComparer.equalValue(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateTime()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateTimestamp() {
+ boolean result = true ;
+ int idx = findColumnOfType(DateTime.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateTimestamp()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ DateTime newVal = row.getTimestamp(idx) ;
+ newVal.Year ++ ;
+ oObj.updateTimestamp(idx, newVal) ;
+ DateTime getVal = row.getTimestamp(idx) ;
+ result = ValueComparer.equalValue(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateTimestamp()", result) ;
+ }
+
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateBinaryStream() {
+ boolean result = true ;
+ int idx = findColumnOfType(XDataInputStream.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateBinaryStream()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Object oStream = tParam.getMSF().
+ createInstance("com.sun.star.io.DataInputStream") ;
+ XInputStream newVal = UnoRuntime.queryInterface
+ (XInputStream.class, oStream);
+
+ oObj.updateBinaryStream(idx, newVal, 0) ;
+ XInputStream getVal = row.getBinaryStream(idx) ;
+ result = UnoRuntime.areSame(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateBinaryStream()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateCharacterStream() {
+ boolean result = true ;
+ int idx = findColumnOfType(XTextInputStream.class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateCharacterStream()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Object oStream = tParam.getMSF().
+ createInstance("com.sun.star.io.TextInputStream") ;
+ XInputStream newVal = UnoRuntime.queryInterface
+ (XInputStream.class, oStream);
+
+ oObj.updateCharacterStream(idx, newVal, 0) ;
+ XInputStream getVal = row.getCharacterStream(idx) ;
+ result = UnoRuntime.areSame(newVal, getVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateCharacterStream()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateObject() {
+ boolean result = true ;
+ int idx = findColumnOfType(Object[].class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateObject()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Object newVal = tParam.getMSF().
+ createInstance("com.sun.star.io.Pipe") ;
+
+ oObj.updateObject(idx, newVal) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateObject()", result) ;
+ }
+
+ /**
+ * Updates column with the appropriate type (if exists) and then
+ * checks result with interface <code>XRow</code>.<p>
+ * Has OK status if column successfully updated, ahd the same
+ * result returned.
+ */
+ public void _updateNumericObject() {
+ boolean result = true ;
+ int idx = findColumnOfType(Object[].class) ;
+
+ if (idx < 0) {
+ log.println("Required type not found") ;
+ tRes.tested("updateNumericObject()", Status.skipped(true)) ;
+ return ;
+ }
+
+ try {
+ Object newVal = tParam.getMSF().
+ createInstance("com.sun.star.io.Pipe") ;
+
+ oObj.updateNumericObject(idx, newVal, 0) ;
+ } catch (SQLException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Unexpected exception:") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("updateNumericObject()", result) ;
+ }
+
+ /**
+ * Finds in relation vector index of column of the appropriate
+ * type.
+ */
+ protected int findColumnOfType(Class<?> clz) {
+
+ for (int i = 0; i < rowData.size(); i++)
+ if (clz.isInstance(rowData.get(i))) return i + 1 ;
+ return -1 ;
+ }
+
+ /**
+ * Disposes environment.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finish class _XRow
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbc/_XWarningsSupplier.java b/qadevOOo/tests/java/ifc/sdbc/_XWarningsSupplier.java
new file mode 100644
index 000000000..1758ccb1b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbc/_XWarningsSupplier.java
@@ -0,0 +1,130 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbc;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.DBTools;
+import util.utils;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.sdbc.XWarningsSupplier;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sdbc.XWarningsSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getWarnings()</code></li>
+* <li><code> clearWarnings()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbc.XWarningsSupplier
+*/
+public class _XWarningsSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XWarningsSupplier oObj = null ;
+
+ /**
+ * Updates value of int column by value '9999999999999999'.
+ * Calls method and checks returned value. <p>
+ * Has OK status if the method return not empty value.
+ */
+ public void _getWarnings() {
+ final XRowUpdate rowUpdate = UnoRuntime.queryInterface(XRowUpdate.class, oObj);
+ final XResultSetUpdate resultSetUpdate = UnoRuntime.queryInterface(XResultSetUpdate.class, rowUpdate);
+ final XRow row = UnoRuntime.queryInterface(XRow.class, resultSetUpdate);
+ if ( row == null)
+ throw new StatusException(Status.failed("Test must be modified"));
+
+ // not sure what the below test was intended to test, but it actually fails with an SQLException (which is
+ // correct for what is done there), and thus makes the complete interface test fail (which is not correct)
+ // So, for the moment, just let the test succeed all the time - until issue #i84235# is fixed
+
+ if ( false )
+ {
+ int oldVal = 0, newVal = 0;
+ String valToSet = "9999999999999999";
+ try
+ {
+ oldVal = row.getInt(DBTools.TST_INT);
+ rowUpdate.updateString(DBTools.TST_INT, valToSet);
+ resultSetUpdate.updateRow();
+ newVal = row.getInt(DBTools.TST_INT);
+ }
+ catch(com.sun.star.sdbc.SQLException e)
+ {
+ log.println("Unexpected SQL exception");
+ e.printStackTrace(log);
+ tRes.tested("getWarnings()", false);
+ return;
+ }
+
+ log.println("Old INT value: " + oldVal);
+ log.println("Value that was set: " + valToSet);
+ log.println("New INT value: " + newVal);
+
+ boolean res = false;
+
+ try
+ {
+ Object warns = oObj.getWarnings();
+ res = (!utils.isVoid(warns));
+ }
+ catch (SQLException e)
+ {
+ log.println("Exception occurred :");
+ e.printStackTrace(log);
+ tRes.tested("getWarnings()", res);
+ return;
+ }
+ tRes.tested("getWarnings()", res);
+ }
+ else
+ tRes.tested( "getWarnings()", true );
+ }
+
+ /**
+ * Calls method and checks value returned by the method
+ * <code>getWarnings()</code>. <p>
+ * Has OK status if the method <code>getWarnings()</code> return void value.
+ */
+ public void _clearWarnings() {
+ executeMethod("getWarnings()");
+ boolean res = false;
+
+ try {
+ oObj.clearWarnings();
+ Object warns = oObj.getWarnings();
+ res = utils.isVoid(warns);
+ } catch (SQLException e) {
+ log.println("Exception occurred :");
+ e.printStackTrace(log);
+ tRes.tested("clearWarnings()", res);
+ return;
+ }
+
+ tRes.tested("clearWarnings()", res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_ResultSet.java b/qadevOOo/tests/java/ifc/sdbcx/_ResultSet.java
new file mode 100644
index 000000000..bdbf0a9a5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_ResultSet.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbcx;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sdbcx.ResultSet</code>
+* service properties :
+* <ul>
+* <li><code> IsBookmarkable</code></li>
+* <li><code> CanUpdateInsertedRows</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sdbcx.ResultSet
+*/
+public class _ResultSet extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XColumnsSupplier.java b/qadevOOo/tests/java/ifc/sdbcx/_XColumnsSupplier.java
new file mode 100644
index 000000000..02dce1d4f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XColumnsSupplier.java
@@ -0,0 +1,70 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbcx;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdbcx.XColumnsSupplier;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XColumnsSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getColumns()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XColumnsSupplier
+*/
+public class _XColumnsSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XColumnsSupplier oObj = null ;
+
+ /**
+ * Has OK status if method returns not null
+ * <code>XNameAccess</code> object, FAILED otherwise.
+ */
+ public void _getColumns() {
+
+ XNameAccess cols = oObj.getColumns() ;
+
+ /*
+ String[] colNames = cols.getElementNames() ;
+
+ log.println("Column names:") ;
+ for (int i =0 ; i < colNames.length; i++) {
+ log.println(" " + colNames[i]) ;
+ }
+
+ XServiceInfo info = null ;
+ try {
+ info = (XServiceInfo) UnoRuntime.queryInterface
+ (XServiceInfo.class, cols.getByName("colNames[0]")) ;
+ } catch (com.sun.star.uno.Exception e) {}
+
+ log.println("Support : " +
+ info.supportsService("com.sun.star.sdbcx.Column")) ;
+ */
+
+ tRes.tested("getColumns()", cols != null) ;
+ }
+
+} // finish class _XColumnsSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XCreateCatalog.java b/qadevOOo/tests/java/ifc/sdbcx/_XCreateCatalog.java
new file mode 100644
index 000000000..15c09694a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XCreateCatalog.java
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbcx;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.sdbcx.XCreateCatalog;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XCreateCatalog</code>
+* interface methods :
+* <ul>
+* <li><code>createCatalog()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XCreateCatalog
+*/
+public class _XCreateCatalog extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XCreateCatalog oObj = null;
+
+ public void _createCatalog() {
+ tRes.tested("createCatalog()", Status.skipped(false));
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XDataDefinitionSupplier.java b/qadevOOo/tests/java/ifc/sdbcx/_XDataDefinitionSupplier.java
new file mode 100644
index 000000000..a05310c50
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XDataDefinitionSupplier.java
@@ -0,0 +1,163 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbcx;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XDriver;
+import com.sun.star.sdbcx.XDataDefinitionSupplier;
+import com.sun.star.sdbcx.XTablesSupplier;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XDataDefinitionSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getDataDefinitionByConnection()</code></li>
+* <li><code> getDataDefinitionByURL()</code></li>
+* </ul> <p>
+* Required object relations :
+* <ul>
+* <li> <code>'XDriver.URL'</code>:
+* is the URL of the database to which to connect</code></li>
+* <li><code>'XDriver.UNSUITABLE_URL'</code>:
+* the wrong kind of URL to connect using given driver</li>
+* <li><code>'XDriver.INFO'</code>:
+* a list of arbitrary string tag/value pairs as connection arguments</li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XDataDefinitionSupplier
+*/
+public class _XDataDefinitionSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XDataDefinitionSupplier oObj = null ;
+
+ String url = null;
+ String wrongUrl = null;
+ PropertyValue[] info = null;
+
+ /**
+ * Retrieves relations.
+ * @throw StatusException If any relation not found.
+ */
+ @Override
+ protected void before() {
+ url = (String)tEnv.getObjRelation("XDriver.URL");
+ if (url == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.URL'"));
+ }
+ wrongUrl = (String)tEnv.getObjRelation("XDriver.UNSUITABLE_URL");
+ if (wrongUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.WRONG_URL'"));
+ }
+ info = (PropertyValue[])tEnv.getObjRelation("XDriver.INFO");
+ if (info == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'XDriver.INFO'"));
+ }
+ }
+
+ XConnection connection = null;
+
+ /**
+ * Obtains the connection to url(relation <code>'XDriver.URL'</code>)
+ * with info(relation <code>'XDriver.INFO'</code>).
+ * Calls the method with obtained connection and checks that returned value
+ * isn't null.
+ */
+ public void _getDataDefinitionByConnection() {
+ boolean bRes = true;
+ XDriver xDriver = UnoRuntime.queryInterface(XDriver.class, oObj);
+ if (xDriver == null) {
+ log.println("The XDriver interface isn't supported");
+ tRes.tested("getDataDefinitionByConnection()",
+ Status.skipped(false));
+ return;
+ }
+ try {
+ connection = xDriver.connect(url, info);
+ } catch(com.sun.star.sdbc.SQLException e) {
+ e.printStackTrace(log);
+ bRes = false;
+ }
+ if (connection == null) {
+ log.println("Couldn't get connection to specified url using " +
+ "specified info");
+ tRes.tested("getDataDefinitionByConnection()",
+ Status.skipped(false));
+ return;
+ }
+ XTablesSupplier xTS = null;
+ try {
+ log.println("getDataDefinitionByConnection(connection)");
+ xTS = oObj.getDataDefinitionByConnection(connection);
+ bRes = xTS != null;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception: " + e);
+ bRes = false;
+ }
+
+ try {
+ log.println("getDataDefinitionByConnection(null)");
+ xTS = oObj.getDataDefinitionByConnection(null);
+ bRes = xTS == null;
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("Exception: " + e);
+ bRes = true;
+ }
+
+ tRes.tested("getDataDefinitionByConnection()", bRes);
+ }
+
+ /**
+ * Calls the method with url and info obtained from the relations
+ * <code>XDriver.URL</code> and <code>XDriver.INFO</code>.
+ * Checks that returned value isn't null.
+ * Then calls the method with the unsuitable url obtained from the relation
+ * <code>XDriver.UNSUITABLE_URL</code> and checks that SQLException
+ * exception was thrown.
+ */
+ public void _getDataDefinitionByURL() {
+ try {
+ log.println("getDataDefinitionByURL('" + url + "')");
+ oObj.getDataDefinitionByURL(url, info);
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Unexpected exception: " + e);
+ }
+
+ try {
+ log.println("getDataDefinitionByURL('" + wrongUrl + "')");
+ oObj.getDataDefinitionByURL(wrongUrl, info);
+ log.println("Exception was expected");
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Expected exception");
+ }
+
+ tRes.tested("getDataDefinitionByURL()", true);
+
+ }
+} // finish class _XDataDefinitionSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XDeleteRows.java b/qadevOOo/tests/java/ifc/sdbcx/_XDeleteRows.java
new file mode 100644
index 000000000..af79864a5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XDeleteRows.java
@@ -0,0 +1,84 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbcx;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbcx.XDeleteRows;
+import com.sun.star.sdbcx.XRowLocate;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XDeleteRows</code>
+* interface methods :
+* <ul>
+* <li><code> deleteRows()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XDeleteRows
+*/
+public class _XDeleteRows extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XDeleteRows oObj = null ;
+
+ /**
+ * Retrieves bookmark using XRowLocate and deletes
+ * row pointed by this bookmark. <p>
+ * Has OK status if number of rows after deleting is less than before
+ * and no exception rises while method call, FAILED otherwise. <p>
+ */
+ public void _deleteRows() {
+ XRowLocate xRowLocate = UnoRuntime.queryInterface(XRowLocate.class, oObj);
+ XResultSet xResultSet = UnoRuntime.queryInterface(XResultSet.class, oObj);
+ if (xRowLocate == null || xResultSet == null) {
+ log.println("The test must be modified according to "+
+ "component testcase");
+ throw new StatusException(Status.failed(
+ "The component doesn't support one of the "+
+ "required interfaces"));
+ }
+
+ int rowsBefore = 0, rowsAfter = 0;
+ Object bkmrk = null;
+ try {
+ xResultSet.last();
+ rowsBefore = xResultSet.getRow();
+ xResultSet.first();
+ bkmrk = xRowLocate.getBookmark();
+ oObj.deleteRows(new Object[] {bkmrk});
+ xResultSet.last();
+ rowsAfter = xResultSet.getRow();
+ } catch(com.sun.star.sdbc.SQLException e) {
+ log.println("SQLException:" + e);
+ tRes.tested("deleteRows()", false);
+ return;
+ }
+
+ log.println("Rows before: " + rowsBefore + ", after: " + rowsAfter);
+ tRes.tested("deleteRows()", rowsBefore - 1 == rowsAfter);
+ }
+
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+} // finish class _XDeleteRows
+
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XDropCatalog.java b/qadevOOo/tests/java/ifc/sdbcx/_XDropCatalog.java
new file mode 100644
index 000000000..e697f8394
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XDropCatalog.java
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbcx;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.sdbcx.XDropCatalog;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XDropCatalog</code>
+* interface methods :
+* <ul>
+* <li><code>dropCatalog()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XDropCatalog
+*/
+public class _XDropCatalog extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XDropCatalog oObj = null;
+
+ public void _dropCatalog() {
+ tRes.tested("dropCatalog()", Status.skipped(false));
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XRowLocate.java b/qadevOOo/tests/java/ifc/sdbcx/_XRowLocate.java
new file mode 100644
index 000000000..9a1726932
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XRowLocate.java
@@ -0,0 +1,225 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbcx;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbcx.XRowLocate;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XRowLocate</code>
+* interface methods :
+* <ul>
+* <li><code> getBookmark()</code></li>
+* <li><code> moveToBookmark()</code></li>
+* <li><code> moveRelativeToBookmark()</code></li>
+* <li><code> compareBookmarks()</code></li>
+* <li><code> hasOrderedBookmarks()</code></li>
+* <li><code> hashBookmark()</code></li>
+* </ul> <p>
+* Object relations needed :
+* <ul>
+* <li> <code>XRowLocate.HasOrderedBookmarks</code> <b>(optional)</b>:
+* <code>Boolean</code> type. If information about bookmark ordering
+* of object tested exists it placed in this relation.</li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XRowLocate
+*/
+public class _XRowLocate extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XRowLocate oObj = null ;
+
+ private Object bookmark1 = null, bookmark2 = null ;
+
+ /**
+ * Gets the bookmark of the current cursor position and
+ * stores it for other methods use.
+ * Has OK status if method returns not null
+ * <code>XNameAccess</code> object, FAILED otherwise.
+ */
+ public void _getBookmark() {
+
+ try {
+ bookmark1 = oObj.getBookmark() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :" + e) ;
+ }
+
+ tRes.tested("getBookmark()", bookmark1 != null) ;
+ }
+
+ /**
+ * Moves to bookmark previously created by method <code>_getBookmark</code>
+ * then creates new bookmark and compare it to the first one. The
+ * row difference must be equal to 0. <p>
+ * Method tests to be completed successfully before :
+ * <ul>
+ * <li> <code>getBookmark()</code> : to have a bookmark to move to.</li>
+ * </ul>
+ * Method tests to be executed before :
+ * <ul>
+ * <li> <code>moveRelativeToBookmark()</code> : to move the cursor from
+ * the initial position, to check if it returns back.</li>
+ * </ul> <p>
+ * Has OK status difference between positions of bookmarks (where
+ * cursor was moved to and created new one) equals to 0 and no
+ * exceptions occurred, FAILED otherwise.
+ */
+ public void _moveToBookmark() {
+ requiredMethod("getBookmark()") ;
+ executeMethod("moveRelativeToBookmark()") ;
+
+ int comparison = -1 ;
+ Object tmpBookmark = null ;
+ try {
+ synchronized(oObj) {
+ oObj.moveToBookmark(bookmark1) ;
+ tmpBookmark = oObj.getBookmark() ;
+ }
+ comparison = oObj.compareBookmarks(bookmark1, tmpBookmark) ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :" + e) ;
+ }
+
+ tRes.tested("moveToBookmark()", comparison == 0) ;
+ }
+
+ /**
+ * Moves the cursor to the position with offset 2 from the
+ * bookmark created by <code>_getBookmark()</code> method and
+ * then creates a bookmark of new position. <p>
+ * Method tests to be completed successfully before :
+ * <ul>
+ * <li> <code>getBookmark()</code> : to have a bookmark to move to.</li>
+ * </ul> <p>
+ * Has OK status if no exceptions occurred while method call.
+ */
+ public void _moveRelativeToBookmark() {
+ requiredMethod("getBookmark()") ;
+
+ boolean result = true ;
+ try {
+ synchronized (oObj) {
+ oObj.moveRelativeToBookmark(bookmark1, 1) ;
+ bookmark2 = oObj.getBookmark() ;
+ }
+ } catch (SQLException e) {
+ log.println("Exception occurred :" + e) ;
+ result = false ;
+ }
+
+ tRes.tested("moveRelativeToBookmark()", result) ;
+ }
+
+ /**
+ * Compares bookmarks created in <code>getBookmark()</code> and
+ * <code>moveRelativeToBokkmark()</code> methods.
+ * Method tests to be completed successfully before :
+ * <ul>
+ * <li> <code>getBookmark()</code> : to have first bookmark to compare.</li>
+ * <li> <code>moveRelativeToBookmark()</code> : to have second
+ * bookmark to compare.</li>
+ * </ul> <p>
+ * Has OK status if difference in bookmark positions equals to 2.
+ */
+ public void _compareBookmarks() {
+ requiredMethod("getBookmark()") ;
+ requiredMethod("moveRelativeToBookmark()") ;
+
+ int comparison = 0 ;
+ int comparison1 = 0 ;
+ try {
+ comparison = oObj.compareBookmarks(bookmark1, bookmark2) ;
+ comparison1 = oObj.compareBookmarks(bookmark1, bookmark1) ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :" + e) ;
+ }
+
+ if (comparison != -1) {
+ log.println("! Wrong compare number :" + comparison) ;
+ }
+
+ tRes.tested("compareBookmarks()", comparison == -1 && comparison1 == 0) ;
+ }
+
+ /**
+ * Calls method. If relation is not found, returned result is not
+ * checked. <p>
+ * Has OK status if method returned right value (in case if relation
+ * and value to compare to exist), or just successfully returned
+ * (in case of no relation).
+ */
+ public void _hasOrderedBookmarks() {
+ boolean result = true ;
+ boolean res = true ;
+
+ // Optional relation
+ Boolean has = (Boolean) tEnv.getObjRelation
+ ("XRowLocate.HasOrderedBookmarks") ;
+
+ try {
+ res = oObj.hasOrderedBookmarks() ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :" + e) ;
+ result = false ;
+ }
+
+ if (has == null) {
+ log.println("Optional relation not found - result not checked") ;
+ } else {
+ result &= res == has.booleanValue() ;
+ }
+
+ tRes.tested("hasOrderedBookmarks()", result) ;
+ }
+
+ /**
+ * Gets hash values of two previously created bookmarks of different
+ * cursor positions and compares them. <p>
+ * Method tests to be completed successfully before :
+ * <ul>
+ * <li> <code>getBookmark()</code> : to have first bookmark.</li>
+ * <li> <code>moveRelativeToBookmark()</code> : to have second
+ * bookmark.</li>
+ * </ul> <p>
+ * Has OK status if hash values of two bookmarks are different.
+ */
+ public void _hashBookmark() {
+ requiredMethod("getBookmark()") ;
+ requiredMethod("moveRelativeToBookmark()") ;
+
+ boolean result = true ;
+ try {
+ int hash1 = oObj.hashBookmark(bookmark1) ;
+ int hash2 = oObj.hashBookmark(bookmark2) ;
+ log.println("1st hash = " + hash1 + ", 2nd = " + hash2) ;
+
+ result = hash1 != hash2 ;
+ } catch (SQLException e) {
+ log.println("Exception occurred :" + e) ;
+ result = false ;
+ }
+
+ tRes.tested("hashBookmark()", result) ;
+ }
+
+} // finish class _XRowLocate
+
diff --git a/qadevOOo/tests/java/ifc/sdbcx/_XTablesSupplier.java b/qadevOOo/tests/java/ifc/sdbcx/_XTablesSupplier.java
new file mode 100644
index 000000000..5c48e44e1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sdbcx/_XTablesSupplier.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sdbcx;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.sdbcx.XTablesSupplier;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.sdbcx.XTablesSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getTables()</code></li>
+* </ul> <p>
+* @see com.sun.star.sdbcx.XTablesSupplier
+*/
+public class _XTablesSupplier extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XTablesSupplier oObj = null ;
+
+ /**
+ * Has OK status if method returns not null
+ * <code>XNameAccess</code> object, FAILED otherwise.
+ */
+ public void _getTables() {
+ XNameAccess tabs = oObj.getTables() ;
+
+
+ String[] tabNames = tabs.getElementNames() ;
+
+ log.println("Table names:") ;
+ for (int i =0 ; i < tabNames.length; i++) {
+ log.println(" " + tabNames[i]) ;
+ }
+
+ XServiceInfo info = null ;
+ try {
+ info = UnoRuntime.queryInterface
+ (XServiceInfo.class, tabs.getByName(tabNames[0])) ;
+ } catch (com.sun.star.uno.Exception e) {}
+
+ if (info != null) {
+ log.println("Support : " +
+ info.supportsService("com.sun.star.sdbcx.Table")) ;
+ }
+
+ tRes.tested("getTables()", info != null) ;
+ }
+
+} // finish class _XTablesSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocument.java b/qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocument.java
new file mode 100644
index 000000000..513315634
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_SpreadsheetDocument.java
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sheet;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.sheet.SpreadsheetDocument</code>
+* service properties :
+* <ul>
+* <li><code> NamedRanges</code></li>
+* <li><code> DatabaseRanges</code></li>
+* <li><code> ColumnLabelRanges</code></li>
+* <li><code> RowLabelRanges</code></li>
+* <li><code> SheetLinks</code></li>
+* <li><code> AreaLinks</code></li>
+* <li><code> DDELinks</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.SpreadsheetDocument
+*/
+public class _SpreadsheetDocument extends MultiPropertyTest {
+} // finish class _SpreadsheetDocument
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_TableAutoFormatField.java b/qadevOOo/tests/java/ifc/sheet/_TableAutoFormatField.java
new file mode 100644
index 000000000..305d3e219
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_TableAutoFormatField.java
@@ -0,0 +1,124 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sheet;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.lang.Locale;
+
+/**
+* Testing <code>com.sun.star.sheet.TableAutoFormatField</code>
+* service properties :
+* <ul>
+* <li><code> CharFontName</code></li>
+* <li><code> CharHeight</code></li>
+* <li><code> CharWeight</code></li>
+* <li><code> CharPosture</code></li>
+* <li><code> CharUnderline</code></li>
+* <li><code> CharCrossedOut</code></li>
+* <li><code> CharContoured</code></li>
+* <li><code> CharShadowed</code></li>
+* <li><code> CharColor</code></li>
+* <li><code> CharLocale</code></li>
+* <li><code> CellBackColor</code></li>
+* <li><code> IsCellBackgroundTransparent</code></li>
+* <li><code> ShadowFormat</code></li>
+* <li><code> ParaRightMargin </code></li>
+* <li><code> ParaLeftMargin </code></li>
+* <li><code> ParaBottomMargin </code></li>
+* <li><code> ParaTopMargin </code></li>
+* <li><code> RotateReference </code></li>
+* <li><code> RotateAngle </code></li>
+* <li><code> Orientation </code></li>
+* <li><code> IsTextWrapped </code></li>
+* <li><code> VertJustify </code></li>
+* <li><code> HoriJustify </code></li>
+* <li><code> CharPostureComplex </code></li>
+* <li><code> CharPostureAsian </code></li>
+* <li><code> CharWeightComplex </code></li>
+* <li><code> CharWeightAsian </code></li>
+* <li><code> CharHeightComplex </code></li>
+* <li><code> CharHeightAsian </code></li>
+* <li><code> CharFontPitchComplex </code></li>
+* <li><code> CharFontPitchAsian </code></li>
+* <li><code> CharFontPitch </code></li>
+* <li><code> CharFontFamilyComplex </code></li>
+* <li><code> CharFontFamilyAsian </code></li>
+* <li><code> CharFontFamily </code></li>
+* <li><code> CharFontCharSetComplex </code></li>
+* <li><code> CharFontCharSetAsian </code></li>
+* <li><code> CharFontCharSet </code></li>
+* <li><code> CharFontStyleNameComplex </code></li>
+* <li><code> CharFontStyleNameAsian </code></li>
+* <li><code> CharFontStyleName </code></li>
+* <li><code> CharFontNameComplex </code></li>
+* <li><code> CharFontNameAsian </code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.sheet.TableAutoFormatField
+*/
+public class _TableAutoFormatField extends MultiPropertyTest {
+
+ /**
+ * Only some values can be used (which identify font name).
+ * In this property value is changed from 'Times New Roman'
+ * to 'Courier' and viceversa.
+ */
+ public void _CharFontName() {
+ testProperty("CharFontName", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return "Courier".equals(old) ? "Times New Roman" : "Courier" ;
+ }
+ }) ;
+ }
+
+ /**
+ * Locale values are predefined and can't be arbitrary changed.
+ * In this property value is changed from ('de', 'DE', '')
+ * to ('es', 'ES', '') and vice versa.
+ */
+ public void _CharLocale() {
+ testProperty("CharLocale", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return old == null || ((Locale)old).Language.equals( "de" ) ?
+ new Locale("es", "ES", "") : new Locale("de", "DE", "") ;
+ }
+ }) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _ShadowFormat() {
+ testProperty("ShadowFormat", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String p, Object old) {
+ return old == null ? new com.sun.star.table.ShadowFormat() :
+ super.getNewValue(p, old) ;
+ }
+ }) ;
+ }
+
+} //finish class _TableAutoFormatField
+
+
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCellRangeData.java b/qadevOOo/tests/java/ifc/sheet/_XCellRangeData.java
new file mode 100644
index 000000000..18d8ca0f9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCellRangeData.java
@@ -0,0 +1,76 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.sheet;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.sheet.XCellRangeData;
+
+public class _XCellRangeData extends MultiMethodTest {
+
+ public XCellRangeData oObj = null;
+ private Object[][] maCRData = null;
+
+ /**
+ * Test calls the method
+ * state is OK if the resulting Object array
+ * isn't empty
+ */
+ public void _getDataArray() {
+ maCRData = oObj.getDataArray();
+ boolean bResult = (maCRData.length > 0);
+ tRes.tested("getDataArray()", bResult);
+ }
+
+ /**
+ * Test creates an Array and calls the method
+ * with this Array as argument
+ * Then the method getDataArray is called
+ * and the resulting Array is compared with the
+ * one formerly set.
+ */
+ public void _setDataArray() {
+ Object[][] newData = (Object[][]) tEnv.getObjRelation("NewData");
+ if (newData == null) {
+ newData = new Object[maCRData.length][maCRData[0].length];
+ for (int i=0; i<newData.length; i++) {
+ for (int j=0; j<newData[i].length; j++) {
+ newData[i][j] = new Double(10*i +j);
+ }
+ }
+ }
+ oObj.setDataArray(newData);
+ Object[][] oCRData = oObj.getDataArray();
+ boolean res = ValueComparer.equalValue(oCRData[0][0],newData[0][0]);
+ res &= ValueComparer.equalValue(oCRData[0][1],newData[0][1]);
+ res &= ValueComparer.equalValue(oCRData[1][0],newData[1][0]);
+ res &= ValueComparer.equalValue(oCRData[1][1],newData[1][1]);
+ // delete values
+ Object[][] emptyData = new Object[newData.length][newData[0].length];
+ for (int i=0; i<emptyData.length; i++) {
+ for (int j=0; j<emptyData[i].length; j++) {
+ emptyData[i][j] = "";
+ }
+ }
+ oObj.setDataArray(emptyData);
+ tRes.tested("setDataArray()", res);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/sheet/_XCellRangesQuery.java b/qadevOOo/tests/java/ifc/sheet/_XCellRangesQuery.java
new file mode 100644
index 000000000..de0c327af
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XCellRangesQuery.java
@@ -0,0 +1,300 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.sheet;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.sheet.CellFlags;
+import com.sun.star.sheet.FormulaResult;
+import com.sun.star.sheet.XCellRangesQuery;
+import com.sun.star.sheet.XSheetCellRanges;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableColumns;
+import com.sun.star.table.XTableRows;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Test the XCellRangesQuery interface.
+ * Needed object relations:
+ * <ul>
+ * <li>"SHEET": an XSpreadSheet object
+ * </li>
+ * <li>"XCellRangesQuery.EXPECTEDRESULTS": the expected results for the test
+ * methods as a String array.<br>
+ * @see mod._sc.ScCellCursorObj or
+ * @see mod._sc.ScCellObj for an example how this should look like.
+ * </li>
+ * </ul>
+ */
+public class _XCellRangesQuery extends MultiMethodTest {
+ public XCellRangesQuery oObj;
+ protected XSpreadsheet oSheet;
+ protected XTableRows oRows;
+ protected XTableColumns oColumns;
+ protected String[] mExpectedResults = null;
+ protected boolean bMakeEntriesAndDispose = false;
+ String getting = "";
+ String expected = "";
+ // provide the object with constants to fill the expected results array
+ public static final int QUERYCOLUMNDIFFERENCES = 0;
+ public static final int QUERYCONTENTCELLS = 1;
+ public static final int QUERYEMPTYCELLS = 2;
+ public static final int QUERYFORMULACELLS = 3;
+ public static final int QUERYINTERSECTION = 4;
+ public static final int QUERYROWDIFFERENCES = 5;
+ public static final int QUERYVISIBLECELLS = 6;
+
+ @Override
+ protected void before() {
+ oSheet = (XSpreadsheet) tEnv.getObjRelation("SHEET");
+
+ if (oSheet == null) {
+ log.println("Object relation oSheet is missing");
+ log.println("Trying to query the needed Interface");
+ oSheet = UnoRuntime.queryInterface(
+ XSpreadsheet.class, tEnv.getTestObject());
+
+ if (oSheet == null) {
+ throw new StatusException(Status.failed(
+ "Object relation oSheet is missing"));
+ }
+ }
+
+ // expected results
+ mExpectedResults = (String[])tEnv.getObjRelation(
+ "XCellRangesQuery.EXPECTEDRESULTS");
+
+ XColumnRowRange oColumnRowRange = UnoRuntime.queryInterface(
+ XColumnRowRange.class,
+ oSheet);
+ oRows = oColumnRowRange.getRows();
+ oColumns = oColumnRowRange.getColumns();
+
+ // set this in object if the interface has to make its own settings
+ // and the environment has to be disposed: this is necessary for objects
+ // that do not make entries on the sheet themselves
+ Object o = tEnv.getObjRelation("XCellRangesQuery.CREATEENTRIES");
+ if (o instanceof Boolean) {
+ bMakeEntriesAndDispose = ((Boolean)o).booleanValue();
+ }
+ if(bMakeEntriesAndDispose) {
+ oRows.removeByIndex(4, oRows.getCount() - 4);
+ oColumns.removeByIndex(4, oColumns.getCount() - 4);
+
+ try {
+ oSheet.getCellByPosition(1, 1).setValue(5);
+ oSheet.getCellByPosition(1, 2).setValue(15);
+ oSheet.getCellByPosition(2, 1).setFormula("=B2+B3");
+ oSheet.getCellByPosition(1, 3).setFormula("=B2+B4");
+ oSheet.getCellByPosition(3, 2).setFormula("");
+ oSheet.getCellByPosition(3, 3).setFormula("");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't fill cells " + e.getLocalizedMessage());
+ }
+ }
+
+ }
+
+ /**
+ * Tested method returns each cell of each column that is different to the
+ * cell in a given row
+ */
+ public void _queryColumnDifferences() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryColumnDifferences(
+ new CellAddress((short) 0, 1, 1));
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYCOLUMNDIFFERENCES];
+
+ if (!getting.startsWith(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Should have started with: " + expected);
+ res = false;
+ }
+
+ tRes.tested("queryColumnDifferences()", res);
+ }
+
+ /**
+ * Tested method returns all cells of a given type, defined in
+ * CellFlags
+ * @see com.sun.star.sheet.CellFlags
+ */
+ public void _queryContentCells() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryContentCells(
+ (short) CellFlags.VALUE);
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYCONTENTCELLS];
+
+ if (!getting.startsWith(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Should have started with: " + expected);
+ res = false;
+ }
+
+ tRes.tested("queryContentCells()", res);
+ }
+
+ /**
+ * Tested method returns all empty cells of the range
+ */
+ public void _queryEmptyCells() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryEmptyCells();
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYEMPTYCELLS];
+
+ int startIndex = 0;
+ int endIndex = -5;
+ String checkString = null;
+
+ while (endIndex != -1) {
+ startIndex = endIndex + 5;
+ endIndex = expected.indexOf(" ... ", startIndex);
+ if (endIndex == -1) {
+ checkString = expected.substring(startIndex);
+ }
+ else {
+ checkString = expected.substring(startIndex, endIndex);
+ }
+ res &= (getting.indexOf(checkString) > -1);
+ }
+
+ if (!res) {
+ log.println("Getting: " + getting);
+ log.println("Should have contained: " + expected);
+ }
+
+ tRes.tested("queryEmptyCells()", res);
+ }
+
+ /**
+ * Tested method returns all cells of a given type, defined in
+ * FormulaResult
+ * @see com.sun.star.sheet.FormulaResult
+ */
+ public void _queryFormulaCells() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryFormulaCells(
+ (short) FormulaResult.VALUE);
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYFORMULACELLS];
+
+ if (!getting.equals(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Expected: " + expected);
+ res = false;
+ }
+
+ tRes.tested("queryFormulaCells()", res);
+ }
+
+ public void _queryIntersection() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryIntersection(
+ new CellRangeAddress((short) 0, 3, 3, 7, 7));
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYINTERSECTION];
+
+ if (!getting.startsWith(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Should have started with: " + expected);
+ res = false;
+ }
+
+ tRes.tested("queryIntersection()", res);
+ }
+
+ /**
+ * Tested method returns each cell of each row that is different to the
+ * cell in a given column
+ */
+ public void _queryRowDifferences() {
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryRowDifferences(
+ new CellAddress((short) 0, 1, 1));
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYROWDIFFERENCES];
+
+ if (!getting.startsWith(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Should have started with: " + expected);
+ res = false;
+ }
+
+ tRes.tested("queryRowDifferences()", res);
+ }
+
+ public void _queryVisibleCells() {
+ setRowVisible(false);
+
+ boolean res = true;
+ XSheetCellRanges ranges = oObj.queryVisibleCells();
+ getting = ranges.getRangeAddressesAsString();
+ expected = mExpectedResults[QUERYVISIBLECELLS];
+
+ if (!getting.startsWith(expected)) {
+ log.println("Getting: " + getting);
+ log.println("Should have started with: " + expected);
+ res = false;
+ }
+
+ setRowVisible(true);
+ tRes.tested("queryVisibleCells()", res);
+ }
+
+ protected void setRowVisible(boolean vis) {
+ try {
+ XPropertySet rowProp = UnoRuntime.queryInterface(
+ XPropertySet.class,
+ oRows.getByIndex(0));
+ rowProp.setPropertyValue("IsVisible", Boolean.valueOf(vis));
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("couldn't get Row " + e.getLocalizedMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("problems setting Property 'isVisible' " +
+ e.getLocalizedMessage());
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("problems setting Property 'isVisible' " +
+ e.getLocalizedMessage());
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("problems setting Property 'isVisible' " +
+ e.getLocalizedMessage());
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("problems setting Property 'isVisible' " +
+ e.getLocalizedMessage());
+ }
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ if(bMakeEntriesAndDispose) {
+ disposeEnvironment();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XEnhancedMouseClickBroadcaster.java b/qadevOOo/tests/java/ifc/sheet/_XEnhancedMouseClickBroadcaster.java
new file mode 100644
index 000000000..fdcbcd4ff
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XEnhancedMouseClickBroadcaster.java
@@ -0,0 +1,138 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.sheet;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XEnhancedMouseClickHandler;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.sheet.XEnhancedMouseClickBroadcaster;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import lib.MultiMethodTest;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+
+
+public class _XEnhancedMouseClickBroadcaster extends MultiMethodTest {
+ public XEnhancedMouseClickBroadcaster oObj;
+ protected boolean mousePressed = false;
+ protected boolean mouseReleased = false;
+ protected XEnhancedMouseClickHandler listener = new MyListener();
+ private XModel docModel = null;
+
+ @Override
+ public void before() {
+ docModel = UnoRuntime.queryInterface(
+ XModel.class,tEnv.getObjRelation("FirstModel"));
+ DesktopTools.bringWindowToFront(docModel);
+ }
+
+ public void _addEnhancedMouseClickHandler() {
+ oObj.addEnhancedMouseClickHandler(listener);
+ clickOnSheet();
+
+ //make sure that the listener is removed even if the test fails
+ if ((!mousePressed) || (!mouseReleased)) {
+ oObj.removeEnhancedMouseClickHandler(listener);
+ }
+
+ tRes.tested("addEnhancedMouseClickHandler()",
+ mousePressed && mouseReleased);
+ }
+
+ public void _removeEnhancedMouseClickHandler() {
+ requiredMethod("addEnhancedMouseClickHandler()");
+ mousePressed = false;
+ mouseReleased = false;
+ oObj.removeEnhancedMouseClickHandler(listener);
+ clickOnSheet();
+ tRes.tested("removeEnhancedMouseClickHandler()",
+ (!mousePressed) && (!mouseReleased));
+ }
+
+ protected boolean clickOnSheet() {
+ log.println("try to open context menu...");
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(docModel);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XInterface oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+
+ XAccessibleComponent window = UnoRuntime.queryInterface(
+ XAccessibleComponent.class, oObj);
+
+ Point point = window.getLocationOnScreen();
+ Rectangle rect = window.getBounds();
+
+ log.println("click mouse button...");
+ try {
+ Robot rob = new Robot();
+ int x = point.X + (rect.Width / 2)+50;
+ int y = point.Y + (rect.Height / 2)+50;
+ rob.mouseMove(x, y);
+ System.out.println("Press Button");
+ rob.mousePress(InputEvent.BUTTON3_MASK);
+ System.out.println("Release Button");
+ rob.mouseRelease(InputEvent.BUTTON3_MASK);
+ System.out.println("done");
+ System.out.println("wait");
+ waitForEventIdle();
+ System.out.println("Press Button");
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ System.out.println("Release Button");
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ System.out.println("done "+rob.getAutoDelay());
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+
+
+ return true;
+ }
+
+ protected class MyListener implements XEnhancedMouseClickHandler {
+ public void disposing(
+ com.sun.star.lang.EventObject eventObject) {
+ }
+
+ public boolean mousePressed(
+ com.sun.star.awt.EnhancedMouseEvent enhancedMouseEvent) {
+ log.println("mousePressed");
+ mousePressed = true;
+
+ return true;
+ }
+
+ public boolean mouseReleased(
+ com.sun.star.awt.EnhancedMouseEvent enhancedMouseEvent) {
+ log.println("mouseReleased");
+ mouseReleased = true;
+
+ return true;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/sheet/_XRangeSelection.java b/qadevOOo/tests/java/ifc/sheet/_XRangeSelection.java
new file mode 100644
index 000000000..e2a2aa01c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/sheet/_XRangeSelection.java
@@ -0,0 +1,353 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.sheet;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XTopWindow;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.EventObject;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.RangeSelectionEvent;
+import com.sun.star.sheet.XRangeSelection;
+import com.sun.star.sheet.XRangeSelectionChangeListener;
+import com.sun.star.sheet.XRangeSelectionListener;
+import com.sun.star.uno.UnoRuntime;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.AccessibilityTools;
+
+/**
+ * Check the XRangeSelection interface.
+ */
+public class _XRangeSelection extends MultiMethodTest {
+ public XRangeSelection oObj = null;
+ MyRangeSelectionListener aListener = null;
+
+ @Override
+ public void before() {
+ aListener = new _XRangeSelection.MyRangeSelectionListener(log);
+ // workaround for i34499
+ XModel xModel = (XModel)tEnv.getObjRelation("FirstModel");
+ if (xModel == null)
+ throw new StatusException(Status.failed("Object relation FirstModel' not set."));
+ XWindow xWindow = xModel.getCurrentController().getFrame().getContainerWindow();
+ XTopWindow xTopWindow = UnoRuntime.queryInterface(XTopWindow.class, xWindow);
+ xTopWindow.toFront();
+ waitForEventIdle();
+ }
+
+
+ public void _abortRangeSelection() {
+ requiredMethod("removeRangeSelectionChangeListener()");
+ requiredMethod("removeRangeSelectionListener()");
+ oObj.abortRangeSelection();
+ tRes.tested("abortRangeSelection()", true);
+ }
+
+ public void _addRangeSelectionChangeListener() {
+ oObj.addRangeSelectionChangeListener(aListener);
+ tRes.tested("addRangeSelectionChangeListener()", true);
+ }
+
+ public void _addRangeSelectionListener() {
+ oObj.addRangeSelectionListener(aListener);
+ tRes.tested("addRangeSelectionListener()", true);
+ }
+
+ public void _removeRangeSelectionChangeListener() {
+ oObj.removeRangeSelectionChangeListener(aListener);
+ tRes.tested("removeRangeSelectionChangeListener()", true);
+ }
+
+ public void _removeRangeSelectionListener() {
+ oObj.removeRangeSelectionListener(aListener);
+ tRes.tested("removeRangeSelectionListener()", true);
+ }
+
+ public void _startRangeSelection() {
+ requiredMethod("addRangeSelectionChangeListener()");
+ requiredMethod("addRangeSelectionListener()");
+
+ // get the sheet center
+ Point center = getSheetCenter();
+ if (center == null)
+ throw new StatusException(Status.failed("Couldn't get the sheet center."));
+
+ PropertyValue[] props = new PropertyValue[3];
+ props[0] = new PropertyValue();
+ props[0].Name = "InitialValue";
+ props[0].Value = "B3:D5";
+ props[1] = new PropertyValue();
+ props[1].Name = "Title";
+ props[1].Value = "the title";
+ props[2] = new PropertyValue();
+ props[2].Name = "CloseOnMouseRelease";
+ props[2].Value = Boolean.FALSE;
+ oObj.startRangeSelection(props);
+ // wait for listeners
+ waitForEventIdle();
+
+ // get closer button: move if window covers the sheet center
+ Point closer = getCloser(center);
+ if (closer == null)
+ throw new StatusException(Status.failed("Couldn't get the close Button."));
+
+ // do something to trigger the listeners
+ clickOnSheet(center);
+ waitForEventIdle();
+
+ // click on closer
+ clickOnSheet(closer);
+ waitForEventIdle();
+
+ // open a new range selection
+ props[0].Value = "C4:E6";
+ oObj.startRangeSelection(props);
+ waitForEventIdle();
+ props[0].Value = "C2:E3";
+ oObj.startRangeSelection(props);
+ waitForEventIdle();
+
+ oObj.startRangeSelection(props);
+ waitForEventIdle();
+ oObj.abortRangeSelection();
+ aListener.reset();
+ System.out.println("Listener called: " + aListener.bAbortCalled);
+
+ tRes.tested("startRangeSelection()", aListener.listenerCalled());
+ }
+
+ /**
+ * Determine the current top window center and return this as a point.
+ * @return a point representing the sheet center.
+ */
+ protected Point getSheetCenter() {
+ log.println("Trying to get AccessibleSpreadsheet");
+
+ XComponent xSheetDoc = (XComponent) tEnv.getObjRelation("DOCUMENT");
+
+ XModel xModel = UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+ System.out.println("Name: " + xModel.getCurrentController().getFrame().getName());
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(xModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XAccessibleContext ctx = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE );
+
+ XAccessibleComponent AccessibleSpreadsheet = UnoRuntime.queryInterface(XAccessibleComponent.class,ctx);
+
+ log.println("Got " + util.utils.getImplName(AccessibleSpreadsheet));
+
+ Object toolkit = null;
+
+ try {
+ toolkit = tParam.getMSF().createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ XTopWindow tw = null;
+
+ int k = tk.getTopWindowCount();
+ for (int i=0;i<k;i++) {
+ try {
+ XTopWindow tw_temp = tk.getTopWindow(i);
+ XAccessible xacc = UnoRuntime.queryInterface(XAccessible.class, tw_temp);
+ if (xacc != null) {
+ if (xacc.getAccessibleContext().getAccessibleName().indexOf("d2")>0) {
+ tw=tw_temp;
+ }
+ } else {
+ log.println("\t unknown window");
+ }
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ if (tw == null) {
+ System.out.println("No TopWindow :-(");
+ return null;
+ }
+
+ Point point = AccessibleSpreadsheet.getLocationOnScreen();
+ Rectangle rect = AccessibleSpreadsheet.getBounds();
+ Point retPoint = new Point();
+ retPoint.X = point.X + (rect.Width / 2);
+ retPoint.Y = point.Y + (rect.Height / 2);
+ return retPoint;
+ }
+
+ /**
+ * Get the closer button on the right top of the current window.
+ * @return A point representing the closer button.
+ */
+ private Point getCloser(Point center) {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ Object aToolkit = null;
+ try {
+ aToolkit = xMSF.createInstance("com.sun.star.awt.Toolkit");
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not create 'com.sun.star.awt.Toolkit'.", e);
+ }
+ XExtendedToolkit xExtendedToolkit = UnoRuntime.queryInterface(XExtendedToolkit.class, aToolkit);
+ XTopWindow tw = null;
+
+ XAccessibleComponent xAccessibleComponent = null;
+ int k = xExtendedToolkit.getTopWindowCount();
+ for (int i=0;i<k;i++) {
+ try {
+ XTopWindow tw_temp = xExtendedToolkit.getTopWindow(i);
+ XAccessible xacc = UnoRuntime.queryInterface(XAccessible.class, tw_temp);
+ if (xacc != null) {
+ System.out.println("Name: " + xacc.getAccessibleContext().getAccessibleName());
+ if (xacc.getAccessibleContext().getAccessibleName().startsWith("the title")) {
+ tw = tw_temp;
+ XAccessibleContext xContext = xacc.getAccessibleContext();
+ xAccessibleComponent = UnoRuntime.queryInterface(XAccessibleComponent.class, xContext);
+ if (xAccessibleComponent == null)
+ System.out.println("!!!! MIST !!!!");
+ else
+ System.out.println("########## KLAPPT ########## ");
+ }
+ }
+ else {
+ log.println("\t unknown window");
+ }
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ if (tw == null) {
+ System.out.println("No TopWindow :-(");
+ return null;
+ }
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class, tw);
+ Rectangle posSize = xWindow.getPosSize();
+
+ // compare the center point with the dimensions of the current top window
+ boolean windowOK = false;
+ while(!windowOK) {
+ if (posSize.X <= center.X && center.X <= posSize.X + posSize.Width) {
+ if (posSize.Y <= center.Y && center.Y <= posSize.Y +posSize.Height) {
+ // move window out of the way
+ posSize.X = posSize.X + 10;
+ posSize.Y = posSize.Y +10;
+ xWindow.setPosSize(posSize.X, posSize.Y, posSize.Width, posSize.Height, PosSize.POS);
+ }
+ else {
+ windowOK = true;
+ }
+ }
+ else {
+ windowOK = true;
+ }
+
+ }
+
+ Point p = xAccessibleComponent.getLocationOnScreen();
+ Point closer = new Point();
+ closer.X = p.X + posSize.Width - 2;
+ closer.Y = p.Y + 5;
+ System.out.println("Closer: " + closer.X + " " + closer.Y);
+ return closer;
+ }
+
+ protected boolean clickOnSheet(Point point) {
+ log.println("Clicking in the center of the AccessibleSpreadsheet");
+
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(point.X, point.Y);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ waitForEventIdle();
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ waitForEventIdle();
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+
+ return true;
+ }
+
+ /**
+ *
+ */
+ public static class MyRangeSelectionListener implements XRangeSelectionListener, XRangeSelectionChangeListener {
+ boolean bAbortCalled = false;
+ boolean bChangeCalled = false;
+ boolean bDoneCalled = false;
+ PrintWriter log = null;
+
+ public MyRangeSelectionListener(PrintWriter log) {
+ this.log = log;
+ }
+
+ public void aborted(RangeSelectionEvent rangeSelectionEvent) {
+ log.println("Called 'aborted' with: " + rangeSelectionEvent.RangeDescriptor);
+ bAbortCalled = true;
+ }
+
+ public void descriptorChanged(RangeSelectionEvent rangeSelectionEvent) {
+ log.println("Called 'descriptorChanged' with: " + rangeSelectionEvent.RangeDescriptor);
+ bChangeCalled = true;
+ }
+
+ public void done(RangeSelectionEvent rangeSelectionEvent) {
+ log.println("Called 'done' with: " + rangeSelectionEvent.RangeDescriptor);
+ bDoneCalled = true;
+ }
+
+ public boolean listenerCalled() {
+ return bAbortCalled & bChangeCalled & bDoneCalled;
+ }
+
+ public void reset() {
+ bAbortCalled = false;
+ bChangeCalled = false;
+ bDoneCalled = false;
+ }
+
+ /**
+ * ignore disposing
+ * @param eventObject The event.
+ */
+ public void disposing(EventObject eventObject) {
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/style/_CharacterProperties.java b/qadevOOo/tests/java/ifc/style/_CharacterProperties.java
new file mode 100644
index 000000000..fea9da4e4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_CharacterProperties.java
@@ -0,0 +1,537 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+import java.util.HashMap;
+import java.util.Iterator;
+
+import lib.MultiPropertyTest;
+import util.ValueChanger;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+
+
+/**
+* Testing <code>com.sun.star.style.CharacterProperties</code>
+* service properties :
+* <ul>
+* <li><code> CharFontName</code></li>
+* <li><code> CharFontStyleName</code></li>
+* <li><code> CharFontFamily</code></li>
+* <li><code> CharFontCharSet</code></li>
+* <li><code> CharFontPitch</code></li>
+* <li><code> CharColor</code></li>
+* <li><code> CharEscapement</code></li>
+* <li><code> CharHeight</code></li>
+* <li><code> CharUnderline</code></li>
+* <li><code> CharWeight</code></li>
+* <li><code> CharPosture</code></li>
+* <li><code> CharAutoKerning</code></li>
+* <li><code> CharBackColor</code></li>
+* <li><code> CharBackTransparent</code></li>
+* <li><code> CharCaseMap</code></li>
+* <li><code> CharCrossedOut</code></li>
+* <li><code> CharFlash</code></li>
+* <li><code> CharStrikeout</code></li>
+* <li><code> CharWordMode</code></li>
+* <li><code> CharKerning</code></li>
+* <li><code> CharLocale</code></li>
+* <li><code> CharKeepTogether</code></li>
+* <li><code> CharNoLineBreak</code></li>
+* <li><code> CharShadowed</code></li>
+* <li><code> CharFontType</code></li>
+* <li><code> CharStyleName</code></li>
+* <li><code> CharContoured</code></li>
+* <li><code> CharCombineIsOn</code></li>
+* <li><code> CharCombinePrefix</code></li>
+* <li><code> CharCombineSuffix</code></li>
+* <li><code> CharEmphasize</code></li>
+* <li><code> CharRelief</code></li>
+* <li><code> RubyText</code></li>
+* <li><code> RubyAdjust</code></li>
+* <li><code> RubyCharStyleName</code></li>
+* <li><code> RubyIsAbove</code></li>
+* <li><code> CharRotation</code></li>
+* <li><code> CharRotationIsFitToLine</code></li>
+* <li><code> CharScaleWidth</code></li>
+* <li><code> HyperLinkURL</code></li>
+* <li><code> HyperLinkTarget</code></li>
+* <li><code> HyperLinkName</code></li>
+* <li><code> TextUserDefinedAttributes</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'PARA'</code>: <b>optional</b>
+* (must implement <code>XPropertySet</code>):
+* if this relation is specified then some properties
+* testing is performed in a special manner. (e.g. this used in
+* <code>sw.SwXParagraph</code> component) For details
+* see {@link #changeProp} method description. </li>
+* <li> <code>'PORTION'</code>: <b>optional</b>
+* (must implement <code>XPropertySet</code>):
+* if this relation is specified then some properties
+* testing is performed in a special manner. (e.g. this used in
+* <code>sw.SwXParagraph</code> component) For details
+* see {@link #changeProp} method description. </li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.CharacterProperties
+*/
+public class _CharacterProperties extends MultiPropertyTest {
+
+ public void _CharFontName() {
+ testProperty("CharFontName", "Times New Roman", "Arial") ;
+ }
+
+ public void _CharHeight() {
+ testProperty("CharHeight", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object old) {
+ if (utils.isVoid(old)) {
+ return new Float(10) ;
+ } else {
+ return new Float(((Float) old).floatValue() + 10) ;
+ }
+ }
+ }) ;
+ }
+
+ /**
+ * Custom tester for properties which contains image URLs.
+ * Switches between two JPG images' URLs.
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals("http://www.sun.com"))
+ return "http://www.openoffice.org"; else
+ return "http://www.sun.com";
+ }
+ } ;
+
+ public void _HyperLinkURL() {
+ testProperty("HyperLinkURL", URLTester) ;
+ }
+
+ public void _HyperLinkName() {
+ testProperty("HyperLinkName", URLTester) ;
+ }
+
+ public void _HyperLinkTarget() {
+ testProperty("HyperLinkTarget", URLTester) ;
+ }
+
+ public void _CharWeight() {
+ testProperty("CharWeight", new Float(com.sun.star.awt.FontWeight.BOLD),
+ new Float(com.sun.star.awt.FontWeight.THIN)) ;
+ }
+
+ public void _CharPosture() {
+ testProperty("CharPosture", com.sun.star.awt.FontSlant.ITALIC,
+ com.sun.star.awt.FontSlant.NONE) ;
+ }
+
+ /**
+ * Custom tester for style name properties. If object relations "STYLENAME1"
+ * and "STYLENAME2" exists, then testing with these strings, else switches
+ * between 'Citation' and 'Emphasis' names.
+ */
+ protected PropertyTester StyleTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ String oStyleName1 = (String) tEnv.getObjRelation("STYLENAME1");
+ String oStyleName2 = (String) tEnv.getObjRelation("STYLENAME2");
+ if ((oStyleName1 != null) && (oStyleName2 != null)){
+ log.println("use strings given by object relation: '"
+ + oStyleName1 + "' '" + oStyleName2 +"'");
+ if (oldValue.equals( oStyleName1))
+ return oStyleName2;
+ else
+ return oStyleName1;
+ }
+ if (utils.isVoid(oldValue) || (oldValue.equals("Standard")))
+ return "Example"; else
+ return "Emphasis";
+ }
+ } ;
+
+ /**
+ * Custom tester for style names properties. Switches between
+ * 'Citation' and 'Emphasis' names.
+ */
+ protected PropertyTester StylesTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (utils.isVoid(oldValue) || (oldValue.equals("Standard")))
+ return new String[] {"Citation"}; else
+ return new String[] {"Emphasis"};
+ }
+ } ;
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _CharStyleName() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("CharStyleName", StyleTester) ;
+ } else {
+ changeProp((XPropertySet) oPara,
+ (XPropertySet) oPort,"CharStyleName","Standard");
+ }
+ }
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _CharStyleNames() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("CharStyleNames", StylesTester) ;
+ } else {
+ changeProp((XPropertySet) oPara,
+ (XPropertySet) oPort,"CharStyleNames",new String[] {"Standard"});
+ }
+ }
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _RubyCharStyleName() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("RubyCharStyleName", StyleTester) ;
+ } else {
+ changeProp((XPropertySet) oPara, (XPropertySet)
+ oPort,"RubyCharStyleName","Standard");
+ }
+ }
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _RubyAdjust() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("RubyAdjust",Short.valueOf((short)0),Short.valueOf((short)1));
+ } else {
+ Short aShort = Short.valueOf((short) 1);
+ changeProp((XPropertySet) oPara,
+ (XPropertySet) oPort,"RubyAdjust", aShort);
+ }
+ }
+
+ /**
+ * Custom tester for the ruby text property.
+ */
+ protected PropertyTester RubyTextTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (utils.isVoid(oldValue)) {
+ return "RubyText";
+ } else {
+ return ValueChanger.changePValue(oldValue);
+ }
+ }
+ } ;
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _RubyText() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("RubyText", RubyTextTester) ;
+ } else {
+ changeProp((XPropertySet) oPara, (XPropertySet) oPort,
+ "RubyText","");
+ }
+ }
+
+ /**
+ * If relations for paragraph and portion exist, then testing
+ * of this property performed using these objects, else
+ * testing is performed in common way.
+ */
+ public void _RubyIsAbove() {
+ log.println("Testing with custom Property tester") ;
+ Object oPara = tEnv.getObjRelation("PARA");
+ Object oPort = tEnv.getObjRelation("PORTION");
+ if (oPara == null) {
+ testProperty("RubyIsAbove") ;
+ } else {
+ changeProp((XPropertySet) oPara, (XPropertySet) oPort,
+ "RubyIsAbove",Boolean.TRUE);
+ }
+ }
+
+ /**
+ * This property only takes values between 0..100
+ * so it must be treated specially
+ */
+ public void _CharEscapementHeight() {
+ Byte aByte = Byte.valueOf((byte)75);
+ Byte max = Byte.valueOf((byte)100);
+ testProperty("CharEscapementHeight", aByte, max) ;
+ }
+
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _CharRotation() {
+ Short aShort = Short.valueOf((short) 10);
+ changeProp(oObj,oObj, "CharRotation", aShort);
+ }
+
+ /**
+ * Tests the property specified by <code>name</code> using
+ * property set <code>oProps</code>, but value after setting
+ * this property to a new value is checked using another
+ * PropertySet <code>get</code>. Special cases used for
+ * <code>CharRotation</code> property (it can have only certain values
+ * 0, 900, ...), and for <code>*StyleName</code> properties
+ * (only existing style names are accepted)
+ * @param oProps PropertySet from which property value is get
+ * changed and set.
+ * @param get PropertySet where property value is checked after
+ * setting.
+ * @param name Property name to test.
+ * @param newVal Value used to set as new property value if
+ * the value get is null.
+ */
+ public void changeProp(XPropertySet oProps,
+ XPropertySet get,String name, Object newVal) {
+
+ Object gValue = null;
+ Object sValue = null;
+ Object ValueToSet = null;
+
+ try {
+ gValue = oProps.getPropertyValue(name);
+
+ if ( (gValue == null) || (utils.isVoid(gValue)) ) {
+ log.println("Value for "+name+" is NULL");
+ gValue = newVal;
+ }
+
+ if (name.equals("CharRotation")) {
+ Short s1 = Short.valueOf((short) 0);
+ Short s2 = Short.valueOf((short) 900);
+ if (gValue.equals(s1)) {
+ ValueToSet = s2;
+ } else {
+ ValueToSet = s1;
+ }
+ } else {
+ ValueToSet = ValueChanger.changePValue(gValue);
+ }
+ if (name.endsWith("StyleName")) {
+ if ( ((String) gValue).equals("Standard") ) {
+ ValueToSet="Main index entry";
+ }
+ else {
+ ValueToSet="Emphasis";
+ }
+ }
+
+ oProps.setPropertyValue(name,ValueToSet);
+ sValue = get.getPropertyValue(name);
+ if (sValue == null) {
+ log.println("Value for "+name+" is NULL after setting");
+ sValue = gValue;
+ }
+
+ //check get-set methods
+ if (gValue.equals(sValue)) {
+ log.println("Value for '"+name+"' hasn't changed");
+ tRes.tested(name, false);
+ } else {
+ log.println("Property '"+name+"' OK");
+ log.println("old: "+gValue.toString());
+ log.println("new: "+ValueToSet.toString());
+ log.println("result: "+sValue.toString());
+ tRes.tested(name, true);
+ }
+ }
+ catch (com.sun.star.beans.UnknownPropertyException ex) {
+ if (isOptional(name)) {
+ log.println("Property '"+name+
+ "' is optional and not supported");
+ tRes.tested(name,true);
+ }
+ else {
+ log.println("Exception occurred while testing property '" +
+ name + "'");
+ ex.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occurred while testing property '" +
+ name + "'");
+ e.printStackTrace(log);
+ tRes.tested(name, false);
+ }
+ }// end of changeProp
+
+ public void _TextUserDefinedAttributes() {
+ XNameContainer uda = null;
+ boolean res = false;
+
+ try {
+ try{
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("TextUserDefinedAttributes"));
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("TextUserDefinedAttributes is empty.");
+ uda = new _CharacterProperties.OwnUserDefinedAttributes();
+ }
+ AttributeData attr = new AttributeData();
+ attr.Namespace = "http://www.sun.com/staroffice/apitest/Cellprop";
+ attr.Type = "CDATA";
+ attr.Value = "true";
+ uda.insertByName("Cellprop:has-first-alien-attribute", attr);
+
+ uda.getElementNames();
+ oObj.setPropertyValue("TextUserDefinedAttributes", uda);
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("TextUserDefinedAttributes"));
+ uda.getElementNames();
+
+ uda.getByName("Cellprop:has-first-alien-attribute");
+ res = true;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ if (isOptional("TextUserDefinedAttributes")) {
+ log.println("Property is optional and not supported");
+ res = true;
+ } else {
+ log.println("Don't know the Property 'TextUserDefinedAttributes'");
+ }
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println(
+ "WrappedTargetException while getting Property 'TextUserDefinedAttributes'");
+ } catch (com.sun.star.container.NoSuchElementException nee) {
+ log.println("added Element isn't part of the NameContainer");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println(
+ "IllegalArgumentException while getting Property 'TextUserDefinedAttributes'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println(
+ "PropertyVetoException while getting Property 'TextUserDefinedAttributes'");
+ } catch (com.sun.star.container.ElementExistException eee) {
+ log.println(
+ "ElementExistException while getting Property 'TextUserDefinedAttributes'");
+ }
+
+ tRes.tested("TextUserDefinedAttributes", res);
+ }
+
+ private static class OwnUserDefinedAttributes implements XNameContainer{
+ HashMap<String, Object> members = null;
+
+
+ public OwnUserDefinedAttributes() {
+ members = new HashMap<String, Object>();
+ }
+
+ public Object getByName(String str) throws com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ return members.get(str);
+ }
+
+ public String[] getElementNames() {
+ Iterator<String> oEnum = members.keySet().iterator();
+ int count = members.size();
+ String[] res = new String[count];
+ int i=0;
+ while(oEnum.hasNext()) {
+ res[i++] = oEnum.next();
+ }
+ return res;
+ }
+
+ public com.sun.star.uno.Type getElementType() {
+ Iterator<String> oEnum = members.keySet().iterator();
+ String key = oEnum.next();
+ Object o = members.get(key);
+ return new Type(o.getClass());
+ }
+
+ public boolean hasByName(String str) {
+ return members.get(str) != null;
+ }
+
+ public boolean hasElements() {
+ return members.size() > 0;
+ }
+
+ public void insertByName(String str, Object obj) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.container.ElementExistException, com.sun.star.lang.WrappedTargetException {
+ members.put(str, obj);
+ }
+
+ public void removeByName(String str) throws com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ members.remove(str);
+ }
+
+ public void replaceByName(String str, Object obj) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ members.put(str, obj);
+ }
+
+ }
+
+} //finish class _CharacterProperties
+
diff --git a/qadevOOo/tests/java/ifc/style/_CharacterPropertiesAsian.java b/qadevOOo/tests/java/ifc/style/_CharacterPropertiesAsian.java
new file mode 100644
index 000000000..96578c3bc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_CharacterPropertiesAsian.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.awt.FontSlant;
+import com.sun.star.awt.FontWeight;
+
+/**
+* Testing <code>com.sun.star.style.CharacterPropertiesAsian</code>
+* service properties :
+* <ul>
+* <li><code> CharHeightAsian</code></li>
+* <li><code> CharWeightAsian</code></li>
+* <li><code> CharFontNameAsian</code></li>
+* <li><code> CharFontStyleNameAsian</code></li>
+* <li><code> CharFontFamilyAsian</code></li>
+* <li><code> CharFontCharSetAsian</code></li>
+* <li><code> CharFontPitchAsian</code></li>
+* <li><code> CharPostureAsian</code></li>
+* <li><code> CharLocaleAsian</code></li>
+* <li><code> ParaIsCharacterDistance</code></li>
+* <li><code> ParaIsForbiddenRules</code></li>
+* <li><code> ParaIsHangingPunctuation</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.CharacterPropertiesAsian
+*/
+public class _CharacterPropertiesAsian extends MultiPropertyTest {
+
+ public void _CharPostureAsian() {
+ testProperty("CharPostureAsian", FontSlant.NONE, FontSlant.ITALIC);
+ }
+
+ public void _CharWeightAsian() {
+ testProperty("CharWeightAsian", new Float(FontWeight.NORMAL),
+ new Float(FontWeight.BOLD));
+ }
+
+ public void _ParaIsCharacterDistance() {
+ testProperty("ParaIsCharacterDistance", Boolean.TRUE, Boolean.FALSE);
+ }
+
+ public void _ParaIsForbiddenRules() {
+ testProperty("ParaIsForbiddenRules", Boolean.TRUE, Boolean.FALSE);
+ }
+
+ public void _ParaIsHangingPunctuation() {
+ testProperty("ParaIsHangingPunctuation", Boolean.TRUE, Boolean.FALSE);
+ }
+} //finish class _CharacterPropertiesAsian
diff --git a/qadevOOo/tests/java/ifc/style/_CharacterPropertiesComplex.java b/qadevOOo/tests/java/ifc/style/_CharacterPropertiesComplex.java
new file mode 100644
index 000000000..2582ff8c5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_CharacterPropertiesComplex.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.style.CharacterPropertiesComplex</code>
+* service properties :
+* <ul>
+* <li><code> CharHeightComplex</code></li>
+* <li><code> CharWeightComplex</code></li>
+* <li><code> CharFontNameComplex</code></li>
+* <li><code> CharFontStyleNameComplex</code></li>
+* <li><code> CharFontFamilyComplex</code></li>
+* <li><code> CharFontCharSetComplex</code></li>
+* <li><code> CharFontPitchComplex</code></li>
+* <li><code> CharPostureComplex</code></li>
+* <li><code> CharLocaleComplex</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.CharacterPropertiesComplex
+*/
+public class _CharacterPropertiesComplex extends MultiPropertyTest {
+
+ public void _CharWeightComplex() {
+ testProperty("CharWeightComplex", new Float(com.sun.star.awt.FontWeight.BOLD),
+ new Float(com.sun.star.awt.FontWeight.THIN)) ;
+ }
+
+ public void _CharPostureComplex() {
+ testProperty("CharPostureComplex", com.sun.star.awt.FontSlant.ITALIC,
+ com.sun.star.awt.FontSlant.NONE) ;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} //finish class _CharacterPropertiesComplex
+
diff --git a/qadevOOo/tests/java/ifc/style/_CharacterStyle.java b/qadevOOo/tests/java/ifc/style/_CharacterStyle.java
new file mode 100644
index 000000000..b694ecc15
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_CharacterStyle.java
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.style.CharacterStyle</code>
+* service properties :
+* <ul>
+* <li><code> CharDiffHeight</code></li>
+* <li><code> CharPropHeight</code></li>
+* <li><code> CharDiffHeightAsian</code></li>
+* <li><code> CharPropHeightAsian</code></li>
+* <li><code> CharDiffHeightComplex</code></li>
+* <li><code> CharPropHeightComplex</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.CharacterStyle
+*/
+public class _CharacterStyle extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/style/_PageProperties.java b/qadevOOo/tests/java/ifc/style/_PageProperties.java
new file mode 100644
index 000000000..f8896c6d4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_PageProperties.java
@@ -0,0 +1,117 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+import lib.MultiPropertyTest;
+
+/**
+ * Test page properties.
+ * Testing is done by lib.MultiPropertyTest, except for properties
+ * <ul>
+ * <li>PrinterPaperTray</li>
+ * <li>UserDefinedAttributes</li>
+ * </ul>
+ */
+public class _PageProperties extends MultiPropertyTest {
+
+ /**
+ * Switch on Header and Footer properties
+ * so all props can be tested.
+ */
+ @Override
+ protected void before() {
+ try {
+ oObj.setPropertyValue("HeaderIsOn", Boolean.TRUE);
+ oObj.setPropertyValue("FooterIsOn", Boolean.TRUE);
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Don't know the Property 'HeaderIsOn' or 'FooterIsOn'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while setting Property 'HeaderIsOn' or 'FooterIsOn'");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("IllegalArgumentException while setting Property 'HeaderIsOn' or 'FooterIsOn'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException while setting Property 'HeaderIsOn' or 'FooterIsOn'");
+ }
+ }
+
+ /**
+ * This property is system dependent and printer dependent.
+ * So only reading it does make sense, since it cannot be determined, if
+ * it is set to an allowed value.
+ */
+ public void _PrinterPaperTray() {
+ boolean res = false;
+ String setting = null;
+ try {
+ setting = (String)oObj.getPropertyValue("PrinterPaperTray");
+ log.println("Property 'PrinterPaperTray' is set to '" + setting + "'.");
+ res = setting != null;
+ }
+ catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Don't know the Property 'PrinterPaperTray'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while getting Property 'PrinterPaperTray'");
+ }
+ tRes.tested("PrinterPaperTray", res);
+ }
+
+ /**
+ * Create some valid user defined attributes
+ */
+ public void _UserDefinedAttributes() {
+ XNameContainer uda = null;
+ boolean res = false;
+ try {
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ AttributeData attr = new AttributeData();
+ attr.Namespace = "http://www.sun.com/staroffice/apitest/Cellprop";
+ attr.Type="CDATA";
+ attr.Value="true";
+ uda.insertByName("Cellprop:has-first-alien-attribute",attr);
+ uda.getElementNames();
+ oObj.setPropertyValue("UserDefinedAttributes",uda);
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ uda.getElementNames();
+ uda.getByName("Cellprop:has-first-alien-attribute");
+ res = true;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Don't know the Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.NoSuchElementException nee) {
+ log.println("added Element isn't part of the NameContainer");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("IllegalArgumentException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.ElementExistException eee) {
+ log.println("ElementExistException while getting Property 'UserDefinedAttributes'");
+ }
+ tRes.tested("UserDefinedAttributes",res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/style/_PageStyle.java b/qadevOOo/tests/java/ifc/style/_PageStyle.java
new file mode 100644
index 000000000..49d0de3a1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_PageStyle.java
@@ -0,0 +1,28 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+/**
+ * Test page style properties.
+ * These properties are a subset of the PageProperties. So just use the
+ * PageProperties test
+ */
+public class _PageStyle extends _PageProperties {
+
+}
diff --git a/qadevOOo/tests/java/ifc/style/_ParagraphProperties.java b/qadevOOo/tests/java/ifc/style/_ParagraphProperties.java
new file mode 100644
index 000000000..aa3b173f5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_ParagraphProperties.java
@@ -0,0 +1,456 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.style;
+
+import ifc.text._NumberingLevel;
+
+import java.util.HashMap;
+
+import lib.MultiPropertyTest;
+import share.LogWriter;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.UnknownPropertyException;
+import com.sun.star.container.XIndexReplace;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+
+
+/**
+* Testing <code>com.sun.star.style.ParagraphProperties</code>
+* service properties :
+* <ul>
+* <li><code> ParaAdjust</code></li>
+* <li><code> ParaLineSpacing</code></li>
+* <li><code> ParaBackColor</code></li>
+* <li><code> ParaBackTransparent</code></li>
+* <li><code> ParaBackGraphicURL</code></li>
+* <li><code> ParaBackGraphicFilter</code></li>
+* <li><code> ParaBackGraphicLocation</code></li>
+* <li><code> ParaLastLineAdjust</code></li>
+* <li><code> ParaExpandSingleWord</code></li>
+* <li><code> ParaLeftMargin</code></li>
+* <li><code> ParaRightMargin</code></li>
+* <li><code> ParaTopMargin</code></li>
+* <li><code> ParaBottomMargin</code></li>
+* <li><code> ParaLineNumberCount</code></li>
+* <li><code> ParaLineNumberStartValue</code></li>
+* <li><code> ParaIsHyphenation</code></li>
+* <li><code> PageDescName</code></li>
+* <li><code> PageNumberOffset</code></li>
+* <li><code> ParaRegisterModeActive</code></li>
+* <li><code> ParaTabStops</code></li>
+* <li><code> ParaStyleName</code></li>
+* <li><code> DropCapFormat</code></li>
+* <li><code> DropCapWholeWord</code></li>
+* <li><code> ParaKeepTogether</code></li>
+* <li><code> ParaSplit</code></li>
+* <li><code> NumberingLevel</code></li>
+* <li><code> NumberingRules</code></li>
+* <li><code> NumberingStartValue</code></li>
+* <li><code> ParaIsNumberingRestart</code></li>
+* <li><code> NumberingStyleName</code></li>
+* <li><code> ParaOrphans</code></li>
+* <li><code> ParaWidows</code></li>
+* <li><code> ParaShadowFormat</code></li>
+* <li><code> IsHangingPunctuation</code></li>
+* <li><code> IsCharacterDistance</code></li>
+* <li><code> IsForbiddenRules</code></li>
+* <li><code> LeftBorder</code></li>
+* <li><code> RightBorder</code></li>
+* <li><code> TopBorder</code></li>
+* <li><code> BottomBorder</code></li>
+* <li><code> BorderDistance</code></li>
+* <li><code> LeftBorderDistance</code></li>
+* <li><code> RightBorderDistance</code></li>
+* <li><code> TopBorderDistance</code></li>
+* <li><code> BottomBorderDistance</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'NRULES'</code> : <b>optional</b>
+* (service <code>com.sun.star.text.NumberingRules</code>):
+* instance of the service which can be set as 'NumberingRules'
+* property new value. If the relation doesn't then two
+* different <code>NumberingRules</code> objects are tried
+* to be obtained by setting different 'NumberingStyleName'
+* property styles and getting 'NumberingRules' property values.</li>
+* <ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.ParagraphProperties
+*/
+public class _ParagraphProperties extends MultiPropertyTest {
+ /**
+ * Custom tester for numbering style properties. Switches between
+ * 'Numbering 123' and 'Numbering ABC' styles.
+ */
+ protected PropertyTester NumberingStyleTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if ((oldValue != null) && (oldValue.equals("Numbering 123"))) {
+ return "Numbering ABC";
+ } else {
+ return "Numbering 123";
+ }
+ }
+ };
+
+ /**
+ * Custom tester for paragraph style properties. Switches between
+ * 'Salutation' and 'Heading' styles.
+ */
+ protected PropertyTester charStyleTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (!utils.isVoid(oldValue) && (oldValue.equals("Example"))) {
+ return "Emphasis";
+ } else {
+ return "Example";
+ }
+ }
+ };
+
+ /**
+ * Custom tester for paragraph style properties. Switches between
+ * 'Salutation' and 'Heading' styles.
+ */
+ protected PropertyTester ParaStyleTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (!utils.isVoid(oldValue) && (oldValue.equals("Heading"))) {
+ return "Salutation";
+ } else {
+ return "Heading";
+ }
+ }
+ };
+
+ /**
+ * Custom tester for PageDescName properties. Switches between
+ * 'HTML' and 'Standard' descriptor names.
+ */
+ protected PropertyTester PageDescTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (!util.utils.isVoid(oldValue) &&
+ (oldValue.equals("Default"))) {
+ return "HTML";
+ } else {
+ return "Default";
+ }
+ }
+ };
+
+ /**
+ * Custom tester for properties which have <code>short</code> type
+ * and can be void, so if they have void value, the new value must
+ * be specified. Switches between two different values.
+ */
+ protected PropertyTester ShortTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ((oldValue != null) &&
+ (oldValue.equals(Short.valueOf((short) 0)))) {
+ return Short.valueOf((short) 2);
+ } else {
+ return Short.valueOf((short) 0);
+ }
+ }
+ };
+
+ /**
+ * Custom tester for properties which have <code>boolean</code> type
+ * and can be void, so if they have void value, the new value must
+ * be specified. Switches between true and false.
+ */
+ protected PropertyTester BooleanTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ((oldValue != null) &&
+ (oldValue.equals(Boolean.FALSE))) {
+ return Boolean.TRUE;
+ } else {
+ return Boolean.FALSE;
+ }
+ }
+ };
+
+ /**
+ * Custom tester for properties which contains image URLs.
+ * Switches between two JPG images' URLs.
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getFullTestURL("space-metal.jpg"))) {
+ return util.utils.getFullTestURL("crazy-blue.jpg");
+ } else {
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ }
+ };
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _NumberingStyleName() {
+ log.println("Testing with custom Property tester");
+ testProperty("NumberingStyleName", NumberingStyleTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _DropCapCharStyleName() {
+ log.println("Testing with custom Property tester");
+ testProperty("DropCapCharStyleName", charStyleTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaStyleName() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaStyleName", ParaStyleTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _PageDescName() {
+ log.println("Testing with custom Property tester");
+ testProperty("PageDescName", PageDescTester);
+ }
+
+ /**
+ * Tested with custom property tester. Before testing property
+ * <code>ParaAdjust</code> is setting to value <code>BLOCK</code>
+ * because setting the property <code>ParaLastLineAdjust</code>
+ * makes sense only in this case.
+ */
+ public void _ParaLastLineAdjust() {
+ log.println("Testing with custom Property tester");
+
+ try {
+ oObj.setPropertyValue("ParaAdjust",
+ com.sun.star.style.ParagraphAdjust.BLOCK);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred setting property 'ParagraphAdjust'" + e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred setting property 'ParagraphAdjust'" + e);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception occurred setting property 'ParagraphAdjust'" + e);
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception occurred setting property 'ParagraphAdjust'" + e);
+ }
+
+ testProperty("ParaLastLineAdjust", ShortTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaBackGraphicURL() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaBackGraphicURL", URLTester);
+ }
+
+ /**
+ * Tested with custom property tester. <p>
+ * The following property tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> NumberingStyleName </code> : a numbering style must
+ * be set before testing this property </li>
+ * </ul>
+ */
+ public void _NumberingLevel() {
+ requiredMethod("NumberingStyleName");
+ log.println("Testing with custom Property tester");
+ testProperty("NumberingLevel", ShortTester);
+ }
+
+ /**
+ * Tested with custom property tester. <p>
+ */
+ public void _ParaIsConnectBorder() {
+
+ log.println("Testing with custom Property tester");
+ testProperty("ParaIsConnectBorder", BooleanTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaVertAlignment() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaVertAlignment", ShortTester);
+ }
+
+ /**
+ * Tested with com.sun.star.text.NumberingLevel <p>
+ * The value of this property is a com.sun.star.container.XIndexReplace which is represented by
+ * com.sun.star.text.NumberingLevel.
+ * The following property tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> NumberingStyleName </code> : a numbering style must
+ * be set before testing this property </li>
+ * </ul>
+ * @see com.sun.star.text.NumberlingLevel
+ * @see com.sun.star.container.XIndexReplace
+ * @see ifc.text._NumberingLevel
+ */
+ public void _NumberingRules() {
+ requiredMethod("NumberingStyleName");
+
+ XIndexReplace NumberingRules = null;
+ PropertyValue[] propertyValues = null;
+ try {
+ NumberingRules = (XIndexReplace) AnyConverter.toObject(
+ new Type(XIndexReplace.class), oObj.getPropertyValue("NumberingRules"));
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("could not get NumberingRules: "+ ex.toString() );
+ return;
+ } catch (UnknownPropertyException ex) {
+ log.println( "could not get NumberingRules: "+ ex.toString() );
+ return;
+ } catch (WrappedTargetException ex) {
+ log.println( "could not get NumberingRules: "+ ex.toString() );
+ return;
+ }
+ try {
+ propertyValues = (PropertyValue[]) NumberingRules.getByIndex(0);
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println( "could not get NumberlingLevel-Array from NumberingRules: "+ ex.toString() );
+ return;
+ } catch (WrappedTargetException ex) {
+ log.println( "could not get NumberlingLevel-Array from NumberingRules: "+ ex.toString() );
+ return;
+ }
+
+ _NumberingLevel numb = new _NumberingLevel((LogWriter)log, tParam, propertyValues);
+
+ boolean result = numb.testPropertyArray();
+
+ tRes.tested("NumberingRules", result);
+ }
+
+ public void _ParaUserDefinedAttributes() {
+ XNameContainer uda = null;
+ boolean res = false;
+
+ try {
+ try{
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("ParaUserDefinedAttributes"));
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("ParaUserDefinedAttributes is empty.");
+ uda = new _ParagraphProperties.OwnUserDefinedAttributes();
+ }
+ AttributeData attr = new AttributeData();
+ attr.Namespace = "http://www.sun.com/staroffice/apitest/Cellprop";
+ attr.Type = "CDATA";
+ attr.Value = "true";
+ uda.insertByName("Cellprop:has-first-alien-attribute", attr);
+
+ uda.getElementNames();
+ oObj.setPropertyValue("ParaUserDefinedAttributes", uda);
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("ParaUserDefinedAttributes"));
+ uda.getElementNames();
+
+ uda.getByName("Cellprop:has-first-alien-attribute");
+ res = true;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ if (isOptional("ParaUserDefinedAttributes")) {
+ log.println("Property is optional and not supported");
+ res = true;
+ } else {
+ log.println("Don't know the Property 'ParaUserDefinedAttributes'");
+ }
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println(
+ "WrappedTargetException while getting Property 'ParaUserDefinedAttributes'");
+ } catch (com.sun.star.container.NoSuchElementException nee) {
+ log.println("added Element isn't part of the NameContainer");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println(
+ "IllegalArgumentException while getting Property 'ParaUserDefinedAttributes'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println(
+ "PropertyVetoException while getting Property 'ParaUserDefinedAttributes'");
+ } catch (com.sun.star.container.ElementExistException eee) {
+ log.println(
+ "ElementExistException while getting Property 'ParaUserDefinedAttributes'");
+ }
+
+ tRes.tested("ParaUserDefinedAttributes", res);
+ }
+
+ private static class OwnUserDefinedAttributes implements XNameContainer{
+ HashMap<String, Object> members = null;
+
+
+ public OwnUserDefinedAttributes() {
+ members = new HashMap<String, Object>();
+ }
+
+ public Object getByName(String str) throws com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ return members.get(str);
+ }
+
+ public String[] getElementNames() {
+ java.util.Set<String> keySet = members.keySet();
+ return keySet.toArray(new String[keySet.size()]);
+ }
+
+ public com.sun.star.uno.Type getElementType() {
+ String key = members.keySet().iterator().next();
+ Object o = members.get(key);
+ return new Type(o.getClass());
+ }
+
+ public boolean hasByName(String str) {
+ return members.get(str) != null;
+ }
+
+ public boolean hasElements() {
+ return members.size() > 0;
+ }
+
+ public void insertByName(String str, Object obj) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.container.ElementExistException, com.sun.star.lang.WrappedTargetException {
+ members.put(str, obj);
+ }
+
+ public void removeByName(String str) throws com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ members.remove(str);
+ }
+
+ public void replaceByName(String str, Object obj) throws com.sun.star.lang.IllegalArgumentException, com.sun.star.container.NoSuchElementException, com.sun.star.lang.WrappedTargetException {
+ members.put(str, obj);
+ }
+
+ }
+} // finish class _ParagraphProperties
diff --git a/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesAsian.java b/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesAsian.java
new file mode 100644
index 000000000..9c2faafa0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesAsian.java
@@ -0,0 +1,78 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.style.ParagraphPropertiesAsian</code>
+* service properties :
+* <ul>
+* <li><code> ParaIsHangingPunctuation </code></li>
+* <li><code> ParaIsCharacterDistance </code></li>
+* <li><code> ParaIsForbiddenRules </code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.ParagraphProperties
+*/
+public class _ParagraphPropertiesAsian extends MultiPropertyTest {
+ /**
+ * Custom tester for properties which have <code>boolean</code> type
+ * and can be void, so if they have void value, the new value must
+ * be specified. Switches between true and false.
+ */
+ protected PropertyTester BooleanTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ((oldValue != null) &&
+ (oldValue.equals(Boolean.FALSE))) {
+ return Boolean.TRUE;
+ } else {
+ return Boolean.FALSE;
+ }
+ }
+ };
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaIsHangingPunctuation() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaIsHangingPunctuation", BooleanTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaIsCharacterDistance() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaIsCharacterDistance", BooleanTester);
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ParaIsForbiddenRules() {
+ log.println("Testing with custom Property tester");
+ testProperty("ParaIsForbiddenRules", BooleanTester);
+ }
+
+
+} // finish class _ParagraphProperties
+
diff --git a/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesComplex.java b/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesComplex.java
new file mode 100644
index 000000000..09c00af10
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_ParagraphPropertiesComplex.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.style.ParagraphPropertiesComplex</code>
+*
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.ParagraphPropertiesComplex
+*/
+public class _ParagraphPropertiesComplex extends MultiPropertyTest {
+
+
+ protected PropertyTester WritingModeTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ((oldValue != null) && (oldValue.equals(Short.valueOf(com.sun.star.text.WritingMode2.LR_TB))))
+ return Short.valueOf(com.sun.star.text.WritingMode2.PAGE); else
+ return Short.valueOf(com.sun.star.text.WritingMode2.LR_TB);
+ }
+ } ;
+
+ public void _WritingMode() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("WritingMode", WritingModeTester) ;
+ }
+
+} // finish class _ParagraphPropertiesComplex
+
diff --git a/qadevOOo/tests/java/ifc/style/_ParagraphStyle.java b/qadevOOo/tests/java/ifc/style/_ParagraphStyle.java
new file mode 100644
index 000000000..f848f29fd
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_ParagraphStyle.java
@@ -0,0 +1,27 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+import lib.MultiPropertyTest;
+
+/**
+ */
+public class _ParagraphStyle extends MultiPropertyTest {
+
+}
diff --git a/qadevOOo/tests/java/ifc/style/_Style.java b/qadevOOo/tests/java/ifc/style/_Style.java
new file mode 100644
index 000000000..3e5d97535
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_Style.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.style.Style</code>
+* service properties :
+* <ul>
+* <li><code> IsPhysical</code></li>
+* <li><code> FollowStyle</code></li>
+* <li><code> DisplayName</code></li>
+* <li><code> IsAutoUpdate</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.style.Style
+*/
+public class _Style extends MultiPropertyTest {
+
+ public void _FollowStyle() {
+ String style = (String)tEnv.getObjRelation("FollowStyle");
+ if (style == null) style = "Heading 1";
+ testProperty("FollowStyle", style, "Heading 2");
+ }
+
+} // finish class _Style
+
+
diff --git a/qadevOOo/tests/java/ifc/style/_XStyle.java b/qadevOOo/tests/java/ifc/style/_XStyle.java
new file mode 100644
index 000000000..9478fe0d1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_XStyle.java
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.style.XStyle;
+
+/**
+* Testing <code>com.sun.star.style.XStyle</code>
+* interface methods :
+* <ul>
+* <li><code> isUserDefined()</code></li>
+* <li><code> isInUse()</code></li>
+* <li><code> getParentStyle()</code></li>
+* <li><code> setParentStyle()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'PoolStyle'</code> (of type <code>XStyle</code>):
+* some style from the SOffice collection (not user defined) </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.style.XStyle
+*/
+public class _XStyle extends MultiMethodTest {
+
+ public XStyle oObj = null;
+ XStyle oMyStyle = null;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ oMyStyle = (XStyle) tEnv.getObjRelation("PoolStyle");
+ if (oMyStyle == null) throw new StatusException
+ (Status.failed("Relation not found")) ;
+ }
+
+ /**
+ * Gets the parent style . <p>
+ * Has <b> OK </b> status if the name of style returned is
+ * equal to the name of style which was set before. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setParentStyle() </code> : to set the parent style </li>
+ * </ul>
+ */
+ public void _getParentStyle() {
+ requiredMethod("setParentStyle()");
+ tRes.tested("getParentStyle()",
+ oObj.getParentStyle().equals(oMyStyle.getName()));
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>. <p>
+ */
+ public void _isInUse() {
+ tRes.tested("isInUse()",oObj.isInUse());
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>. <p>
+ */
+ public void _isUserDefined() {
+ tRes.tested("isUserDefined()",
+ oObj.isUserDefined() && !oMyStyle.isUserDefined() );
+ }
+
+ /**
+ * Sets the style name which was passed as relation. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _setParentStyle() {
+ boolean result = true ;
+ try {
+ oObj.setParentStyle(oMyStyle.getName());
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Exception occurred while method call: " + e);
+ result = false ;
+ }
+
+ tRes.tested("setParentStyle()",result);
+ }
+} //finish class _XStyle
+
diff --git a/qadevOOo/tests/java/ifc/style/_XStyleFamiliesSupplier.java b/qadevOOo/tests/java/ifc/style/_XStyleFamiliesSupplier.java
new file mode 100644
index 000000000..65b4fbf3b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/style/_XStyleFamiliesSupplier.java
@@ -0,0 +1,46 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.style;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.style.XStyleFamiliesSupplier;
+
+/**
+* Testing <code>com.sun.star.style.XStyleFamiliesSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> getStyleFamilies()</code></li>
+* </ul> <p>
+* Test is multithread compliant. <p>
+* @see com.sun.star.style.XStyleFamiliesSupplier
+*/
+public class _XStyleFamiliesSupplier extends MultiMethodTest {
+
+ public XStyleFamiliesSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not null value.
+ */
+ public void _getStyleFamilies() {
+ tRes.tested("getStyleFamilies()",oObj.getStyleFamilies() != null);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/system/_XSimpleMailClientSupplier.java b/qadevOOo/tests/java/ifc/system/_XSimpleMailClientSupplier.java
new file mode 100644
index 000000000..91c355888
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/system/_XSimpleMailClientSupplier.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.system;
+
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.system.XSimpleMailClient;
+import com.sun.star.system.XSimpleMailClientSupplier;
+
+
+/**
+* Testing <code>com.sun.star.system.XSimpleMailClientSupplier</code>
+* interface methods :
+* <ul>
+* <li><code> querySimpleMailClient()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'SystemMailExist'</code> (of type <code>Boolean</code>):
+* if <code>true</code> then <code>SimpleSystemMail</code> service
+* is available, if NOT then the service is not available or
+* OS doesn't has system mail.</li>
+* <ul> <p>
+* @see com.sun.star.system.XSimpleMailClientSupplier
+*/
+public class _XSimpleMailClientSupplier extends MultiMethodTest {
+
+ public XSimpleMailClientSupplier oObj = null;
+
+ /**
+ * Test calls the method if the <code>SimpleSystemMail</code>
+ * service is available on current OS. <p>
+ * Has <b> OK </b> status if not null value returned or
+ * has <b>SKIPPED.OK</b> status if SystemMail is not available. <p>
+ */
+ public void _querySimpleMailClient() {
+ if (Boolean.TRUE.equals
+ (tEnv.getObjRelation("SystemMailExist"))) {
+
+ XSimpleMailClient aClient = oObj.querySimpleMailClient();
+ tRes.tested("querySimpleMailClient()",aClient != null);
+ } else {
+ log.println("SystemMail doesn't exist : nothing to test") ;
+ tRes.tested("querySimpleMailClient()", Status.skipped(true)) ;
+ }
+ }
+
+
+} // finish class _XSimpleMailClientSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/system/_XSystemShellExecute.java b/qadevOOo/tests/java/ifc/system/_XSystemShellExecute.java
new file mode 100644
index 000000000..3906e7bdc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/system/_XSystemShellExecute.java
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.system;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.system.XSystemShellExecute;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Testing <code>com.sun.star.system.XSystemShellExecute</code>
+* interface methods :
+* <ul>
+* <li><code> execute()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.system.XSystemShellExecute
+*/
+public class _XSystemShellExecute extends MultiMethodTest {
+
+ public XSystemShellExecute oObj = null;
+
+ /**
+ * Executes 'java SystemShellExecute SystemShellExecute.txt' command line.
+ * <p>Has <b> OK </b> status if the method successfully returns
+ * and file 'SystemShellExecute.txt' was created. <p>
+ */
+ public void _execute() {
+ String cClassPath = System.getProperty("DOCPTH");
+ String cResFile = utils.getOfficeTempDirSys(tParam.getMSF())+"SystemShellExecute.txt";
+ String cResURL = utils.getOfficeTemp(tParam.getMSF())+"SystemShellExecute.txt";
+ String cArgs = "-classpath " + cClassPath +
+ " SystemShellExecute " + cResFile;
+
+ String jh = System.getProperty("java.home");
+ String fs = System.getProperty("file.separator");
+ String cmd = jh+fs+"bin"+fs+"java";
+
+ log.println("Executing : '"+cmd+" " + cArgs + "'");
+ try {
+ oObj.execute(cmd, cArgs, 1);
+ } catch (com.sun.star.system.SystemShellExecuteException e) {
+ log.println("Exception during execute: " + e);
+ log.println("This has been implemented due to security reasons");
+ tRes.tested("execute()", true);
+ return;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception during execute: " + e);
+ tRes.tested("execute()", false);
+ return;
+ }
+
+ XSimpleFileAccess xFileAccess = null;
+ try {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ Object fa = xMSF.createInstance("com.sun.star.ucb.SimpleFileAccess");
+ xFileAccess = UnoRuntime.queryInterface(XSimpleFileAccess.class, fa);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't create SimpleFileAccess:" + e);
+ tRes.tested("execute()", false);
+ return;
+ }
+
+ log.println("Waiting while the file will be created or timeout "+
+ "reached ...");
+ boolean bExist = false;
+ int i = 0;
+ while (i < 20 && !bExist) {
+ try {
+ bExist = xFileAccess.exists(cResURL);
+ } catch(com.sun.star.uno.Exception e) {
+ log.println("Exception:" + e);
+ }
+ waitForEventIdle();
+ i++;
+ }
+
+ if (bExist) {
+ log.println("The command was executed and file created in " +
+ i + " sec.");
+ } else {
+ log.println("File was not created");
+ }
+
+ tRes.tested("execute()", bExist);
+ }
+} // finish class _XSystemShellExecute
+
+
diff --git a/qadevOOo/tests/java/ifc/table/_CellProperties.java b/qadevOOo/tests/java/ifc/table/_CellProperties.java
new file mode 100644
index 000000000..e3fac6674
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_CellProperties.java
@@ -0,0 +1,102 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.table;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+
+/**
+* Testing <code>com.sun.star.table.CellProperties</code>
+* service properties :
+* <ul>
+* <li><code> CellStyle</code></li>
+* <li><code> CellBackColor</code></li>
+* <li><code> IsCellBackgroundTransparent</code></li>
+* <li><code> NumberFormat</code></li>
+* <li><code> ShadowFormat</code></li>
+* <li><code> HoriJustify</code></li>
+* <li><code> VertJustify</code></li>
+* <li><code> Orientation</code></li>
+* <li><code> CellProtection</code></li>
+* <li><code> TableBorder</code></li>
+* <li><code> IsTextWrapped</code></li>
+* <li><code> RotateAngle</code></li>
+* <li><code> RotateReference</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.table.CellProperties
+*/
+public class _CellProperties extends MultiPropertyTest {
+
+
+ /**
+ * This property is tested with custom property tester which
+ * switches between 'Default' and 'Result' style names.
+ */
+ public void _CellStyle() {
+ testProperty("CellStyle", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String name, Object old) {
+ return "Default".equals(old) ? "Result" : "Default" ;
+ }
+ }) ;
+ }
+
+ public void _UserDefinedAttributes() {
+ XNameContainer uda = null;
+ boolean res = false;
+ try {
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ AttributeData attr = new AttributeData();
+ attr.Namespace = "http://www.sun.com/staroffice/apitest/Cellprop";
+ attr.Type="CDATA";
+ attr.Value="true";
+ uda.insertByName("Cellprop:has-first-alien-attribute",attr);
+ uda.getElementNames();
+ oObj.setPropertyValue("UserDefinedAttributes",uda);
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ uda.getElementNames();
+ uda.getByName("Cellprop:has-first-alien-attribute");
+ res = true;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Don't know the Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.NoSuchElementException nee) {
+ log.println("added Element isn't part of the NameContainer");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("IllegalArgumentException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.ElementExistException eee) {
+ log.println("ElementExistException while getting Property 'UserDefinedAttributes'");
+ }
+ tRes.tested("UserDefinedAttributes",res);
+ }
+
+} // finish class _CellProperties
+
diff --git a/qadevOOo/tests/java/ifc/table/_XAutoFormattable.java b/qadevOOo/tests/java/ifc/table/_XAutoFormattable.java
new file mode 100644
index 000000000..6473f17b7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XAutoFormattable.java
@@ -0,0 +1,126 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.table;
+
+import java.util.Random;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.table.XAutoFormattable;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Testing <code>com.sun.star.table.XAutoFormattable</code>
+* interface methods :
+* <ul>
+* <li><code> autoFormat()</code></li>
+* </ul> <p>
+* The component tested <b>must implement</b> interface
+* <code>com.sun.star.table.XCellRange</code>. <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.table.XAutoFormattable
+*/
+public class _XAutoFormattable extends MultiMethodTest {
+ public XAutoFormattable oObj = null;
+
+ /**
+ * First 'Default' autoformat is set and a background of a cell
+ * is obtained. Then any other autoformat is set and background
+ * of a cell is obtained again.<p>
+ * Has <b> OK </b> status if backgrounds with different autoformat
+ * settings are differ. <p>
+ */
+ public void _autoFormat() {
+ boolean bResult = true;
+ XMultiServiceFactory oMSF = tParam.getMSF();
+ String name = "Default";
+
+ try {
+ oObj.autoFormat(name); // applying default format
+
+ // getting current background of the cell
+ XCellRange cellRange = UnoRuntime.queryInterface(
+ XCellRange.class, oObj);
+ XCell oCell = cellRange.getCellByPosition(0, 0);
+ XPropertySet PS = UnoRuntime.queryInterface(
+ XPropertySet.class, oCell);
+
+ Integer bkgrnd1;
+ try {
+ bkgrnd1 = (Integer) PS.getPropertyValue("CellBackColor");
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ bkgrnd1 = (Integer) PS.getPropertyValue("BackColor");
+ }
+
+ // getting formats names.
+ XInterface iFormats = (XInterface) oMSF.createInstance(
+ "com.sun.star.sheet.TableAutoFormats");
+ XNameAccess formats = UnoRuntime.queryInterface(
+ XNameAccess.class, iFormats);
+ String[] names = formats.getElementNames();
+
+ // getting one random not default style name
+ Random rnd = new Random();
+
+ if (names.length > 1) {
+ while (name.equals("Default")) {
+ name = names[rnd.nextInt(names.length)];
+ }
+ } else {
+ name = names[0];
+ }
+
+ log.println("Applying style " + name);
+
+
+ // applying style
+ oObj.autoFormat(name);
+
+ // getting new cell's background.
+ Integer bkgrnd2;
+ try {
+ bkgrnd2 = (Integer) PS.getPropertyValue("CellBackColor");
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ bkgrnd2 = (Integer) PS.getPropertyValue("BackColor");
+ }
+
+ bResult &= !bkgrnd1.equals(bkgrnd2);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occurred :");
+ e.printStackTrace(log);
+ bResult = false;
+ }
+
+ tRes.tested("autoFormat()", bResult);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/table/_XCellRange.java b/qadevOOo/tests/java/ifc/table/_XCellRange.java
new file mode 100644
index 000000000..08420e24f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XCellRange.java
@@ -0,0 +1,143 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.table;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+
+/**
+* Testing <code>com.sun.star.table.XCellRange</code>
+* interface methods :
+* <ul>
+* <li><code> getCellByPosition()</code></li>
+* <li><code> getCellRangeByPosition()</code></li>
+* <li><code> getCellRangeByName()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ValidRange'</code> (of type <code>String</code>):
+* cell range that can be defined by the object test instead of
+* definition at this test ("<code>A1:A1</code>")</li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.table.XCellRange
+*/
+public class _XCellRange extends MultiMethodTest {
+ public XCellRange oObj = null;
+
+ /**
+ * First a cell get from valid position, second - from invalid. <p>
+ * Has <b> OK </b> status if in the first case not null value is
+ * returned and no exceptions are thrown, and in the second
+ * case <code>IndexOutOfBoundsException</code> is thrown. <p>
+ */
+ public void _getCellByPosition() {
+
+ boolean result = false;
+
+ try {
+ XCell cell = oObj.getCellByPosition(0,0);
+ result = cell != null ;
+ log.println("Getting cell by position with a valid position ... OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while getting cell by position with a valid position");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ try {
+ oObj.getCellByPosition(-1,1);
+ log.println("No Exception occurred while getting cell by position with invalid position");
+ result &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Getting cell by position with an invalid position ... OK");
+ result &= true;
+ }
+
+ tRes.tested( "getCellByPosition()", result );
+
+ } // end getCellByPosition()
+
+ /**
+ * A range is tried to obtain with valid name. <p>
+ * Has <b> OK </b> status if not null range is
+ * returned. <p>
+ */
+ public void _getCellRangeByName() {
+
+ boolean result = false;
+
+ String valid = (String) tEnv.getObjRelation("ValidRange");
+ if (valid == null ) valid = "A1:A1";
+ XCellRange range = oObj.getCellRangeByName(valid);
+ result = range != null ;
+ log.println("Getting cellrange by name with a valid name ... OK");
+
+ tRes.tested( "getCellRangeByName()", result );
+
+
+ } // end getCellRangeByName()
+
+ /**
+ * First a range is tried to obtain with valid bounds,
+ * second - with invalid. <p>
+ * Has <b> OK </b> status if in the first case not null range is
+ * returned and no exceptions are thrown, and in the second
+ * case <code>IndexOutOfBoundsException</code> is thrown. <p>
+ */
+ public void _getCellRangeByPosition() {
+
+ boolean result = false;
+
+ try {
+ XCellRange range = oObj.getCellRangeByPosition(0,0,0,0);
+ result = range != null;
+ log.println("Getting cellrange by Position with a valid position ... OK");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while getting cellrange by position with a valid position");
+ e.printStackTrace(log);
+ result = false;
+ }
+
+ try {
+ oObj.getCellRangeByPosition(-1,0,-1,1);
+ log.println("No Exception occurred while getting cellrange by position with invalid position");
+ result &= false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Getting cellrange by position with an invalid position ... OK");
+ result &= true;
+ }
+
+ tRes.tested( "getCellRangeByPosition()", result );
+
+
+ } // end getCellRangeByPosition()
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // finish class _XCellRange
+
diff --git a/qadevOOo/tests/java/ifc/table/_XTableChart.java b/qadevOOo/tests/java/ifc/table/_XTableChart.java
new file mode 100644
index 000000000..1730d9f96
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XTableChart.java
@@ -0,0 +1,116 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.table;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XTableChart;
+
+/**
+* Testing <code>com.sun.star.table.XTableChart</code>
+* interface methods :
+* <ul>
+* <li><code> getHasColumnHeaders()</code></li>
+* <li><code> setHasColumnHeaders()</code></li>
+* <li><code> getHasRowHeaders()</code></li>
+* <li><code> setHasRowHeaders()</code></li>
+* <li><code> getRanges()</code></li>
+* <li><code> setRanges()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.table.XTableChart
+*/
+public class _XTableChart extends MultiMethodTest {
+
+ public XTableChart oObj = null;
+
+ /**
+ * Sets the property to <code>false</code> and then check it. <p>
+ * Has <b> OK </b> status if the method returns <code>false</code>. <p>
+ */
+ public void _getHasColumnHeaders() {
+ oObj.setHasColumnHeaders(false);
+ tRes.tested("getHasColumnHeaders()", !oObj.getHasColumnHeaders() );
+ } // getHasColumnHeaders()
+
+ /**
+ * Sets the property to <code>true</code> and then check it. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>. <p>
+ */
+ public void _setHasColumnHeaders() {
+ oObj.setHasColumnHeaders(true);
+ tRes.tested("setHasColumnHeaders()", oObj.getHasColumnHeaders() );
+ } // setHasColumnHeaders()
+
+ /**
+ * Sets the property to <code>false</code> and then check it. <p>
+ * Has <b> OK </b> status if the method returns <code>false</code>. <p>
+ */
+ public void _getHasRowHeaders() {
+ oObj.setHasRowHeaders(false);
+ tRes.tested("getHasRowHeaders()", !oObj.getHasRowHeaders() );
+ } // getHasRowHeaders()
+
+ /**
+ * Sets the property to <code>true</code> and then check it. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>. <p>
+ */
+ public void _setHasRowHeaders() {
+ oObj.setHasRowHeaders(true);
+ tRes.tested("setHasRowHeaders()", oObj.getHasRowHeaders() );
+ } // setHasRowHeaders()
+
+ CellRangeAddress[] the_Ranges = null;
+
+ /**
+ * Test calls the method and stores the range returned. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value. <p>
+ */
+ public void _getRanges() {
+ the_Ranges = oObj.getRanges();
+ tRes.tested("getRanges()", the_Ranges != null );
+ } // getRanges()
+
+ /**
+ * Changes the first range in range array obtained by
+ * <code>getRanges</code> method, then set changed array. <p>
+ * Has <b> OK </b> status if range array get is the same as was
+ * set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getRanges() </code> : to have initial ranges </li>
+ * </ul>
+ */
+ public void _setRanges() {
+ requiredMethod("getRanges()");
+ CellRangeAddress[] tmpRanges = oObj.getRanges();
+ tmpRanges[0].EndRow = 1;
+ oObj.setRanges(tmpRanges);
+ tRes.tested("setRanges()", ValueComparer.equalValue(
+ tmpRanges,oObj.getRanges()));
+ oObj.setRanges(the_Ranges);
+ } // getRanges()
+
+} // finish class _XTableChartsSupplier
+
+
+
diff --git a/qadevOOo/tests/java/ifc/table/_XTableColumns.java b/qadevOOo/tests/java/ifc/table/_XTableColumns.java
new file mode 100644
index 000000000..d0d1b03bf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XTableColumns.java
@@ -0,0 +1,391 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.table;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.table.XTableColumns;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.table.XTableColumns</code>
+* interface methods :
+* <ul>
+* <li><code> insertByIndex()</code></li>
+* <li><code> removeByIndex()</code></li>
+* </ul> <p>
+*
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XTableColumns.XCellRange'</code> : <code>
+* com.sun.star.table.XCellRange</code> the cell range of
+* columns.</li>
+* <ul> <p>
+*
+* Test is multithread compliant. <p>
+* @see com.sun.star.table.XTableColumns
+*/
+public class _XTableColumns extends MultiMethodTest {
+
+ public XTableColumns oObj = null;
+ private XCellRange xCellRange = null;
+ private int lastColumn = 0;
+
+ @Override
+ public void before() {
+ xCellRange = (XCellRange)
+ tEnv.getObjRelation("XTableColumns.XCellRange") ;
+
+ if (xCellRange == null) throw new
+ StatusException(Status.failed("Relation missing"));
+
+ lastColumn = oObj.getCount() - 1 ;
+ }
+
+ /**
+ * First a number of cells in cell range are filled with data.
+ *
+ * Then columns inserted to valid positions : 1 column at 1,
+ * 1 column at 0, 2 columns at 0. <p>
+ *
+ * Then columns inserted to invalid positions : position -1,
+ * the column after last, and 0 columns inserted. <p>
+ *
+ * Has <b> OK </b> status if for valid cases :
+ * <ul>
+ * <li> content of other cells are properly shifted </li>
+ * <li> inserted columns are empty </li>
+ * <li> number of columns increases (in case if it is not the whole
+ * spreadsheet) by proper number. </li>
+ * </ul>
+ * and for invalid cases exception is thrown.
+ */
+ public void _insertByIndex() {
+
+ boolean result = true;
+ int origCnt = oObj.getCount();
+
+ try {
+ log.println("Filling range ... ");
+ fillRange(xCellRange);
+
+ log.println("Inserting 1 column at position 1 ...");
+ oObj.insertByIndex(1,1);
+
+ result &= checkColumn(0, 0);
+ result &= checkColumnEmpty(1);
+ result &= checkColumn(2, 1);
+ result &= checkColumn(3, 2);
+ result &= checkColumnEmpty(4);
+
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn + 1, lastColumn);
+ result &= oObj.getCount() == origCnt + 1;
+ } else {
+ result &= checkColumnEmpty(lastColumn);
+ }
+
+ log.println("Inserting 1 column at position 0 ...");
+ oObj.insertByIndex(0,1);
+
+ result &= checkColumnEmpty(0);
+ result &= checkColumn(1, 0);
+ result &= checkColumnEmpty(2);
+ result &= checkColumn(3, 1);
+ result &= checkColumn(4, 2);
+ result &= checkColumnEmpty(5);
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn + 2, lastColumn);
+ result &= oObj.getCount() == origCnt + 2;
+ }
+
+ log.println("Inserting 2 columns at position 0 ...");
+ oObj.insertByIndex(0,2);
+
+ result &= checkColumnEmpty(0);
+ result &= checkColumnEmpty(1);
+ result &= checkColumnEmpty(2);
+ result &= checkColumn(3, 0);
+ result &= checkColumnEmpty(4);
+ result &= checkColumn(5, 1);
+ result &= checkColumn(6, 2);
+ result &= checkColumnEmpty(7);
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn + 4, lastColumn);
+ }
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+
+ // spreadsheet supports 256 columns and after inserting
+ // or removing a column their number remains the same
+ if (origCnt < 200) {
+ log.println("Checking that number of column increased.");
+ result &= oObj.getCount() == origCnt + 4;
+ log.println("Before: " + origCnt + ", After: " + oObj.getCount());
+ } else {
+ log.println("Number of columns is " + origCnt + ",") ;
+ log.println("supposing that this is the whole spreadsheet and ");
+ log.println("number of columns should not change.");
+ }
+
+ try {
+ oObj.insertByIndex(-1,1);
+ log.println("No Exception occurred while inserting column at -1");
+ result &= false;
+ } catch (Exception e) {
+ log.println("Inserting column at Index -1 ... OK");
+ result &= true;
+ }
+
+ int cnt = oObj.getCount();
+ try {
+ oObj.insertByIndex(cnt, 1);
+ log.println("No Exception occurred while inserting column at "
+ + cnt);
+ result &= false;
+ } catch (Exception e) {
+ log.println("Inserting column at Index " + cnt + " ... OK");
+ result &= true;
+ }
+
+ if (tEnv.getTestCase().getObjectName().equals("ScTableColumnsObj")) {
+
+ try {
+ oObj.insertByIndex(0,0);
+ log.println("No Exception occurred while inserting 0 columns");
+ result &= false;
+ } catch (Exception e) {
+ log.println("Inserting 0 columns ... OK");
+ result &= true;
+ }
+
+ }
+
+ tRes.tested( "insertByIndex()", result );
+
+ } // end insertByIndex()
+
+ /**
+ * Columns removed from valid positions : 1 column at 1,
+ * 1 column at 0, 2 columns at 0. <p>
+ *
+ * Then columns removed from invalid positions : position -1,
+ * the column after last, and 0 columns removed. <p>
+ *
+ * Has <b> OK </b> status if for valid cases :
+ * <ul>
+ * <li> content of other cells are properly shifted </li>
+ * <li> columns which are shifted left are empty </li>
+ * <li> number of columns decreases (in case if it is not the whole
+ * spreadsheet) by proper number. </li>
+ * </ul>
+ * and for invalid cases exception is thrown.
+ */
+ public void _removeByIndex() {
+ executeMethod("insertByIndex()");
+
+ boolean result = true;
+ int origCnt = oObj.getCount();
+
+ try {
+ log.println("Filling range ... ");
+
+ log.println("Removing 2 columns at position 0 ...");
+ oObj.removeByIndex(0,2);
+
+ result &= checkColumnEmpty(0);
+ result &= checkColumn(1, 0);
+ result &= checkColumnEmpty(2);
+ result &= checkColumn(3, 1);
+ result &= checkColumn(4, 2);
+ result &= checkColumnEmpty(5);
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn + 2, lastColumn);
+ result &= oObj.getCount() == origCnt - 2;
+ }
+
+ log.println("Removing 1 column at position 0 ...");
+ oObj.removeByIndex(0,1);
+
+ result &= checkColumn(0, 0);
+ result &= checkColumnEmpty(1);
+ result &= checkColumn(2, 1);
+ result &= checkColumn(3, 2);
+ result &= checkColumnEmpty(4);
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn + 1, lastColumn);
+ result &= oObj.getCount() == origCnt - 3;
+ }
+
+ log.println("Removing 1 column at position 1 ...");
+ oObj.removeByIndex(1,1);
+
+ result &= checkColumn(0, 0);
+ result &= checkColumn(1, 1);
+ result &= checkColumn(2, 2);
+ result &= checkColumnEmpty(3);
+ if (lastColumn < 200) {
+ result &= checkColumn(lastColumn, lastColumn);
+ }
+
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+
+
+ // spreadsheet supports 256 columns and after inserting
+ // or removing a column their number remains the same
+ if (origCnt < 200) {
+ log.println("Checking that number of column increased.");
+ result &= oObj.getCount() == origCnt - 4;
+ log.println("Before: " + origCnt + ", After: " + oObj.getCount());
+ } else {
+ log.println("Number of columns is " + origCnt + ",") ;
+ log.println("supposing that this is the whole spreadsheet and ");
+ log.println("number of columns should not change.");
+ }
+
+ try {
+ oObj.removeByIndex(-1,1);
+ log.println("No Exception occurred while removing column at -1");
+ result &= false;
+ } catch (Exception e) {
+ log.println("removing column at Index -1 ... OK");
+ result &= true;
+ }
+
+ int cnt = oObj.getCount();
+ try {
+ oObj.removeByIndex(cnt, 1);
+ log.println("No Exception occurred while removing column at "
+ + cnt);
+ result &= false;
+ } catch (Exception e) {
+ log.println("Removing column at Index " + cnt + " ... OK");
+ result &= true;
+ }
+
+ if (tEnv.getTestCase().getObjectName().equals("ScTableColumnsObj")) {
+ try {
+ oObj.removeByIndex(0,0);
+ log.println("No Exception occurred while removing 0 columns");
+ result &= false;
+ } catch (Exception e) {
+ log.println("removing 0 columns ... OK");
+ result &= true;
+ }
+ }
+
+ tRes.tested( "removeByIndex()", result );
+ } // end removeByIndex()
+
+ private void setCellText(XCell cell, String text) {
+ XSimpleText xText = UnoRuntime.queryInterface
+ (XSimpleText.class, cell) ;
+ xText.setString(text);
+ }
+ private String getCellText(XCell cell) {
+ XSimpleText xText = UnoRuntime.queryInterface
+ (XSimpleText.class, cell) ;
+ return xText.getString();
+ }
+
+ /**
+ * Fills the range with some data : two rows and 3 columns, and
+ * some columns are cleared.
+ *
+ * @param xRange Range to fill
+ * @throws IndexOutOfBoundsException if any errors occur during filling.
+ */
+ private void fillRange(XCellRange xRange)
+ throws com.sun.star.lang.IndexOutOfBoundsException {
+
+ for (int i = 0; i <= lastColumn && i < 3; i++) {
+ setCellText(xRange.getCellByPosition(i, 0), i + "a");
+ setCellText(xRange.getCellByPosition(i, 1), i + "b");
+ }
+
+ for (int i = 3; i <= lastColumn && i < 10; i++) {
+ setCellText(xRange.getCellByPosition(i, 0), "");
+ setCellText(xRange.getCellByPosition(i, 1), "");
+ }
+ }
+
+ /**
+ * Check the column (first two rows) if it has values with
+ * index specified.
+ *
+ * @param col Column to check
+ * @param idx What indexes must be in cells
+ * @return <code>true</code> if expected indexes are found,
+ * <code>false</code> otherwise.
+ * @throws IndexOutOfBoundsException
+ */
+ private boolean checkColumn(int col, int idx)
+ throws com.sun.star.lang.IndexOutOfBoundsException {
+
+ if (col >= oObj.getCount()) return true;
+
+ String c1 = getCellText(xCellRange.getCellByPosition(col, 0));
+ String c2 = getCellText(xCellRange.getCellByPosition(col, 1));
+
+ if (!((idx + "a").equals(c1) && (idx + "b").equals(c2))) {
+
+ log.println("FAILED for column " + col + " and index " + idx + "("
+ + c1 + "," + c2 + ")");
+ return false ;
+ }
+ return true;
+ }
+
+ /**
+ * Checks if the column (first two rows) has no data in its cells.
+ *
+ * @param col Column to check
+ * @return <code>true</code> if the column is empty, <code>false</code>
+ * if first two cells contains some strings.
+ * @throws IndexOutOfBoundsException
+ */
+ private boolean checkColumnEmpty(int col)
+ throws com.sun.star.lang.IndexOutOfBoundsException {
+
+ if (col >= oObj.getCount()) return true;
+
+ String c1 = getCellText(xCellRange.getCellByPosition(col, 0));
+ String c2 = getCellText(xCellRange.getCellByPosition(col, 1));
+ if (!("".equals(c1) && "".equals(c2))) {
+ log.println("FAILED for column " + col + " is not empty ("
+ + c1 + "," + c2 + ")");
+ return false ;
+ }
+ return true;
+ }
+
+ } //finish class _XTableColumns
+
diff --git a/qadevOOo/tests/java/ifc/table/_XTableRows.java b/qadevOOo/tests/java/ifc/table/_XTableRows.java
new file mode 100644
index 000000000..2f997860c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/table/_XTableRows.java
@@ -0,0 +1,130 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.table;
+
+import com.sun.star.table.XCellRange;
+import lib.MultiMethodTest;
+
+import com.sun.star.table.XTableRows;
+import lib.Status;
+import lib.StatusException;
+
+/**
+* Testing <code>com.sun.star.table.XTableRows</code>
+* interface methods :
+* <ul>
+* <li><code> insertByIndex()</code></li>
+* <li><code> removeByIndex()</code></li>
+* </ul>
+*/
+public class _XTableRows extends MultiMethodTest {
+
+ public XTableRows oObj = null;
+ public XCellRange range = null;
+
+ @Override
+ public void before() {
+ range = (XCellRange) tEnv.getObjRelation("XTableRows.XCellRange");
+ if (range==null) {
+ throw new StatusException(Status.failed("ObjectRelation missing"));
+ }
+ try {
+ range.getCellByPosition(0,0).setValue(17);
+ range.getCellByPosition(0,1).setValue(15);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't set value for Cell A1");
+ }
+ }
+
+ /**
+ * First a row inserted to valid position, then to invalid. <p>
+ * Has <b> OK </b> status if in the first case number of rows increases
+ * by 1, and in the second an exception is thrown. <p>
+ */
+ public void _insertByIndex() {
+
+ boolean result = true;
+
+ requiredMethod("removeByIndex()");
+
+ oObj.getCount();
+ log.println("Inserting row before first row");
+ oObj.insertByIndex(0,1);
+ result &= checkCell(1,15);
+ if (checkCell(1,15)) log.println("... successful");
+
+ try {
+ oObj.insertByIndex(-1,1);
+ log.println("No Exception occurred while inserting row at -1");
+ result &= false;
+ } catch (Exception e) {
+ log.println("Inserting row at Index -1 ... OK");
+ result &= true;
+ }
+
+ tRes.tested( "insertByIndex()", result );
+
+ } // end insertByIndex()
+
+ /**
+ * First a row removed from valid position, then from invalid. <p>
+ *
+ * Has <b> OK </b> status if in the first case number of columns decreases
+ * by 1, and in the second an exception is thrown. <p>
+ */
+ public void _removeByIndex() {
+
+ boolean result = true;
+
+ oObj.removeByIndex(0,1);
+ log.println("Removing first row");
+ result &= checkCell(0,15);
+ if (checkCell(0,15)) log.println("... successful");
+
+ try {
+ oObj.removeByIndex(-1,1);
+ log.println("No Exception occurred while Removing row at -1");
+ result &= false;
+ } catch (Exception e) {
+ log.println("Removing row at Index -1 ... OK");
+ result &= true;
+ }
+
+ tRes.tested( "removeByIndex()", result );
+ } // end removeByIndex()
+
+ public boolean checkCell(int row,double expected) {
+ double getting=0;
+ try {
+ getting = range.getCellByPosition(0,row).getValue();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't set value for Cell A1");
+ }
+
+ boolean res = (getting==expected);
+ if (!res) {
+ log.println("Expected for row "+row+" was "+expected);
+ log.println("Getting for row "+row+" - "+getting);
+ log.println("=> FAILED");
+ }
+ return res;
+ }
+
+} //finish class _XTableRows
+
diff --git a/qadevOOo/tests/java/ifc/task/_XInteractionHandler.java b/qadevOOo/tests/java/ifc/task/_XInteractionHandler.java
new file mode 100644
index 000000000..d36cc585b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/task/_XInteractionHandler.java
@@ -0,0 +1,74 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.task;
+
+
+
+/**
+* <code>com.sun.star.task.XInteractionHandler</code> interface testing.
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XInteractionHandler.Request'</code>
+* (of type <code>com.sun.star.task.XInteractionRequest</code>):
+* this interface implementation is handler specific and is
+* passed as argument to method <code>handle</code>. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.task.XInteractionHandler
+*/
+import lib.MultiMethodTest;
+import lib.Status;
+
+import com.sun.star.task.XInteractionHandler;
+
+/**
+* <code>com.sun.star.task.XInteractionHandler</code> interface testing.
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XInteractionHandler.Request'</code>
+* (of type <code>com.sun.star.task.XInteractionRequest</code>):
+* this interface implementation is handler specific and is
+* passed as argument to method <code>handle</code>. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.task.XInteractionHandler
+*/
+public class _XInteractionHandler extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XInteractionHandler oObj = null ;
+
+ /**
+ * Retrieves an object relation. <p>
+ */
+ @Override
+ public void before() {
+ }
+
+ /**
+ * Since this test is interactive (dialog window can't be
+ * disposed using API) it is skipped. <p>
+ * Always has <b>SKIPPED.OK</b> status .
+ */
+ public void _handle() {
+ tRes.tested("handle()", Status.skipped(true)) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/task/_XJob.java b/qadevOOo/tests/java/ifc/task/_XJob.java
new file mode 100644
index 000000000..58800f37e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/task/_XJob.java
@@ -0,0 +1,90 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.task;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.task.XJob;
+
+/**
+ * Testing <code>com.sun.star.frame._XJobExecutor</code>
+ * interface methods:
+ * <ul>
+ * <li><code> trigger() </code></li>
+ * </ul><p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'CallCounter'</code>
+ * (of type <code>com.sun.star.container.XNamed</code>):
+ * the <code>getName()</code> method of which must
+ * return number of calls to <code>XJob.execute</code>
+ * method which is registered for event 'TestEvent'
+ * </li>
+ * <ul> <p>
+ * @see com.sun.star.frame.XJobExecutor
+ */
+public class _XJob extends MultiMethodTest {
+ public static XJob oObj = null;
+
+ /**
+ * Tries to query the tested component for object relation
+ * <code>XJobArgs</code> [<code>Object[]</code>] which contains
+ * <code>executeArgs</code> [<code>NamedValue[]</code>]
+ * @throw StatusException If relations are not found
+ */
+ @Override
+ public void before() {
+ Object[] XJobArgs = (Object[]) tEnv.getObjRelation("XJobArgs") ;
+ if (XJobArgs == null)
+ throw new StatusException(Status.failed
+ ("'XJobArgs' relation not found ")) ;
+ }
+
+
+
+ /**
+ * Gets the number of Job calls before and after triggering event.
+ *
+ * Has <b>OK</b> status if the Job was called on triggering
+ * event.
+ */
+ public void _execute() {
+ Object[] XJobArgs = (Object[]) tEnv.getObjRelation("XJobArgs");
+
+ boolean bOK = true;
+
+ for (int n = 0; n<XJobArgs.length; n++) {
+ log.println("running XJobArgs[" + n + "]");
+ try {
+ oObj.execute((NamedValue[])XJobArgs[n]);
+ } catch ( com.sun.star.lang.IllegalArgumentException e) {
+ bOK = false;
+ log.println("Could not success XJobArgs[" + n + "]: " + e);
+ } catch ( com.sun.star.uno.Exception e) {
+ bOK = false;
+ log.println("Could not success XJobArgs[" + n + "]: " + e);
+ }
+ }
+ tRes.tested("execute()", bOK);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/task/_XJobExecutor.java b/qadevOOo/tests/java/ifc/task/_XJobExecutor.java
new file mode 100644
index 000000000..d3910f287
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/task/_XJobExecutor.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.task;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.task.XJobExecutor;
+
+/**
+ * Testing <code>com.sun.star.frame._XJobExecutor</code>
+ * interface methods:
+ * <ul>
+ * <li><code> trigger() </code></li>
+ * </ul><p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'CallCounter'</code>
+ * (of type <code>com.sun.star.container.XNamed</code>):
+ * the <code>getName()</code> method of which must
+ * return number of calls to <code>XJob.execute</code>
+ * method which is registered for event 'TestEvent'
+ * </li>
+ * <ul> <p>
+ * @see com.sun.star.frame.XJobExecutor
+ */
+public class _XJobExecutor extends MultiMethodTest {
+ public static XJobExecutor oObj = null;
+
+ /**
+ * Gets the number of Job calls before and after triggering event.
+ *
+ * Has <b>OK</b> status if the Job was called on triggering
+ * event.
+ */
+ public void _trigger() {
+ XNamed counter = (XNamed) tEnv.getObjRelation("CallCounter");
+
+ int before = Integer.parseInt(counter.getName());
+
+ oObj.trigger("TestEvent");
+
+ waitForEventIdle();
+
+ int after = Integer.parseInt(counter.getName());
+
+ log.println("Calls before: " + before + ", after: " + after);
+
+ tRes.tested("trigger()", after == before + 1);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/task/_XStatusIndicatorFactory.java b/qadevOOo/tests/java/ifc/task/_XStatusIndicatorFactory.java
new file mode 100644
index 000000000..0ec515d1b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/task/_XStatusIndicatorFactory.java
@@ -0,0 +1,67 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.task;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.task.XStatusIndicator;
+import com.sun.star.task.XStatusIndicatorFactory;
+
+/**
+* Testing <code>com.sun.star.task.XStatusIndicatorFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createStatusIndicator()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.task.XStatusIndicatorFactory
+*/
+public class _XStatusIndicatorFactory extends MultiMethodTest {
+
+ public XStatusIndicatorFactory oObj = null;
+
+ /**
+ * A status indicator created. Also some actions performed
+ * with it, which are not related to test flow. <p>
+ * Has <b> OK </b> status if the method returns not null
+ * value. <p>
+ */
+ public void _createStatusIndicator() {
+ boolean bResult = true;
+
+ XStatusIndicator SI1 = oObj.createStatusIndicator();
+ XStatusIndicator SI2 = oObj.createStatusIndicator();
+ //Start all Indicators
+ SI1.start("Status1",100);
+ SI2.start("Status2",100);
+
+ //change SI2
+ SI2.setText("A new name for the status");
+ SI2.setValue(45);
+ SI2.reset();
+ SI2.end();
+
+ //Now SI1 is active
+ SI1.end();
+
+ tRes.tested("createStatusIndicator()", bResult);
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_BaseFrame.java b/qadevOOo/tests/java/ifc/text/_BaseFrame.java
new file mode 100644
index 000000000..8bfd80dc5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_BaseFrame.java
@@ -0,0 +1,116 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.BaseFrame</code>
+* service properties :
+* <ul>
+* <li><code> AnchorPageNo</code></li>
+* <li><code> AnchorFrame</code></li>
+* <li><code> BackColor</code></li>
+* <li><code> BackGraphicURL</code></li>
+* <li><code> BackGraphicFilter</code></li>
+* <li><code> BackGraphicLocation</code></li>
+* <li><code> LeftBorder</code></li>
+* <li><code> RightBorder</code></li>
+* <li><code> TopBorder</code></li>
+* <li><code> BottomBorder</code></li>
+* <li><code> BorderDistance</code></li>
+* <li><code> LeftBorderDistance</code></li>
+* <li><code> RightBorderDistance</code></li>
+* <li><code> TopBorderDistance</code></li>
+* <li><code> BottomBorderDistance</code></li>
+* <li><code> BackTransparent</code></li>
+* <li><code> ContentProtected</code></li>
+* <li><code> FrameStyleName</code></li>
+* <li><code> LeftMargin</code></li>
+* <li><code> RightMargin</code></li>
+* <li><code> TopMargin</code></li>
+* <li><code> BottomMargin</code></li>
+* <li><code> Height</code></li>
+* <li><code> Width</code></li>
+* <li><code> RelativeHeight</code></li>
+* <li><code> RelativeWidth</code></li>
+* <li><code> IsSyncWidthToHeight</code></li>
+* <li><code> IsSyncHeightToWidth</code></li>
+* <li><code> HoriOrient</code></li>
+* <li><code> HoriOrientPosition</code></li>
+* <li><code> HoriOrientRelation</code></li>
+* <li><code> VertOrient</code></li>
+* <li><code> VertOrientPosition</code></li>
+* <li><code> VertOrientRelation</code></li>
+* <li><code> HyperLinkURL</code></li>
+* <li><code> HyperLinkTarget</code></li>
+* <li><code> HyperLinkName</code></li>
+* <li><code> Opaque</code></li>
+* <li><code> PageToggle</code></li>
+* <li><code> PositionProtected</code></li>
+* <li><code> Print</code></li>
+* <li><code> ShadowFormat</code></li>
+* <li><code> ServerMap</code></li>
+* <li><code> Size</code></li>
+* <li><code> SizeProtected</code></li>
+* <li><code> Surround</code></li>
+* <li><code> SurroundAnchorOnly</code></li>
+* <li><code> BackColorTransparency</code></li>
+* <li><code> BackColorRGB</code></li>
+* <li><code> BackGraphicTransparency</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.BaseFrame
+*/
+public class _BaseFrame extends MultiPropertyTest {
+ public String str1 = "Graphics";
+ public String str2 = "Watermark";
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ protected PropertyTester StringTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (str1.equals(oldValue))
+ return str2;
+ else
+ return str1;
+ }
+ };
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _FrameStyleName() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("FrameStyleName", StringTester) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _BackColorTransparency() {
+ testProperty("BackColorTransparency", Integer.valueOf(10), Integer.valueOf(50)) ;
+ }
+
+} //finish class _BaseFrame
+
diff --git a/qadevOOo/tests/java/ifc/text/_BaseFrameProperties.java b/qadevOOo/tests/java/ifc/text/_BaseFrameProperties.java
new file mode 100644
index 000000000..9b0cf03c8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_BaseFrameProperties.java
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+
+public class _BaseFrameProperties extends MultiPropertyTest {
+ protected PropertyTester FrameTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ Object frame = tEnv.getObjRelation("TextFrame");
+
+ return frame;
+ }
+ };
+
+ public void _AnchorFrame() {
+ log.println("Testing with custom Property tester");
+ testProperty("AnchorFrame", FrameTester);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/text/_BaseIndex.java b/qadevOOo/tests/java/ifc/text/_BaseIndex.java
new file mode 100644
index 000000000..006796724
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_BaseIndex.java
@@ -0,0 +1,201 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.text;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexReplace;
+import com.sun.star.text.XTextColumns;
+import com.sun.star.uno.UnoRuntime;
+
+import lib.MultiPropertyTest;
+
+
+/**
+* Testing <code>com.sun.star.text.BaseIndex</code>
+* service properties :
+* <ul>
+* <li><code> Title</code></li>
+* <li><code> IsProtected</code></li>
+* <li><code> ParaStyleHeading</code></li>
+* <li><code> ParaStyleLevel1</code></li>
+* <li><code> ParaStyleLevel2</code></li>
+* <li><code> ParaStyleLevel3</code></li>
+* <li><code> ParaStyleLevel4</code></li>
+* <li><code> ParaStyleLevel5</code></li>
+* <li><code> ParaStyleLevel6</code></li>
+* <li><code> ParaStyleLevel7</code></li>
+* <li><code> ParaStyleLevel8</code></li>
+* <li><code> ParaStyleLevel9</code></li>
+* <li><code> ParaStyleLevel10</code></li>
+* <li><code> ParaStyleSeparator</code></li>
+* <li><code> TextColumns</code></li>
+* <li><code> BackGraphicURL</code></li>
+* <li><code> BackGraphicFilter</code></li>
+* <li><code> BackGraphicLocation</code></li>
+* <li><code> BackTransparent</code></li>
+* <li><code> LevelFormat</code></li>
+* <li><code> CreateFromChapter</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.BaseIndex
+*/
+public class _BaseIndex extends MultiPropertyTest {
+ /**
+ * Redefined method returns object, that contains changed property value.
+ */
+ protected PropertyTester CustomTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ XTextColumns TC = UnoRuntime.queryInterface(
+ XTextColumns.class, oldValue);
+ TC.setColumnCount((short) (TC.getColumnCount() + (short) 1));
+
+ return TC;
+ }
+ };
+
+ /**
+ * New value must be defined for this property.
+ */
+ public void _TextColumns() {
+ log.println(
+ "Testing property 'TextColumns' with custom property tester");
+ testProperty("TextColumns", CustomTester);
+ }
+
+ /**
+ * The value of this property is a collection of document index
+ * level formats. This property is tested in the following manner :
+ * the property value (a collection) is obtained, the first element
+ * of this collection is replaced with new non-empty array
+ * (<code>PropertyValue[][]</code>) with some properties set.
+ * After that the collection is set back as property value. <p>
+ *
+ * Comparing of set and got <code>PropertyValue</code> arrays
+ * is difficult because values can be changed after setting
+ * by service implementation. <p>
+ *
+ * Has <b>OK</b> status if the collection again gotten, has a
+ * new first element (i.e. lengths of the old array and the array
+ * get are different or their contents differ).
+ */
+ public void _LevelFormat() {
+ log.println(
+ "Testing property 'LevelFormat' with custom property tester");
+ testProperty("LevelFormat",
+ new PropertyTester() {
+ PropertyValue[][] newVal = null;
+ PropertyValue[][] oldVal = null;
+
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ XIndexReplace indProp = UnoRuntime.queryInterface(
+ XIndexReplace.class, oldValue);
+
+ try {
+ oldVal = (PropertyValue[][]) indProp.getByIndex(0);
+
+ log.println("Get:");
+ printLevelFormatProperty(oldValue);
+
+ newVal = new PropertyValue[1][2];
+
+ for (int i = 0; i < newVal[0].length; i++) {
+ newVal[0][i] = new PropertyValue();
+ }
+
+ newVal[0][1].Name = "TokenType";
+ newVal[0][1].Value = "TokenEntryText";
+ newVal[0][0].Name = "Text";
+ newVal[0][0].Value = "BaseIndex";
+
+ indProp.replaceByIndex(0, newVal);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while testing LevelFormat");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while testing LevelFormat");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while testing LevelFormat");
+ e.printStackTrace(log);
+ }
+
+ return indProp;
+ }
+
+ @Override
+ protected void checkResult(String propName, Object oldValue,
+ Object newValue, Object resValue,
+ Exception exception)
+ throws Exception {
+
+ super.checkResult(propName, oldValue, newValue, resValue, exception);
+
+ PropertyValue[][] res = (PropertyValue[][]) UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ resValue).getByIndex(0);
+
+ log.println("Result:");
+ printLevelFormatProperty(resValue);
+
+ boolean result = (res.length != oldVal.length) ||
+ !util.ValueComparer.equalValue(res, oldVal);
+
+ tRes.tested(propName, result);
+ }
+ });
+ }
+
+ /**
+ * Outputs full description of 'LevelFormat' property
+ * value into <code>log</code>.
+ */
+ private void printLevelFormatProperty(Object value) {
+ XIndexReplace indProp = UnoRuntime.queryInterface(
+ XIndexReplace.class, value);
+ PropertyValue[][] val = null;
+
+ try {
+ log.println(" \u0421ollection has " + indProp.getCount() +
+ " elements : ");
+
+ for (int i = 0; i < indProp.getCount(); i++) {
+ val = (PropertyValue[][]) indProp.getByIndex(i);
+
+ log.println(" " + i + ": has " + val.length + " levels :");
+
+ for (int j = 0; j < val.length; j++) {
+ log.println(" " + j + " level :");
+
+ for (int k = 0; k < val[j].length; k++) {
+ log.println(" " + val[j][k].Name + "=" +
+ val[j][k].Value);
+ }
+ }
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while printing LevelFormat");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while printing LevelFormat");
+ e.printStackTrace(log);
+ }
+ }
+} // finish class _NumberingRules
diff --git a/qadevOOo/tests/java/ifc/text/_BaseIndexMark.java b/qadevOOo/tests/java/ifc/text/_BaseIndexMark.java
new file mode 100644
index 000000000..a80d7488a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_BaseIndexMark.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.BaseIndexMark</code>
+* service properties :
+* <ul>
+* <li><code> AlternativeText</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.BaseIndexMark
+*/
+public class _BaseIndexMark extends MultiPropertyTest {
+
+} // finish class _BaseIndexMark
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_CellProperties.java b/qadevOOo/tests/java/ifc/text/_CellProperties.java
new file mode 100644
index 000000000..25b739cc7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_CellProperties.java
@@ -0,0 +1,150 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+
+/**
+* Testing <code>com.sun.star.text.CellProperties</code>
+* service properties :
+* <ul>
+* <li><code> BackColor</code></li>
+* <li><code> BackGraphicURL</code></li>
+* <li><code> BackGraphicFilter</code></li>
+* <li><code> BackGraphicLocation</code></li>
+* <li><code> NumberFormat</code></li>
+* <li><code> BackTransparent</code></li>
+* <li><code> LeftBorder</code></li>
+* <li><code> RightBorder</code></li>
+* <li><code> TopBorder</code></li>
+* <li><code> BottomBorder</code></li>
+* <li><code> LeftBorderDistance</code></li>
+* <li><code> RightBorderDistance</code></li>
+* <li><code> TopBorderDistance</code></li>
+* <li><code> BottomBorderDistance</code></li>
+* <li><code> UserDefinedAttributes</code></li>
+* <li><code> TextSection</code></li>
+* <li><code> IsProtected</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CellProperties.TextSection'</code> (of type
+* <code>XInterface</code>):
+* instance of <code>com.sun.star.text.TextSection</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code> crazy-blue.jpg </code> : jpeg image used to test
+* BackGraphicURL()</li>
+* <li> <code> space-metal.jpg </code> : jpeg image used to test
+* BackGraphicURL()</li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.CellProperties
+*/
+public class _CellProperties extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so new value must be specified from
+ * corresponding object relation.
+ */
+ public void _TextSection() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("TextSection", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ return tEnv.getObjRelation("CellProperties.TextSection");
+ }
+ });
+ }
+
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ public void _BackColor() {
+ final Short val1 = Short.valueOf( (short) 4 );
+ final Short val2 = Short.valueOf( (short) 6 );
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ( oldValue.equals(val1) )
+ return val2;
+ else
+ return val1;
+ }
+ });
+ }
+
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ public void _BackGraphicURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackGraphicURL", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getFullTestURL
+ ("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg");
+ else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ });
+ }
+
+
+ /**
+ * Redefined method returns object, that contains changed property value.
+ */
+ public void _UserDefinedAttributes() {
+ log.println("Testing with custom property tester");
+ testProperty("UserDefinedAttributes", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ XNameContainer NC = null;
+ try {
+ NC = (XNameContainer)
+ AnyConverter.toObject(new Type(XNameContainer.class),oldValue);
+ NC.insertByName("MyAttribute",
+ new AttributeData("","CDATA","Value"));
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Failed to check 'UserDefinedAttributes'");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Failed to check 'UserDefinedAttributes'");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ log.println("Failed to check 'UserDefinedAttributes'");
+ e.printStackTrace(log);
+ }
+ return NC;
+ }
+ });
+ }
+
+} //finish class _CellProperties
+
diff --git a/qadevOOo/tests/java/ifc/text/_CellRange.java b/qadevOOo/tests/java/ifc/text/_CellRange.java
new file mode 100644
index 000000000..c2942a1c5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_CellRange.java
@@ -0,0 +1,94 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.CellRange</code>
+* service properties :
+* <ul>
+* <li><code> BackColor</code></li>
+* <li><code> BackGraphicURL</code></li>
+* <li><code> BackGraphicFilter</code></li>
+* <li><code> BackGraphicLocation</code></li>
+* <li><code> BackTransparent</code></li>
+* <li><code> ChartColumnAsLabel</code></li>
+* <li><code> ChartRowAsLabel</code></li>
+* <li><code> NumberFormat</code></li>
+* <li><code> TopMargin</code></li>
+* <li><code> BottomMargin</code></li>
+*
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code> crazy-blue.jpg </code> : jpeg image used to test
+* BackGraphicURL()</li>
+* <li> <code> space-metal.jpg </code> : jpeg image used to test
+* BackGraphicURL()</li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.CellProperties
+*/
+public class _CellRange extends MultiPropertyTest {
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ public void _BackColor() {
+ final Short val1 = Short.valueOf( (short) 4 );
+ final Short val2 = Short.valueOf( (short) 6 );
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackColor", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if ( oldValue.equals(val1) )
+ return val2;
+ else
+ return val1;
+ }
+ });
+ }
+
+ /**
+ * This property could be changed only when graphic
+ * URL is set.
+ */
+ public void _BackGraphicFilter() {
+ executeMethod("BackGraphicURL");
+ testProperty("BackGraphicFilter");
+ }
+
+ /**
+ * Redefined method returns value, that differs from property value.
+ */
+ public void _BackGraphicURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackGraphicURL", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getFullTestURL
+ ("space-metal.jpg")))
+ return util.utils.getFullTestURL("crazy-blue.jpg");
+ else
+ return util.utils.getFullTestURL("space-metal.jpg");
+ }
+ });
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_Defaults.java b/qadevOOo/tests/java/ifc/text/_Defaults.java
new file mode 100644
index 000000000..22ccb8872
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_Defaults.java
@@ -0,0 +1,32 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.Defaults</code>
+*
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.Defaults
+*/
+public class _Defaults extends MultiPropertyTest {
+
+} //finish class _Defaults
+
diff --git a/qadevOOo/tests/java/ifc/text/_DocumentIndex.java b/qadevOOo/tests/java/ifc/text/_DocumentIndex.java
new file mode 100644
index 000000000..5ee228341
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_DocumentIndex.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.DocumentIndex</code>
+* service properties :
+* <ul>
+* <li><code> UseAlphabeticalSeparators</code></li>
+* <li><code> UseKeyAsEntry</code></li>
+* <li><code> UseCombinedEntries</code></li>
+* <li><code> IsCaseSensitive</code></li>
+* <li><code> UsePP</code></li>
+* <li><code> UseDash</code></li>
+* <li><code> UseUpperCase</code></li>
+* <li><code> MainEntryCharacterStyleName</code></li>
+* <li><code> DocumentIndexMarks</code></li>
+* <li><code> Locale</code></li>
+* <li><code> SortAlgorithm</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.DocumentIndex
+*/
+public class _DocumentIndex extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_DocumentIndexMark.java b/qadevOOo/tests/java/ifc/text/_DocumentIndexMark.java
new file mode 100644
index 000000000..d78730727
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_DocumentIndexMark.java
@@ -0,0 +1,38 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.DocumentIndexMark</code>
+* service properties :
+* <ul>
+* <li><code> PrimaryKey</code></li>
+* <li><code> SecondaryKey</code></li>
+* <li><code> IsMainEntry</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.DocumentIndexMark
+*/
+public class _DocumentIndexMark extends MultiPropertyTest {
+
+} // finish class _DocumentIndexMark
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_DocumentSettings.java b/qadevOOo/tests/java/ifc/text/_DocumentSettings.java
new file mode 100644
index 000000000..0110aee3d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_DocumentSettings.java
@@ -0,0 +1,26 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+public class _DocumentSettings extends MultiPropertyTest
+{
+
+}
diff --git a/qadevOOo/tests/java/ifc/text/_Footnote.java b/qadevOOo/tests/java/ifc/text/_Footnote.java
new file mode 100644
index 000000000..4af172564
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_Footnote.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.Footnote</code>
+* service properties :
+* <ul>
+* <li><code> ReferenceId</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.Footnote
+*/
+public class _Footnote extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _ReferenceId() {
+ final Short val1 = Short.valueOf( (short) 1);
+ final Short val2 = Short.valueOf( (short) 2);
+
+ log.println("Testing with custom Property tester");
+ testProperty("ReferenceId", val1, val2);
+ }
+
+} //finish class _Footnote
+
diff --git a/qadevOOo/tests/java/ifc/text/_FootnoteSettings.java b/qadevOOo/tests/java/ifc/text/_FootnoteSettings.java
new file mode 100644
index 000000000..77cc50d87
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_FootnoteSettings.java
@@ -0,0 +1,95 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.FootnoteSettings</code>
+* service properties :
+* <ul>
+* <li><code> CharStyleName</code></li>
+* <li><code> NumberingType</code></li>
+* <li><code> PageStyleName</code></li>
+* <li><code> ParaStyleName</code></li>
+* <li><code> Prefix</code></li>
+* <li><code> StartAt</code></li>
+* <li><code> Suffix</code></li>
+* <li><code> BeginNotice</code></li>
+* <li><code> EndNotice</code></li>
+* <li><code> FootnoteCounting</code></li>
+* <li><code> PositionEndOfDoc</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.FootnoteSettings
+*/
+public class _FootnoteSettings extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _CharStyleName() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("CharStyleName", "Endnote Symbol", "Endnote anchor") ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _PageStyleName() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("PageStyleName", "Standard", "Endnote") ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _ParaStyleName() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("ParaStyleName", "Standard", "Endnote") ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _NumberingType() {
+ Short val1 = Short.valueOf(com.sun.star.text.FootnoteNumbering.PER_DOCUMENT);
+ Short val2 = Short.valueOf(com.sun.star.text.FootnoteNumbering.PER_PAGE);
+ log.println("Testing with custom Property tester") ;
+ testProperty("NumberingType", val1, val2) ;
+ }
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _FootnoteCounting() {
+ Short val1 = Short.valueOf( (short) 1 );
+ Short val2 = Short.valueOf( (short) 2 );
+ log.println("Testing with custom Property tester") ;
+ testProperty("FootnoteCounting", val1, val2) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_GenericTextDocument.java b/qadevOOo/tests/java/ifc/text/_GenericTextDocument.java
new file mode 100644
index 000000000..237d281ec
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_GenericTextDocument.java
@@ -0,0 +1,39 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.TextDocument</code>
+* service properties :
+* <ul>
+* <li><code> CharLocale</code></li>
+* <li><code> CharacterCount</code></li>
+* <li><code> ParagraphCount</code></li>
+* <li><code> WordCount</code></li>
+* <li><code> WordSeparator</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.TextDocument
+*/
+public class _GenericTextDocument extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_LineNumberingProperties.java b/qadevOOo/tests/java/ifc/text/_LineNumberingProperties.java
new file mode 100644
index 000000000..b85880dcc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_LineNumberingProperties.java
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.LineNumberingProperties</code>
+* service properties :
+* <ul>
+* <li><code> IsOn</code></li>
+* <li><code> CharStyleName</code></li>
+* <li><code> CountEmptyLines</code></li>
+* <li><code> CountLinesInFrames</code></li>
+* <li><code> Distance</code></li>
+* <li><code> Interval</code></li>
+* <li><code> SeparatorText</code></li>
+* <li><code> SeparatorInterval</code></li>
+* <li><code> NumberPosition</code></li>
+* <li><code> NumberingType</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.LineNumberingProperties
+*/
+public class _LineNumberingProperties extends MultiPropertyTest {
+
+ /**
+ * This property can be VOID, and in case if it is so new
+ * value must be defined.
+ */
+ public void _CharStyleName() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("CharStyleName", "Endnote Symbol", "Endnote anchor") ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_MailMerge.java b/qadevOOo/tests/java/ifc/text/_MailMerge.java
new file mode 100644
index 000000000..b3c0e1fe4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_MailMerge.java
@@ -0,0 +1,167 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.uno.UnoRuntime;
+
+public class _MailMerge extends MultiPropertyTest {
+
+ /**
+ * Custom tester for properties which contains URLs.
+ * Switches between two valid folders
+ */
+ protected PropertyTester URLTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getOfficeTemp(tParam.getMSF())))
+ return util.utils.getFullTestURL(""); else
+ return util.utils.getOfficeTemp(tParam.getMSF());
+ }
+ } ;
+
+ /**
+ * Custom tester for properties which contains document URLs.
+ * Switches between two document URLs.
+ */
+ protected PropertyTester DocumentURLTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ if (oldValue.equals(util.utils.getFullTestURL("MailMerge.sxw")))
+ return util.utils.getFullTestURL("sForm.sxw"); else
+ return util.utils.getFullTestURL("MailMerge.sxw");
+ }
+ } ;
+ /**
+ * Tested with custom property tester.
+ */
+ public void _ResultSet() {
+ String propName = "ResultSet";
+ try{
+
+ log.println("try to get value from property...");
+ UnoRuntime.queryInterface(XResultSet.class,oObj.getPropertyValue(propName));
+
+ log.println("try to get value from object relation...");
+ XResultSet newValue = UnoRuntime.queryInterface(XResultSet.class,tEnv.getObjRelation("MailMerge.XResultSet"));
+
+ log.println("set property to a new value...");
+ oObj.setPropertyValue(propName, newValue);
+
+ log.println("get the new value...");
+ XResultSet getValue = UnoRuntime.queryInterface(XResultSet.class,oObj.getPropertyValue(propName));
+
+ tRes.tested(propName, this.compare(newValue, getValue));
+ } catch (com.sun.star.beans.PropertyVetoException e){
+ log.println("could not set property '"+ propName +"' to a new value!");
+ tRes.tested(propName, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("could not set property '"+ propName +"' to a new value!");
+ tRes.tested(propName, false);
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ if (this.isOptional(propName)){
+ // skipping optional property test
+ log.println("Property '" + propName
+ + "' is optional and not supported");
+ tRes.tested(propName,true);
+
+ } else {
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+
+ public void _ActiveConnection() {
+ String propName = "ActiveConnection";
+ try{
+
+ log.println("try to get value from property...");
+ UnoRuntime.queryInterface(XConnection.class,oObj.getPropertyValue(propName));
+
+ log.println("try to get value from object relation...");
+ XConnection newValue = UnoRuntime.queryInterface(XConnection.class,tEnv.getObjRelation("MailMerge.XConnection"));
+
+ log.println("set property to a new value...");
+ oObj.setPropertyValue(propName, newValue);
+
+ log.println("get the new value...");
+ XConnection getValue = UnoRuntime.queryInterface(XConnection.class,oObj.getPropertyValue(propName));
+
+ tRes.tested(propName, this.compare(newValue, getValue));
+ } catch (com.sun.star.beans.PropertyVetoException e){
+ log.println("could not set property '"+ propName +"' to a new value! " + e.toString());
+ tRes.tested(propName, false);
+ } catch (com.sun.star.lang.IllegalArgumentException e){
+ log.println("could not set property '"+ propName +"' to a new value! " + e.toString());
+ tRes.tested(propName, false);
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ if (this.isOptional(propName)){
+ // skipping optional property test
+ log.println("Property '" + propName
+ + "' is optional and not supported");
+ tRes.tested(propName,true);
+
+ } else {
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e){
+ log.println("could not get property '"+ propName +"' from XPropertySet!");
+ tRes.tested(propName, false);
+ }
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _DocumentURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("DocumentURL", DocumentURLTester) ;
+ }
+
+ /**
+ * Tested with custom property tester.
+ */
+ public void _OutputURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("OutputURL", URLTester) ;
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+
+} //finish class _MailMerge
+
diff --git a/qadevOOo/tests/java/ifc/text/_NumberingLevel.java b/qadevOOo/tests/java/ifc/text/_NumberingLevel.java
new file mode 100644
index 000000000..e3eace420
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_NumberingLevel.java
@@ -0,0 +1,163 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import lib.StatusException;
+import lib.TestParameters;
+import share.LogWriter;
+
+import com.sun.star.beans.PropertyValue;
+
+
+/**
+* Testing <code>com.sun.star.text.NumberingLevel</code><p>
+* This service is currently known as property value of
+* com.sun.star.text.ParagraphProperties.NumberingRules
+* This test checks only for completeness of implemented properties.
+* service properties :
+* <ul>
+* <li><code> Adjust</code></li>
+* <li><code> ParentNumbering</code></li>
+* <li><code> Prefix</code></li>
+* <li><code> Suffix</code></li>
+* <li><code> CharStyleName</code></li>
+* <li><code> BulletId</code></li>
+* <li><code> BulletChar</code></li>
+* <li><code> BulletFontName</code></li>
+* <li><code> BulletFont</code></li>
+* <li><code> GraphicURL</code></li>
+* <li><code> GraphicBitmap</code></li>
+* <li><code> GraphicSize</code></li>
+* <li><code> VertOrient</code></li>
+* <li><code> StartWith</code></li>
+* <li><code> LeftMargin</code></li>
+* <li><code> SymbolTextDistance</code></li>
+* <li><code> FirstLineOffset</code></li>
+* <li><code> NumberingType</code></li>
+* <li><code> HeadingStyleName</code></li>
+* <li><code> BulletColor</code></li>
+* <li><code> BulletRelSize</code></li>
+* </ul> <p>
+*
+* @see com.sun.star.text.NumberingLevel
+* @see com.sun.star.test.ParagraphProperties
+* @see ifc.style._ParagraphProperties
+*/
+public class _NumberingLevel {
+
+ private HashMap<String, Boolean> NumberingLevel = new HashMap<String,Boolean>();
+ private PropertyValue[] PropertyArray = null;
+ private LogWriter log = null;
+
+
+ /**
+ * returns an instance of _NumberingLevel
+ * @param log the log writer
+ * @param tParam the test parameters
+ * @param propertyValues a PropertyValue[] which should contain all properties of com.sun.star.text.NumberingLevel
+ */
+ public _NumberingLevel(LogWriter log, TestParameters tParam, PropertyValue[] propertyValues){
+
+ this.PropertyArray = propertyValues;
+
+ this.log = log;
+
+ //key = PropertyName, value = Ooptional
+ NumberingLevel.put("Adjust", Boolean.FALSE);
+ NumberingLevel.put("ParentNumbering", Boolean.TRUE);
+ NumberingLevel.put("Prefix", Boolean.FALSE);
+ NumberingLevel.put("Suffix", Boolean.FALSE);
+ NumberingLevel.put("CharStyleName", Boolean.TRUE);
+ NumberingLevel.put("BulletId", Boolean.TRUE);
+ NumberingLevel.put("BulletChar", Boolean.FALSE);
+ NumberingLevel.put("BulletFontName", Boolean.FALSE);
+ NumberingLevel.put("BulletFont", Boolean.TRUE);
+ NumberingLevel.put("GraphicURL", Boolean.FALSE);
+ NumberingLevel.put("GraphicBitmap", Boolean.TRUE);
+ NumberingLevel.put("GraphicSize", Boolean.TRUE);
+ NumberingLevel.put("VertOrient", Boolean.TRUE);
+ NumberingLevel.put("StartWith", Boolean.TRUE);
+ NumberingLevel.put("LeftMargin", Boolean.FALSE);
+ NumberingLevel.put("SymbolTextDistance", Boolean.TRUE);
+ NumberingLevel.put("FirstLineOffset", Boolean.FALSE);
+ NumberingLevel.put("NumberingType", Boolean.FALSE);
+ NumberingLevel.put("HeadingStyleName", Boolean.FALSE);
+ NumberingLevel.put("BulletColor", Boolean.TRUE);
+ NumberingLevel.put("BulletRelSize", Boolean.TRUE);
+
+ }
+
+ /**
+ * This method checks the PropertyValue for completeness. If one or more properties
+ * are missing the return value is FALSE, else TRUE
+ * @return returns TRUE if PropertyValue[] is complete, else FALSE
+ */
+ public boolean testPropertyArray(){
+
+ boolean status = true;
+ try{
+
+ // iterate over the given property array and remove it from the must list
+ for (int i = 0; i < PropertyArray.length; i++){
+ String propertyName=PropertyArray[i].Name;
+
+ if ( NumberingLevel.containsKey(propertyName) ) {
+ NumberingLevel.remove(propertyName);
+ } else {
+ if ( status ) {
+ log.println("FAILED: com.sun.star.text.NumberingLevel -> " +
+ "found not described property:");
+ }
+
+ status = false;
+ log.println("-> '" + propertyName + "'");
+ }
+
+ }
+
+ // get rest of properties and check if they are optional
+ if (! NumberingLevel.isEmpty()){
+ for (Map.Entry<String,Boolean> e : NumberingLevel.entrySet()) {
+ // if some elements are not optional -> failed
+ if (!e.getValue().booleanValue()) {
+
+ if ( status ) {
+ log.println("FAILED: com.sun.star.text.NumberingLevel -> " +
+ "could not find not optional property:");
+ }
+
+ status = false;
+ log.println("-> '" + e.getKey() + "'");
+ }
+ }
+ }
+
+ }catch( Exception e ){
+ throw new StatusException("ERROR: could not test all properties of com.sun.star.text.NumberingLevel",e);
+ }
+
+ return status;
+ }
+
+
+} // finish class _NumberingLevel
diff --git a/qadevOOo/tests/java/ifc/text/_NumberingRules.java b/qadevOOo/tests/java/ifc/text/_NumberingRules.java
new file mode 100644
index 000000000..925ccd4f6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_NumberingRules.java
@@ -0,0 +1,39 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.NumberingRules</code>
+* service properties :
+* <ul>
+* <li><code> IsAbsoluteMargins</code></li>
+* <li><code> IsAutomatic</code></li>
+* <li><code> IsContinuousNumbering</code></li>
+* <li><code> Name</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.NumberingRules
+*/
+public class _NumberingRules extends MultiPropertyTest {
+
+} // finish class _NumberingRules
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_PrintSettings.java b/qadevOOo/tests/java/ifc/text/_PrintSettings.java
new file mode 100644
index 000000000..a1736adab
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_PrintSettings.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.PrintSettings</code>
+* service properties :
+* <ul>
+* <li><code> PrintGraphics</code></li>
+* <li><code> PrintTables</code></li>
+* <li><code> PrintDrawings</code></li>
+* <li><code> PrintLeftPages</code></li>
+* <li><code> PrintRightPages</code></li>
+* <li><code> PrintControls</code></li>
+* <li><code> PrintReversed</code></li>
+* <li><code> PrintPaperFromSetup</code></li>
+* <li><code> PrintFaxName</code></li>
+* <li><code> PrintAnnotationMode</code></li>
+* <li><code> PrintProspect</code></li>
+* <li><code> PrintPageBackground</code></li>
+* <li><code> PrintBlackFonts</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.PrintSettings
+*/
+public class _PrintSettings extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_Text.java b/qadevOOo/tests/java/ifc/text/_Text.java
new file mode 100644
index 000000000..abf93948c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_Text.java
@@ -0,0 +1,26 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+public class _Text extends MultiPropertyTest {
+
+} //finish class _BaseFrame
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextColumns.java b/qadevOOo/tests/java/ifc/text/_TextColumns.java
new file mode 100644
index 000000000..93ef30505
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextColumns.java
@@ -0,0 +1,64 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.text.XTextColumns;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.text.TextColumns</code>
+* service properties :
+* <ul>
+* <li><code> IsAutomatic</code></li>
+* <li><code> AutomaticDistance</code></li>
+* <li><code> SeparatorLineWidth</code></li>
+* <li><code> SeparatorLineColor</code></li>
+* <li><code> SeparatorLineRelativeHeight</code></li>
+* <li><code> SeparatorLineVerticalAlignment</code></li>
+* <li><code> SeparatorLineIsOn</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.TextColumns
+*/
+public class _TextColumns extends MultiPropertyTest {
+
+
+ /**
+ * Redefined method returns specific value, that differs from property
+ * value. ( (oldValue + referenceValue) / 2 ).
+ */
+ public void _AutomaticDistance() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("AutomaticDistance", new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ XTextColumns xTC = UnoRuntime.queryInterface
+ (XTextColumns.class,tEnv.getTestObject());
+ int ref = xTC.getReferenceValue();
+ int setting = ( ( (Integer) oldValue).intValue() + ref) / 2;
+ return Integer.valueOf(setting);
+ }
+ });
+ }
+
+
+} //finish class _TextColumns
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextContent.java b/qadevOOo/tests/java/ifc/text/_TextContent.java
new file mode 100644
index 000000000..f414e3c2b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextContent.java
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.TextContent</code>
+* service properties :
+* <ul>
+* <li><code> AnchorType</code></li>
+* <li><code> AnchorTypes</code></li>
+* <li><code> TextWrap</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.TextContent
+*/
+public class _TextContent extends MultiPropertyTest {
+
+} //finish class _TextContent
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextDocument.java b/qadevOOo/tests/java/ifc/text/_TextDocument.java
new file mode 100644
index 000000000..4f668bcdc
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextDocument.java
@@ -0,0 +1,39 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+* Testing <code>com.sun.star.text.TextDocument</code>
+* service properties :
+* <ul>
+* <li><code> CharLocale</code></li>
+* <li><code> CharacterCount</code></li>
+* <li><code> ParagraphCount</code></li>
+* <li><code> WordCount</code></li>
+* <li><code> WordSeparator</code></li>
+* </ul> <p>
+* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+* @see com.sun.star.text.TextDocument
+*/
+public class _TextDocument extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextEmbeddedObject.java b/qadevOOo/tests/java/ifc/text/_TextEmbeddedObject.java
new file mode 100644
index 000000000..2ee2609f4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextEmbeddedObject.java
@@ -0,0 +1,59 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+
+/**
+ * Testing <code>com.sun.star.text.TextEmbeddedObject</code>
+ * service properties :
+ * <ul>
+ * <li><code> CLSID</code></li>
+ * <li><code> Model</code></li>
+ * <li><code> Component</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextEmbeddedObject
+ */
+public class _TextEmbeddedObject extends MultiPropertyTest {
+
+ /**
+ * This property can't be set, as soon as the object is inserted
+ * so the set method will be skipped.
+ */
+ public void _CLSID() {
+ boolean result = false;
+
+ try {
+ String clsid = (String) oObj.getPropertyValue("CLSID");
+ log.println("Getting " + clsid);
+ log.println(
+ "According to the idl-description this property can't be set as soon as the Object is inserted in the document, so setting will be skipped");
+ result=true;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception while getting Property 'CLSID' " +
+ e.getMessage());
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception while getting Property 'CLSID' " +
+ e.getMessage());
+ }
+
+ tRes.tested("CLSID", result);
+ }
+} // finish class _TextEmbeddedObject
diff --git a/qadevOOo/tests/java/ifc/text/_TextFieldMaster.java b/qadevOOo/tests/java/ifc/text/_TextFieldMaster.java
new file mode 100644
index 000000000..cb343f482
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextFieldMaster.java
@@ -0,0 +1,37 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.text.TextFieldMaster</code>
+ * service properties :
+ * <ul>
+ * <li><code> Name</code></li>
+ * <li><code> DependentTextFields</code></li>
+ * <li><code> InstanceName</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextFieldMaster
+ */
+public class _TextFieldMaster extends MultiPropertyTest {
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextFrame.java b/qadevOOo/tests/java/ifc/text/_TextFrame.java
new file mode 100644
index 000000000..a23d22862
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextFrame.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.text.TextFrame</code>
+ * service properties :
+ * <ul>
+ * <li><code> FrameHeightAbsolute</code></li>
+ * <li><code> FrameWidthAbsolute</code></li>
+ * <li><code> FrameWidthPercent</code></li>
+ * <li><code> FrameHeightPercent</code></li>
+ * <li><code> FrameIsAutomaticHeight</code></li>
+ * <li><code> SizeType</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextFrame
+ */
+public class _TextFrame extends MultiPropertyTest {
+
+ /**
+ * Property tester which switches two shorts.
+ */
+ protected PropertyTester WModeTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (oldValue.equals(Short.valueOf(com.sun.star.text.WritingMode2.LR_TB)))
+ return Short.valueOf(com.sun.star.text.WritingMode2.TB_LR); else
+ return Short.valueOf(com.sun.star.text.WritingMode2.LR_TB);
+ }
+ } ;
+
+ /**
+ * This property must have predefined values
+ */
+ public void _WritingMode() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("WritingMode", WModeTester) ;
+ }
+
+} //finish class _TextFrame
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextGraphicObject.java b/qadevOOo/tests/java/ifc/text/_TextGraphicObject.java
new file mode 100644
index 000000000..10d6e8d88
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextGraphicObject.java
@@ -0,0 +1,162 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.text;
+
+import com.sun.star.awt.Point;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.uno.UnoRuntime;
+
+import java.util.Random;
+
+import lib.MultiPropertyTest;
+
+import util.utils;
+
+
+/**
+ * Testing <code>com.sun.star.text.TextGraphicObject</code>
+ * service properties :
+ * <ul>
+ * <li><code> ImageMap</code></li>
+ * <li><code> ContentProtected</code></li>
+ * <li><code> SurroundContour</code></li>
+ * <li><code> ContourOutside</code></li>
+ * <li><code> ContourPolyPolygon</code></li>
+ * <li><code> GraphicCrop</code></li>
+ * <li><code> HoriMirroredOnEvenPages</code></li>
+ * <li><code> HoriMirroredOnOddPages</code></li>
+ * <li><code> VertMirrored</code></li>
+ * <li><code> GraphicURL</code></li>
+ * <li><code> GraphicFilter</code></li>
+ * <li><code> ActualSize</code></li>
+ * <li><code> AdjustLuminance</code></li>
+ * <li><code> AdjustContrast</code></li>
+ * <li><code> AdjustRed</code></li>
+ * <li><code> AdjustGreen</code></li>
+ * <li><code> AdjustBlue</code></li>
+ * <li><code> Gamma</code></li>
+ * <li><code> GraphicIsInverted</code></li>
+ * <li><code> Transparency</code></li>
+ * <li><code> GraphicColorMode</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'ImageMap'</code> (an implementation of
+ * <code>com.sun.star.image.ImageMapObject</code>):
+ * is used to insert a new Map into collection
+ * from 'ImageMap' property. </li>
+ * <ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextGraphicObject
+ */
+public class _TextGraphicObject extends MultiPropertyTest {
+ public Random rdm = new Random();
+
+ /**
+ * The tester which can change a sequence of <code>Point</code>'s
+ * or create a new one if necessary.
+ */
+ protected PropertyTester PointTester = new PropertyTester() {
+ @Override
+ protected Object getNewValue(String propName, Object oldValue)
+ throws java.lang.IllegalArgumentException {
+ if (utils.isVoid(oldValue)) {
+ return newPoint();
+ } else {
+ return changePoint((Point[][]) oldValue);
+ }
+ }
+ };
+
+ /**
+ * Tested with custom <code>PointTester</code>.
+ */
+ public void _ContourPolyPolygon() {
+ log.println("Testing with custom Property tester");
+ testProperty("ContourPolyPolygon", PointTester);
+ }
+
+ /**
+ * Retrieves an ImageMap from relation and inserts it to the collection
+ * obtained as property value. Then this collection is set back.
+ * After that property value is get again. The number of elements
+ * in the old collection and in just gotten collection is checked.
+ *
+ * Has <b>OK</b> status if the number of elements in the new obtained
+ * collection is greater than in old one.
+ */
+ public void _ImageMap() {
+ boolean result = true;
+
+ try {
+ XIndexContainer imgMap = UnoRuntime.queryInterface(
+ XIndexContainer.class,
+ oObj.getPropertyValue("ImageMap"));
+ int previous = imgMap.getCount();
+ log.println("Count (previous) " + previous);
+
+ Object im = tEnv.getObjRelation("IMGMAP");
+ imgMap.insertByIndex(0, im);
+ oObj.setPropertyValue("ImageMap", imgMap);
+ imgMap = UnoRuntime.queryInterface(
+ XIndexContainer.class,
+ oObj.getPropertyValue("ImageMap"));
+
+ int after = imgMap.getCount();
+ log.println("Count (after) " + after);
+ result = previous < after;
+ } catch (Exception ex) {
+ result = false;
+ }
+
+ tRes.tested("ImageMap", result);
+ }
+
+ /**
+ * Creates a new random points sequence.
+ */
+ public Point[][] newPoint() {
+ Point[][] res = new Point[1][185];
+
+ for (int i = 0; i < res[0].length; i++) {
+ res[0][i] = new Point();
+ res[0][i].X = rd() * rd() * rd();
+ res[0][i].Y = rd() * rd() * rd();
+ }
+
+ return res;
+ }
+
+ public int rd() {
+ return rdm.nextInt(6);
+ }
+
+ /**
+ * Changes the existing point sequence.
+ */
+ public Point[][] changePoint(Point[][] oldPoint) {
+ Point[][] res = oldPoint;
+
+ for (int i = 0; i < res[0].length; i++) {
+ res[0][i].X += 1;
+ res[0][i].Y += 1;
+ }
+
+ return res;
+ }
+} // finish class _TextGraphicObject
diff --git a/qadevOOo/tests/java/ifc/text/_TextPortion.java b/qadevOOo/tests/java/ifc/text/_TextPortion.java
new file mode 100644
index 000000000..24096fe6d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextPortion.java
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.text.ControlCharacter;
+
+/**
+ * Testing <code>com.sun.star.text.TextPortion</code>
+ * service properties :
+ * <ul>
+ * <li><code> TextPortionType</code></li>
+ * <li><code> ControlCharacter</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextPortion
+ */
+public class _TextPortion extends MultiPropertyTest {
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _ControlCharacter() {
+ testProperty("ControlCharacter",
+ Short.valueOf(ControlCharacter.LINE_BREAK),
+ Short.valueOf(ControlCharacter.PARAGRAPH_BREAK)) ;
+ }
+
+} //finish class _TextPortion
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextSection.java b/qadevOOo/tests/java/ifc/text/_TextSection.java
new file mode 100644
index 000000000..3c756a60f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextSection.java
@@ -0,0 +1,142 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+import com.sun.star.text.XTextColumns;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * Testing <code>com.sun.star.text.TextSection</code>
+ * service properties :
+ * <ul>
+ * <li><code> Condition</code></li>
+ * <li><code> IsVisible</code></li>
+ * <li><code> IsProtected</code></li>
+ * <li><code> FileLink</code></li>
+ * <li><code> LinkRegion</code></li>
+ * <li><code> DDECommandType</code></li>
+ * <li><code> DDECommandFile</code></li>
+ * <li><code> DDECommandElement</code></li>
+ * <li><code> BackGraphicURL</code></li>
+ * <li><code> BackGraphicFilter</code></li>
+ * <li><code> BackGraphicLocation</code></li>
+ * <li><code> FootnoteIsCollectAtTextEnd</code></li>
+ * <li><code> FootnoteIsRestartNumbering</code></li>
+ * <li><code> FootnoteRestartNumberingAt</code></li>
+ * <li><code> FootnoteIsOwnNumbering</code></li>
+ * <li><code> FootnoteNumberingType</code></li>
+ * <li><code> FootnoteNumberingPrefix</code></li>
+ * <li><code> FootnoteNumberingSuffix</code></li>
+ * <li><code> EndnoteIsCollectAtTextEnd</code></li>
+ * <li><code> EndnoteIsRestartNumbering</code></li>
+ * <li><code> EndnoteRestartNumberingAt</code></li>
+ * <li><code> EndnoteIsOwnNumbering</code></li>
+ * <li><code> EndnoteNumberingType</code></li>
+ * <li><code> EndnoteNumberingPrefix</code></li>
+ * <li><code> EndnoteNumberingSuffix</code></li>
+ * <li><code> IsAutomaticUpdate</code></li>
+ * </ul> <p>
+ * The following predefined files needed to complete the test:
+ * <ul>
+ * <li> <code>crazy-blue.jpg, space-metal.jpg</code> : are used for
+ * setting 'BackGraphicURL' property. </li>
+ * <ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextSection
+ */
+public class _TextSection extends MultiPropertyTest {
+
+ /**
+ * Only image file URL can be used as a value.
+ */
+ public void _BackGraphicURL() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("BackGraphicURL",
+ util.utils.getFullTestURL("crazy-blue.jpg"),
+ util.utils.getFullTestURL("space-metal.jpg")) ;
+ }
+
+ /**
+ * This property can be void, so if old value is <code> null </code>
+ * new value must be specified.
+ */
+ public void _FootnoteNumberingType() {
+ log.println("Testing with custom Property tester") ;
+ testProperty("FootnoteNumberingType",
+ Short.valueOf(com.sun.star.text.FootnoteNumbering.PER_DOCUMENT),
+ Short.valueOf(com.sun.star.text.FootnoteNumbering.PER_PAGE)) ;
+ }
+
+
+ /**
+ * Custom property tester for property <code>TextColumns</code>
+ */
+ protected PropertyTester TextColumnsTester = new PropertyTester() {
+
+ @Override
+ protected Object getNewValue(String propName, Object oldValue) {
+ XTextColumns TC = null;
+ short val2set = 25;
+
+ TC = (XTextColumns) tEnv.getObjRelation("TC");
+ try {
+ val2set += ((XTextColumns) AnyConverter.toObject(
+ new Type(XTextColumns.class),oldValue)).getColumnCount();
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Couldn't change Column count");
+ }
+ TC.setColumnCount(val2set);
+
+ return TC;
+ }
+
+ @Override
+ protected boolean compare(Object obj1, Object obj2) {
+ short val1 = 0;
+ short val2 = 1;
+ try {
+ val1 = ((XTextColumns) AnyConverter.toObject(
+ new Type(XTextColumns.class),obj1)).getColumnCount();
+ val2 = ((XTextColumns) AnyConverter.toObject(
+ new Type(XTextColumns.class),obj2)).getColumnCount();
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("comparing values failed");
+ }
+ return val1 == val2;
+ }
+
+ @Override
+ protected String toString(Object obj) {
+ return "XTextColumns: ColumnCount = "+
+ ((XTextColumns) obj).getColumnCount();
+ }
+
+ };
+
+ public void _TextColumns() {
+ log.println("Testing with custom Property tester");
+ testProperty("TextColumns", TextColumnsTester);
+ }
+
+
+} //finish class _TextContent
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextTable.java b/qadevOOo/tests/java/ifc/text/_TextTable.java
new file mode 100644
index 000000000..ad3645d22
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextTable.java
@@ -0,0 +1,110 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.text.TextTable</code>
+ * service properties :
+ * <ul>
+ * <li><code> BreakType</code></li>
+ * <li><code> LeftMargin</code></li>
+ * <li><code> RightMargin</code></li>
+ * <li><code> HoriOrient</code></li>
+ * <li><code> KeepTogether</code></li>
+ * <li><code> Split</code></li>
+ * <li><code> PageNumberOffset</code></li>
+ * <li><code> PageDescName</code></li>
+ * <li><code> RelativeWidth</code></li>
+ * <li><code> IsWidthRelative</code></li>
+ * <li><code> RepeatHeadline</code></li>
+ * <li><code> ShadowFormat</code></li>
+ * <li><code> TopMargin</code></li>
+ * <li><code> BottomMargin</code></li>
+ * <li><code> BackTransparent</code></li>
+ * <li><code> Width</code></li>
+ * <li><code> ChartRowAsLabel</code></li>
+ * <li><code> ChartColumnAsLabel</code></li>
+ * <li><code> TableBorder</code></li>
+ * <li><code> TableColumnSeparators</code></li>
+ * <li><code> TableColumnRelativeSum</code></li>
+ * <li><code> BackColor</code></li>
+ * <li><code> BackGraphicURL</code></li>
+ * <li><code> BackGraphicFilter</code></li>
+ * <li><code> BackGraphicLocation</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextTable
+ */
+public class _TextTable extends MultiPropertyTest {
+
+ /**
+ * This property accepts only restricted range of values.
+ * The property value is switched between '' and 'Standard'
+ * strings.
+ */
+ public void _PageDescName() {
+ testProperty("PageDescName", "Endnote", "Standard");
+ }
+
+ /**
+ * For setting this property, 'HoriOrient' property must be
+ * set to non-automatic.
+ */
+ public void _Width() {
+ Short align = Short.valueOf(com.sun.star.text.HoriOrientation.CENTER);
+ try {
+ oObj.setPropertyValue("HoriOrient",align);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {}
+ catch (com.sun.star.lang.WrappedTargetException ex) {}
+ catch (com.sun.star.beans.PropertyVetoException ex) {}
+ catch (com.sun.star.beans.UnknownPropertyException ex) {}
+
+ testProperty("Width");
+ }
+
+ /**
+ * For setting this property, 'HoriOrient' property must be
+ * set to non-automatic.
+ */
+ public void _RelativeWidth() {
+ Short align = Short.valueOf(com.sun.star.text.HoriOrientation.CENTER);
+ try {
+ oObj.setPropertyValue("HoriOrient",align);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {}
+ catch (com.sun.star.lang.WrappedTargetException ex) {}
+ catch (com.sun.star.beans.PropertyVetoException ex) {}
+ catch (com.sun.star.beans.UnknownPropertyException ex) {}
+
+ testProperty("RelativeWidth");
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // finish class _TextTable
+
diff --git a/qadevOOo/tests/java/ifc/text/_TextTableRow.java b/qadevOOo/tests/java/ifc/text/_TextTableRow.java
new file mode 100644
index 000000000..7bd23f22e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_TextTableRow.java
@@ -0,0 +1,43 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.text.TextTableRow</code>
+ * service properties :
+ * <ul>
+ * <li><code> BackColor</code></li>
+ * <li><code> BackTransparent</code></li>
+ * <li><code> VertOrient</code></li>
+ * <li><code> BackGraphicURL</code></li>
+ * <li><code> BackGraphicFilter</code></li>
+ * <li><code> BackGraphicLocation</code></li>
+ * <li><code> TableColumnSeparators</code></li>
+ * <li><code> Height</code></li>
+ * <li><code> IsAutoHeight</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.TextTableRow
+ */
+public class _TextTableRow extends MultiPropertyTest {
+
+} // finish class _TextTableRow
+
diff --git a/qadevOOo/tests/java/ifc/text/_ViewSettings.java b/qadevOOo/tests/java/ifc/text/_ViewSettings.java
new file mode 100644
index 000000000..676fe27db
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_ViewSettings.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.text.ViewSettings</code>
+ * service properties :
+ * <ul>
+ * <li><code> ShowAnnotations</code></li>
+ * <li><code> ShowBreaks</code></li>
+ * <li><code> ShowDrawings</code></li>
+ * <li><code> ShowFieldCommands</code></li>
+ * <li><code> ShowFootnoteBackground</code></li>
+ * <li><code> ShowGraphics</code></li>
+ * <li><code> ShowHiddenParagraphs</code></li>
+ * <li><code> ShowHiddenText</code></li>
+ * <li><code> ShowHoriRuler</code></li>
+ * <li><code> ShowHoriScrollBar</code></li>
+ * <li><code> ShowIndexMarkBackground</code></li>
+ * <li><code> ShowParaBreaks</code></li>
+ * <li><code> ShowProtectedSpaces</code></li>
+ * <li><code> ShowSoftHyphens</code></li>
+ * <li><code> ShowSpaces</code></li>
+ * <li><code> ShowTableBoundaries</code></li>
+ * <li><code> ShowTables</code></li>
+ * <li><code> ShowTabstops</code></li>
+ * <li><code> ShowTextBoundaries</code></li>
+ * <li><code> ShowTextFieldBackground</code></li>
+ * <li><code> ShowVertRuler</code></li>
+ * <li><code> ShowVertScrollBar</code></li>
+ * <li><code> SmoothScrolling</code></li>
+ * <li><code> IsVertRulerRightAligned</code></li>
+ * <li><code> ShowOnlineLayout</code></li>
+ * <li><code> ZoomType</code></li>
+ * <li><code> ZoomValue</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.text.ViewSettings
+ */
+public class _ViewSettings extends MultiPropertyTest {
+
+} // finish class _ViewSettings
+
diff --git a/qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java b/qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java
new file mode 100644
index 000000000..fed159a32
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XAutoTextContainer.java
@@ -0,0 +1,132 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XAutoTextContainer;
+import com.sun.star.text.XAutoTextGroup;
+
+/**
+ * Testing <code>com.sun.star.text.XAutoTextContainer</code>
+ * interface methods :
+ * <ul>
+ * <li><code> insertNewByName()</code></li>
+ * <li><code> removeByName()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XAutoTextContainer
+ */
+public class _XAutoTextContainer extends MultiMethodTest {
+ public XAutoTextContainer oObj = null;
+ // every Thread must insert its own AutoTextContainer:
+ public String Name = "";
+
+ /**
+ * First removes old element from container with the specified name
+ * if it exists. Then tries to add a new group with the specified
+ * name. <p>
+ *
+ * Has <b>OK</b> status if not <code>null</code>
+ * <code>AutoTextGroup</code> instance is returned.
+ */
+ public void _insertNewByName() {
+ System.out.println("Starting: insertNewByName");
+ boolean result = true;
+ Name = "XAutoTextContainerx" + Thread.currentThread().getName();
+ Name = Name.replace('-','x');
+ Name = Name.replace(':','x');
+ Name = Name.replace('.','x');
+ XAutoTextGroup oGroup = null;
+ //first clear the container
+ log.println("remove old elements in container");
+ System.out.println("remove old elements in container");
+ try {
+ oObj.removeByName(Name);
+ log.println("old elements removed -> OK");
+ System.out.println("old elements removed -> OK");
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("no old elements available -> OK");
+ System.out.println("no old elements available -> OK");
+ }
+
+ // insert an element
+ log.println("insertNewByName");
+ try {
+ System.out.println("Inserting element with name '" + Name + "'");
+ log.println("Inserting element with name '" + Name + "'");
+ oGroup = oObj.insertNewByName(Name);
+ System.out.println("done");
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("insertNewByName(): " + e);
+ result &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("insertNewByName(): " + e);
+ result &= false;
+ }
+
+ result &= ( oGroup != null );
+ tRes.tested("insertNewByName()", result);
+ } // end insertNewByName()
+
+ /**
+ * First removes element by name which was added before,
+ * then tries to remove the element with the same name again. <p>
+ *
+ * Has <b> OK </b> status if in the first case no exceptions
+ * were thrown, and in the second case
+ * <code>NoSuchElementException</code> was thrown. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertNewByName() </code> : new element inserted here.</li>
+ * </ul>
+ */
+ public void _removeByName() {
+ requiredMethod("insertNewByName()");
+
+ boolean result = true;
+ // remove the element
+ log.println("removeByName()");
+ try {
+ log.println("Removing element with name '" + Name + "'");
+ oObj.removeByName(Name);
+ result &= true;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ log.println("removeByName(): " + e + " -> FAILED");
+ }
+
+ log.println("2nd removeByName()");
+ try {
+ oObj.removeByName(Name);
+ log.println("No exceptions were thrown -> FAILED");
+ result = false ;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("2nd removeByName(): -> OK");
+ result &= true;
+ }
+
+ tRes.tested("removeByName()", result);
+
+ } // end removeByName()
+
+} /// finish class XAutoTextContainer
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XAutoTextEntry.java b/qadevOOo/tests/java/ifc/text/_XAutoTextEntry.java
new file mode 100644
index 000000000..5f9b19634
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XAutoTextEntry.java
@@ -0,0 +1,69 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.text.XAutoTextEntry;
+import com.sun.star.text.XTextDocument;
+
+/**
+ * Testing <code>com.sun.star.text.XAutoTextEntry</code>
+ * interface methods :
+ * <ul>
+ * <li><code> applyTo()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'TEXTDOC'</code> (of type <code>XTextDocument</code>):
+ * the text document for creating a text range.</li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XAutoTextEntry
+ */
+public class _XAutoTextEntry extends MultiMethodTest {
+
+ public XAutoTextEntry oObj = null;
+
+ /**
+ * Applies the entry to a range created for the text document obtained from
+ * relation 'TEXTDOC'. <p>
+ * Has <b> OK </b> status if text of the document was changed. <p>
+ */
+ public void _applyTo() {
+ XTextDocument textDoc = (XTextDocument)tEnv.getObjRelation("TEXTDOC");
+ if (textDoc == null) {
+ throw new StatusException
+ (Status.failed("Couldn't get relation 'TEXTDOC'"));
+ }
+
+ String oldText = textDoc.getText().getString();
+ oObj.applyTo(textDoc.getText().createTextCursor());
+ String newText = textDoc.getText().getString();
+
+ log.println("Old text:\n" + oldText + "\nNew text:\n" + newText);
+
+ tRes.tested("applyTo()", ! newText.equals(oldText));
+ }
+
+} // finish class _XAutoTextEntry
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XAutoTextGroup.java b/qadevOOo/tests/java/ifc/text/_XAutoTextGroup.java
new file mode 100644
index 000000000..9a67c4301
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XAutoTextGroup.java
@@ -0,0 +1,299 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.ValueComparer;
+
+import com.sun.star.text.XAutoTextGroup;
+import com.sun.star.text.XTextRange;
+
+/**
+ * Testing <code>com.sun.star.text.XAutoTextGroup</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getTitles()</code></li>
+ * <li><code> renameByName()</code></li>
+ * <li><code> insertNewByName()</code></li>
+ * <li><code> removeByName()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'TextRange'</code> (of type <code>XTextRange</code>):
+ * the range for which an entry is added. </li>
+ * <ul> <p>
+ * Test is multithread compliant. <p>
+ * @see com.sun.star.text.XAutoTextGroup
+ */
+public class _XAutoTextGroup extends MultiMethodTest {
+
+ public XAutoTextGroup oObj = null;
+
+ /**
+ * Unique number among different interface threads.
+ */
+ protected static int uniq = 0 ;
+
+ /**
+ * Unique string for AutoTextEntry names among different
+ * threads.
+ */
+ protected String str = null ;
+
+ /**
+ * Prefix for unique string.
+ * @see #str
+ */
+ protected static final String pref = "XAutoTextGroup" ;
+ protected XTextRange oRange = null;
+
+ /**
+ * Constructs a unique string for current interface thread
+ * for naming purposes. All old entries which names are
+ * started with prefix used for entry names, are deleted
+ * from the group (they can remain after previous unsuccessful
+ * test runs). The relation is obtained.
+ *
+ * @throws StatusException if the relation is not found.
+ */
+ @Override
+ public void before() {
+ str = pref + uniq++ ;
+ String[] names = oObj.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ log.println(" " + names[i]);
+ if (names[i].toUpperCase().indexOf(pref.toUpperCase()) > 0) {
+ try {
+ log.println(" ... removing ...");
+ oObj.removeByName(names[i]) ;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Element '" + names[i] + "' not found.");
+ }
+ }
+ }
+
+ oRange = (XTextRange) tEnv.getObjRelation("TextRange");
+ if (oRange == null) {
+ throw new StatusException(Status.failed("No relation found")) ;
+ }
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getTitles() {
+
+ String[] titles = oObj.getTitles();
+ tRes.tested("getTitles()",titles != null);
+ }
+
+ /**
+ * Firsts inserts a new <code>AutoTextEntry</code> using a range
+ * from relation, entry titles are checked before and after
+ * insertion, second tries to add an entry with the same name. <p>
+ *
+ * Has <b>OK</b> status if in the first case titles are changed,
+ * and in the second case <code>ElementExistException</code> is
+ * thrown.
+ */
+ public void _insertNewByName() {
+
+ boolean result = false;
+
+ try {
+ String[] before = oObj.getTitles();
+ oObj.insertNewByName(str, "For " + str,oRange);
+ String[] after = oObj.getTitles();
+ result = !util.ValueComparer.equalValue(before, after);
+ }
+ catch (com.sun.star.container.ElementExistException ex) {
+ log.println("Exception occurred while testing insertNewByName");
+ ex.printStackTrace(log);
+ result = false;
+ }
+
+ try {
+ oObj.insertNewByName(str, "For " + str, oRange);
+ log.println(
+ "com::sun::star::container::ElementExistsException wasn't thrown");
+ oObj.removeByName(str);
+ result &= false;
+ } catch (com.sun.star.container.ElementExistException ex) {
+ result &= true;
+ } catch (com.sun.star.container.NoSuchElementException ex) {
+ log.println("Wrong exception was thrown :");
+ ex.printStackTrace(log);
+ result &= false;
+ }
+
+ tRes.tested("insertNewByName()",result);
+
+ }
+
+ /**
+ * Removes <code>AutoTextEntry</code> added before and checks
+ * titles of the group before and after removing. <p>
+ * Has <b> OK </b> status if titles are not equal before and after
+ * removing and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertNewByName() </code> : the entry is
+ * inserted here. </li>
+ * </ul>
+ */
+ public void _removeByName() {
+ requiredMethod("insertNewByName()") ;
+
+ try {
+ String[] before = oObj.getTitles();
+ oObj.removeByName(str);
+ String[] after = oObj.getTitles();
+ tRes.tested("removeByName()",
+ !ValueComparer.equalValue(before,after));
+ }
+ catch (com.sun.star.container.NoSuchElementException ex) {
+ log.println("Exception occurred while testing removeByName");
+ ex.printStackTrace(log);
+ tRes.tested("removeByName()",false);
+ }
+ }
+
+ /**
+ * Three cases are tested here :
+ * <ol>
+ * <li> Trying to rename an entry to a name, which already
+ * exists in the group. <code>ElementExistException</code>
+ * must be thrown. </li>
+ * <li> Trying to rename an element with non-existing name.
+ * <code>IllegalArgumentException</code> must be thrown.</li>
+ * <li> The normal situation : no exceptions must be thrown
+ * and element with a new name must arise. </li>
+ * </ol>
+ *
+ * Has <b>OK</b> status if all three cases were completed successfully.
+ */
+ public void _renameByName() {
+ boolean result = false;
+
+ try {
+ oObj.getTitles();
+ oObj.getElementNames();
+ oObj.insertNewByName(str,"For " + str,oRange);
+ oObj.insertNewByName(str + "dup","For " + str,oRange);
+ oObj.getTitles();
+ oObj.getElementNames();
+ result = true;
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("Unexpected exception occurred :") ;
+ e.printStackTrace(log);
+ } finally {
+ if (!result) {
+ try {
+ oObj.removeByName(str);
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ try {
+ oObj.removeByName(str + "dup");
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ tRes.tested("renameByName()", false);
+ }
+ }
+
+
+ try {
+ oObj.renameByName(str, str + "dup", "For "+str);
+ log.println(
+ "com::sun::star::container::ElementExistsException wasn't thrown");
+ result = false;
+ } catch (com.sun.star.container.ElementExistException e) {
+ result = true;
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Wrong exception was thrown :");
+ e.printStackTrace(log);
+ result = false;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Wrong exception was thrown :");
+ e.printStackTrace(log);
+ result = false;
+ } finally {
+ try {
+ oObj.removeByName(str);
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ try {
+ oObj.removeByName(str + "dup");
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ }
+
+ try {
+ oObj.renameByName("~"+str,str,str);
+ log.println(
+ "com::sun::star::lang::IllegalArgumentException wasn't thrown");
+ result &= false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ result &= true;
+ } catch (com.sun.star.container.ElementExistException e) {
+ log.println("Unexpected exception :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.io.IOException e) {
+ log.println("Unexpected exception :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } finally {
+ try {
+ oObj.removeByName(str);
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ }
+
+ try {
+ oObj.insertNewByName(str, "For " + str, oRange);
+
+ oObj.renameByName(str,str+"a",str+"b");
+ result &= oObj.hasByName(str + "a");
+ } catch (com.sun.star.container.ElementExistException ex) {
+ log.println("Exception occurred while testing renameByName");
+ ex.printStackTrace(log);
+ result &=false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred while testing renameByName");
+ ex.printStackTrace(log);
+ result &=false;
+ } catch (com.sun.star.io.IOException ex) {
+ log.println("Exception occurred while testing renameByName");
+ ex.printStackTrace(log);
+ result &=false;
+ } finally {
+ try {
+ oObj.removeByName(str);
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ try {
+ oObj.removeByName(str + "a");
+ } catch (com.sun.star.container.NoSuchElementException e) {}
+ }
+
+ tRes.tested("renameByName()",result);
+
+ }
+
+} // finish class _XAutoTextGroup
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XBookmarksSupplier.java b/qadevOOo/tests/java/ifc/text/_XBookmarksSupplier.java
new file mode 100644
index 000000000..d01fc5686
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XBookmarksSupplier.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XBookmarksSupplier;
+import lib.MultiMethodTest;
+
+
+/**
+ * Testing <code>com.sun.star.text.XBookmarksSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getBookmarks()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XBookmarksSupplier
+ */
+public class _XBookmarksSupplier extends MultiMethodTest {
+
+ public static XBookmarksSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the collection returned has at least
+ * one element.
+ */
+ public void _getBookmarks() {
+ boolean res = false;
+
+ XNameAccess the_bookmarks = oObj.getBookmarks();
+ log.println("Found: ");
+ util.dbg.printArray(the_bookmarks.getElementNames());
+ res = the_bookmarks.getElementNames().length>0;
+
+ tRes.tested("getBookmarks()",res);
+ }
+
+} // finish class _XBookmarksSupplier
diff --git a/qadevOOo/tests/java/ifc/text/_XChapterNumberingSupplier.java b/qadevOOo/tests/java/ifc/text/_XChapterNumberingSupplier.java
new file mode 100644
index 000000000..3cac4bf7c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XChapterNumberingSupplier.java
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexReplace;
+import com.sun.star.text.XChapterNumberingSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XChapterNumberingSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getChapterNumberingRules()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XChapterNumberingSupplier
+ */
+public class _XChapterNumberingSupplier extends MultiMethodTest {
+
+ public static XChapterNumberingSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the returned collection
+ * has at least one element.
+ */
+ public void _getChapterNumberingRules() {
+ boolean res = false;
+
+ XIndexReplace the_chapter = oObj.getChapterNumberingRules();
+ res = the_chapter.hasElements();
+
+ tRes.tested("getChapterNumberingRules()",res);
+ }
+
+} // finish class _XChapterNumberingSupplier
+
diff --git a/qadevOOo/tests/java/ifc/text/_XDefaultNumberingProvider.java b/qadevOOo/tests/java/ifc/text/_XDefaultNumberingProvider.java
new file mode 100644
index 000000000..6a98f0696
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XDefaultNumberingProvider.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.Locale;
+import com.sun.star.text.XDefaultNumberingProvider;
+
+/**
+* Testing <code>com.sun.star.text.XDefaultNumberingProvider</code>
+* interface methods :
+* <ul>
+* <li><code> getDefaultOutlineNumberings()</code></li>
+* <li><code> getDefaultContinuousNumberingLevels()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.text.XDefaultNumberingProvider
+*/
+public class _XDefaultNumberingProvider extends MultiMethodTest {
+
+ public static XDefaultNumberingProvider oObj = null;
+ private final Locale loc = new Locale("en", "EN", "") ;
+
+ /**
+ * Just gets numberings for "en" locale. <p>
+ * Has <b>OK</b> status if not <code>null</code> value returned
+ * and no runtime exceptions occurred.
+ */
+ public void _getDefaultOutlineNumberings() {
+ XIndexAccess xIA[] = oObj.getDefaultOutlineNumberings(loc) ;
+
+ tRes.tested("getDefaultOutlineNumberings()", xIA != null) ;
+ }
+
+ /**
+ * Just gets numberings for "en" locale. <p>
+ * Has <b>OK</b> status if not <code>null</code> value returned
+ * and no runtime exceptions occurred.
+ */
+ public void _getDefaultContinuousNumberingLevels() {
+ PropertyValue[][] lev = oObj.getDefaultContinuousNumberingLevels(loc) ;
+
+ tRes.tested("getDefaultContinuousNumberingLevels()", lev != null) ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XDocumentIndex.java b/qadevOOo/tests/java/ifc/text/_XDocumentIndex.java
new file mode 100644
index 000000000..861dbd681
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XDocumentIndex.java
@@ -0,0 +1,115 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDocumentIndex;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Testing <code>com.sun.star.text.XDocumentIndex</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getServiceName()</code></li>
+ * <li><code> update()</code></li>
+ * </ul> <p>
+ *
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'TextDoc'</code> (of type <code>XTextDocument</code>):
+ * the text document for creating and inserting index mark.</li>
+ * <ul> <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XDocumentIndex
+ */
+public class _XDocumentIndex extends MultiMethodTest {
+
+ public XDocumentIndex oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the returned service name
+ * is equal to 'com.sun.star.text.DocumentIndex'.
+ */
+ public void _getServiceName() {
+ String serv = oObj.getServiceName();
+ tRes.tested("getServiceName()",
+ serv.equals("com.sun.star.text.DocumentIndex"));
+ }
+
+ /**
+ * Gets the document from relation and insert a new index mark.
+ * Then it stores the text content of document index before
+ * update and after.<p>
+ *
+ * Has <b> OK </b> status if index content is changed and
+ * new index contains index mark inserted. <p>
+ */
+ public void _update() {
+ boolean bOK = true;
+
+ try {
+ XTextDocument xTextDoc = (XTextDocument)
+ tEnv.getObjRelation("TextDoc");
+ XText xText = xTextDoc.getText();
+ XTextRange xTR = xText.getEnd();
+ xTR.setString("IndexMark");
+
+ XMultiServiceFactory xDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ Object idxMark = xDocMSF.createInstance
+ ("com.sun.star.text.DocumentIndexMark");
+ XTextContent xTC = UnoRuntime.queryInterface
+ (XTextContent.class, idxMark);
+ xText.insertTextContent(xTR, xTC, true);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't insert index mark.");
+ e.printStackTrace(log);
+ bOK = false ;
+ }
+
+ String contentBefore = oObj.getAnchor().getString();
+ log.println("Content before: '" + contentBefore + "'");
+
+ oObj.update();
+
+ waitForEventIdle();
+
+
+ String contentAfter = oObj.getAnchor().getString();
+ log.println("Content after: '" + contentAfter + "'");
+
+ bOK &= !contentAfter.equals(contentBefore);
+ bOK &= contentAfter.indexOf("IndexMark") > -1;
+
+ tRes.tested("update()",bOK);
+ }
+
+
+
+} // finish class _XDocumentIndex
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XDocumentIndexesSupplier.java b/qadevOOo/tests/java/ifc/text/_XDocumentIndexesSupplier.java
new file mode 100644
index 000000000..7d985f822
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XDocumentIndexesSupplier.java
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.text.XDocumentIndexesSupplier;
+
+import lib.MultiMethodTest;
+
+
+/**
+ * Testing <code>com.sun.star.text.XDocumentIndexesSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getDocumentIndexes()()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XDocumentIndexesSupplier
+ */
+public class _XDocumentIndexesSupplier extends MultiMethodTest {
+
+ public static XDocumentIndexesSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the collection returned has at least
+ * one element.
+ */
+ public void _getDocumentIndexes() {
+ boolean res = false;
+
+ XIndexAccess the_documentIndexes = oObj.getDocumentIndexes();
+ res = the_documentIndexes.getCount()>0;
+
+ tRes.tested("getDocumentIndexes()",res);
+ }
+
+} // finish class _XDocumentIndexesSupplier
diff --git a/qadevOOo/tests/java/ifc/text/_XEndnotesSupplier.java b/qadevOOo/tests/java/ifc/text/_XEndnotesSupplier.java
new file mode 100644
index 000000000..b08948a67
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XEndnotesSupplier.java
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.text.XEndnotesSupplier;
+
+
+/**
+ * Testing <code>com.sun.star.text.XEndnotesSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getEndnotes()</code></li>
+ * <li><code> getEndnoteSettings()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XEndnotesSupplier
+ */
+public class _XEndnotesSupplier extends MultiMethodTest {
+
+ public static XEndnotesSupplier oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the collection returned has at least
+ * one element.
+ */
+ public void _getEndnotes() {
+ boolean res = false;
+
+ XIndexAccess the_endnotes = oObj.getEndnotes();
+ res = the_endnotes.hasElements();
+
+ tRes.tested("getEndnotes()",res);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getEndnoteSettings() {
+ boolean res = false;
+
+ XPropertySet the_props = oObj.getEndnoteSettings();
+ res = ( the_props != null );
+
+ tRes.tested("getEndnoteSettings()",res);
+ }
+
+} // finish class _XEndnotesSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XFootnote.java b/qadevOOo/tests/java/ifc/text/_XFootnote.java
new file mode 100644
index 000000000..6aedd2c75
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XFootnote.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+import com.sun.star.text.XFootnote;
+
+
+/**
+ * Testing <code>com.sun.star.text.XFootnote</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getLabel()</code></li>
+ * <li><code> setLabel()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XFootnote
+ */
+public class _XFootnote extends MultiMethodTest {
+
+ public XFootnote oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getLabel(){
+
+ boolean result;
+
+ // testing getLabel
+ log.println("Testing getLabel() ... ");
+ String oldLabel = oObj.getLabel();
+ log.println("getLabel: Old Value: " + oldLabel);
+ result = (oldLabel != null);
+ if (result) {
+ log.println(" ... getLabel() - OK");
+ }
+ else {
+ log.println(" ... getLabel() - FAILED");
+ }
+ tRes.tested("getLabel()", result);
+
+ } // finished getLabel
+
+
+ /**
+ * Sets a new label, then using <code>getLabel</code> method
+ * checks if the label was set. <p>
+ *
+ * Has <b>OK</b> status if set and get values are equal.
+ */
+ public void _setLabel(){
+
+ boolean result;
+ String str = "New XFootnote Label";
+
+ // testing getLabel
+ log.println("Testing setLabel() ... ");
+ log.println("New label : " + str);
+
+ String oldLabel = oObj.getLabel();
+ log.println("Old label was: " + oldLabel);
+ oObj.setLabel(str);
+
+ String res = oObj.getLabel();
+
+ log.println("verify setLabel result");
+ result = res.equals(str);
+ if (result) {
+ log.println(" ... setLabel() - OK");
+ }
+ else {
+ log.println(" ... setLabel() - FAILED");
+ }
+ tRes.tested("setLabel()", result);
+
+ log.println("restoring the old label value");
+ oObj.setLabel(oldLabel);
+ } // finished setLabel
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XFootnotesSettingsSupplier.java b/qadevOOo/tests/java/ifc/text/_XFootnotesSettingsSupplier.java
new file mode 100644
index 000000000..2b53b9e27
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XFootnotesSettingsSupplier.java
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.XFootnotesSettingsSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XFootnotesSettingsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getFootnoteSettings()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XFootnotesSettingsSupplier
+ */
+public class _XFootnotesSettingsSupplier extends MultiMethodTest {
+ public XFootnotesSettingsSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getFootnotesSettings(){
+ boolean result = true;
+ XPropertySet footnoteSettings = null;
+
+ footnoteSettings = oObj.getFootnotesSettings();
+ result = footnoteSettings != null;
+
+ tRes.tested("getFootnotesSettings()", result);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XFootnotesSupplier.java b/qadevOOo/tests/java/ifc/text/_XFootnotesSupplier.java
new file mode 100644
index 000000000..1cd7b65d9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XFootnotesSupplier.java
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.text.XFootnotesSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XFootnotesSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getFootnotes()</code></li>
+ * <li><code> getFootnoteSettings()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XFootnotesSupplier
+ */
+public class _XFootnotesSupplier extends MultiMethodTest {
+ public XFootnotesSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getFootnotes(){
+ boolean result = true;
+ XIndexAccess footnotes = null;
+
+ log.println("testing getFootnotes() ... ");
+
+ footnotes = oObj.getFootnotes();
+ result = footnotes != null;
+ tRes.tested("getFootnotes()", result);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getFootnoteSettings(){
+ boolean result = true;
+ XPropertySet footnoteSettings = null;
+
+ log.println("testing getFootnoteSettings() ... ");
+
+ footnoteSettings = oObj.getFootnoteSettings();
+ result = footnoteSettings != null;
+
+ tRes.tested("getFootnoteSettings()", result);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XLineNumberingProperties.java b/qadevOOo/tests/java/ifc/text/_XLineNumberingProperties.java
new file mode 100644
index 000000000..cf39649b4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XLineNumberingProperties.java
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.XLineNumberingProperties;
+
+/**
+ * Testing <code>com.sun.star.text.XLineNumberingProperties</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getLineNumberingProperties()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XLineNumberingProperties
+ */
+public class _XLineNumberingProperties extends MultiMethodTest {
+
+ public XLineNumberingProperties oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getLineNumberingProperties() {
+
+ XPropertySet getting = oObj.getLineNumberingProperties();
+ tRes.tested("getLineNumberingProperties()",getting != null);
+ }
+
+} // finish class _XLineNumberingProperties
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XMailMergeBroadcaster.java b/qadevOOo/tests/java/ifc/text/_XMailMergeBroadcaster.java
new file mode 100644
index 000000000..5ac586b43
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XMailMergeBroadcaster.java
@@ -0,0 +1,140 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.task.XJob;
+import com.sun.star.text.MailMergeEvent;
+import com.sun.star.text.XMailMergeBroadcaster;
+import com.sun.star.text.XMailMergeListener;
+
+/**
+* Testing <code>com.sun.star.text.XMailMergeBroadcaster</code>
+* interface methods:
+* <ul>
+* <li><code> addMailMergeEventListener() </code></li>
+* <li><code> removeMailMergeEventListener() </code></li>
+* </ul><p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'Job'</code> (of type <code>XJob</code>):
+* used to fire MailMergeEvent</li>
+* <li> <code>'executeArgs'</code> (of type <code>NamedValue[]</code>):
+* used as parameter for <code>'Job'</code> </li>
+* </ul> <p>
+*
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.text.XMailMergeBroadcaster
+*/
+public class _XMailMergeBroadcaster extends MultiMethodTest {
+ public static XMailMergeBroadcaster oObj = null;
+ protected boolean changed = false;
+
+
+ /**
+ * Class we need to test methods
+ */
+ protected class MyMailMergeEventListener implements XMailMergeListener {
+ public void notifyMailMergeEvent ( MailMergeEvent oEvent ) {
+ System.out.println("Listener called");
+ changed = true;
+ }
+ }
+
+ protected XMailMergeListener listener = new MyMailMergeEventListener();
+
+ /**
+ * Tries to query the tested component for object relation
+ * <code>executeArgs</code> [<code>NamedValue</code>] and <code>Job</code>
+ * [<code>XJob</code>]
+ * @throw StatusException If relations are not found
+ */
+ @Override
+ public void before() {
+ NamedValue[] executeArgs = (NamedValue[]) tEnv.getObjRelation("executeArgs") ;
+ if (executeArgs == null)
+ throw new StatusException(Status.failed
+ ("'executeArgs' relation not found ")) ;
+ XJob Job = (XJob) tEnv.getObjRelation("Job") ;
+ if (Job == null)
+ throw new StatusException(Status.failed
+ ("'Job' relation not found ")) ;
+ }
+
+ /**
+ * Test executes mail merge process<p>
+ * Has <b> OK </b> status if listener was called
+ */
+ public void _addMailMergeEventListener() {
+ log.println("Testing addMailMergeEventListener ...");
+
+ oObj.addMailMergeEventListener( listener );
+
+ NamedValue[] executeArgs = (NamedValue[]) tEnv.getObjRelation("executeArgs");
+ XJob Job = (XJob) tEnv.getObjRelation("Job");
+
+ try {
+ Job.execute(executeArgs);
+ } catch ( com.sun.star.lang.IllegalArgumentException e) {
+ throw new StatusException(Status.failed
+ ("'could not fire event: " + e)) ;
+ } catch ( com.sun.star.uno.Exception e) {
+ throw new StatusException(Status.failed
+ ("'could not fire event: " + e)) ;
+ }
+
+ tRes.tested("addMailMergeEventListener()", changed);
+ }
+
+ /**
+ * Test executes mail merge process<p>
+ * Has <b> OK </b> status if listener was not called
+ */
+ public void _removeMailMergeEventListener() {
+ log.println("Testing removeMailMergeEventListener ...");
+ requiredMethod("addMailMergeEventListener()");
+ changed = false;
+
+ oObj.removeMailMergeEventListener( listener );
+
+ NamedValue[] executeArgs = (NamedValue[]) tEnv.getObjRelation("executeArgs");
+ XJob Job = (XJob) tEnv.getObjRelation("Job");
+
+ try {
+ Job.execute(executeArgs);
+ } catch ( com.sun.star.lang.IllegalArgumentException e) {
+ throw new StatusException(Status.failed
+ ("'could not fire event: " + e)) ;
+ } catch ( com.sun.star.uno.Exception e) {
+ throw new StatusException(Status.failed
+ ("'could not fire event: " + e)) ;
+ }
+
+ waitForEventIdle();
+
+ tRes.tested("removeMailMergeEventListener()", !changed);
+ }
+
+
+} // finished class _XMailMergeBroadcaster
+
diff --git a/qadevOOo/tests/java/ifc/text/_XPageCursor.java b/qadevOOo/tests/java/ifc/text/_XPageCursor.java
new file mode 100644
index 000000000..6fdcd8bb3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XPageCursor.java
@@ -0,0 +1,162 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XPageCursor;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+
+
+/**
+ * Testing <code>com.sun.star.text.XPageCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> jumpToFirstPage()</code></li>
+ * <li><code> jumpToLastPage()</code></li>
+ * <li><code> jumpToPage()</code></li>
+ * <li><code> getPage()</code></li>
+ * <li><code> jumpToNextPage()</code></li>
+ * <li><code> jumpToPreviousPage()</code></li>
+ * <li><code> jumpToEndOfPage()</code></li>
+ * <li><code> jumpToStartOfPage()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'TEXTDOC'</code> (of type <code>XTextDocument</code>):
+ * is used to insert text to document to fill at least two pages. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XPageCursor
+ */
+public class _XPageCursor extends MultiMethodTest {
+
+ public XPageCursor oObj = null; // oObj filled by MultiMethodTest
+ short count = 0;
+
+ /**
+ * First adds text to the document using relation to fill at least two
+ * pages. Then obtains the number of current page. <p>
+ *
+ * Has <b>OK</b> status if the returned value is positive.
+ */
+ public void _getPage(){
+ log.println( "test for getPage()" );
+ XTextDocument myText = (XTextDocument)tEnv.getObjRelation( "TEXTDOC" );
+ XText aText = myText.getText();
+ XTextCursor myCursor = aText.createTextCursor();
+
+ try{
+ for (int i = 0; i < 10; i++){
+ for (int j = 0; j < 20; j++){
+ aText.insertString(myCursor, "The quick brown fox ",false);
+ aText.insertString(myCursor, "jumps over the lazy dog ",
+ false);
+ }
+ aText.insertControlCharacter(myCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ }
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println( "Exception :" );
+ e.printStackTrace(log);
+ }
+
+ count = oObj.getPage();
+ tRes.tested("getPage()", count > 0 );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToEndOfPage(){
+ log.println( "test for jumpToEndOfPage()" );
+ tRes.tested("jumpToEndOfPage()", oObj.jumpToEndOfPage());
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToFirstPage(){
+ log.println( "test for jumpToFirstPage()" );
+ tRes.tested("jumpToFirstPage()", oObj.jumpToFirstPage());
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToLastPage(){
+ log.println( "test for jumpToLastPage()" );
+ tRes.tested("jumpToLastPage()", oObj.jumpToLastPage());
+ }
+
+ /**
+ * First jumps to the first page to have at least one
+ * next page, then call the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToNextPage(){
+ oObj.jumpToFirstPage() ;
+ log.println( "test for jumpToNextPage()" );
+ tRes.tested("jumpToNextPage()", oObj.jumpToNextPage());
+ }
+
+ /**
+ * Tries to jump to the page with number 1. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToPage(){
+ short n = 1;
+ log.println( "test for jumpToPage()" );
+ tRes.tested("jumpToPage()", oObj.jumpToPage(n));
+ }
+
+ /**
+ * First jumps to the last page to have at least one
+ * previous page, then call the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToPreviousPage(){
+ log.println( "test for jumpToPreviousPage()" );
+ oObj.jumpToLastPage();
+ tRes.tested("jumpToPreviousPage()", oObj.jumpToPreviousPage());
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _jumpToStartOfPage(){
+ log.println( "test for jumpToStartOfPage()" );
+ tRes.tested("jumpToStartOfPage()", oObj.jumpToStartOfPage());
+ }
+} // finish class _XPageCursor
+
diff --git a/qadevOOo/tests/java/ifc/text/_XPagePrintable.java b/qadevOOo/tests/java/ifc/text/_XPagePrintable.java
new file mode 100644
index 000000000..5b1f69978
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XPagePrintable.java
@@ -0,0 +1,152 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XPagePrintable;
+
+/**
+ * Testing <code>com.sun.star.text.XPagePrintable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getPagePrintSettings()</code></li>
+ * <li><code> setPagePrintSettings()</code></li>
+ * <li><code> printPages()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XPagePrintable
+ */
+public class _XPagePrintable extends MultiMethodTest {
+
+ public static XPagePrintable oObj = null;
+ public PropertyValue[] PrintSettings = new PropertyValue[0];
+
+ /**
+ * Types of print settings properties by order they returned by
+ * <code>getPagePrintSettings()</code>.
+ */
+ public String[] types = new String[]{"Short","Short","Integer","Integer",
+ "Integer","Integer","Integer","Integer","Boolean"};
+
+ /**
+ * Calls the method and examines the returned array of properties. <p>
+ *
+ * Has <b>OK</b> status if all properties' types are correspond
+ * to their expected values of the <code>types</code> array.
+ *
+ * @see #types
+ */
+ public void _getPagePrintSettings() {
+ boolean res = true;
+ PrintSettings = oObj.getPagePrintSettings();
+
+ for (int i=0;i<PrintSettings.length;i++) {
+ String the_type = PrintSettings[i].Value.getClass().toString();
+ if (!the_type.endsWith(types[i])) {
+ log.println("Name: "+PrintSettings[i].Name);
+ log.println("Value: "+PrintSettings[i].Value);
+ log.println("Type"+the_type);
+ log.println("Expected: java.lang."+types[i]);
+ res = false;
+ }
+ }
+
+ tRes.tested("getPagePrintSettings()",res);
+ }
+
+ /**
+ * Changes a property 'IsLandscape' in existing print settings,
+ * and sets these settings back. <p>
+ *
+ * Has <b>OK</b> status if settings gotten again has the changed
+ * 'IsLandscape' property value. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPagePrintSettings() </code> : to have existing
+ * print settings. </li>
+ * </ul>
+ */
+ public void _setPagePrintSettings() {
+ requiredMethod("getPagePrintSettings()");
+ boolean res = true;
+
+ Boolean landscape = (Boolean) PrintSettings[8].Value;
+ Boolean newlandscape = Boolean.valueOf(!landscape.booleanValue());
+ PrintSettings[8].Value = newlandscape;
+ oObj.setPagePrintSettings(PrintSettings);
+ res = oObj.getPagePrintSettings()[8].Value.equals(newlandscape);
+
+ tRes.tested("setPagePrintSettings()",res);
+ }
+
+ /**
+ * Creates print options for printing into file situated in the SOffice
+ * temporary directory. If the file already exists it is deleted.
+ * Then calls the method. <p>
+ *
+ * Has <b>OK</b> status if the file to which printing must be performed
+ * is exists.
+ */
+ public void _printPages() throws Exception {
+ boolean res = true;
+
+ try {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ String printFile = utils.getOfficeTemp(xMSF) + "XPagePrintable.prt";
+ log.println("Printing to : "+ printFile);
+
+ PropertyValue[] PrintOptions = new PropertyValue[1];
+ PropertyValue firstProp = new PropertyValue();
+ firstProp.Name = "FileName";
+
+ firstProp.Value = printFile;
+ firstProp.State = com.sun.star.beans.PropertyState.DEFAULT_VALUE;
+ PrintOptions[0] = firstProp;
+
+ if (! util.utils.deleteFile(xMSF, printFile)){
+ log.println("ERROR: could not remove '" + printFile + "'");
+ res = false;
+ }
+
+ oObj.printPages(PrintOptions);
+
+ waitForEventIdle();
+
+ if (! util.utils.fileExists(xMSF, printFile)){
+ log.println("ERROR: could not find '" + printFile + "'");
+ res = false;
+ }
+
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception while checking 'printPages'");
+ res = false;
+ ex.printStackTrace(log);
+ }
+
+ tRes.tested("printPages()",res);
+ }
+
+} // finish class _XPagePrintable
+
diff --git a/qadevOOo/tests/java/ifc/text/_XParagraphCursor.java b/qadevOOo/tests/java/ifc/text/_XParagraphCursor.java
new file mode 100644
index 000000000..1aa58a300
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XParagraphCursor.java
@@ -0,0 +1,128 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+import com.sun.star.text.XParagraphCursor;
+
+/**
+ * Testing <code>com.sun.star.text.XParagraphCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> isStartOfParagraph()</code></li>
+ * <li><code> isEndOfParagraph()</code></li>
+ * <li><code> gotoStartOfParagraph()</code></li>
+ * <li><code> gotoEndOfParagraph()</code></li>
+ * <li><code> gotoNextParagraph()</code></li>
+ * <li><code> gotoPreviousParagraph()</code></li>
+ * </ul> <p>
+ *
+ * <b>Prerequisites :</b> the text must have at least
+ * two paragraphs. <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XParagraphCursor
+ */
+public class _XParagraphCursor extends MultiMethodTest {
+
+ public XParagraphCursor oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _gotoEndOfParagraph(){
+ log.println( "test for gotoEndOfParagraph()" );
+ if (oObj.isEndOfParagraph()) log.println("This is the end of the paragraph");
+ else log.println("This isn't the end of the paragraph");
+ log.println("gotoEndOfParagraph()");
+ boolean result = oObj.gotoEndOfParagraph(false);
+ tRes.tested("gotoEndOfParagraph()", result );
+ if (oObj.isEndOfParagraph()) log.println("This is the end of the paragraph");
+ else log.println("This isn't the end of the paragraph");
+ if (!result) log.println("But 'gotoEndOfParagraph()' returns false");
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code>gotoPreviousParagraph()</code> : to be sure next paragraph
+ * exists. </li>
+ * </ul>
+ */
+ public void _gotoNextParagraph(){
+ requiredMethod( "gotoPreviousParagraph()" );
+ log.println( "test for gotoNextParagraph()" );
+ tRes.tested("gotoNextParagraph()", oObj.gotoNextParagraph(false) );
+ }
+
+ /**
+ * First moves the cursor to the next paragraph to be sure
+ * that previous paragraph exists and then calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _gotoPreviousParagraph(){
+ //requiredMethod( "gotoNextParagraph()" );
+ oObj.gotoNextParagraph(false);
+ log.println( "test for gotoPreviousParagraph()" );
+ tRes.tested("gotoPreviousParagraph()", oObj.gotoPreviousParagraph(false) );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _gotoStartOfParagraph(){
+ log.println( "test for gotoStartOfParagraph()" );
+ tRes.tested("gotoStartOfParagraph()", oObj.gotoStartOfParagraph(false) );
+ }
+
+ /**
+ * Moves the cursor to the end of paragraph then check if it is
+ * at the end. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _isEndOfParagraph(){
+ oObj.gotoEndOfParagraph(false);
+ log.println( "test for isEndOfParagraph()" );
+ tRes.tested("isEndOfParagraph()", oObj.isEndOfParagraph() );
+ }
+
+ /**
+ * Moves the cursor to the start of paragraph then check if it is
+ * at the start. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value.
+ */
+ public void _isStartOfParagraph(){
+ oObj.gotoStartOfParagraph(false);
+ log.println( "test for isStartOfParagraph()" );
+ tRes.tested("isStartOfParagraph()", oObj.isStartOfParagraph() );
+ }
+
+ } // finish class _XParagraphCursor
+
diff --git a/qadevOOo/tests/java/ifc/text/_XReferenceMarksSupplier.java b/qadevOOo/tests/java/ifc/text/_XReferenceMarksSupplier.java
new file mode 100644
index 000000000..409155f7d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XReferenceMarksSupplier.java
@@ -0,0 +1,57 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XReferenceMarksSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XReferenceMarksSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getReferenceMarks()</code></li>
+ * </ul> <p>
+ *
+ * <b>Prerequisites: </b> the reference mark collection
+ * must contain an element named 'SwXTextDocument' <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XReferenceMarksSupplier
+ */
+public class _XReferenceMarksSupplier extends MultiMethodTest {
+
+ public static XReferenceMarksSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if there is an element
+ * named 'SwXTextDocument' in the returned collection.
+ */
+ public void _getReferenceMarks() {
+ boolean res = false;
+ XNameAccess the_marks = oObj.getReferenceMarks();
+ res = the_marks.hasByName("SwXTextDocument");
+ tRes.tested("getReferenceMarks()",res);
+ }
+
+} // finish class _XReferenceMarksSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XRelativeTextContentInsert.java b/qadevOOo/tests/java/ifc/text/_XRelativeTextContentInsert.java
new file mode 100644
index 000000000..af6995662
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XRelativeTextContentInsert.java
@@ -0,0 +1,126 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+import util.XInstCreator;
+
+import com.sun.star.text.XRelativeTextContentInsert;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Testing <code>com.sun.star.text.XRelativeTextContentInsert</code>
+ * interface methods :
+ * <ul>
+ * <li><code> insertTextContentBefore()</code></li>
+ * <li><code> insertTextContentAfter()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'PARA'</code> (of type <code>XInstCreator</code>):
+ * the creator which can create instances of
+ * <code>com.sun.star.text.Paragraph</code> service. </li>
+ * <li> <code>'XTEXTINFO'</code> (of type <code>XInstCreator</code>):
+ * the creator which can create instances of some text content
+ * service (objects which implement <code>XTextContent</code>).
+ * </li>
+ * <ul> <p>
+ *
+ * Tested component <b>must implement</b> <code>XText</code>
+ * interface for proper testing. <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ */
+public class _XRelativeTextContentInsert extends MultiMethodTest {
+
+ public XRelativeTextContentInsert oObj = null;
+ public XTextContent content = null;
+
+ /**
+ * First an instance of <code>Paragraph</code> service created
+ * using relation and inserted into text. Then an instance
+ * of text content is created and inserted after the paragraph. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occurred.
+ */
+ public void _insertTextContentAfter() {
+
+ try {
+ XInstCreator para = (XInstCreator)tEnv.getObjRelation( "PARA" );
+ XInterface oInt = para.createInstance();
+ XTextContent new_content = (XTextContent) oInt;
+ XText theText = UnoRuntime.queryInterface(XText.class,oObj);
+ XTextCursor oCursor = theText.createTextCursor();
+ XInstCreator info = (XInstCreator)
+ tEnv.getObjRelation( "XTEXTINFO" );
+ oInt = info.createInstance();
+ content = (XTextContent) oInt;
+ theText.insertTextContent(oCursor, content, false);
+ oObj.insertTextContentAfter(new_content,content);
+ tRes.tested("insertTextContentAfter()",true);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred while checking "+
+ "insertTextContentAfter()");
+ ex.printStackTrace(log);
+ tRes.tested("insertTextContentAfter()",false);
+ }
+
+
+ } // end _insertTextContentAfter()
+
+ /**
+ * An instance of text content is created using relation
+ * and inserted before the paragraph which was added into
+ * text in <code>insertTextContentAfter</code> method test. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occurred. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertTextContentAfter() </code> : here the
+ * <code>Paragraph</code> instance is inserted. </li>
+ * </ul>
+ */
+ public void _insertTextContentBefore() {
+ requiredMethod("insertTextContentAfter()");
+ try {
+ XInstCreator para = (XInstCreator)tEnv.getObjRelation( "PARA" );
+ XInterface oInt = para.createInstance();
+ XTextContent new_content = (XTextContent) oInt;
+ oObj.insertTextContentBefore(new_content,content);
+ tRes.tested("insertTextContentBefore()",true);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred while checking "+
+ "insertTextContentBefore()");
+ ex.printStackTrace(log);
+ tRes.tested("insertTextContentBefore()",false);
+ }
+
+
+ } // end _insertTextContentBefore()
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XSentenceCursor.java b/qadevOOo/tests/java/ifc/text/_XSentenceCursor.java
new file mode 100644
index 000000000..7729f42a6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XSentenceCursor.java
@@ -0,0 +1,118 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XSentenceCursor;
+
+/**
+ * Testing <code>com.sun.star.text.XSentenceCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> isStartOfSentence()</code></li>
+ * <li><code> isEndOfSentence()</code></li>
+ * <li><code> gotoNextSentence()</code></li>
+ * <li><code> gotoPreviousSentence()</code></li>
+ * <li><code> gotoStartOfSentence()</code></li>
+ * <li><code> gotoEndOfSentence()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XSentenceCursor
+ */
+public class _XSentenceCursor extends MultiMethodTest {
+
+ public XSentenceCursor oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * First goes to next sentence (to be sure that previous exists),
+ * then calls the method. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _gotoPreviousSentence(){
+ oObj.gotoNextSentence(false);
+ oObj.gotoNextSentence(false);
+ tRes.tested("gotoPreviousSentence()", oObj.gotoPreviousSentence(false) );
+ }
+
+ /**
+ * First goes to previous sentence (to be sure that next exists),
+ * then calls the method. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _gotoNextSentence(){
+ oObj.gotoPreviousSentence(false) ;
+ oObj.gotoPreviousSentence(false) ;
+ tRes.tested("gotoNextSentence()", oObj.gotoNextSentence(false) );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> gotoPreviousSentence() </code> : to be sure the
+ * cursor is in range of some sentence. </li>
+ * </ul>
+ */
+ public void _gotoEndOfSentence(){
+ requiredMethod( "gotoPreviousSentence()" );
+ tRes.tested("gotoEndOfSentence()", oObj.gotoEndOfSentence(false) );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> gotoPreviousSentence() </code> : to be sure the
+ * cursor is in range of some sentence. </li>
+ * </ul>
+ */
+ public void _gotoStartOfSentence(){
+ requiredMethod( "gotoPreviousSentence()" );
+ tRes.tested("gotoStartOfSentence()", oObj.gotoStartOfSentence(false) );
+ }
+
+ /**
+ * First moves the cursor to the start of sentence and then calls
+ * the method. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _isStartOfSentence(){
+ oObj.gotoStartOfSentence(false) ;
+ tRes.tested("isStartOfSentence()", oObj.isStartOfSentence() );
+ }
+
+ /**
+ * First moves the cursor to the end of sentence and then calls
+ * the method. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _isEndOfSentence(){
+ oObj.gotoEndOfSentence(false) ;
+ tRes.tested("isEndOfSentence()", oObj.isEndOfSentence() );
+ }
+
+ } // finish class _XSentenceCursor
+
diff --git a/qadevOOo/tests/java/ifc/text/_XSimpleText.java b/qadevOOo/tests/java/ifc/text/_XSimpleText.java
new file mode 100644
index 000000000..bd6d6e294
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XSimpleText.java
@@ -0,0 +1,126 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+
+/**
+* Testing <code>com.sun.star.text.XSimpleText</code>
+* interface methods :
+* <ul>
+* <li><code> createTextCursor()</code></li>
+* <li><code> createTextCursorByRange()</code></li>
+* <li><code> insertString()</code></li>
+* <li><code> insertControlCharacter()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.text.XSimpleText
+*/
+public class _XSimpleText extends MultiMethodTest {
+
+ XTextCursor oCursor = null;
+ public XSimpleText oObj = null;
+
+ /**
+ * Creates text cursor. <p>
+ * Has <b> OK </b> status if not null value returned. <p>
+ */
+ public void _createTextCursor() {
+
+ log.println( "Testing createTextCursor()" );
+ oCursor = oObj.createTextCursor();
+ tRes.tested( "createTextCursor()", oCursor != null );
+ }
+
+ /**
+ * Inserts a string at the cursor position.<p>
+ * Has <b> OK </b> status if the whole result string has a string
+ * inserted as its substring. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createTextCursor() </code> : to have a cursor
+ * where text should be inserted. </li>
+ * </ul>
+ */
+ public void _insertString() {
+ requiredMethod("createTextCursor()");
+ log.println( "Testing insertString" );
+ String sStr = getInterfaceName() ;
+ oObj.insertString( oCursor, sStr, false );
+ String gStr = oObj.getText().getString() ;
+
+ tRes.tested( "insertString()", gStr != null &&
+ gStr.indexOf(sStr) >= 0) ;
+ }
+
+ /**
+ * Inserts paragraph break character into text and then checks
+ * if this character is present in the result string. <p>
+ * Has <b> OK </b> status if the result string has
+ * paragraph break character. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createTextCursor </code> : to have a cursor object. </li>
+ * </ul>
+ */
+ public void _insertControlCharacter() {
+ boolean bOK = true;
+
+ requiredMethod("createTextCursor()");
+ log.println( "Testing insertControlCharacter()" );
+ try {
+ oObj.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ oObj.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false);
+ oObj.insertString(oObj.createTextCursor(),"newLine",false);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e ) {
+ // Some exception.FAILED
+ log.println(e.toString());
+ bOK = false;
+ }
+ String gStr = oObj.getString() ;
+
+ tRes.tested( "insertControlCharacter()", bOK && gStr != null &&
+ gStr.indexOf("\n") > -1);
+ }
+
+ /**
+ * Creates another text cursor using existing cursor's range. <p>
+ * Has <b> OK </b> status if not null value returned. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createTextCursor </code> : to have a cursor object. </li>
+ * </ul>
+ */
+ public void _createTextCursorByRange() {
+
+ requiredMethod("createTextCursor()");
+ oCursor.gotoStart(false);
+ log.println( "Testing createTextCursorByRange()" );
+ XTextCursor oTCursor = oObj.createTextCursorByRange(oCursor);
+ tRes.tested("createTextCursorByRange()", oTCursor != null) ;
+ }
+} // finish class _XSimpleText
+
diff --git a/qadevOOo/tests/java/ifc/text/_XText.java b/qadevOOo/tests/java/ifc/text/_XText.java
new file mode 100644
index 000000000..02e2f5742
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XText.java
@@ -0,0 +1,157 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+import util.XInstCreator;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.XInterface;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.text.XText</code>
+ * interface methods :
+ * <ul>
+ * <li><code> insertTextContent()</code></li>
+ * <li><code> removeTextContent()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'XTEXTINFO'</code> (of type <code>lib.XInstCreator</code>):
+ * creator which can create instances of <code>XTextContent</code>
+ * implementations. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XText
+ */
+public class _XText extends MultiMethodTest {
+
+ public static XText oObj = null; // oObj filled by MultiMethodTest
+ XTextCursor oCursor = null; // textcursor
+ XInstCreator info = null; // instance creator
+ XInterface oInt = null; // instance to insert and remove
+
+ /**
+ * First an instance of text content is created using relation
+ * and inserted into text. Then the number of contents is checked
+ * using the relation. Second a <code>null</code> content is tried
+ * to insert. <p>
+ *
+ * Has <b> OK </b> status if in the first case after inserting number
+ * of content objects is greater than zero and in the second
+ * case <code>IllegalArgumentException</code> is thrown. <p>
+ */
+ public void _insertTextContent() {
+ boolean result = false;
+ info = (XInstCreator)tEnv.getObjRelation( "XTEXTINFO" );
+ oInt = info.createInstance();
+
+ // write to log what we try next
+ log.println( "test for createTextCursor()" );
+ oCursor = oObj.createTextCursor();
+
+ // write to log what we try next
+ log.println( "test for insertTextContent()" );
+ try {
+ oObj.insertTextContent(oCursor, (XTextContent)oInt, false);
+ }
+ catch( com.sun.star.lang.IllegalArgumentException iaE ){
+ throw new StatusException("Couldn't insert textcontent",iaE);
+ }
+
+ // get indexaccess to the tablecollection
+ XIndexAccess xIA = info.getCollection();
+
+ // this comparison works just because it has to be at least one
+ // table at this point regardless which thread inserted it
+ // there is although the possibility that the first threads call
+ // failed, the second not and comparison happens after second threads
+ // otherwise if something fails it should have thrown an exception
+ //tRes.tested("insertTextContent()", xIA.getCount() > 0 );
+
+ if (xIA != null ) {
+ result = (xIA.getCount()>0);
+ } else {
+ result = true;
+ }
+
+ if (!result) log.println("The TextContent wasn't inserted");
+
+
+ // try to insert an invalid TextContent
+ log.println( "test for insertTextContent" );
+ try {
+ oObj.insertTextContent(oCursor, null, false);
+ log.println("The expected Exception doesn't occurred");
+ result &= false;
+ }
+ catch( com.sun.star.lang.IllegalArgumentException iaE ){
+ // Some exception.FAILED
+ log.println("Expected Exception occurred");
+ String msg = iaE.getMessage();
+ if (msg.equals("")) {
+ log.println("But there is not detailed message");
+ } else {
+ log.println("Detailed message: "+msg);
+ }
+
+ result &= true;
+ }
+
+ tRes.tested("insertTextContent()", result );
+ }
+
+
+ /**
+ * Removes the text content added before. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> insertTextContent() </code> : inserts the content
+ * to be removed in this test. </li>
+ * </ul>
+ */
+ public void _removeTextContent() {
+
+ // leads to a method which should be called previously
+ requiredMethod( "insertTextContent()" );
+
+ // write to log what we try next
+ log.println( "test for removeTextContent" );
+ try {
+ oObj.removeTextContent( (XTextContent)oInt );
+ }
+ catch( com.sun.star.container.NoSuchElementException nseE ){
+ // Some exception.FAILED
+ log.println(nseE.toString());
+ return;
+ }
+
+ // no exception occurred so it works
+ tRes.tested( "removeTextContent()", true );
+
+ }
+} // finish class _XText
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextColumns.java b/qadevOOo/tests/java/ifc/text/_XTextColumns.java
new file mode 100644
index 000000000..eaf103674
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextColumns.java
@@ -0,0 +1,105 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.TextColumn;
+import com.sun.star.text.XTextColumns;
+
+/**
+ * Testing <code>com.sun.star.text.XTextColumns</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getReferenceValue()</code></li>
+ * <li><code> getColumnCount()</code></li>
+ * <li><code> setColumnCount()</code></li>
+ * <li><code> getColumns()</code></li>
+ * <li><code> setColumns()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XTextColumns
+ */
+public class _XTextColumns extends MultiMethodTest {
+
+ public XTextColumns oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * positive value.
+ */
+ public void _getColumnCount(){
+
+ short howmuch = oObj.getColumnCount();
+ tRes.tested("getColumnCount()",howmuch >=0);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getColumns(){
+ TextColumn[] cols = oObj.getColumns();
+ tRes.tested("getColumns()",cols != null);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * positive value.
+ */
+ public void _getReferenceValue(){
+
+ int ref = oObj.getReferenceValue();
+ tRes.tested("getReferenceValue()",ref >0);
+ }
+
+ /**
+ * Sets the column count property to some value
+ * then checks it by <code>getColumnCount</code> method. <p>
+ *
+ * Has <b>OK</b> status if set and get values are equal.
+ */
+ public void _setColumnCount(){
+
+ oObj.setColumnCount((short) 3);
+ short howmuch = oObj.getColumnCount();
+ tRes.tested("setColumnCount()",howmuch == 3);
+ }
+
+ /**
+ * Sets columns to some array
+ * then checks it by <code>getColumns</code> method. <p>
+ *
+ * Has <b>OK</b> status if set and get arrays are equal.
+ */
+ public void _setColumns(){
+
+ TextColumn newCol = new TextColumn(5,1,1);
+ TextColumn[] cols = {newCol};
+ oObj.setColumns(cols);
+ TextColumn[] gCols = oObj.getColumns();
+ tRes.tested("setColumns()",util.ValueComparer.equalValue(cols, gCols));
+ }
+
+} // finish class _XTextColumns
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextContent.java b/qadevOOo/tests/java/ifc/text/_XTextContent.java
new file mode 100644
index 000000000..bcb65b806
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextContent.java
@@ -0,0 +1,108 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextRange;
+
+/**
+ * Testing <code>com.sun.star.text.XTextContent</code>
+ * interface methods :
+ * <ul>
+ * <li><code> attach()</code></li>
+ * <li><code> getAnchor()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'CONTENT'</code> <b>optional</b>
+ * (of type <code>XTextContent</code>):
+ * if this relation exists than it is used as the
+ * tested object. </li>
+ * <li> <code>'TEXT'</code> <b>optional</b>
+ * (of type <code>XText</code>):
+ * the relation must be specified if the 'CONTENT'
+ * relation exists. From this relation an anchor
+ * for <code>attach()</code> method is obtained.</li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XTextContent
+ */
+public class _XTextContent extends MultiMethodTest {
+ public XTextContent oObj = null;
+ public XTextRange oAnchor = null;
+
+ /**
+ * Tries to get the anchor of the text content
+ * an XTextRange is returned. <p>
+ * The test is OK if a not null text range is returned
+ */
+ public void _getAnchor() {
+ log.println("getAnchor()");
+ oAnchor = oObj.getAnchor();
+ tRes.tested("getAnchor()", oAnchor != null ) ;
+
+ } // end getAnchor()
+
+ /**
+ * Tries to attach the text content to the test range
+ * gotten with getAnchor(). If relations are found
+ * then they are used for testing. <p>
+ *
+ * The test is OK if the method works without error.
+ * @see #_getAnchor()
+ */
+ public void _attach() {
+ requiredMethod("getAnchor()");
+ try {
+ XTextContent aContent = (XTextContent) tEnv.getObjRelation("CONTENT");
+ XTextRange aRange = (XTextRange) tEnv.getObjRelation("RANGE");
+
+ if ( aContent !=null) {
+ aContent.attach(aRange);
+ } else {
+ oObj.attach(aRange);
+ }
+ tRes.tested("attach()", true ) ;
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ String noAttach = (String) tEnv.getObjRelation("NoAttach");
+ if (noAttach != null) {
+ log.println("Exception expected for "+noAttach);
+ log.println("This Component doesn't support attach");
+ tRes.tested("attach()",true);
+ } else {
+ ex.printStackTrace(log);
+ tRes.tested("attach()",false);
+ }
+ } catch (com.sun.star.uno.RuntimeException re) {
+ String noAttach = (String) tEnv.getObjRelation("NoAttach");
+ if (noAttach != null) {
+ log.println("Exception expected for "+noAttach);
+ log.println("This Component doesn't support attach");
+ tRes.tested("attach()",true);
+ } else {
+ re.printStackTrace(log);
+ tRes.tested("attach()",false);
+ }
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextCursor.java b/qadevOOo/tests/java/ifc/text/_XTextCursor.java
new file mode 100644
index 000000000..87369a7ec
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextCursor.java
@@ -0,0 +1,235 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextCursor;
+
+
+/**
+ * Testing <code>com.sun.star.text.XTextCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> collapseToStart()</code></li>
+ * <li><code> collapseToEnd()</code></li>
+ * <li><code> isCollapsed()</code></li>
+ * <li><code> goLeft()</code></li>
+ * <li><code> goRight()</code></li>
+ * <li><code> gotoStart()</code></li>
+ * <li><code> gotoEnd()</code></li>
+ * <li><code> gotoRange()</code></li>
+ * </ul> <p>
+ *
+ * During this test the component text is changed,
+ * that's why it must be stored before methods' tests,
+ * and restored after. <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XTextCursor
+ */
+public class _XTextCursor extends MultiMethodTest {
+
+ public XTextCursor oObj = null; // oObj filled by MultiMethodTest
+ String oldText = null ;
+
+ /**
+ * Stores component's text.
+ */
+ @Override
+ public void before() {
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ oldText = oObj.getString() ;
+ }
+
+ /**
+ * First some text is set (for component to has at least some
+ * text), cursor is expanded to the whole text (to be not collapsed),
+ * the <code>collapseToEnd</code> is called. Then current cursor
+ * text is examined. <p>
+ *
+ * Has <b>OK</b> status if the current cursor text is an
+ * empty string.
+ */
+ public void _collapseToEnd(){
+ boolean bCol = false;
+
+ oObj.setString("XTextCursor");
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ oObj.collapseToEnd();
+ bCol = oObj.getString().equals("");
+ tRes.tested("collapseToEnd()", bCol );
+ }
+
+ /**
+ * First some text is set (for component to has at least some
+ * text), cursor is expanded to the whole text (to be not collapsed),
+ * the <code>collapseToStart</code> is called. Then current cursor
+ * text is examined. <p>
+ *
+ * Has <b>OK</b> status if the current cursor text is an
+ * empty string.
+ */
+ public void _collapseToStart(){
+ boolean bCol = false;
+ oObj.setString("XTextCursor");
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+
+ oObj.collapseToStart();
+ bCol = oObj.getString().equals("");
+ tRes.tested("collapseToStart()", bCol );
+ }
+
+ /**
+ * First the cursor is moved to the end of text (to have a space
+ * for left cursor moving, and moves the cursor left by a number
+ * of characters. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>,
+ * and the current cursor string has the same length as number
+ * of characters the cursor was moved by.
+ */
+ public void _goLeft(){
+ boolean bLeft = false;
+ short n = 5;
+
+ oObj.gotoEnd(false);
+ bLeft = oObj.goLeft(n, true);
+ String gStr = oObj.getString() ;
+ log.println("'" + gStr + "'") ;
+ bLeft &= gStr.length() == n ;
+
+ tRes.tested("goLeft()", bLeft );
+ }
+
+ /**
+ * First the cursor is moved to the start of text (to have a space
+ * for right cursor moving, and moves the cursor right by a number
+ * of characters. <p>
+ *
+ * Has <b>OK</b> status if the method returns <code>true</code>,
+ * and the current cursor string has the same length as number
+ * of characters the cursor was moved by.
+ */
+ public void _goRight(){
+ boolean bRight = false;
+ short n = 5;
+
+ oObj.gotoStart(false);
+ bRight = oObj.goRight(n, true);
+
+ String gStr = oObj.getString() ;
+ log.println("'" + gStr + "'") ;
+ bRight &= gStr.length() == n ;
+
+ tRes.tested("goRight()", bRight );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method <code>goRight()</code>
+ * returns <code>false</code> (cursor can't move to the right).
+ */
+ public void _gotoEnd(){
+ boolean bEnd = false;
+ short n = 1;
+
+ oObj.gotoEnd(false);
+ bEnd = !oObj.goRight(n, false) ;
+
+ tRes.tested("gotoEnd()", bEnd );
+ }
+
+ /**
+ * First the whole text is set to a string, and cursor
+ * is moved to the range situated at the start of the
+ * text. <p>
+ *
+ * Has <b>OK</b> status if some characters to the right
+ * of the current cursor position are the beginning of
+ * the text.
+ */
+ public void _gotoRange(){
+ boolean bRange = false;
+
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ oObj.setString("XTextCursor,XTextCursor");
+ oObj.gotoRange(oObj.getStart(),false);
+ oObj.goRight((short) 5, true);
+ bRange = oObj.getString().equals("XText");
+
+ if (!bRange) log.println("getString() returned '" +
+ oObj.getString() + "'") ;
+
+ tRes.tested("gotoRange()", bRange );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method <code>goLeft()</code>
+ * returns <code>false</code> (cursor can't move to the left).
+ */
+ public void _gotoStart(){
+ boolean bStart = false;
+ short n = 1;
+
+ oObj.gotoStart(false);
+ bStart = !oObj.goLeft(n, false) ;
+
+ tRes.tested("gotoStart()", bStart );
+ }
+
+ /**
+ * First the cursor is moved to start without expanding
+ * (must be collapsed), and then it's expanded to the
+ * whole text (must not be collapsed). <p>
+ *
+ * Has <b>OK</b> status if in the first case method
+ * <code>isCollapsed</code> returns <code>true</code>,
+ * and in the second <code>false</code>
+ */
+ public void _isCollapsed(){
+ boolean bCol = false;
+
+ oObj.gotoStart(false);
+ bCol = oObj.isCollapsed();
+
+ oObj.gotoEnd(true);
+ bCol &= !oObj.isCollapsed() ;
+
+ tRes.tested("isCollapsed()", bCol );
+ }
+
+ /**
+ * Restores the text of the component to the
+ * state it was before this interface test.
+ */
+ @Override
+ public void after() {
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ oObj.setString(oldText) ;
+ }
+
+} // finish class _XTextCursor
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextDocument.java b/qadevOOo/tests/java/ifc/text/_XTextDocument.java
new file mode 100644
index 000000000..10eb5360a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextDocument.java
@@ -0,0 +1,62 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+
+/**
+ * Testing <code>com.sun.star.text.XTextDocument</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getText()</code></li>
+ * <li><code> reformat()</code></li>
+ * </ul> <p>
+ * Test is multithread compliant. <p>
+ * @see com.sun.star.text.XTextDocument
+ */
+public class _XTextDocument extends MultiMethodTest {
+
+ public XTextDocument oObj = null;
+ public XText myText = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getText(){
+ myText = oObj.getText();
+ tRes.tested("getText()", myText != null );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _reformat(){
+ oObj.reformat();
+ tRes.tested("reformat()", true );
+ }
+
+} // finish class _XTextDocument
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextEmbeddedObjectsSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextEmbeddedObjectsSupplier.java
new file mode 100644
index 000000000..15e5a1482
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextEmbeddedObjectsSupplier.java
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XTextEmbeddedObjectsSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XTextEmbeddedObjectsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getEmbeddedObjects()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XTextEmbeddedObjectsSupplier
+ */
+public class _XTextEmbeddedObjectsSupplier extends MultiMethodTest {
+
+ public XTextEmbeddedObjectsSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getEmbeddedObjects(){
+ boolean bResult = false;
+ XNameAccess oNA = oObj.getEmbeddedObjects();
+ bResult = oNA != null ;
+ tRes.tested("getEmbeddedObjects()", bResult );
+ }
+
+ } // finish class _XTextEmbeddedObjectsSupplier
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextField.java b/qadevOOo/tests/java/ifc/text/_XTextField.java
new file mode 100644
index 000000000..826718e34
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextField.java
@@ -0,0 +1,57 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextField;
+
+/**
+ * Testing <code>com.sun.star.text.XTextField</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getPresentation()</code></li>
+ * </ul> <p>
+ * Test is multithread compliant. <p>
+ * @see com.sun.star.text.XTextField
+ */
+public class _XTextField extends MultiMethodTest{
+ public XTextField oObj = null;
+
+ /**
+ * Calls the method with <code>true</code> and <code>false</code>
+ * parameter. <p>
+ * Has <b>OK</b> status if in both cases not <code>null</code>
+ * value returned.
+ */
+ public void _getPresentation() {
+
+ boolean result = true;
+
+ // begin test here
+ log.println("getting presentetion with bShowCommand flag...");
+ result &= oObj.getPresentation(true) != null;
+ log.println("getting presentetion without bShowCommand flag...");
+ result &= oObj.getPresentation(false) != null;
+
+ tRes.tested( "getPresentation()", result );
+
+ } // end getPresentation()
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextFieldsSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextFieldsSupplier.java
new file mode 100644
index 000000000..e26fefdd6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextFieldsSupplier.java
@@ -0,0 +1,178 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XDependentTextField;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+/**
+ *
+ */
+public class _XTextFieldsSupplier extends MultiMethodTest {
+
+ public XTextFieldsSupplier oObj = null; // oObj filled by MultiMethodTest
+ private boolean mDispose = false;
+ private boolean mbCreateFieldMaster = true;
+
+ /**
+ * Insert some text fields into a cell on the sheet, so this interface test
+ * makes sense.
+ */
+ @Override
+ protected void before() {
+ Object o = tEnv.getObjRelation("XTextFieldsSupplier.MAKEENTRY");
+ if (o != null && ((Boolean)o).booleanValue()) {
+ mDispose = true;
+ mbCreateFieldMaster = false;
+ XCell xCell = (XCell)tEnv.getObjRelation("MAKEENTRYINCELL");
+
+ XSpreadsheetDocument xSheetDoc = (XSpreadsheetDocument)tEnv.getObjRelation("SPREADSHEET");
+
+ XText oText = null;
+ XTextContent oContent = null;
+ XInterface aField = null;
+
+ try {
+ // we want to create an instance of ScCellFieldObj.
+ // to do this we must get an MultiServiceFactory.
+
+ XMultiServiceFactory _oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xSheetDoc);
+
+ aField = (XInterface)
+ _oMSF.createInstance("com.sun.star.text.TextField.URL");
+ oContent = UnoRuntime.queryInterface(XTextContent.class, aField);
+
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ String[] services = _oMSF.getAvailableServiceNames();
+ for (int i=0; i<services.length; i++) {
+ if (services[i].startsWith("com.sun.star.text.FieldMaster")) {
+ mbCreateFieldMaster = true;
+ log.println("service " + i + ": " + services[i]);
+ }
+ }
+
+ if (mbCreateFieldMaster) {
+ Object FieldMaster = _oMSF.createInstance("com.sun.star.text.FieldMaster.User");
+ XPropertySet PFieldMaster = UnoRuntime.queryInterface
+ (XPropertySet.class,FieldMaster);
+
+ XDependentTextField xTF = UnoRuntime.queryInterface(XDependentTextField.class,aField);
+
+ PFieldMaster.setPropertyValue("Content","Some content");
+
+ xTF.attachTextFieldMaster(PFieldMaster);
+ }
+
+ oText = UnoRuntime.queryInterface(XText.class, xCell);
+ XTextCursor the_Cursor = oText.createTextCursor();
+
+ oText.insertTextContent(
+ the_Cursor, oContent, true);
+
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert textField.URL", e);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert textField.URL", e);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception occurred while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert textField.URL", e);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occurred while creating test Object.");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't insert textField.URL", e);
+ }
+
+ }
+ }
+
+ public void _getTextFields() {
+ XEnumerationAccess xEnumAccess = oObj.getTextFields();
+ XEnumeration xEnum = xEnumAccess.createEnumeration();
+ while(xEnum != null && xEnum.hasMoreElements()) {
+ try {
+ xEnum.nextElement();
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ setMethodFalse("getTextFields()", e);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ setMethodFalse("getTextFields()", e);
+ }
+ }
+ tRes.tested("getTextFields()", xEnum != null);
+ }
+
+ public void _getTextFieldMasters() {
+ if (mbCreateFieldMaster) {
+ XNameAccess xName = oObj.getTextFieldMasters();
+ util.dbg.printInterfaces(xName);
+ tRes.tested("getTextFieldMasters()", xName != null);
+ }
+ else {
+ log.println("Could not test 'getTextFieldMasters' because no field masters can be created on this object.");
+ tRes.tested("getTextFieldMasters()", true);
+ }
+ }
+
+ /**
+ * Just for convenience: log the exception and set the method false.
+ * @param method The name of the method to set to false.
+ * @param e The Exception that occurred.
+ */
+ private void setMethodFalse(String method, Exception e) {
+ log.println("Exception while executing '" + method + "'");
+ e.printStackTrace(log);
+ tRes.tested(method, false);
+ }
+
+ @Override
+ protected void after() {
+ if (mDispose)
+ disposeEnvironment();
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/text/_XTextFrame.java b/qadevOOo/tests/java/ifc/text/_XTextFrame.java
new file mode 100644
index 000000000..50a782f13
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextFrame.java
@@ -0,0 +1,59 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextFrame;
+
+
+/**
+ * Testing <code>com.sun.star.text.XTextFrame</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getText()</code></li>
+ * </ul> <p>
+ *
+ * The frame <b>must contain</b> the text 'The FrameText'
+ * for proper interface testing. <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XTextFrame
+ */
+public class _XTextFrame extends MultiMethodTest {
+
+ public XTextFrame oObj = null;
+
+ /**
+ * Gets the text of the frame. <p>
+ *
+ * Has <b>OK</b> status if the text is equal to 'The FrameText'.
+ */
+ public void _getText() {
+
+ log.println("Testing getText ...");
+ XText oFrameText = oObj.getText();
+ String Content = oFrameText.getString();
+ tRes.tested( "getText()",Content.equals("The FrameText") );
+ }
+
+} // finish class _XTextFrame
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextFramesSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextFramesSupplier.java
new file mode 100644
index 000000000..63fcfaa7d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextFramesSupplier.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XTextFramesSupplier;
+import lib.MultiMethodTest;
+
+
+/**
+ * Testing <code>com.sun.star.text.XTextFramesSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getTextFrames()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XTextFramesSupplier
+ */
+public class _XTextFramesSupplier extends MultiMethodTest {
+
+ public static XTextFramesSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the collection returned has at least
+ * one element.
+ */
+ public void _getTextFrames() {
+ boolean res = false;
+
+ XNameAccess the_frames = oObj.getTextFrames();
+ log.println("Found: ");
+ util.dbg.printArray(the_frames.getElementNames());
+ res = the_frames.getElementNames().length>0;
+
+ tRes.tested("getTextFrames()",res);
+ }
+
+} // finish class _XTextFramesSupplier
diff --git a/qadevOOo/tests/java/ifc/text/_XTextGraphicObjectsSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextGraphicObjectsSupplier.java
new file mode 100644
index 000000000..730f4b5eb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextGraphicObjectsSupplier.java
@@ -0,0 +1,58 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XTextGraphicObjectsSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XTextGraphicObjectsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getGraphicObjects()</code></li>
+ * </ul> <p>
+ *
+ * The component <b>must have</b> the graphic object with
+ * name 'SwXTextDocument'. <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XTextGraphicObjectsSupplier
+ */
+public class _XTextGraphicObjectsSupplier extends MultiMethodTest {
+
+ public static XTextGraphicObjectsSupplier oObj = null;
+
+ /**
+ * Gets graphic objects collection from the component, and checks
+ * if the object with name 'SwXTextDocument' exists. <p>
+ * Has <b>OK</b> status if the object exists.
+ */
+ public void _getGraphicObjects() {
+ boolean res = false;
+
+ XNameAccess the_graphics = oObj.getGraphicObjects();
+ res = the_graphics.hasByName("SwXTextDocument");
+
+ tRes.tested("getGraphicObjects()",res);
+ }
+
+} // finish class _XTextGraphicObjectsSupplier
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextRange.java b/qadevOOo/tests/java/ifc/text/_XTextRange.java
new file mode 100644
index 000000000..033f87000
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextRange.java
@@ -0,0 +1,170 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextRange;
+
+
+/**
+* Testing <code>com.sun.star.text.XTextRange</code>
+* interface methods :
+* <ul>
+* <li><code> getText()</code></li>
+* <li><code> getStart()</code></li>
+* <li><code> getEnd()</code></li>
+* <li><code> getString()</code></li>
+* <li><code> setString()</code></li>
+* </ul> <p>
+* First the content is set to 'Middle' string value, then
+* start range is retrieved and its content is set to 'Start'
+* and end range is set to 'End'. Finally the whole TextRange
+* is checked and it must be 'StartMiddleEnd'. <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.text.XTextRange
+*/
+public class _XTextRange extends MultiMethodTest {
+
+ public XTextRange oObj = null; // oObj is filled by setField()
+ // in MultiMethodTest
+ XTextRange oStartRange = null; // startrange of textrang
+ XTextRange oEndRange = null; // endrange of textrang
+
+ /**
+ * Retrieves the start range and sets its context to
+ * 'Start' string. <p>
+ * Has <b>OK</b> status if the whole range string starts
+ * with 'Start' substring. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setString </code> </li>
+ * </ul>
+ */
+ public void _getStart() {
+
+ XText the_text = (XText) tEnv.getObjRelation("XTEXT");
+
+ if (the_text != null) {
+ the_text.setString("");
+ }
+
+ String exp="";
+
+ oObj.setString("MiddleEnd");
+
+ oStartRange = oObj.getStart();
+ oStartRange.setString("Start");
+
+ if (the_text !=null) {
+ exp = the_text.getString();
+ } else exp = oObj.getText().getString();
+
+ log.println("Start: "+exp);
+
+ tRes.tested( "getStart()", exp.startsWith("Start"));
+
+ oStartRange.setString("");
+
+ }
+
+ /**
+ * Retrieves the end range and sets its context to
+ * 'End' string. <p>
+ * Has <b>OK</b> status if the whole range string ends
+ * with 'End' substring. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setString </code> </li>
+ * </ul>
+ */
+ public void _getEnd() {
+ XText the_text = (XText) tEnv.getObjRelation("XTEXT");
+
+ if (the_text != null) {
+ the_text.setString("");
+ }
+
+ String exp="";
+ oObj.setString("StartMiddle");
+
+ oEndRange = oObj.getEnd();
+ oEndRange.setString("End");
+
+ if (the_text !=null) {
+ exp = the_text.getString();
+ } else exp = oObj.getText().getString();
+
+ log.println("End: "+exp);
+
+ tRes.tested( "getEnd()", exp.endsWith("End"));
+
+ oEndRange.setString("");
+ }
+
+ /**
+ * Gets the text of the range and retrieves its String content. <p>
+ * Has <b>OK</b> status if the string returned equals to
+ * 'StartMiddleEnd' value. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setString </code> to get finally the string expected.</li>
+ * <li> <code> getStart </code> to get finally the string expected.</li>
+ * <li> <code> getEnd </code> to get finally the string expected.</li>
+ * </ul>
+ */
+ public void _getText() {
+ requiredMethod("setString()");
+ requiredMethod("getStart()");
+ requiredMethod("getEnd()");
+
+ XText txt = oObj.getText() ;
+
+ tRes.tested( "getText()", txt != null &&
+ txt.getString().equals("StartMiddle"));
+ }
+
+ /**
+ * Gets the String of the range. <p>
+ * Has <b>OK</b> status if the string returned equals to
+ * 'StartMiddleEnd' value. <p>
+ */
+ public void _getString() {
+
+ oObj.setString("StartMiddleEnd");
+ String gStr = oObj.getString() ;
+
+ tRes.tested( "getString()", gStr != null &&
+ gStr.equals("StartMiddleEnd"));
+
+ }
+
+ /**
+ * Sets the string content of the range to 'Middle' value. <p>
+ * Has <b>OK</b> status if <code>getString</code> method returns
+ * 'Middle' value.
+ */
+ public void _setString() {
+ oObj.setString("Middle") ;
+
+ tRes.tested("setString()", "Middle".equals(oObj.getString())) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextRangeCompare.java b/qadevOOo/tests/java/ifc/text/_XTextRangeCompare.java
new file mode 100644
index 000000000..47d389c9a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextRangeCompare.java
@@ -0,0 +1,174 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRangeCompare;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Testing <code>com.sun.star.text.XTextRangeCompare</code>
+ * interface methods :
+ * <ul>
+ * <li><code> compareRegionStarts()</code></li>
+ * <li><code> compareRegionEnds()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'TEXTDOC'</code> <b>optional</b>
+ * (must implement <code>XTextDocument</code>):
+ * can be used to obtain <code>Text</code> of the document from
+ * which cursors can be created.
+ * If the relation does not exist, the relation <code>TEXT</code>
+ * must be specified. </li>
+ * <li> <code>'TEXT'</code> <b>optional</b>
+ * (of type <code>XText</code>):
+ * used to create text cursor.
+ * If the relation does not exist, the relation <code>TEXTDOC</code>
+ * must be specified. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XTextRangeCompare
+ */
+public class _XTextRangeCompare extends MultiMethodTest {
+
+ /**
+ * the test object
+ */
+ public XTextRangeCompare oObj = null;
+ String nameStr = null;
+ XTextCursor cursor1 = null;
+ XTextCursor cursor2 = null;
+ XText oText = null;
+
+ /**
+ * Retrieves <code>XText</code> interface from relation 'TEXTDOC'
+ * or from 'TEXT'.
+ * @throws StatusException If neither 'TEXTDOC' nor 'TEXT'
+ * relation exists.
+ */
+ @Override
+ public void before() {
+ nameStr = this.getClass().getName();
+
+ XInterface oIfc = (XInterface)tEnv.getObjRelation("TEXTDOC");
+ if (oIfc!=null) {
+ XTextDocument oTDoc = UnoRuntime.queryInterface(
+ XTextDocument.class, oIfc);
+ oText = oTDoc.getText();
+ }
+ XText aText = (XText) tEnv.getObjRelation("TEXT");
+ if (aText != null) {
+ oText = aText;
+ }
+
+ if (oText == null) {
+ throw new StatusException(Status.failed
+ ("Neither 'TEXTDOC' nor 'TEXT' relation not found")) ;
+ }
+ }
+
+ /**
+ * One cursor is created and to its position a paragraph
+ * inserted, then the first five characters were selected.
+ * A second cursor was created and the last 7 characters
+ * were selected.<p>
+ *
+ * Has <b>OK</b> status if the compare returns 1, i.e.
+ * the second cursor end is before the first.
+ */
+ public void _compareRegionEnds() {
+ boolean bResult = false;
+ short n = 0;
+ log.println( "testing compareRegionEnds()" );
+
+ try{
+ cursor1 = oText.createTextCursor();
+ oText.insertString(cursor1, nameStr, false);
+
+ cursor1.gotoStart(false);
+ cursor1.goRight((short)5, true);
+ cursor2 = oText.createTextCursor();
+ cursor2.gotoEnd(false);
+ cursor2.goLeft((short)7, true);
+
+ log.println("hole text: '" + oText.getString() + "'");
+ log.println("cursor1: '"+cursor1.getString() + "'");
+ log.println("cursor2: '"+cursor2.getString() + "'");
+ log.println("check: oObj.compareRegionStarts(cursor1, cursor2)");
+
+ n = oObj.compareRegionEnds(cursor1, cursor2);
+
+ log.println( "Result (short) : " + n );
+ }catch(com.sun.star.lang.IllegalArgumentException e){
+ log.println( "Exception: " + e);
+ e.printStackTrace(log);
+ }
+
+ if (n == 1){bResult = true;}
+ tRes.tested( "compareRegionEnds()", bResult );
+ }
+
+ /**
+ * One cursor is created and to its position a paragraph
+ * inserted, then the first five characters were selected.
+ * A second cursor was created and the last 7 characters
+ * were selected.<p>
+ *
+ * Has <b>OK</b> status if the compare returns 1, i.e.
+ * the second cursor start is before the first.
+ */
+ public void _compareRegionStarts() {
+ boolean bResult = false;
+ short n = 0;
+
+ try{
+ cursor1 = oText.createTextCursor();
+ oText.insertString(cursor1, nameStr, false);
+
+ cursor1.gotoStart(false);
+ cursor1.goRight((short)5, true);
+ cursor2 = oText.createTextCursor();
+ cursor2.gotoEnd(false);
+ cursor2.goLeft((short)7, true);
+
+ log.println("hole text: '" + oText.getString() + "'");
+ log.println("cursor1: '"+cursor1.getString() + "'");
+ log.println("cursor2: '"+cursor2.getString() + "'");
+ log.println("check: oObj.compareRegionStarts(cursor1, cursor2)");
+ n = oObj.compareRegionStarts(cursor1, cursor2);
+
+ log.println( "Result (short) : " + n );
+ }catch(com.sun.star.lang.IllegalArgumentException e){
+ log.println( "Exception: " + e);
+ e.printStackTrace(log);
+ }
+ if (n == 1){bResult = true;}
+ tRes.tested( "compareRegionStarts()", bResult );
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextRangeMover.java b/qadevOOo/tests/java/ifc/text/_XTextRangeMover.java
new file mode 100644
index 000000000..affdb6ce8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextRangeMover.java
@@ -0,0 +1,88 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.text.XTextRange;
+import com.sun.star.text.XTextRangeMover;
+
+/**
+ * Testing <code>com.sun.star.text.XTextRangeMover</code>
+ * interface methods :
+ * <ul>
+ * <li><code> moveTextRange()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'RangeForMove'</code> (of type <code>XTextRange</code>):
+ * the range to be moved. </li>
+ * <li> <code>'XTextRange'</code> (of type <code>XTextRange</code>):
+ * the range that includes moving range. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XTextRangeMover
+ */
+public class _XTextRangeMover extends MultiMethodTest {
+
+ public XTextRangeMover oObj = null;
+
+ XTextRange xTextRange = null;
+ XTextRange oMoveRange = null;
+
+ /**
+ * Moves the range obtained from relation 'RangeForMove' by 1 paragraph
+ * and compares index of moved string in the whole text obtained
+ * from relation 'XTextRange'. <p>
+ * Has <b>OK</b> status if index of moved range is changed after method call.
+ */
+ public void _moveTextRange(){
+ oMoveRange = (XTextRange) tEnv.getObjRelation("RangeForMove");
+ xTextRange = (XTextRange) tEnv.getObjRelation("XTextRange");
+
+ if (oMoveRange == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get relation 'RangeForMove'"));
+ }
+
+ if (xTextRange == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get relation 'XTextRange'"));
+ }
+
+ log.println("Content before moving:");
+ log.println(xTextRange.getString());
+ log.println("Text range for moving:");
+ log.println(oMoveRange.getString());
+ int indexBefore = xTextRange.getString().indexOf(oMoveRange.getString());
+ oObj.moveTextRange(oMoveRange,(short) 1);
+ log.println("Content after moving:");
+ log.println(xTextRange.getString());
+ int indexAfter = xTextRange.getString().indexOf(oMoveRange.getString());
+
+ boolean res = indexBefore != indexAfter;
+ log.println("Index before moving:" + indexBefore);
+ log.println("Index after moving:" + indexAfter);
+
+ tRes.tested("moveTextRange()", res);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextSection.java b/qadevOOo/tests/java/ifc/text/_XTextSection.java
new file mode 100644
index 000000000..9aeb70c14
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextSection.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextSection;
+
+/**
+ * Testing <code>com.sun.star.text.XTextSection</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getParentSection()</code></li>
+ * <li><code> getChildSections()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XTextSection
+ */
+public class _XTextSection extends MultiMethodTest {
+
+ public static XTextSection oObj = null;
+ public XTextSection child = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns non zero length array.
+ */
+ public void _getChildSections(){
+ boolean bResult = false;
+ XTextSection oSect[] = oObj.getChildSections();
+ if (oSect.length > 0){
+ bResult = true;
+ child = oSect[0];
+ }
+ tRes.tested("getChildSections()", bResult);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getParentSection(){
+ requiredMethod("getChildSections()");
+ boolean bResult = false;
+ bResult = (child.getParentSection() != null);
+ tRes.tested("getParentSection()", bResult);
+ }
+
+
+} // finish class _XTextSection
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextSectionsSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextSectionsSupplier.java
new file mode 100644
index 000000000..38b31ad12
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextSectionsSupplier.java
@@ -0,0 +1,66 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XTextSectionsSupplier;
+
+
+public class _XTextSectionsSupplier extends MultiMethodTest {
+ public XTextSectionsSupplier oObj;
+
+ public void _getTextSections() {
+ XNameAccess sections = oObj.getTextSections();
+ boolean res = checkSections(sections);
+ tRes.tested("getTextSections()", res);
+ }
+
+ protected boolean checkSections(XNameAccess sections) {
+ String[] sNames = sections.getElementNames();
+ boolean res = true;
+
+ for (int k = 0; k < sNames.length; k++) {
+ try {
+ res &= sections.hasByName(sNames[k]);
+ res &= (sections.getByName(sNames[k]) != null);
+ log.println("Works for ... " + sNames[k]);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("positive test failed " + e.getMessage());
+ res = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("positive test failed " + e.getMessage());
+ res = false;
+ }
+ }
+
+ try {
+ sections.getByName("unknown");
+ log.println("negative test failed ... no Exception thrown");
+ res = false;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("expected Exception for wrong argument ... OK");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("negative test failed ... wrong Exception thrown");
+ res = false;
+ }
+
+ return res;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/text/_XTextTable.java b/qadevOOo/tests/java/ifc/text/_XTextTable.java
new file mode 100644
index 000000000..93ac5a9d9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextTable.java
@@ -0,0 +1,173 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.text.XTextTable;
+
+/**
+ * Testing <code>com.sun.star.text.XTextTable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> initialize()</code></li>
+ * <li><code> getRows()</code></li>
+ * <li><code> getColumns()</code></li>
+ * <li><code> getCellByName()</code></li>
+ * <li><code> getCellNames()</code></li>
+ * <li><code> createCursorByCellName()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'NROW'</code> : the number of rows in table
+ * </li>
+ * <li> <code>'NCOL'</code> : the number of columns in table
+ * </li>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XTextTable
+ */
+public class _XTextTable extends MultiMethodTest {
+
+ public XTextTable oObj = null; // oObj filled by MultiMethodTest
+ int nRow;
+ int nCol;
+
+ String cellNamesList[] = null ;
+
+ @Override
+ protected void before() {
+ Integer num_row = (Integer)tEnv.getObjRelation("NROW");
+ if (num_row == null) {
+ throw new StatusException
+ (Status.failed("Couldn't get relation 'NROW'"));
+ }
+ Integer num_col = (Integer)tEnv.getObjRelation("NCOL");
+ if (num_col == null) {
+ throw new StatusException
+ (Status.failed("Couldn't get relation 'NCOL'"));
+ }
+ nRow = num_row.intValue();
+ nCol = num_col.intValue();
+ }
+
+ /**
+ * The method is not called directly here, because it must
+ * be called before being inserted to the document. <p>
+ *
+ * Always has <b> OK </b> status. <p>
+ */
+ public void _initialize() {
+
+ // initialize()
+ log.println( "test for initialize()" );
+ tRes.tested( "initialize()", true);
+ }
+
+ /**
+ * Test calls the method passing as cell name the first
+ * element from names returned by <code>getCellNames</code>
+ * method. <p>
+ *
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getCellNames() </code> : its result used by test. </li>
+ * </ul>
+ */
+ public void _createCursorByCellName(){
+ requiredMethod("getCellNames()") ;
+
+ // createCursorByCellName()
+ log.println( "test for createCursorByCellName()" );
+ tRes.tested( "createCursorByCellName()",
+ oObj.createCursorByCellName( cellNamesList[0] ) != null );
+ }
+
+ /**
+ * Test calls the method passing as cell name the first
+ * element from names returned by <code>getCellNames</code>
+ * method. <p>
+ *
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getCellNames() </code> : its result used by test. </li>
+ * </ul>
+ */
+ public void _getCellByName(){
+ requiredMethod("getCellNames()") ;
+
+ // getCellByName()
+ log.println( "test for getCellByName()" );
+ tRes.tested( "getCellByName()",
+ oObj.getCellByName( cellNamesList[0] ) != null );
+ }
+
+ /**
+ * Obtains cell names of the table. <p>
+ *
+ * Has <b>OK</b> status if number of elements in the returned
+ * array is equal to [row number] * [column number]
+ * and if the first name is 'A1'.
+ */
+ public void _getCellNames(){
+ // getCellNames()
+ log.println( "test for getCellNames()" );
+ cellNamesList = oObj.getCellNames();
+
+ boolean result = cellNamesList.length == ( nRow * nCol ) ;
+ result &= cellNamesList[0].equals( "A1" ) ;
+
+ tRes.tested( "getCellNames()", result ) ;
+ }
+
+ /**
+ * Obtains columns of the table. <p>
+ *
+ * Has <b>OK</b> status if the number of element of returned
+ * collection is equal to real number of columns in the table.
+ */
+ public void _getColumns(){
+ // getColumns()
+ log.println( "test for getColumns()" );
+ tRes.tested( "getColumns()", nCol == oObj.getColumns().getCount() );
+ }
+
+ /**
+ * Obtains rows of the table. <p>
+ *
+ * Has <b>OK</b> status if the number of element of returned
+ * collection is equal to real number of rows in the table.
+ */
+ public void _getRows(){
+ // getRows()
+ log.println( "test for getRows()" );
+ tRes.tested( "getRows()", nRow == oObj.getRows().getCount() );
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextTableCursor.java b/qadevOOo/tests/java/ifc/text/_XTextTableCursor.java
new file mode 100644
index 000000000..ac95453d0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextTableCursor.java
@@ -0,0 +1,283 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextTableCursor;
+
+
+/**
+ * Testing <code>com.sun.star.text.XTextTableCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getRangeName()</code></li>
+ * <li><code> gotoCellByName()</code></li>
+ * <li><code> goLeft()</code></li>
+ * <li><code> goRight()</code></li>
+ * <li><code> goUp()</code></li>
+ * <li><code> goDown()</code></li>
+ * <li><code> gotoStart()</code></li>
+ * <li><code> gotoEnd()</code></li>
+ * <li><code> mergeRange()</code></li>
+ * <li><code> splitRange()</code></li>
+ * </ul> <p>
+ *
+ * <b>Prerequisites : </b> the table must have a size
+ * 2x2 and current cursor position must be in the upper
+ * left cell. <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ *
+ * After test completion object environment has to be recreated
+ * because after merging and splitting cells their names
+ * differ from initial.
+ *
+ * @see com.sun.star.text.XTextTableCursor
+ */
+public class _XTextTableCursor extends MultiMethodTest {
+
+ public XTextTableCursor oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Moves the cursor to upper-left cell and checks
+ * its range name. <p>
+ *
+ * Has <b>OK</b> status if the name returned is 'A1'.
+ */
+ public void _getRangeName(){
+ log.println( "test for getRangeName()" );
+ oObj.gotoStart(false);
+ String oCellName = oObj.getRangeName();
+ log.println( "CellName = " + oCellName );
+
+ tRes.tested("getRangeName()", oCellName.equals("A1") );
+ }
+
+ /**
+ * Calls the method which moves the cursor down by 1 cell,
+ * after that returns cursor to the old position. <p>
+ *
+ * Has <b>OK</b> status if the method returns
+ * <code>true</code>.
+ */
+ public void _goDown(){
+ boolean bDown = false;
+ log.println( "test for goDown()" );
+ short i = 1;
+
+ bDown = oObj.goDown(i,false);
+
+ tRes.tested("goDown()", bDown );
+ oObj.goUp(i,false);
+ }
+
+ /**
+ * Calls the method which moves the cursor to the right by 1 cell,
+ * after that returns cursor to the old position. <p>
+ *
+ * Has <b>OK</b> status if the method returns
+ * <code>true</code>.
+ */
+ public void _goRight(){
+ boolean bRight = false;
+ log.println( "test for goRight()" );
+ short i = 1;
+
+ bRight = oObj.goRight(i,false);
+
+ tRes.tested("goRight()", bRight );
+ oObj.goLeft(i,false);
+ }
+
+ /**
+ * Calls the method which moves the cursor to the left by 1 cell,
+ * after that returns cursor to the old position. <p>
+ *
+ * Has <b>OK</b> status if the method returns
+ * <code>true</code>.
+ */
+ public void _goLeft(){
+ boolean bLeft = false;
+ log.println( "test for goLeft()" );
+ short i = 1;
+
+ oObj.goRight(i,false);
+ bLeft = oObj.goLeft(i,false);
+
+ tRes.tested("goLeft()", bLeft );
+ }
+
+ /**
+ * Calls the method which moves the cursor up by 1 cell,
+ * after that returns cursor to the old position. <p>
+ *
+ * Has <b>OK</b> status if the method returns
+ * <code>true</code>.
+ */
+ public void _goUp(){
+ boolean bUp = false;
+ log.println( "test for goUp()" );
+ short i = 1;
+
+ oObj.gotoEnd(true);
+
+ bUp = oObj.goUp(i,false);
+ tRes.tested("goUp()", bUp );
+ }
+
+ /**
+ * Moves the cursor to the cell with name 'B1', then
+ * checks the current range name. <p>
+ * Has <b>OK</b> status if the returned range name is
+ * 'B1'.
+ */
+ public void _gotoCellByName(){
+ log.println( "test for gotoCellByName()" );
+
+ oObj.gotoCellByName("B1",false);
+ String oCellName = oObj.getRangeName();
+
+ tRes.tested("gotoCellByName()", oCellName.equals("B1") );
+ }
+
+ /**
+ * Moves cursor to the start (upper-left cell). Then
+ * checks the current range name. <p>
+ *
+ * Has <b>OK</b> status if current range name is 'A1'.
+ */
+ public void _gotoStart(){
+ log.println( "test for gotoStart()" );
+
+ oObj.gotoStart(false);
+ String oCellName = oObj.getRangeName();
+
+ tRes.tested("gotoStart()", oCellName.equals("A1") );
+ }
+
+ /**
+ * Moves cursor to the end (lower-right cell). Then
+ * checks the current range name. <p>
+ *
+ * Has <b>OK</b> status if current range name is 'B2'
+ * (the table is assumed to be of size 2x2).
+ */
+ public void _gotoEnd(){
+ log.println( "test for gotoEnd()" );
+
+ oObj.gotoEnd(false);
+ String oCellName = oObj.getRangeName();
+
+ tRes.tested("gotoEnd()", oCellName.equals("B2") );
+ }
+
+ /**
+ * Selects all cells in the table and merges them.
+ * Finally move the cursor to the end and checks
+ * current range name.<p>
+ *
+ * Has <b>OK</b> status if the end cell has a name
+ * 'A1'.
+ *
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getRangeName(), gotoStart(), gotoEnd()
+ * goLeft(), goRight(), goUp(), goDown(), gotoCellByName()</code>
+ * : these methods must be completed before all cells of the
+ * table are merged into one cell </li>
+ * </ul>
+ */
+ public void _mergeRange(){
+ executeMethod("getRangeName()") ;
+ executeMethod("gotoStart()") ;
+ executeMethod("gotoEnd()") ;
+ executeMethod("goLeft()") ;
+ executeMethod("goRight()") ;
+ executeMethod("goUp()") ;
+ executeMethod("goDown()") ;
+ executeMethod("gotoCellByName()") ;
+
+ boolean bMerge = false;
+ log.println( "test for mergeRange()" );
+
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ bMerge = oObj.mergeRange();
+
+ oObj.gotoEnd(false);
+
+ String curName = oObj.getRangeName() ;
+ bMerge &= "A1".equals(curName) ;
+
+ tRes.tested("mergeRange()", bMerge );
+ }
+
+ /**
+ * First splits the cell horizontally. Then the end cell
+ * name is checked. Second split all cells vertically and
+ * again the end cell name is checked<p>
+ *
+ * Has <b> OK </b> status if in the first case the end cell name
+ * is not 'A1', and in the second case the end cell name is not
+ * equal to the name gotten in the first case. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> mergeRange() </code> : to have one cell in a table
+ * which this test splits. </li>
+ * </ul>
+ */
+ public void _splitRange(){
+ requiredMethod("mergeRange()") ;
+
+ boolean bSplit = true ;
+ log.println( "test for splitRange" ) ;
+ short i = 1 ;
+
+ bSplit &= oObj.splitRange(i, true) ;
+
+ oObj.gotoEnd(false);
+ String horName = oObj.getRangeName() ;
+ log.println("The end cell after horiz. split : " + horName) ;
+ bSplit &= !"A1".equals(horName) ;
+
+ oObj.gotoStart(false);
+ oObj.gotoEnd(true);
+ bSplit &= oObj.splitRange(i, false) ;
+
+ oObj.gotoEnd(false);
+ String vertName = oObj.getRangeName() ;
+ log.println("The end cell after vert. split : " + vertName) ;
+ bSplit &= !horName.equals(vertName) ;
+
+ tRes.tested("splitRange()", bSplit ) ;
+ }
+
+ /**
+ * Forces object environment recreation.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+ } // finish class _XTextTableCursor
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextTablesSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextTablesSupplier.java
new file mode 100644
index 000000000..c12072d74
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextTablesSupplier.java
@@ -0,0 +1,57 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XTextTablesSupplier;
+
+
+/**
+ * Testing <code>com.sun.star.text.XTextTablesSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getTextTables()</code></li>
+ * </ul> <p>
+ * The table collection tested <b>must</b> have a table
+ * with name 'SwXTextDocument'. <p>
+ * Test is multithread compliant. <p>
+ * @see com.sun.star.text.XTextTablesSupplier
+ */
+public class _XTextTablesSupplier extends MultiMethodTest {
+
+ public static XTextTablesSupplier oObj = null;
+
+ /**
+ * Get the collection of tables. Then check it. <p>
+ * Has <b>OK</b> status if returned collection contains
+ * element with name 'SwXTextDocument'.
+ */
+ public void _getTextTables() {
+ boolean res = false;
+
+ XNameAccess the_tables = oObj.getTextTables();
+ res = the_tables.hasByName("SwXTextDocument");
+
+ tRes.tested("getTextTables()",res);
+ }
+
+} // finish class _XTextTablesSupplier
+
diff --git a/qadevOOo/tests/java/ifc/text/_XTextViewCursorSupplier.java b/qadevOOo/tests/java/ifc/text/_XTextViewCursorSupplier.java
new file mode 100644
index 000000000..24a9c9728
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XTextViewCursorSupplier.java
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XTextViewCursor;
+import com.sun.star.text.XTextViewCursorSupplier;
+
+/**
+ * Testing <code>com.sun.star.text.XTextViewCursorSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getViewCursor()</code></li>
+ * </ul> <p>
+ * Test is multithread compliant. <p>
+ * @see com.sun.star.text.XTextViewCursorSupplier
+ */
+public class _XTextViewCursorSupplier extends MultiMethodTest {
+
+ public XTextViewCursorSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getViewCursor(){
+
+ XTextViewCursor oTVC = oObj.getViewCursor();
+ tRes.tested("getViewCursor()", oTVC != null);
+
+ } // finish _getViewCursor()
+
+} // finish class _XTextViewCursorSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/text/_XWordCursor.java b/qadevOOo/tests/java/ifc/text/_XWordCursor.java
new file mode 100644
index 000000000..47474472a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/text/_XWordCursor.java
@@ -0,0 +1,124 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.text;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.text.XWordCursor;
+
+/**
+ * Testing <code>com.sun.star.text.XWordCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> isStartOfWord()</code></li>
+ * <li><code> isEndOfWord()</code></li>
+ * <li><code> gotoNextWord()</code></li>
+ * <li><code> gotoPreviousWord()</code></li>
+ * <li><code> gotoEndOfWord()</code></li>
+ * <li><code> gotoStartOfWord()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.text.XWordCursor
+ */
+public class _XWordCursor extends MultiMethodTest {
+
+ public XWordCursor oObj = null; // oObj filled by MultiMethodTest
+
+ /**
+ * Moves the cursor to start of the text.
+ */
+ @Override
+ public void before() {
+ oObj.gotoStart(false);
+ }
+
+ /**
+ * First moves the cursor to the next word to be sure that
+ * at least one word is situated before. Then moves cursor
+ * to the previous word and checks the value returned. <p>
+ *
+ * Has <b>OK</b> status if method returns <code>true</code>.
+ */
+ public void _gotoPreviousWord(){
+ oObj.gotoNextWord(false);
+ tRes.tested("gotoPreviousWord()", oObj.gotoPreviousWord(false) );
+ }
+
+ /**
+ * First moves the cursor to the previous word to be sure that
+ * at least one word is situated after. Then moves cursor
+ * to the next word and checks the value returned. <p>
+ *
+ * Has <b>OK</b> status if method returns <code>true</code>.
+ */
+ public void _gotoNextWord(){
+ oObj.gotoPreviousWord(false) ;
+ tRes.tested("gotoNextWord()", oObj.gotoNextWord(false) );
+ }
+
+ /**
+ * First moves the cursor to the start of the current word,
+ * then to the end and checks the value returned. <p>
+ *
+ * Has <b>OK</b> status if method returns <code>true</code>.
+ */
+ public void _gotoEndOfWord(){
+ oObj.gotoStart(false);
+ tRes.tested("gotoEndOfWord()", oObj.gotoEndOfWord(false) );
+ }
+
+ /**
+ * Move cursor to the start, then to the end. After that the
+ * method is called and returned value is checked. <p>
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _isEndOfWord(){
+ log.println("gotoStartOfWord() = " + oObj.gotoStartOfWord(false)) ;
+ log.println("gotoEndOfWord() = " + oObj.gotoEndOfWord(false));
+
+ tRes.tested("isEndOfWord()", oObj.isEndOfWord() );
+ }
+
+ /**
+ * Move cursor to the end, then to the start. After that the
+ * method is called and returned value is checked. <p>
+ * Has <b>OK</b> status if the method returns <code>true</code>.
+ */
+ public void _isStartOfWord(){
+
+ oObj.gotoEndOfWord(false);
+ oObj.gotoStartOfWord(false);
+ tRes.tested("isStartOfWord()", oObj.isStartOfWord() );
+ }
+
+ /**
+ * First moves the cursor to the start of the current word,
+ * then shifts it 2 symbols to the right. After that the
+ * method is called and returned value is checked.<p>
+ *
+ * Has <b>OK</b> status if method returns <code>true</code>.
+ */
+ public void _gotoStartOfWord(){
+ oObj.gotoStartOfWord(false);
+ oObj.goRight((short) 2, false) ;
+ tRes.tested("gotoStartOfWord()", oObj.gotoStartOfWord(false) );
+ }
+
+ } // finish class _XWordCursor
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetFactory.java b/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetFactory.java
new file mode 100644
index 000000000..d3174d926
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetFactory.java
@@ -0,0 +1,106 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.XCachedContentResultSetFactory;
+
+/**
+* Testing <code>com.sun.star.ucb.XCachedContentResultSetFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createCachedContentResultSet()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CachedContentResultSetStub'</code> (of type
+* <code>com.sun.star.sdbc.XResultSet</code>):
+* this must be an implementation of <code>
+* com.sun.star.ucb.CachedContentResultSetStub</code> service.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XCachedContentResultSetFactory
+*/
+public class _XCachedContentResultSetFactory extends MultiMethodTest {
+
+ /**
+ * Contains the tested object.
+ */
+ public XCachedContentResultSetFactory oObj;
+ private XResultSet resSetStub = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If relation not found.
+ */
+ @Override
+ public void before() {
+ resSetStub = (XResultSet)
+ tEnv.getObjRelation("CachedContentResultSetStub") ;
+ if (resSetStub == null) {
+ log.println("!!! Relation not found !!!") ;
+ throw new StatusException
+ (Status.failed("!!! Relation not found !!!")) ;
+ }
+ }
+
+ /**
+ * Creates result set from result set stub. After that number
+ * of rows from result set created and its stub are retrieved
+ * using their static representations and comared. <p>
+ * Has <b>OK</b> status if numbers of rows are equal and they are
+ * greater than 0 (because JAR file contains at least one entry).
+ */
+ public void _createCachedContentResultSet() {
+ boolean result = true ;
+
+ XResultSet resSet = oObj.createCachedContentResultSet
+ (resSetStub, null) ;
+
+ if (resSet == null) {
+ log.println("!!! Method returned null !!!") ;
+ result = false ;
+ } else {
+ try {
+ resSetStub.last() ;
+ int stubRowNum = resSetStub.getRow() ;
+
+ resSet.last() ;
+ int setRowNum = resSet.getRow() ;
+
+ result = stubRowNum == setRowNum && setRowNum > 0 ;
+
+ log.println("Number of rows : stub=" + stubRowNum +
+ " set=" + setRowNum) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("createCachedContentResultSet()", result) ;
+
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetStubFactory.java b/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetStubFactory.java
new file mode 100644
index 000000000..90f3d4688
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCachedContentResultSetStubFactory.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.XCachedContentResultSetStubFactory;
+
+/**
+* Testing <code>com.sun.star.ucb.XCachedContentResultSetStubFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createCachedContentResultSetStub()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'ContentResultSet'</code> (of type
+* <code>com.sun.star.sdbc.XResultSet</code>):
+* this must be an implementation of <code>
+* com.sun.star.ucb.ContentResultSet</code> service.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XCachedContentResultSetStubFactory
+*/
+public class _XCachedContentResultSetStubFactory extends MultiMethodTest {
+
+ /**
+ * Contains the tested object.
+ */
+ public XCachedContentResultSetStubFactory oObj;
+ private XResultSet resSet = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If relation not found.
+ */
+ @Override
+ public void before() {
+ resSet = (XResultSet) tEnv.getObjRelation("ContentResultSet") ;
+ if (resSet == null) {
+ log.println("!!! Relation not found !!!") ;
+ throw new StatusException(Status.failed("!!! Relation not found !!!")) ;
+ }
+ }
+
+ /**
+ * Creates cached result set stub from static result set. After that number
+ * of rows in cached result set created and its source set are retrieved
+ * and comared. <p>
+ * Has <b>OK</b> status if numbers of rows are equal and they are
+ * greater than 0 (because JAR file contains at least one entry).
+ */
+ public void _createCachedContentResultSetStub() {
+ boolean result = true ;
+
+ XResultSet resSetStub = oObj.createCachedContentResultSetStub
+ (resSet) ;
+
+ if (resSetStub == null) {
+ log.println("!!! Method returned null !!!") ;
+ result = false ;
+ } else {
+ try {
+ resSetStub.last() ;
+ int stubRowNum = resSetStub.getRow() ;
+
+ resSet.last() ;
+ int setRowNum = resSet.getRow() ;
+
+ result = stubRowNum == setRowNum && setRowNum > 0 ;
+
+ log.println("Number of rows : set=" + setRowNum +
+ " stub=" + stubRowNum) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("createCachedContentResultSetStub()", result) ;
+
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetFactory.java b/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetFactory.java
new file mode 100644
index 000000000..06dc4974f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetFactory.java
@@ -0,0 +1,114 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.XCachedDynamicResultSetFactory;
+import com.sun.star.ucb.XDynamicResultSet;
+
+/**
+* Testing <code>com.sun.star.ucb.XCachedDynamicResultSetFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createCachedDynamicResultSet()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'CachedDynamicResultSetStub'</code> (of type
+* <code>com.sun.star.sdbc.XDynamicResultSet</code>):
+* this must be an implementation of <code>
+* com.sun.star.ucb.CachedDynamicResultSetStub</code> service.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XCachedDynamicResultSetFactory
+*/
+public class _XCachedDynamicResultSetFactory extends MultiMethodTest {
+
+ /**
+ * Contains the tested object.
+ */
+ public XCachedDynamicResultSetFactory oObj;
+ private XDynamicResultSet resSetStub = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If relation not found.
+ */
+ @Override
+ public void before() {
+ resSetStub = (XDynamicResultSet)
+ tEnv.getObjRelation("CachedDynamicResultSetStub") ;
+ if (resSetStub == null) {
+ log.println("!!! Relation not found !!!") ;
+ throw new StatusException
+ (Status.failed("!!! Relation not found !!!")) ;
+ }
+ }
+
+ /**
+ * Creates result set from result set stub. After that number
+ * of rows from result set created and its stub are retrieved
+ * using their static representations and comared. <p>
+ * Has <b>OK</b> status if numbers of rows are equal and they are
+ * greater than 0 (because JAR file contains at least one entry).
+ */
+ public void _createCachedDynamicResultSet() {
+ boolean result = true ;
+
+ XDynamicResultSet resSet = oObj.createCachedDynamicResultSet
+ (resSetStub, null) ;
+
+ if (resSet == null) {
+ log.println("!!! Method returned null !!!") ;
+ result = false ;
+ } else {
+ try {
+ XResultSet resSetS = resSet.getStaticResultSet() ;
+ XResultSet resSetStubS = resSetStub.getStaticResultSet() ;
+
+ resSetStubS.last() ;
+ int stubRowNum = resSetStubS.getRow() ;
+
+ resSetS.last() ;
+ int setRowNum = resSetS.getRow() ;
+
+ result = stubRowNum == setRowNum && setRowNum > 0 ;
+
+ log.println("Number of rows : stub=" + stubRowNum +
+ " set=" + setRowNum) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.ucb.ListenerAlreadySetException e) {
+ log.println("!!! Can't get static result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("createCachedDynamicResultSet()", result) ;
+
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetStubFactory.java b/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetStubFactory.java
new file mode 100644
index 000000000..cb38aff5b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCachedDynamicResultSetStubFactory.java
@@ -0,0 +1,174 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.XCachedDynamicResultSetFactory;
+import com.sun.star.ucb.XCachedDynamicResultSetStubFactory;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.ucb.XCachedDynamicResultSetStubFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createCachedDynamicResultSetStub()</code></li>
+* <li><code> connectToCache()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'DynamicResultSet'</code> (of type
+* <code>com.sun.star.sdbc.XDynamicResultSet</code>):
+* this must be an implementation of <code>
+* com.sun.star.ucb.DynamicResultSet</code> service.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XCachedDynamicResultSetStubFactory
+*/
+public class _XCachedDynamicResultSetStubFactory extends MultiMethodTest {
+
+ /**
+ * Contains the tested object.
+ */
+ public XCachedDynamicResultSetStubFactory oObj;
+ private XDynamicResultSet resSet = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If relation not found.
+ */
+ @Override
+ public void before() {
+ resSet = (XDynamicResultSet) tEnv.getObjRelation("DynamicResultSet") ;
+ if (resSet == null) {
+ log.println("!!! Relation not found !!!") ;
+ throw new StatusException(Status.failed("!!! Relation not found !!!")) ;
+ }
+ }
+
+ /**
+ * Creates result set stub from result set. After that number
+ * of rows from result set stub created and its source set are retrieved
+ * using their static representations and compared. <p>
+ * Has <b>OK</b> status if numbers of rows are equal and they are
+ * greater than 0 (because JAR file contains at least one entry).
+ */
+ public void _createCachedDynamicResultSetStub() {
+ boolean result = true ;
+
+ XDynamicResultSet resSetStub = oObj.createCachedDynamicResultSetStub(resSet) ;
+
+ if (resSetStub == null) {
+ log.println("!!! Method returned null !!!") ;
+ result = false ;
+ } else {
+ try {
+ XResultSet resSetS = resSet.getStaticResultSet() ;
+ XResultSet resSetStubS = resSetStub.getStaticResultSet() ;
+
+ resSetStubS.last() ;
+ int stubRowNum = resSetStubS.getRow() ;
+
+ resSetS.last() ;
+ int setRowNum = resSetS.getRow() ;
+
+ result = stubRowNum == setRowNum && setRowNum > 0 ;
+
+ log.println("Number of rows : stub=" + stubRowNum +
+ " set=" + setRowNum) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.ucb.ListenerAlreadySetException e) {
+ log.println("!!! Can't get static result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("createCachedDynamicResultSetStub()", result) ;
+ }
+
+ /**
+ * Creates an instance of <code>CachedDynamicResultSet</code> service
+ * which is not connected to any stub. Then tries to connect it to
+ * <code>DynamicResultSet</code> created and passed as relation.
+ * Connection is checked by retrieving and comparing of row numbers
+ * of connected set and its source set. <p>
+ * Has <b>OK</b> status if row numbers are equal and they are
+ * greater than 0 (because JAR file contains at least one entry).
+ */
+ public void _connectToCache() throws Exception {
+ boolean result = true ;
+
+ Object fac = tParam.getMSF().createInstance
+ ("com.sun.star.ucb.CachedDynamicResultSetFactory") ;
+
+ XCachedDynamicResultSetFactory setFac = UnoRuntime.queryInterface
+ (XCachedDynamicResultSetFactory.class, fac) ;
+
+ XDynamicResultSet rmtSet = setFac.createCachedDynamicResultSet(null, null) ;
+
+ try {
+ oObj.connectToCache(resSet, rmtSet, null, null) ;
+ } catch (com.sun.star.ucb.ListenerAlreadySetException e) {
+ log.println("!!! Unexpected exception :" + e) ;
+ result = false ;
+ } catch (com.sun.star.ucb.AlreadyInitializedException e) {
+ log.println("!!! Unexpected exception :" + e) ;
+ result = false ;
+ }
+
+ if (result) {
+ // checking connection to the source
+ try {
+ XResultSet statRmtSet = rmtSet.getStaticResultSet() ;
+ XResultSet statResSet = resSet.getStaticResultSet() ;
+
+ statRmtSet.last() ;
+ int rmtRowNum = statRmtSet.getRow() ;
+
+ statResSet.last() ;
+ int resRowNum = statResSet.getRow() ;
+
+ result = rmtRowNum == resRowNum && resRowNum > 0 ;
+
+ log.println("Number of rows : destination=" + rmtRowNum +
+ " source=" + resRowNum) ;
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.ucb.ListenerAlreadySetException e) {
+ log.println("!!! Something wrong with result sets :") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ }
+
+ tRes.tested("connectToCache()", result) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor.java b/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor.java
new file mode 100644
index 000000000..7fa27bbc8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor.java
@@ -0,0 +1,234 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.CommandAbortedException;
+import com.sun.star.ucb.CommandInfo;
+import com.sun.star.ucb.GlobalTransferCommandArgument;
+import com.sun.star.ucb.NameClash;
+import com.sun.star.ucb.TransferCommandOperation;
+import com.sun.star.ucb.UnsupportedCommandException;
+import com.sun.star.ucb.XCommandInfo;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+/**
+* Tests <code>XCommandProcessor</code>. The TestCase can pass (but doesn't have
+* to) "XCommandProcessor.AbortCommand" relation, to specify command to abort in
+* <code>abort()</code> test.
+*
+* Testing <code>com.sun.star.ucb.XCommandProcessor</code>
+* interface methods :
+* <ul>
+* <li><code> createCommandIdentifier()</code></li>
+* <li><code> execute()</code></li>
+* <li><code> abort()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XCommandProcessor.AbortCommand'</code> <b>optional</b>
+* (of type <code>com.sun.star.ucb.Command</code>):
+* specify command to abort in <code>abort()</code> test.
+* If the relation is not specified the 'GlobalTransfer'
+* command is used.</li>
+* <ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>poliball.gif</code> : this file is required in case
+* if the relation <code>'XCommandProcessor.AbortCommand'</code>
+* is not specified. This file is used by 'GlobalTransfer'
+* command as a source file for copying.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XCommandProcessor
+*/
+public class _XCommandProcessor extends MultiMethodTest {
+
+ /**
+ * Contains the tested object.
+ */
+ public XCommandProcessor oObj;
+
+ /**
+ * Contains the command id returned by <code>createCommandIdentifier()
+ * </code>. It is used in <code>abort()</code> test.
+ */
+ int cmdId;
+
+ /**
+ * Tests <code>createCommandIdentifier()</code>. Calls it for two times
+ * and checks returned values. <p>
+ * Has <b>OK</b> status if values are unique correct identifiers: not 0.
+ */
+ public void _createCommandIdentifier() {
+ log.println("creating a command line identifier");
+
+ int testCmdId = oObj.createCommandIdentifier();
+ cmdId = oObj.createCommandIdentifier();
+
+ if (cmdId == 0 || testCmdId == 0) {
+ log.println("createCommandLineIdentifier() returned 0 - FAILED");
+ }
+
+ if (cmdId == testCmdId) {
+ log.println("the command identifier is not unique");
+ }
+
+ tRes.tested("createCommandIdentifier()",
+ testCmdId != 0 && cmdId != 0 && cmdId != testCmdId);
+ }
+
+ /**
+ * First executes 'geCommandInfo' command and examines returned
+ * command info information. Second tries to execute improper
+ * command. <p>
+ * Has <b> OK </b> status if in the first case returned information
+ * contains info about 'getCommandInfo' command and in the second
+ * case an exception is thrown. <p>
+ */
+ public void _execute() {
+ String commandName = "getCommandInfo";
+ Command command = new Command(commandName, -1, null);
+
+ Object result;
+
+ log.println("executing command " + commandName);
+ try {
+ result = oObj.execute(command, 0, null);
+ } catch (CommandAbortedException e) {
+ log.println("The command aborted " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ } catch (Exception e) {
+ log.println("Unexpected exception " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ XCommandInfo xCmdInfo = UnoRuntime.queryInterface(
+ XCommandInfo.class, result);
+
+ CommandInfo[] cmdInfo = xCmdInfo.getCommands();
+
+ boolean found = false;
+
+ for (int i = 0; i < cmdInfo.length; i++) {
+ if (cmdInfo[i].Name.equals(commandName)) {
+ found = true;
+ break;
+ }
+ }
+
+ log.println("testing execute with wrong command");
+
+ Command badCommand = new Command("bad command", -1, null);
+
+ try {
+ oObj.execute(badCommand, 0, null);
+ } catch (CommandAbortedException e) {
+ log.println("CommandAbortedException thrown - OK");
+ } catch (UnsupportedCommandException e) {
+ log.println("UnsupportedCommandException thrown - OK");
+ } catch (Exception e) {
+ log.println("Wrong exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ tRes.tested("execute()", found);
+ }
+
+ /**
+ * First a separate thread where <code>abort</code> method
+ * is called permanently. Then a "long" command (for example,
+ * "transfer") is started. I case if relation is not
+ * specified 'GlobalTransfer' command starts to
+ * copy a file to temporary directory (if the relation is present
+ * then the its command starts to work). <p>
+ * Has <b> OK </b> status if the command execution is aborted, i.e.
+ * <code>CommandAbortedException</code> is thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createCommandIdentifier() </code> : to have a unique
+ * identifier which is used to abort started command. </li>
+ * </ul>
+ */
+ public void _abort() {
+ executeMethod("createCommandIdentifier()");
+
+ Command command = (Command)tEnv.getObjRelation(
+ "XCommandProcessor.AbortCommand");
+
+ if (command == null) {
+ String commandName = "globalTransfer";
+
+ String srcURL = util.utils.getFullTestURL("SwXTextEmbeddedObject.sdw") ;
+ String tmpURL = util.utils.getOfficeTemp(tParam.getMSF()) ;
+ log.println("Copying '" + srcURL + "' to '" + tmpURL) ;
+
+ GlobalTransferCommandArgument arg = new
+ GlobalTransferCommandArgument(
+ TransferCommandOperation.COPY, srcURL,
+ tmpURL, "", NameClash.OVERWRITE);
+
+ command = new Command(commandName, -1, arg);
+ }
+
+ Thread aborter = new Thread() {
+ @Override
+ public void run() {
+ for (int i = 0; i < 10; i++) {
+ log.println("try to abort command");
+ oObj.abort(cmdId);
+ util.utils.pause(10);
+ }
+ }
+ };
+
+ aborter.start();
+
+ util.utils.pause(15);
+
+ log.println("executing command");
+ try {
+ oObj.execute(command, cmdId, null);
+ log.println("Command execution completed");
+ log.println("CommandAbortedException is not thrown");
+ log.println("This is OK since there is no command implemented "+
+ "that can be aborted");
+ tRes.tested("abort()", true);
+ } catch (CommandAbortedException e) {
+ tRes.tested("abort()", true);
+ } catch (Exception e) {
+ log.println("Unexpected exception " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+
+ try {
+ aborter.join(5000);
+ aborter.interrupt();
+ } catch(InterruptedException e) {
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor2.java b/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor2.java
new file mode 100644
index 000000000..9c0223696
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XCommandProcessor2.java
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XCommandProcessor2;
+
+
+public class _XCommandProcessor2 extends MultiMethodTest {
+ /**
+ * Contains the tested object.
+ */
+ public XCommandProcessor2 oObj;
+
+ public void _releaseCommandIdentifier() {
+ int id = oObj.createCommandIdentifier();
+ oObj.releaseCommandIdentifier(id);
+ oObj.createCommandIdentifier();
+ System.out.println("id: "+id);
+ System.out.println("id2: "+id);
+ tRes.tested("releaseCommandIdentifier()", true);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/ucb/_XContentIdentifierFactory.java b/qadevOOo/tests/java/ifc/ucb/_XContentIdentifierFactory.java
new file mode 100644
index 000000000..6a66dae9e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XContentIdentifierFactory.java
@@ -0,0 +1,67 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+import util.utils;
+
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+
+/**
+* Testing <code>com.sun.star.ucb.XContentIdentifierFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createContentIdentifier()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.ucb.XContentIdentifierFactory
+*/
+public class _XContentIdentifierFactory extends MultiMethodTest {
+ /**
+ * Contains the tested object.
+ */
+ public XContentIdentifierFactory oObj;
+
+ /**
+ * Calls the tested method with a file url and
+ * gets an identifier. <p>
+ * Has <b> OK </b> status if content identifier and provider scheme are
+ * proper. <p>
+ */
+ public void _createContentIdentifier() {
+ // creating a content identifier string - tmp url
+ String tmpDir = utils.getOfficeTemp(tParam.getMSF());
+
+ String contentId = utils.getFullURL(tmpDir);
+
+ // the scheme is file
+ String scheme = "file";
+
+ XContentIdentifier identifier = oObj.createContentIdentifier(contentId);
+
+ // verifying results
+ String resId = identifier.getContentIdentifier();
+ String resScheme = identifier.getContentProviderScheme();
+
+ tRes.tested("createContentIdentifier()", contentId.equals(resId)
+ && scheme.equals(resScheme));
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ucb/_XContentProvider.java b/qadevOOo/tests/java/ifc/ucb/_XContentProvider.java
new file mode 100644
index 000000000..7f56233fb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XContentProvider.java
@@ -0,0 +1,130 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+
+/**
+* Testing <code>com.sun.star.ucb.XContentProvider</code>
+* interface methods :
+* <ul>
+* <li><code> queryContent()</code></li>
+* <li><code> compareContentIds()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'FACTORY'</code> (of type
+* <code>com.sun.star.ucb.XContentIdentifierFactory</code>):
+* a suitable factory which can produce content identifiers </li>
+* <li> <code>'CONTENT1'</code> (<b>optional</b>) (of type <code>String</code>):
+* name of the suitable content for provider tested. If relation
+* is not specified the 'vnd.sun.star.help://' name will be used.</li>
+* <li> <code>'CONTENT2'</code> (<b>optional</b>) (of type <code>String</code>):
+* another name of the suitable content for provider tested. If relation
+* is not specified the 'vnd.sun.star.writer://' name will be used.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XContentProvider
+*/
+public class _XContentProvider extends MultiMethodTest {
+
+ public static XContentProvider oObj = null;
+ protected XContentIdentifierFactory CIF = null ;
+ protected String content1 = "vnd.sun.star.help://" ;
+ protected String content2 = "vnd.sun.star.writer://" ;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ CIF = (XContentIdentifierFactory) tEnv.getObjRelation("FACTORY");
+ String tmp = (String) tEnv.getObjRelation("CONTENT1") ;
+ if (tmp != null) content1 = tmp ;
+ tmp = (String) tEnv.getObjRelation("CONTENT2") ;
+ if (tmp != null) content2 = tmp ;
+
+ if (CIF == null) throw new StatusException(
+ Status.failed("'FACTORY' relation is not found.")) ;
+ }
+
+ /**
+ * Tries to query for some content suitable for this provider. <p>
+ * Has <b>OK</b> status if not null value is returned.
+ */
+ public void _queryContent() {
+ try {
+ XContentIdentifierFactory CIF = (XContentIdentifierFactory)
+ tEnv.getObjRelation("FACTORY");
+ String aURL = content1;
+ log.println("Trying to query "+aURL);
+ XContentIdentifier CI = CIF.createContentIdentifier(aURL);
+ XContent aContent = oObj.queryContent(CI);
+ boolean res = true;
+ Object nc = tEnv.getObjRelation("NoCONTENT");
+ if (nc == null) {
+ res = aContent != null;
+ }
+ tRes.tested("queryContent()",res);
+ } catch (com.sun.star.ucb.IllegalIdentifierException e) {
+ log.println("Exception while checking 'queryContent'");
+ e.printStackTrace(log);
+ tRes.tested("queryContent()",false);
+ }
+ }
+
+ /**
+ * Creates two different content identifiers. First two different
+ * identifiers compared, then two same identifiers. <p>
+ * Has <b>OK</b> status if in the first case <code>false</code>
+ * returned, and in the second - <code>true</code>.
+ */
+ public void _compareContentIds() {
+ XContentIdentifierFactory CIF = (XContentIdentifierFactory)
+ tEnv.getObjRelation("FACTORY");
+ String aURL = content1 ;
+ XContentIdentifier CI = CIF.createContentIdentifier(aURL);
+ aURL = content2 ;
+ XContentIdentifier CI2 = CIF.createContentIdentifier(aURL);
+ int compare = oObj.compareContentIds(CI,CI2);
+ boolean res = (compare != 0);
+ if (!res) {
+ log.println("Didn't work with different IDs");
+ log.println(compare+" was returned");
+ }
+ compare = oObj.compareContentIds(CI,CI);
+ res &= (compare == 0);
+ if (!res) {
+ log.println("Didn't work with equal IDs");
+ log.println(compare+" was returned");
+ }
+ tRes.tested("compareContentIds()",res);
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XContentProviderFactory.java b/qadevOOo/tests/java/ifc/ucb/_XContentProviderFactory.java
new file mode 100644
index 000000000..688b2bd35
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XContentProviderFactory.java
@@ -0,0 +1,51 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XContentProviderFactory;
+
+
+/**
+* Testing <code>com.sun.star.ucb.XContentProviderFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createContentProvider()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XContentProviderFactory
+*/
+public class _XContentProviderFactory extends MultiMethodTest {
+
+ public static XContentProviderFactory oObj = null;
+
+ /**
+ * Creates a provider. <p>
+ * Has <b> OK </b> status if the returned value is not
+ * <code>null</code>. <p>
+ */
+ public void _createContentProvider() {
+ XContentProvider CP = oObj.createContentProvider
+ ("com.sun.star.ucb.ContentProviderFactory");
+ tRes.tested("createContentProvider()",CP != null);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XContentProviderManager.java b/qadevOOo/tests/java/ifc/ucb/_XContentProviderManager.java
new file mode 100644
index 000000000..957901775
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XContentProviderManager.java
@@ -0,0 +1,275 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.ContentProviderInfo;
+import com.sun.star.ucb.DuplicateProviderException;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XContentProviderManager;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Tests XContentProviderManager. The test registers two ContentProviders, calls
+* queryXXX methods to verify results, and deregisters them.
+*
+* Testing <code>com.sun.star.ucb.XContentProviderManager</code>
+* interface methods :
+* <ul>
+* <li><code> registerContentProvider()</code></li>
+* <li><code> deregisterContentProvider()</code></li>
+* <li><code> queryContentProviders()</code></li>
+* <li><code> queryContentProvider()</code></li>
+* </ul> <p>
+* The test registers two ContentProviders, calls
+* queryXXX methods to verify results, and deregisters them. <p>
+*
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XContentProviderManager
+*/
+public class _XContentProviderManager extends MultiMethodTest {
+ /**
+ * Contains the tested object.
+ */
+ public XContentProviderManager oObj;
+
+ /**
+ * The test scheme name.
+ */
+ static final String myScheme = "test-scheme";
+
+ /**
+ * Any preexisting content provider. If it exists it will be hidden by
+ * <code>firstContentProvider</code>, registered with the same
+ * <code>myScheme</code>. Typically there is no preexisting content
+ * provider, unless the catch-all providers GnomeVFSContentProvider or
+ * GIOContentProvider is installed
+ */
+ XContentProvider preexistingContentProvider;
+
+ /**
+ * First content provider. It will be hidden by <code>contentProvider
+ * </code>, registered with the same <code>myScheme</code> to test
+ * the "hiding" behaviour.
+ */
+ XContentProvider firstContentProvider;
+
+ /**
+ * The main content provider.
+ */
+ XContentProvider contentProvider;
+
+ /**
+ * <code>ContentProvider</code>s information which are in the manager
+ * before registering the testing providers.
+ */
+ ContentProviderInfo[] initialProvidersInfo;
+
+ /**
+ * Creates two testing providers.
+ *
+ * @see #firstContentProvider
+ * @see #contentProvider
+ */
+ @Override
+ public void before() {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ log.println("creating testing content providers");
+ try {
+ firstContentProvider = UnoRuntime.queryInterface(
+ XContentProvider.class, xMSF.createInstance(
+ "com.sun.star.ucb.FileContentProvider"));
+
+ contentProvider = UnoRuntime.queryInterface(
+ XContentProvider.class, xMSF.createInstance(
+ "com.sun.star.ucb.FileContentProvider"));
+ } catch (Exception e) {
+ log.println("Can't create content providers " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+
+ /**
+ * At the beginning call <code>queryContentProviders</code> method
+ *
+ * to have info about providers existing before new adding.
+ * It adds two testing contents providers, both for the same scheme.
+ * The second one is added two times: first, in non-replacing mode, to test
+ * <code>DuplicateProviderException</code>, and second, in replacing mode,
+ * to hide the first provider. <p>
+ *
+ * The evaluation of results are performed later, in
+ * <code>queryContentProvider()</code>.
+ *
+ * Has <b> OK </b> status if in the first provider is registered
+ * without exceptions, the second throws
+ * <code>DuplicateProviderException</code> in non-replacing mode,
+ * and no exceptions in replacing mode. <p>
+ *
+ * @see #_queryContentProvider
+ */
+ public void _registerContentProvider() {
+ // querying providers info before inserting them, to verify results
+ initialProvidersInfo = oObj.queryContentProviders();
+
+ // GnomeVFSContentProvider or GIOContentProvider ?, typically null
+ preexistingContentProvider = oObj.queryContentProvider(myScheme);
+
+ log.println("registering the first provider");
+ try {
+ oObj.registerContentProvider(firstContentProvider, myScheme,false);
+ } catch (DuplicateProviderException e) {
+ log.println("Unexpected exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception ", e);
+ }
+
+ log.println("registering the second provider in non-replacing mode");
+ try {
+ oObj.registerContentProvider(contentProvider, myScheme, false);
+ throw new StatusException(Status.failed("registerContentProvider(.., .., false)"));
+ } catch (DuplicateProviderException e) {
+ log.println("DuplicateProviderException thrown - OK");
+ }
+
+ XContentProvider result;
+
+ log.println("registering the second provider in the replace mode");
+ try {
+ result = oObj.registerContentProvider(contentProvider, myScheme, true);
+ } catch (DuplicateProviderException e) {
+ log.println("Unexpected exception thrown " + e.getMessage());
+ e.printStackTrace(log);
+ throw new StatusException("Unexpected exception ", e);
+ }
+
+ // check the result is the first provider
+ tRes.tested("registerContentProvider()",
+ result.equals(firstContentProvider));
+ }
+
+ /**
+ * It calls the method (after registering providers) and compares
+ * its result with the result before registering.
+ *
+ * Has <b> OK </b> status if the number of providers increases
+ * by one after registering custom provider.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerContentProvider() </code> : to compare number
+ * of providers. </li>
+ * </ul>
+ * @see #_registerContentProvider
+ */
+ public void _queryContentProviders() {
+ executeMethod("registerContentProvider()");
+
+ ContentProviderInfo[] providersInfo = oObj.queryContentProviders();
+ // verifying that the number of providers increased by 1
+ tRes.tested("queryContentProviders()",
+ providersInfo.length == initialProvidersInfo.length + 1);
+ }
+
+ /**
+ * It queries for added custom provider using its scheme
+ * and verifies its result with
+ * <code>queryContentProviders()</code> result and with
+ * custom provider created in <code>registerContentProvider()</code>.
+ * Also verifies <code>registerContentProvider()</code>. <p>
+ *
+ * Has <b>OK</b> status if the provider returned is found within
+ * all providers and is equal to provider created before.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerContentProvider() </code> </li>
+ * </ul>
+ */
+ public void _queryContentProvider() {
+ executeMethod("registerContentProvider()");
+
+ XContentProvider result = oObj.queryContentProvider
+ ("http://www.sun.com");
+
+ log.println("finding queryContentProvider() result");
+ boolean found = false;
+
+ ContentProviderInfo[] providersInfo = oObj.queryContentProviders();
+
+ for (int i = 0; i < providersInfo.length; i++) {
+ if (result.equals(providersInfo[i].ContentProvider)) {
+ found = true;
+ break;
+ }
+ }
+
+ tRes.tested("queryContentProvider()", found);
+ }
+
+ /**
+ * At first one provider is deregistered, after that provider
+ * is queried, the second provider must be returned for the
+ * specified scheme. Then the second provider is deregistered.
+ * Now <code>null</code> value must be returned by the method
+ * <code>queryContentProvider</code> on the specified scheme. <p>
+ *
+ * Has <b>OK</b> status if in the first case the second provider
+ * remains registered, and after its removing no providers remain
+ * registered for the scheme specified.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerContentProvider() </code> : two providers
+ * must be registered. </li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> queryContentProvider() </code> : to run this test
+ * finally. </li>
+ * <li> <code> queryContentProviders() </code> : to run this test
+ * finally. </li>
+ * </ul>
+ */
+ public void _deregisterContentProvider() {
+ executeMethod("queryContentProvider()");
+ executeMethod("queryContentProviders()");
+ requiredMethod("registerContentProvider()");
+
+ log.println("deregistering the second provider");
+ oObj.deregisterContentProvider(contentProvider, myScheme);
+
+ XContentProvider res = oObj.queryContentProvider(myScheme);
+
+ log.println("deregistering the first provider");
+ oObj.deregisterContentProvider(firstContentProvider, myScheme);
+
+ res = oObj.queryContentProvider(myScheme);
+
+ // verifying that the original provider (typically none) is returned.
+ tRes.tested("deregisterContentProvider()", res == preexistingContentProvider);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ucb/_XDataContainer.java b/qadevOOo/tests/java/ifc/ucb/_XDataContainer.java
new file mode 100644
index 000000000..d077d1be4
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XDataContainer.java
@@ -0,0 +1,126 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XDataContainer;
+
+/**
+* Testing <code>com.sun.star.ucb.XDataContainer</code>
+* interface methods :
+* <ul>
+* <li><code> getContentType()</code></li>
+* <li><code> setContentType()</code></li>
+* <li><code> getData()</code></li>
+* <li><code> setData()</code></li>
+* <li><code> getDataURL()</code></li>
+* <li><code> setDataURL()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XDataContainer
+*/
+public class _XDataContainer extends MultiMethodTest {
+
+ public static XDataContainer oObj = null; // oObj filled by MultiMethodTest
+ private final byte[] data = new byte[] {34, 35, 36} ;
+ private String dataURL = null;
+
+ /**
+ * Sets the content type to some value. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _setContentType() {
+ oObj.setContentType("image/jpeg") ;
+ tRes.tested("setContentType()", true) ;
+ }
+
+ /**
+ * Check if values 'set' and 'get' are equal. <p>
+ * Has <b>OK</b> status if they are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setContentType() </code> </li>
+ * </ul>
+ */
+ public void _getContentType() {
+ requiredMethod("setContentType()") ;
+
+ String type = oObj.getContentType() ;
+ tRes.tested("getContentType()", "image/jpeg".equals(type)) ;
+ }
+
+ /**
+ * Sets the data to some byte array. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _setData() {
+ oObj.setData(data) ;
+ tRes.tested("setData()", true) ;
+ }
+
+ /**
+ * Check if arrays 'set' and 'get' are equal. <p>
+ * Has <b>OK</b> status if they are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setData() </code> </li>
+ * </ul>
+ */
+ public void _getData() {
+ requiredMethod("setData()") ;
+
+ byte[] gData = oObj.getData() ;
+ boolean res = true ;
+ if (res = (gData != null && gData.length == data.length)) {
+ for (int i = 0; i < data.length; i++) {
+ res &= data[i] == gData[i] ;
+ }
+ }
+
+ tRes.tested("getData()", res) ;
+ }
+
+ /**
+ * Sets the data URL to some URL. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _setDataURL() {
+ dataURL = util.utils.getOfficeTemp(tParam.getMSF()) ;
+ oObj.setDataURL(dataURL) ;
+ tRes.tested("setDataURL()", true) ;
+ }
+
+ /**
+ * Check if URLs 'set' and 'get' are equal. <p>
+ * Has <b>OK</b> status if they are equal. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setDataURL() </code> </li>
+ * </ul>
+ */
+ public void _getDataURL() {
+ requiredMethod("setDataURL()") ;
+
+ String gURL = oObj.getDataURL() ;
+ tRes.tested("getDataURL()", dataURL.equals(gURL)) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XFileIdentifierConverter.java b/qadevOOo/tests/java/ifc/ucb/_XFileIdentifierConverter.java
new file mode 100644
index 000000000..fb947ffb6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XFileIdentifierConverter.java
@@ -0,0 +1,90 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XFileIdentifierConverter;
+
+/**
+* Testing <code>com.sun.star.ucb.XFileIdentifierConverter</code>
+* interface methods :
+* <ul>
+* <li><code> getFileProviderLocality()</code></li>
+* <li><code> getFileURLFromSystemPath()</code></li>
+* <li><code> getSystemPathFromFileURL()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XFileIdentifierConverter
+*/
+public class _XFileIdentifierConverter extends MultiMethodTest {
+
+ /**
+ * Contains the tested object.
+ */
+ public XFileIdentifierConverter oObj;
+
+ /**
+ * Gets the locality for SOffice temporary directory. <p>
+ * Has <b> OK </b> status if the method returns value greater
+ * than 0 (as office temp directory is supposed to be in the
+ * same location). <p>
+ */
+ public void _getFileProviderLocality() {
+ String baseURL = util.utils.getOfficeTemp(tParam.getMSF());
+ log.println("Using: "+baseURL);
+ int loc = oObj.getFileProviderLocality(baseURL);
+ log.println("Getting: "+loc);
+ tRes.tested("getFileProviderLocality()",loc > 0);
+ }
+
+ /**
+ * Tries to convert URL of SOffice temp directory to system
+ * dependent path. <p>
+ * Has <b> OK </b> status if the method returns system dependent
+ * representation of the URL passed. <p>
+ */
+ public void _getSystemPathFromFileURL() {
+ String baseURL = util.utils.getOfficeTemp(tParam.getMSF());
+ log.println("Using (Base): "+baseURL);
+ String sysURL = util.utils.getOfficeTempDirSys(tParam.getMSF());
+ log.println("Using (System): "+sysURL);
+ String get = oObj.getSystemPathFromFileURL(baseURL);
+ log.println("Getting: "+get);
+ //sysURL = sysURL.substring(0,sysURL.length()-1);
+ tRes.tested("getSystemPathFromFileURL()",get.equals(sysURL));
+ }
+
+ /**
+ * Tries to convert system dependent path of SOffice temp
+ * directory to URL representation. <p>
+ * Has <b> OK </b> status if the method returns URL representation
+ * of the system dependent path passed. <p>
+ */
+ public void _getFileURLFromSystemPath() {
+ String baseURL = util.utils.getOfficeTemp(tParam.getMSF());
+ log.println("Using (Base): "+baseURL);
+ String sysURL = util.utils.getOfficeTempDirSys(tParam.getMSF());
+ log.println("Using (System): "+sysURL);
+ String get = oObj.getFileURLFromSystemPath(sysURL,sysURL);
+ log.println("Getting: "+get);
+ tRes.tested("getFileURLFromSystemPath()",get.equals(baseURL));
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/ucb/_XParameterizedContentProvider.java b/qadevOOo/tests/java/ifc/ucb/_XParameterizedContentProvider.java
new file mode 100644
index 000000000..f8dcd4d8a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XParameterizedContentProvider.java
@@ -0,0 +1,84 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XParameterizedContentProvider;
+
+/**
+* Testing <code>com.sun.star.ucb.XParameterizedContentProvider</code>
+* interface methods :
+* <ul>
+* <li><code> registerInstance()</code></li>
+* <li><code> deregisterInstance()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XParameterizedContentProvider
+*/
+public class _XParameterizedContentProvider extends MultiMethodTest {
+
+ public static XParameterizedContentProvider oObj = null;
+
+ /**
+ * Registers an instance with some arguments. <p>
+ * Has <b>OK</b> status if the method returns non <code>null</code>
+ * provider.
+ */
+ public void _registerInstance() {
+ try {
+ XContentProvider CP = oObj.registerInstance(
+ "\"vnd.sun.star.pkg://file\".*",
+ "uno:pipe,name=ucb_soffice;<PIPE>;urp;UCB.Factory",
+ true);
+ tRes.tested("registerInstance()",CP != null);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while checking 'registerInstance'");
+ e.printStackTrace(log);
+ tRes.tested("registerInstance()",false);
+ }
+ }
+
+ /**
+ * Deregisters the instance registered before. <p>
+ * Has <b>OK</b> status if the method returns non <code>null</code>
+ * provider. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerInstance() </code> : to deregister it here. </li>
+ * </ul>
+ */
+ public void _deregisterInstance() {
+ requiredMethod("registerInstance()");
+ try {
+ XContentProvider CP = oObj.deregisterInstance(
+ "\"vnd.sun.star.pkg://file\".*",
+ "uno:pipe,name=ucb_soffice;<PIPE>;urp;UCB.Factory");
+ tRes.tested("deregisterInstance()",CP != null);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception while checking 'deregisterInstance'");
+ e.printStackTrace(log);
+ tRes.tested("deregisterInstance()",false);
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XPropertyMatcherFactory.java b/qadevOOo/tests/java/ifc/ucb/_XPropertyMatcherFactory.java
new file mode 100644
index 000000000..084ab5293
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XPropertyMatcherFactory.java
@@ -0,0 +1,62 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.RuleOperator;
+import com.sun.star.ucb.RuleTerm;
+import com.sun.star.ucb.SearchCriterium;
+import com.sun.star.ucb.XPropertyMatcher;
+import com.sun.star.ucb.XPropertyMatcherFactory;
+
+/**
+* Testing <code>com.sun.star.ucb.XPropertyMatcherFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createPropertyMatcher()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XPropertyMatcherFactory
+*/
+public class _XPropertyMatcherFactory extends MultiMethodTest {
+
+ public static XPropertyMatcherFactory oObj = null;
+
+ /**
+ * Tries to create <code>XPropertyMatcher</code> implementation. <p>
+ * Has <b>OK</b> status if not null value returned.
+ */
+ public void _createPropertyMatcher() {
+ RuleTerm term = new RuleTerm() ;
+
+ term.Property = "ContentType" ;
+ term.Operand = "vnd.sun.star.fsys" ;
+ term.Operator = RuleOperator.CONTAINS ;
+
+ SearchCriterium crit = new SearchCriterium(new RuleTerm[] {term}) ;
+
+ XPropertyMatcher matcher = oObj.createPropertyMatcher
+ (new SearchCriterium[] {crit}) ;
+
+ tRes.tested("createPropertyMatcher()", matcher != null) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XPropertySetRegistryFactory.java b/qadevOOo/tests/java/ifc/ucb/_XPropertySetRegistryFactory.java
new file mode 100644
index 000000000..e365b11bf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XPropertySetRegistryFactory.java
@@ -0,0 +1,50 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XPropertySetRegistry;
+import com.sun.star.ucb.XPropertySetRegistryFactory;
+
+/**
+* Testing <code>com.sun.star.ucb.XPropertySetRegistryFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createPropertySetRegistry()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XPropertySetRegistryFactory
+*/
+public class _XPropertySetRegistryFactory extends MultiMethodTest {
+
+ public static XPropertySetRegistryFactory oObj = null;
+
+ /**
+ * Test calls the method with empty string argument. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _createPropertySetRegistry() {
+ XPropertySetRegistry PSR = oObj.createPropertySetRegistry("");
+ tRes.tested("createPropertySetRegistry()",PSR != null);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderAcceptor.java b/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderAcceptor.java
new file mode 100644
index 000000000..63e41ab9d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderAcceptor.java
@@ -0,0 +1,89 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XRemoteContentProviderAcceptor;
+import com.sun.star.ucb.XRemoteContentProviderDoneListener;
+
+/**
+ * Testing <code>com.sun.star.ucb.XRemoteContentProviderAcceptor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addRemoteContentProvider()</code></li>
+ * <li><code> removeRemoteContentProvider()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.ucb.XRemoteContentProviderAcceptor
+ */
+public class _XRemoteContentProviderAcceptor extends MultiMethodTest {
+
+ public XRemoteContentProviderAcceptor oObj = null;
+
+ /**
+ * The simple <code>XRemoteContentProviderDoneListener</code>
+ * implementation.
+ */
+ public static class DoneListener implements XRemoteContentProviderDoneListener {
+
+ public void doneWithRemoteContentProviders
+ (XRemoteContentProviderAcceptor xRCPA) {
+ }
+
+ }
+
+ XRemoteContentProviderDoneListener aDoneListener = new DoneListener();
+
+ /**
+ * Adds a remote provider. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>.
+ */
+ public void _addRemoteContentProvider() {
+ boolean res = false;
+
+ String[] template = new String[]{"file"};
+ res = oObj.addRemoteContentProvider("ContentID",tParam.getMSF(),
+ template,aDoneListener);
+
+ tRes.tested("addRemoteContentProvider()",res);
+ }
+
+ /**
+ * Removes the remote provider added before. <p>
+ * Has <b> OK </b> status if the method returns <code>true</code>.
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addRemoteContentProvider() </code> : provider must
+ * be added first </li>
+ * </ul>
+ */
+ public void _removeRemoteContentProvider() {
+ requiredMethod("addRemoteContentProvider()") ;
+
+ boolean res = false;
+
+ res = oObj.removeRemoteContentProvider("ContentID");
+ tRes.tested("removeRemoteContentProvider()",res);
+ }
+
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderActivator.java b/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderActivator.java
new file mode 100644
index 000000000..c97b8946e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XRemoteContentProviderActivator.java
@@ -0,0 +1,69 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ucb.XContentProviderManager;
+import com.sun.star.ucb.XRemoteContentProviderAcceptor;
+import com.sun.star.ucb.XRemoteContentProviderActivator;
+
+/**
+ * Testing <code>com.sun.star.ucb.XRemoteContentProviderActivator</code>
+ * interface methods :
+ * <ul>
+ * <li><code> activateRemoteContentProviders()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'RCPA'</code>
+ * (of type <code>XRemoteContentProviderAcceptor</code>):
+ * this acceptor is used to add a provider first before
+ * its activation. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.ucb.XRemoteContentProviderActivator
+ */
+public class _XRemoteContentProviderActivator extends MultiMethodTest {
+
+ public XRemoteContentProviderActivator oObj = null;
+
+ /**
+ * First the relation is retrieved and a remote provider is
+ * added to the acceptor. Then it is activated and
+ * removed. <p>
+ * Has <b> OK </b> status if <code>activateRemoteContentProviders</code>
+ * method returns not <code>null</code> value. <p>
+ */
+ public void _activateRemoteContentProviders() {
+ boolean res = false;
+
+ XRemoteContentProviderAcceptor xRCPA = (XRemoteContentProviderAcceptor)
+ tEnv.getObjRelation("RCPA");
+ String[] template = new String[]{"file"};
+ xRCPA.addRemoteContentProvider("ContentID",tParam.getMSF(),template,null);
+ XContentProviderManager CPM = oObj.activateRemoteContentProviders();
+ res = (CPM != null);
+ xRCPA.removeRemoteContentProvider("ContentID");
+
+ tRes.tested("activateRemoteContentProviders()",res);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess.java b/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess.java
new file mode 100644
index 000000000..2f633122e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess.java
@@ -0,0 +1,539 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.task.XInteractionHandler;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.DateTime;
+
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+
+/**
+* Testing <code>com.sun.star.ucb.XSimpleFileAccess</code>
+* interface methods. <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>XSimpleFileAccess/XSimpleFileAccess.txt</code> :
+* text file of length 17 and 2000 year created .</li>
+* <li> <code>XSimpleFileAccess/XSimpleFileAccess2.txt</code> :
+* text file for <code>openFileReadWrite</code> method test.</li>
+* <ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'InteractionHandler'</code>
+* (of type <code>XInteractionHandler</code>)
+* instance of <code>com.sun.star.sdb.InteractionHandler</code>
+* </li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XSimpleFileAccess
+*/
+public class _XSimpleFileAccess extends MultiMethodTest {
+
+ public static XSimpleFileAccess oObj = null;
+
+ /**
+ * Copies <b>XSimpleFileAccess.txt</b> to a new file, checks
+ * if it was successfully copied and then deletes it. <p>
+ * Has <b> OK </b> status if after method call new copy of file
+ * exists and no exceptions were thrown. <p>
+ */
+ public void _copy() {
+ try {
+ String copiedFile = "";
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String dirnameTo = util.utils.getOfficeTemp(tParam.getMSF()) ;
+ String filename = dirname+"XSimpleFileAccess.txt";
+ copiedFile = dirnameTo + "XSimpleFileAccess_copy.txt";
+
+ if (oObj.exists(copiedFile))
+ oObj.kill(copiedFile);
+
+ oObj.copy(filename,copiedFile);
+ tRes.tested("copy()",oObj.exists(copiedFile));
+ oObj.kill(copiedFile);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'copy()'");
+ ex.printStackTrace(log);
+ tRes.tested("copy()",false);
+ }
+
+ } //EOF copy()
+
+ /**
+ * Copies <b>XSimpleFileAccess.txt</b> to a new file, tries to
+ * rename it, then checks
+ * if it was successfully renamed and then deletes it. <p>
+ * Has <b> OK </b> status if after method call new file
+ * exists and no exceptions were thrown. <p>
+ */
+ public void _move() {
+ try {
+ String copiedFile = "";
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String dirnameTo = util.utils.getOfficeTemp(tParam.getMSF()) ;
+ String filename = dirname+"XSimpleFileAccess.txt";
+ copiedFile = dirnameTo + "XSimpleFileAccess_copy.txt";
+
+ if (oObj.exists(copiedFile))
+ oObj.kill(copiedFile);
+
+ oObj.copy(filename,copiedFile);
+ filename = copiedFile;
+ copiedFile = dirnameTo + "XSimpleFileAccess_move.txt";
+ oObj.move(filename,copiedFile);
+ tRes.tested("move()",oObj.exists(copiedFile));
+ oObj.kill(copiedFile);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'move()'");
+ ex.printStackTrace(log);
+ tRes.tested("move()",false);
+ }
+
+ } //EOF move()
+
+ /**
+ * Copies <b>XSimpleFileAccess.txt</b> to a new file, deletes it
+ * and checks if it isn't exist. <p>
+ * Has <b> OK </b> status if after method call new copy of file
+ * doesn't exist and no exceptions were thrown. <p>
+ */
+ public void _kill() {
+ try {
+ String copiedFile = "";
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String dirnameTo = util.utils.getOfficeTemp(tParam.getMSF()) ;
+ String filename = dirname+"XSimpleFileAccess.txt";
+ copiedFile = dirnameTo + "XSimpleFileAccess_copy.txt";
+
+ if (oObj.exists(copiedFile))
+ oObj.kill(copiedFile);
+
+ oObj.copy(filename,copiedFile);
+ oObj.kill(copiedFile);
+ tRes.tested("kill()",!oObj.exists(copiedFile));
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'kill()'");
+ ex.printStackTrace(log);
+ tRes.tested("kill()",false);
+ }
+
+ } //EOF kill()
+
+ /**
+ * Tries to check if <b>XSimpleFileAccess</b> is folder. <p>
+ * Has <b>OK</b> status if the method returns <code>true</code>
+ */
+ public void _isFolder() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ tRes.tested("isFolder()",oObj.isFolder(dirname));
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'isFolder()'");
+ ex.printStackTrace(log);
+ tRes.tested("isFolder()",false);
+ }
+
+ } //EOF isFolder()
+
+ /**
+ * Copies <b>XSimpleFileAccess.txt</b> to a new file, sets
+ * 'READONLY' attribute and checks it. Second clears 'READONLY'
+ * attribute and checks it again. The copy of file is deleted
+ * finally.<p>
+ *
+ * Has <b> OK </b> status if in the first case method returns
+ * <code></code>, and in the second case - <code>false</code>
+ * and no exceptions were thrown. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setReadOnly </code> </li>
+ * </ul>
+ */
+ public void _isReadOnly() {
+ requiredMethod("setReadOnly()");
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ boolean result = true;
+
+ String dirnameTo = util.utils.getOfficeTemp(tParam.getMSF()) ;
+ String readonlyCopy = dirnameTo + "XSimpleFileAccess_copy.txt" ;
+
+ if (oObj.exists(readonlyCopy))
+ oObj.kill(readonlyCopy);
+
+ oObj.copy(filename, readonlyCopy);
+
+ oObj.setReadOnly(readonlyCopy, true);
+ result &= oObj.isReadOnly(readonlyCopy);
+ oObj.setReadOnly(readonlyCopy, false);
+ result &= !oObj.isReadOnly(readonlyCopy);
+
+ oObj.kill(readonlyCopy);
+ tRes.tested("isReadOnly()",result);
+ } catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'isReadOnly()'");
+ ex.printStackTrace(log);
+ tRes.tested("isReadOnly()",false);
+ }
+
+ } //EOF isReadOnly()
+
+
+ /**
+ * Copies <b>XSimpleFileAccess.txt</b> to a new file, sets
+ * 'READONLY' attribute and checks it. Second clears 'READONLY'
+ * attribute and checks it again. The copy of file is deleted
+ * finally.<p>
+ *
+ * Has <b> OK </b> status if in the first case method returns
+ * <code></code>, and in the second case - <code>false</code>
+ * and no exceptions were thrown. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setReadOnly </code> </li>
+ * </ul>
+ */
+ public void _setReadOnly() {
+ boolean result = true ;
+
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+
+ String dirnameTo = util.utils.getOfficeTemp(tParam.getMSF()) ;
+ String readonlyCopy = dirnameTo + "XSimpleFileAccess_copy.txt" ;
+
+ if (oObj.exists(readonlyCopy))
+ oObj.kill(readonlyCopy);
+
+ oObj.copy(filename, readonlyCopy);
+
+ oObj.setReadOnly(readonlyCopy, true);
+ result &= oObj.isReadOnly(readonlyCopy) ;
+ oObj.setReadOnly(readonlyCopy, false);
+ result &= !oObj.isReadOnly(readonlyCopy) ;
+ tRes.tested("setReadOnly()", result);
+
+ oObj.kill(readonlyCopy);
+ }
+ catch (Exception ex) {
+ log.println("Exception occurred while testing 'setReadOnly()'");
+ ex.printStackTrace(log);
+ tRes.tested("setReadOnly()",false);
+ }
+ } //EOF setReadOnly()
+
+ /**
+ * Creates folder and then checks if it was successfully created. <p>
+ * Has <b>OK</b> status if folder was created and no exceptions
+ * were thrown.
+ */
+ public void _createFolder() {
+ try {
+ String tmpdirname = util.utils.getOfficeTemp(tParam.getMSF()) ;
+ String newFolder = tmpdirname+"SimpleSubFolder";
+
+ if (oObj.exists(newFolder))
+ oObj.kill(newFolder);
+
+ oObj.createFolder(newFolder);
+ tRes.tested("createFolder()",oObj.isFolder(newFolder));
+ oObj.kill(newFolder);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'createFolder()'");
+ ex.printStackTrace(log);
+ tRes.tested("createFolder()",false);
+ }
+
+ } //EOF createFolder()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess.txt</b>
+ * file tested.<p>
+ * Has <b> OK </b> status if the method returns <code>17</code>
+ * and no exceptions were thrown. <p>
+ */
+ public void _getSize() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ int fSize = oObj.getSize(filename);
+ tRes.tested("getSize()", fSize == 17 );
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'getSize()'");
+ ex.printStackTrace(log);
+ tRes.tested("getSize()",false);
+ }
+
+ } //EOF getSize()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess.txt</b>
+ * file tested.<p>
+ * Has <b> OK </b> status if the method returns String
+ * <code>'application/vnd.sun.staroffice.fsys-file'</code>
+ * and no exceptions were thrown. <p>
+ */
+ public void _getContentType() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ String fType = oObj.getContentType(filename);
+ tRes.tested("getContentType()",
+ "application/vnd.sun.staroffice.fsys-file".equals(fType) );
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'getContentType()'");
+ ex.printStackTrace(log);
+ tRes.tested("getContentType()",false);
+ }
+
+ } //EOF getContentType()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess.txt</b>
+ * file tested.<p>
+ * Has <b> OK </b> status if the method returns date with
+ * 2001 year and no exceptions were thrown. <p>
+ */
+ public void _getDateTimeModified() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ DateTime fTime = oObj.getDateTimeModified(filename);
+
+ java.io.File the_file = new java.io.File(filename);
+ long lastModified = the_file.lastModified();
+ java.util.Date lastMod = new java.util.Date(lastModified);
+ GregorianCalendar lastModCal = new GregorianCalendar();
+ lastModCal.setTime(lastMod);
+
+ //compare the dates gained by java with those gained by this method
+ boolean res = true;
+ boolean partResult = (fTime.Day == lastModCal.get(Calendar.DAY_OF_WEEK));
+ if (!partResult) {
+ log.println("Wrong Day");
+ log.println("Expected: "+lastModCal.get(Calendar.DAY_OF_WEEK));
+ log.println("Gained: "+fTime.Day);
+ log.println("------------------------------");
+ }
+ partResult = (fTime.Month == lastModCal.get(Calendar.MONTH));
+ if (!partResult) {
+ log.println("Wrong Month");
+ log.println("Expected: "+lastModCal.get(Calendar.MONTH));
+ log.println("Gained: "+fTime.Month);
+ log.println("------------------------------");
+ }
+
+ partResult = (fTime.Year == (lastModCal.get(Calendar.MONTH) - 1900));
+ if (!partResult) {
+ log.println("Wrong Year");
+ log.println("Expected: "+(lastModCal.get(Calendar.MONTH) - 1900));
+ log.println("Gained: "+fTime.Year);
+ log.println("------------------------------");
+ }
+
+ tRes.tested("getDateTimeModified()", res);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'getDateTimeModified()'");
+ ex.printStackTrace(log);
+ tRes.tested("getDateTimeModified()",false);
+ }
+
+ } //EOF getDateTimeModified()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess</b>
+ * directory used.<p>
+ * Has <b> OK </b> status if the method returns non zero length
+ * array and no exceptions were thrown. <p>
+ */
+ public void _getFolderContents() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String[] cont = oObj.getFolderContents(dirname,false);
+ tRes.tested("getFolderContents()", cont.length>0);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'getFolderContents()'");
+ ex.printStackTrace(log);
+ tRes.tested("getFolderContents()",false);
+ }
+
+ } //EOF getFolderContents()
+
+ /**
+ * First it check file <b>XSimpleFileAccess.txt</b> for
+ * existence, second file <b>I_do_not_exists.txt</b> is checked
+ * for existence. <p>
+ * Has <b> OK </b> status if in the first case method returns
+ * <code>true</code> and in the second - <code>flase</code>
+ * and no exceptions were thrown. <p>
+ */
+ public void _exists() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ String wrongname = dirname+"I_do_not_exists.txt";
+ tRes.tested("exists()",
+ oObj.exists(filename) && !oObj.exists(wrongname));
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'exists()'");
+ ex.printStackTrace(log);
+ tRes.tested("exists()",false);
+ }
+
+ } //EOF exists()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess.txt</b>
+ * file used.<p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value and no exceptions were thrown. <p>
+ */
+ public void _openFileRead() {
+ try {
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ com.sun.star.io.XInputStream iStream = oObj.openFileRead(filename);
+ tRes.tested("openFileRead()", iStream != null);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'openFileRead()'");
+ ex.printStackTrace(log);
+ tRes.tested("openFileRead()",false);
+ }
+
+ } //EOF openFileRead()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess.txt</b>
+ * file used.<p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value and no exceptions were thrown. <p>
+ */
+ public void _openFileWrite() {
+ try {
+ String tmpdirname = util.utils.getOfficeTemp(tParam.getMSF()) ;
+
+ String copiedFile = tmpdirname+"XSimpleFileAccess_openWrite.txt";
+
+ if (oObj.exists(copiedFile))
+ oObj.kill(copiedFile);
+
+ com.sun.star.io.XOutputStream oStream =
+ oObj.openFileWrite(copiedFile);
+
+ oStream.closeOutput();
+ oObj.kill(copiedFile);
+
+ tRes.tested("openFileWrite()", true);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'openFileWrite()'");
+ ex.printStackTrace(log);
+ tRes.tested("openFileWrite()", false);
+ }
+
+ } //EOF openFileWrite()
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <b>XSimpleFileAccess2.txt</b>
+ * file used.<p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value and no exceptions were thrown. <p>
+ */
+ public void _openFileReadWrite() {
+ try {
+ String dirnameTo = util.utils.getOfficeTemp(tParam.getMSF()) ;
+ String copiedFile = dirnameTo + "XSimpleFileAccess2.txt" ;
+
+ if (oObj.exists(copiedFile))
+ oObj.kill(copiedFile);
+
+ com.sun.star.io.XStream aStream =
+ oObj.openFileReadWrite(copiedFile);
+
+ aStream.getInputStream().closeInput();
+ aStream.getOutputStream().closeOutput();
+
+ oObj.kill(copiedFile);
+
+ tRes.tested("openFileReadWrite()", true);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'openFileReadWrite()'");
+ ex.printStackTrace(log);
+ tRes.tested("openFileReadWrite()", false);
+ }
+
+ } //EOF openFileReadWrite()
+
+ /**
+ * Test calls the method and checks that no exceptions were thrown.
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _setInteractionHandler() {
+ XInteractionHandler handler = null;
+ Object oHandler = tEnv.getObjRelation("InteractionHandler");
+
+ if (oHandler == null)
+ throw new StatusException
+ (Status.failed("Relation InteractionHandler not found"));
+
+ try {
+ handler = UnoRuntime.queryInterface
+ (XInteractionHandler.class, oHandler);
+ oObj.setInteractionHandler(handler);
+ tRes.tested("setInteractionHandler()", true);
+ } catch (Exception ex) {
+ log.println("Exception occurred while testing 'setInteractionHandler()'");
+ ex.printStackTrace(log);
+ tRes.tested("setInteractionHandler()", false);
+ }
+
+ } //EOF setInteractionHandler()
+
+} // finish class _XSimpleFileAccess
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess2.java b/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess2.java
new file mode 100644
index 000000000..6e1acd537
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XSimpleFileAccess2.java
@@ -0,0 +1,70 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.ucb.XSimpleFileAccess2;
+
+/**
+* Testing <code>com.sun.star.ucb.XSimpleFileAccess2</code>
+* interface methods. <p>
+* @see com.sun.star.ucb.XSimpleFileAccess2
+*/
+public class _XSimpleFileAccess2 extends MultiMethodTest {
+
+ public static XSimpleFileAccess2 oObj = null;
+
+ /**
+ * Writes <b>XSimpleFileAccess_new.txt</b> to disk, checks
+ * if it was successfully created and then deletes it. <p>
+ * Has <b> OK </b> status if after method call the file
+ * exists and no exceptions were thrown. <p>
+ */
+ public void _writeFile() {
+ boolean result = true;
+ try {
+ String dirnameTo = util.utils.getOfficeTemp(tParam.getMSF()) ;
+ String fileURL = dirnameTo + "XSimpleFileAccess_new.txt";
+ String dirname = util.utils.getFullTestURL("XSimpleFileAccess");
+ String filename = dirname+"XSimpleFileAccess.txt";
+ XInputStream iStream = oObj.openFileRead(filename);
+ oObj.writeFile(fileURL,iStream);
+ util.utils.pause(1000);
+ result = oObj.exists(fileURL);
+ oObj.kill(fileURL);
+ tRes.tested("writeFile()",result);
+ }
+ catch (com.sun.star.ucb.CommandAbortedException ex) {
+ log.println("CommandAbortedException occurred while testing "+
+ "'writeFile()'");
+ ex.printStackTrace(log);
+ tRes.tested("writeFile()",false);
+ }
+ catch (com.sun.star.uno.Exception ex) {
+ log.println("Exception occurred while testing 'writeFile()'");
+ ex.printStackTrace(log);
+ tRes.tested("writeFile()",false);
+ }
+
+ } //EOF writeFile()
+
+} // finish class _XSimpleFileAccess
+
diff --git a/qadevOOo/tests/java/ifc/ucb/_XSortedDynamicResultSetFactory.java b/qadevOOo/tests/java/ifc/ucb/_XSortedDynamicResultSetFactory.java
new file mode 100644
index 000000000..588a05129
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ucb/_XSortedDynamicResultSetFactory.java
@@ -0,0 +1,150 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ucb;
+
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.NumberedSortingInfo;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.OpenMode;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.ucb.XSortedDynamicResultSetFactory;
+import com.sun.star.uno.UnoRuntime;
+import lib.MultiMethodTest;
+
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+* Testing <code>com.sun.star.ucb.XSortedDynamicResultSetFactory</code>
+* interface methods :
+* <ul>
+* <li><code> createSortedDynamicResultSet()</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>solibrary.jar</code> : is used to retrieve
+* content of its root directory.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ucb.XSortedDynamicResultSetFactory
+*/
+public class _XSortedDynamicResultSetFactory extends MultiMethodTest {
+
+ /**
+ * Contains the tested object.
+ */
+ public XSortedDynamicResultSetFactory oObj;
+
+ /**
+ * Creates sorted dynamic result set from result set. For this
+ * a dynamic result set is to be created. It is created by
+ * retrieving content list from JAR archive.
+ * Has <b>OK</b> status if numbers of rows are equal and they are
+ * greater than 0 (because JAR file contains at least one entry).
+ */
+ public void _createSortedDynamicResultSet() {
+ boolean result = true ;
+
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ XDynamicResultSet dynResSet = null ;
+ try {
+ Object oUCB = xMSF.createInstanceWithArguments
+ ("com.sun.star.ucb.UniversalContentBroker",
+ new Object[0]) ;
+
+ XContentIdentifierFactory ciFac = UnoRuntime.queryInterface
+ (XContentIdentifierFactory.class,oUCB) ;
+
+ String url = util.utils.getFullTestURL("SwXTextEmbeddedObject.sxw") ;
+ StringBuilder escUrl = new StringBuilder();
+
+ // In base URL of a JAR file in content URL all directory
+ // separators ('/') must be replaced with escape symbol '%2F'.
+ int idx = url.indexOf("/") ;
+ int lastIdx = -1 ;
+ while (idx >= 0) {
+ escUrl.append(url.substring(lastIdx + 1, idx)).append("%2F");
+ lastIdx = idx ;
+ idx = url.indexOf("/", idx + 1) ;
+ }
+ escUrl.append(url.substring(lastIdx + 1));
+ String cntUrl = "vnd.sun.star.pkg://" + escUrl.toString() + "/" ;
+
+ XContentIdentifier CI = ciFac.createContentIdentifier(cntUrl) ;
+
+ XContentProvider cntProv = UnoRuntime.queryInterface(XContentProvider.class, oUCB) ;
+
+ XContent cnt = cntProv.queryContent(CI) ;
+
+ XCommandProcessor cmdProc = UnoRuntime.queryInterface(XCommandProcessor.class, cnt) ;
+
+ Property prop = new Property() ;
+ prop.Name = "Title" ;
+
+ Command cmd = new Command("open", -1, new OpenCommandArgument2
+ (OpenMode.ALL, 10000, null, new Property[] {prop},
+ new NumberedSortingInfo[0])) ;
+
+ dynResSet = (XDynamicResultSet) AnyConverter.toObject(
+ new Type(XDynamicResultSet.class),cmdProc.execute(cmd, 0, null));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ }
+
+ XDynamicResultSet sortedSet = oObj.createSortedDynamicResultSet
+ (dynResSet, new NumberedSortingInfo[0], null) ;
+
+ int rowCount = -1 ;
+ if (sortedSet != null) {
+ XResultSet set = null ;
+ try {
+ set = sortedSet.getStaticResultSet() ;
+ } catch (com.sun.star.ucb.ListenerAlreadySetException e) {
+ e.printStackTrace(log);
+ }
+
+ try {
+ set.last() ;
+ rowCount = set.getRow();
+ log.println("Number of rows in result set: " + rowCount);
+ } catch (com.sun.star.sdbc.SQLException e) {
+ log.println("Exception occurred while accessing "+
+ "sorted result set :");
+ e.printStackTrace(log);
+ }
+ } else {
+ log.println("Null returned !!!");
+ result &= false ;
+ }
+
+ result &= rowCount > 1 ;
+
+ tRes.tested("createSortedDynamicResultSet()", result) ;
+ }
+
+
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XContextMenuInterception.java b/qadevOOo/tests/java/ifc/ui/_XContextMenuInterception.java
new file mode 100644
index 000000000..062810730
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XContextMenuInterception.java
@@ -0,0 +1,201 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+
+package ifc.ui;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.IndexOutOfBoundsException;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ui.XContextMenuInterception;
+import com.sun.star.ui.XContextMenuInterceptor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import helper.ContextMenuInterceptor;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.AccessibilityTools;
+import util.DesktopTools;
+
+public class _XContextMenuInterception extends MultiMethodTest {
+
+ private XModel docModel = null;
+ private XContextMenuInterceptor xCI = null;
+ public XContextMenuInterception oObj = null;
+ private XWindow xWindow = null;
+ private XMultiServiceFactory xMSF = null;
+ private Point point = null;
+
+ @Override
+ public void before() {
+ docModel = UnoRuntime.queryInterface(
+ XModel.class,tEnv.getObjRelation("FirstModel"));
+
+ xCI = UnoRuntime.queryInterface(
+ XContextMenuInterceptor.class, new ContextMenuInterceptor());
+
+ xMSF = tParam.getMSF();
+
+ //ensure that the first model is focused
+
+ log.println("ensure that the first model is focused");
+ DesktopTools.bringWindowToFront(docModel);
+
+ waitForEventIdle();
+ }
+
+ @Override
+ public void after() {
+ if (xCI != null) {
+ oObj.releaseContextMenuInterceptor(xCI);
+ }
+ }
+
+ public void _registerContextMenuInterceptor() {
+ oObj.registerContextMenuInterceptor(xCI);
+ openContextMenu(docModel);
+ boolean res = checkHelpEntry();
+ releasePopUp();
+ tRes.tested("registerContextMenuInterceptor()",res);
+ }
+
+ public void _releaseContextMenuInterceptor() {
+ requiredMethod("registerContextMenuInterceptor()");
+ oObj.releaseContextMenuInterceptor(xCI);
+ openContextMenu(docModel);
+ boolean res = checkHelpEntry();
+ releasePopUp();
+ tRes.tested("releaseContextMenuInterceptor()",!res);
+ }
+
+ private boolean checkHelpEntry(){
+ XInterface toolkit = null;
+ boolean res = true;
+
+ log.println("get accessibility...");
+ try{
+ toolkit = (XInterface) xMSF.createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e){
+ log.println("could not get Toolkit " + e.toString());
+ }
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ XAccessible xRoot = null;
+
+ try {
+ xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getTopWindow(0));
+
+ xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get Window");
+ }
+
+ XAccessibleContext oPopMenu = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.POPUP_MENU,true);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oPopMenu));
+
+ XAccessible xHelp = null;
+ try{
+ log.println("Try to get second entry of context menu...");
+ xHelp = oPopMenu.getAccessibleChild(1);
+
+ } catch (IndexOutOfBoundsException e){
+ throw new StatusException("Not possible to get second entry of context menu",e);
+ }
+
+ if (xHelp == null) throw new StatusException(new Status("second entry of context menu is NULL", false));
+
+ XAccessibleContext xHelpCont = xHelp.getAccessibleContext();
+
+ if ( xHelpCont == null )
+ throw new StatusException(new Status("No able to retrieve accessible context from first entry of context menu",false));
+
+ String aAccessibleName = xHelpCont.getAccessibleName();
+ if ( !aAccessibleName.equals( "Help" )) {
+ log.println("Accessible name found = "+aAccessibleName );
+ log.println("Second entry of context menu is not from context menu interceptor");
+ res=false;
+ }
+
+ return res;
+
+ }
+
+ private void openContextMenu(XModel xModel){
+
+ log.println("try to open context menu...");
+
+ xWindow = AccessibilityTools.getCurrentWindow(xModel);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XInterface oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+
+ XAccessibleComponent window = UnoRuntime.queryInterface(
+ XAccessibleComponent.class, oObj);
+
+ point = window.getLocationOnScreen();
+ Rectangle rect = window.getBounds();
+
+ log.println("click mouse button...");
+ try {
+ Robot rob = new Robot();
+ int x = point.X + (rect.Width / 2);
+ int y = point.Y + (rect.Height / 2);
+ rob.mouseMove(x, y);
+ System.out.println("Press Button");
+ rob.mousePress(InputEvent.BUTTON3_MASK);
+ System.out.println("Release Button");
+ rob.mouseRelease(InputEvent.BUTTON3_MASK);
+ System.out.println("done");
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+
+ waitForEventIdle();
+
+ }
+
+ private void releasePopUp() {
+ log.println("release the popup menu");
+ try {
+ Robot rob = new Robot();
+ int x = point.X;
+ int y = point.Y;
+ rob.mouseMove(x, y);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManager.java b/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManager.java
new file mode 100644
index 000000000..ec3a14d6b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManager.java
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.ui.XModuleUIConfigurationManager;
+import lib.MultiMethodTest;
+
+public class _XModuleUIConfigurationManager extends MultiMethodTest {
+
+ public XModuleUIConfigurationManager oObj = null;
+ private String resourceUrl = null;
+
+ @Override
+ public void before() {
+ resourceUrl = (String)tEnv.getObjRelation("XModuleUIConfigurationManager.ResourceURL");
+ }
+
+ public void _isDefaultSettings() {
+ boolean result;
+ try {
+ result = oObj.isDefaultSettings(resourceUrl);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("'" + resourceUrl + "' is an illegal resource.");
+ result = false;
+ }
+ String notPossibleUrl = "private:resource/menubar/dingsbums";
+ try {
+ result &= !oObj.isDefaultSettings(notPossibleUrl);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("'" + notPossibleUrl + "' is an illegal resource.");
+ result = false;
+ }
+
+ tRes.tested("isDefaultSettings()", result);
+ }
+
+ public void _getDefaultSettings() {
+ boolean result;
+ try {
+ XIndexAccess xIndexAcc = oObj.getDefaultSettings(resourceUrl);
+ result = xIndexAcc != null;
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("'" + resourceUrl + "' is an illegal resource.");
+ result = false;
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ log.println("No resource '" + resourceUrl + "' available.");
+ result = false;
+ }
+ tRes.tested("getDefaultSettings()", result);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManagerSupplier.java b/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManagerSupplier.java
new file mode 100644
index 000000000..8a9dfe7b3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XModuleUIConfigurationManagerSupplier.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui;
+
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.ui.XModuleUIConfigurationManagerSupplier;
+import lib.MultiMethodTest;
+
+public class _XModuleUIConfigurationManagerSupplier extends MultiMethodTest {
+
+ public XModuleUIConfigurationManagerSupplier oObj;
+
+ public void _getUIConfigurationManager() {
+ String configManagerName = null;
+ String implementationName = null;
+ try {
+ configManagerName = (String)tEnv.getObjRelation("XModuleUIConfigurationManagerSupplier.ConfigurationManager");
+ implementationName = (String)tEnv.getObjRelation("XModuleUIConfigurationManagerSupplier.ConfigManagerImplementationName");
+
+ // get a config manager for the StartModule
+ Object o = oObj.getUIConfigurationManager(configManagerName);
+ XServiceInfo xServiceInfo = UnoRuntime.queryInterface(XServiceInfo.class, o);
+ String impName = xServiceInfo.getImplementationName();
+ boolean result = impName.equals(implementationName);
+ if (!result) {
+ log.println("Returned implementation was '" + impName +
+ "' but should have been '" + implementationName + "'");
+ }
+ tRes.tested("getUIConfigurationManager()", result);
+ return;
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ log.println("Could not get a configuration manager called '" + configManagerName + "'");
+ e.printStackTrace(log);
+ }
+ tRes.tested("getUIConfigurationManager()", false);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIConfiguration.java b/qadevOOo/tests/java/ifc/ui/_XUIConfiguration.java
new file mode 100644
index 000000000..73290288c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIConfiguration.java
@@ -0,0 +1,94 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui;
+
+import com.sun.star.ui.XUIConfiguration;
+import com.sun.star.ui.XUIConfigurationListener;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.ui.XUIConfiguration</code>
+* interface methods :
+* <ul>
+* <li><code> addConfigurationListener()</code></li>
+* <li><code> removeConfigurationListener()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+* @see com.sun.star.ui.XUIConfiguration
+*/
+
+public class _XUIConfiguration extends MultiMethodTest {
+
+ public XUIConfiguration oObj;
+ XUIConfigurationListenerImpl xListener = null;
+
+ /**
+ * Interface for the Listener of the object relation
+ * <CODE>XUIConfiguration.XUIConfigurationListenerImpl</CODE>
+ * @see com.sun.star.ui.XUIConfigurationListener
+ */
+ public interface XUIConfigurationListenerImpl
+ extends XUIConfigurationListener {
+ void reset();
+ void fireEvent();
+ boolean actionWasTriggered();
+ }
+
+
+ /**
+ * try to get a listener out of the object relation
+ * <CODE>XUIConfiguration.XUIConfigurationListenerImpl</CODE>
+ */
+ @Override
+ public void before() {
+ xListener = (XUIConfigurationListenerImpl)tEnv.getObjRelation(
+ "XUIConfiguration.XUIConfigurationListenerImpl");
+ }
+
+ /**
+ * adds a listener and fires an event
+ * Has <B>OK</B> status if listener was called
+ */
+ public void _addConfigurationListener() {
+ oObj.addConfigurationListener(xListener);
+ xListener.fireEvent();
+ tRes.tested("addConfigurationListener()", xListener.actionWasTriggered());
+ }
+
+ /**
+ * removes the listener and calls an event.
+ * Has <B>OK</B> status if listener is not called.
+ */
+ public void _removeConfigurationListener() {
+ requiredMethod("addConfigurationListener()");
+ oObj.removeConfigurationListener(xListener);
+ xListener.reset();
+ xListener.fireEvent();
+ tRes.tested("removeConfigurationListener()", !xListener.actionWasTriggered());
+ }
+
+ /**
+ * Dispose because the UIConfigurationManager has to be recreated
+ */
+ @Override
+ public void after() {
+ disposeEnvironment();
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIConfigurationListener.java b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationListener.java
new file mode 100644
index 000000000..b1ef75528
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationListener.java
@@ -0,0 +1,44 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui;
+
+import com.sun.star.ui.ConfigurationEvent;
+import com.sun.star.ui.XUIConfigurationListener;
+import lib.MultiMethodTest;
+
+public class _XUIConfigurationListener extends MultiMethodTest {
+
+ public XUIConfigurationListener oObj = null;
+
+ public void _elementInserted() {
+ ConfigurationEvent event = new ConfigurationEvent();
+ oObj.elementInserted(event);
+ tRes.tested("elementInserted()", true);
+ }
+ public void _elementRemoved() {
+ ConfigurationEvent event = new ConfigurationEvent();
+ oObj.elementRemoved(event);
+ tRes.tested("elementRemoved()", true);
+ }
+ public void _elementReplaced() {
+ ConfigurationEvent event = new ConfigurationEvent();
+ oObj.elementReplaced(event);
+ tRes.tested("elementReplaced()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIConfigurationManager.java b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationManager.java
new file mode 100644
index 000000000..83923634b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationManager.java
@@ -0,0 +1,354 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.ui;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XSingleComponentFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.ui.UIElementType;
+import com.sun.star.ui.XImageManager;
+import com.sun.star.ui.XUIConfigurationManager;
+import java.io.PrintWriter;
+import lib.MultiMethodTest;
+
+public class _XUIConfigurationManager extends MultiMethodTest {
+
+ public XUIConfigurationManager oObj;
+ private static final String msResourceUrl = "private:resource/menubar/menubar";
+ private static final String msMyResourceUrl = "private:resource/menubar/mymenubar";
+ private XIndexContainer mxSettings = null;
+ private XIndexAccess mxMenuBarSettings = null;
+ private XMultiServiceFactory mxMSF = null;
+ private String sShortCutManagerServiceName = null;
+
+
+ /**
+ * Some stuff before the tests:
+ * extract the multi service factory.
+ */
+ @Override
+ protected void before() {
+ mxMSF = tParam.getMSF();
+ sShortCutManagerServiceName = (String)tEnv.getObjRelation("XConfigurationManager.ShortCutManager");
+
+ }
+
+ /**
+ * reset all changes: do at the end.
+ */
+ public void _reset() {
+ requiredMethod("removeSettings()");
+ oObj.reset();
+ tRes.tested("reset()", true);
+ }
+
+ public void _getUIElementsInfo() {
+ boolean result = true;
+ try {
+ PropertyValue[][]props = oObj.getUIElementsInfo(UIElementType.UNKNOWN);
+ for (int i=0; i<props.length; i++)
+ for(int j=0; j<props[i].length; j++)
+ log.println("Prop["+i+"]["+j+"]: " + props[i][j].Name + " " + props[i][j].Value.toString());
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ tRes.tested("getUIElementsInfo()", result);
+ }
+
+ public void _createSettings() {
+ mxSettings = oObj.createSettings();
+ util.dbg.printInterfaces(mxSettings);
+ tRes.tested("createSettings()", mxSettings != null);
+ }
+
+ public void _hasSettings() {
+ boolean result = false;
+ try {
+ result = oObj.hasSettings(msResourceUrl);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println(e);
+ result = false;
+ }
+ tRes.tested("hasSettings()", result);
+ }
+
+ public void _getSettings() {
+ requiredMethod("hasSettings()");
+ boolean result = true;
+ try {
+ mxMenuBarSettings = oObj.getSettings(msResourceUrl, true);
+ for (int i=0; i<mxMenuBarSettings.getCount(); i++) {
+ Object[] o = (Object[])mxMenuBarSettings.getByIndex(i);
+ log.println("+++++++++ i = " + i);
+ for (int j=0; j<o.length; j++) {
+ PropertyValue prop = (PropertyValue)o[j];
+ log.println("Property" + j + ": " + prop.Name + " " + prop.Value.toString());
+ }
+ }
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ tRes.tested("getSettings()", result);
+ }
+
+ public void _replaceSettings() {
+ requiredMethod("getSettings()");
+ boolean result = true;
+ PropertyValue[] prop = createMenuBarEntry("My Entry", mxMenuBarSettings, mxMSF, log);
+ if (prop == null) {
+ tRes.tested("replaceSettings()", false);
+ return;
+ }
+
+ createMenuBarItem("Click for Macro", UnoRuntime.queryInterface(
+ XIndexContainer.class, prop[3].Value), log);
+
+ XIndexContainer x = UnoRuntime.queryInterface(XIndexContainer.class, mxMenuBarSettings);
+ try {
+ x.insertByIndex(x.getCount(), prop);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+
+ try {
+ oObj.replaceSettings(msResourceUrl, mxMenuBarSettings);
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalAccessException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ _getSettings();
+ tRes.tested("replaceSettings()", result);
+ }
+
+ public void _removeSettings() {
+ requiredMethod("insertSettings()");
+ boolean result = true;
+ try {
+ oObj.removeSettings(msMyResourceUrl);
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalAccessException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+ tRes.tested("removeSettings()", result);
+ }
+
+ public void _insertSettings() {
+ requiredMethod("createSettings()");
+ requiredMethod("replaceSettings()");
+ boolean result = true;
+ util.dbg.printInterfaces(mxSettings);
+ PropertyValue[] prop = createMenuBarEntry("A new entry", mxSettings, mxMSF, log);
+ if (prop == null) {
+ tRes.tested("replaceSettings()", false);
+ return;
+ }
+
+ createMenuBarItem("A new sub entry", UnoRuntime.queryInterface(
+ XIndexContainer.class, prop[3].Value), log);
+
+ XIndexContainer x = UnoRuntime.queryInterface(XIndexContainer.class,mxSettings);
+ try {
+ int count = x.getCount();
+ x.insertByIndex(count, prop);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+
+ try {
+ oObj.insertSettings(msMyResourceUrl, mxSettings);
+ }
+ catch(com.sun.star.container.ElementExistException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+ catch(com.sun.star.lang.IllegalAccessException e) {
+ e.printStackTrace(log);
+ result = false;
+ }
+ tRes.tested("insertSettings()", result);
+ }
+
+ /**
+ * Only a short test.
+ * See complex.imageManager.CheckImageManager for a more extensive test of
+ * this implementation.
+ */
+ public void _getImageManager() {
+ Object o = oObj.getImageManager();
+ log.println("###### ImageManager ");
+ XImageManager xImageManager = UnoRuntime.queryInterface(XImageManager.class, o);
+ tRes.tested("getImageManager()", xImageManager != null);
+ }
+
+
+ /**
+ * get a shortcut manager
+ */
+ public void _getShortCutManager() {
+ Object o = oObj.getShortCutManager();
+ XServiceInfo xSI = UnoRuntime.queryInterface(XServiceInfo.class,o);
+ String[] serviceNames = xSI.getSupportedServiceNames();
+ boolean bSupportedServiceFound = false;
+ for (int i=0; i<serviceNames.length; i++) {
+ log.println("SuppService: " + serviceNames[i]);
+ if (serviceNames[i].equals(sShortCutManagerServiceName)) {
+ bSupportedServiceFound = true;
+ }
+ }
+ tRes.tested("getShortCutManager()", bSupportedServiceFound);
+ }
+
+ public void _getEventsManager() {
+ Object o = oObj.getEventsManager();
+ tRes.tested("getEventsManager()", o == null);
+ }
+
+ /**
+ * Create a menu bar entry for adding to the menu bar of the Office.
+ * @param sLabelName The name of the new entry.
+ * @param xMenuBarSettings The existing menu bar settings, used for creating the new entry.
+ * @return An array of properties of the new entry.
+ */
+ public static PropertyValue[] createMenuBarEntry(String sLabelName, XIndexAccess xMenuBarSettings, XMultiServiceFactory xMSF, PrintWriter log) {
+ PropertyValue[] prop = new PropertyValue[4];
+ prop[0] = new PropertyValue();
+ prop[0].Name = "CommandURL";
+ prop[0].Value = "vnd.openoffice.org:MyMenu";
+ prop[1] = new PropertyValue();
+ prop[1].Name = "Label";
+ prop[1].Value = sLabelName;
+ prop[2] = new PropertyValue();
+ prop[2].Name = "Type";
+ prop[2].Value = Short.valueOf((short)0);
+ prop[3] = new PropertyValue();
+ prop[3].Name = "ItemDescriptorContainer";
+
+ XSingleComponentFactory xFactory = UnoRuntime.queryInterface(
+ XSingleComponentFactory.class, xMenuBarSettings);
+ try {
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ XComponentContext xContext = UnoRuntime.queryInterface(
+ XComponentContext.class, xProp.getPropertyValue("DefaultContext"));
+ prop[3].Value = xFactory.createInstanceWithContext(xContext);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ log.println("Could not create an instance for ItemDescriptorContainer property.");
+ e.printStackTrace(log);
+ return null;
+ }
+ return prop;
+ }
+
+ /**
+ * Create a sub entry to the menu bar.
+ * @param sLabelName The name of the entry in the UI.
+ * @param xDescriptionContainer The parent entry in the menu bar where
+ * this entry is added.
+ */
+ public static void createMenuBarItem(String sLabelName, XIndexContainer xDescriptionContainer, PrintWriter log) {
+ PropertyValue[]aMenuItem = new PropertyValue[3];
+ // create a menu item
+ aMenuItem[0] = new PropertyValue();
+ aMenuItem[0].Name = "CommandURL";
+ aMenuItem[0].Value = "macro:///Standard.Module1.Test()";
+ aMenuItem[1] = new PropertyValue();
+ aMenuItem[1].Name = "Label";
+ aMenuItem[1].Value = sLabelName;
+ aMenuItem[2] = new PropertyValue();
+ aMenuItem[2].Name = "Type";
+ aMenuItem[2].Value = Short.valueOf((short)0);
+
+ try {
+ xDescriptionContainer.insertByIndex(0, aMenuItem);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIConfigurationPersistence.java b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationPersistence.java
new file mode 100644
index 000000000..a7a7b5c43
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationPersistence.java
@@ -0,0 +1,75 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui;
+
+import com.sun.star.embed.XStorage;
+import com.sun.star.ui.XUIConfigurationPersistence;
+import lib.MultiMethodTest;
+
+public class _XUIConfigurationPersistence extends MultiMethodTest {
+
+ public XUIConfigurationPersistence oObj;
+ private XStorage xStore = null;
+
+ @Override
+ public void before() {
+ xStore = (XStorage)tEnv.getObjRelation("XUIConfigurationStorage.Storage");
+ }
+
+ public void _reload() {
+ try {
+ oObj.reload();
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ }
+ tRes.tested("reload()", true);
+ }
+
+ public void _store() {
+ try {
+ oObj.store();
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ }
+ tRes.tested("store()", true);
+ }
+
+ public void _storeToStorage() {
+ boolean result = true;
+ try {
+ oObj.storeToStorage(xStore);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ tRes.tested("storeToStorage()", result);
+ }
+
+ public void _isModified() {
+ tRes.tested("isModified()", !oObj.isModified());
+ }
+
+ public void _isReadOnly() {
+ tRes.tested("isReadOnly()", !oObj.isReadOnly());
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIConfigurationStorage.java b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationStorage.java
new file mode 100644
index 000000000..1e40a0577
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIConfigurationStorage.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui;
+
+import com.sun.star.embed.XStorage;
+import com.sun.star.ui.XUIConfigurationStorage;
+import lib.MultiMethodTest;
+/**
+* Testing <code>com.sun.star.ui.XUIConfigurationStorage</code>
+* interface methods :
+* <ul>
+* <li><code> setStorage()</code></li>
+* <li><code> hasStorage()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ui.XUIConfigurationStorage
+*/
+
+public class _XUIConfigurationStorage extends MultiMethodTest {
+
+ public XUIConfigurationStorage oObj;
+ private XStorage xStore = null;
+
+ @Override
+ public void before() {
+ xStore = (XStorage)tEnv.getObjRelation("XUIConfigurationStorage.Storage");
+ }
+
+ /**
+ * Set the object relation <code>XUIConfigurationStorage.Storage</code>
+ * as storage.
+ * Has <b>OK</b> status if no exception is thrown.
+ */
+ public void _setStorage() {
+ if (!oObj.hasStorage())
+ oObj.setStorage(xStore);
+ else
+ log.println("For initializing this object, the setStorage() method was already called at the object.");
+ tRes.tested("setStorage()", true);
+ }
+
+ /**
+ * Queries object for a storage.
+ * Has <b>OK</b> status if <code>hasStorage</code> returns <code>OK</code>
+ */
+ public void _hasStorage() {
+ requiredMethod("setStorage()");
+ boolean has = oObj.hasStorage();
+ tRes.tested("hasStorage()", has);
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIElementFactory.java b/qadevOOo/tests/java/ifc/ui/_XUIElementFactory.java
new file mode 100644
index 000000000..1883c081d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIElementFactory.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.ui.XUIElement;
+import com.sun.star.ui.XUIElementFactory;
+import lib.MultiMethodTest;
+
+public class _XUIElementFactory extends MultiMethodTest {
+
+ public XUIElementFactory oObj;
+
+ public void _createUIElement() {
+ boolean result = true;
+ PropertyValue[] prop = new PropertyValue[0];
+ try {
+ XUIElement element = oObj.createUIElement("private:resource/menubar/menubar", prop);
+ result = (element!= null);
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ tRes.tested("createUIElement()", result);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/_XUIElementFactoryRegistration.java b/qadevOOo/tests/java/ifc/ui/_XUIElementFactoryRegistration.java
new file mode 100644
index 000000000..e2540e49d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/_XUIElementFactoryRegistration.java
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.ui.XUIElementFactory;
+import com.sun.star.ui.XUIElementFactoryRegistration;
+import lib.MultiMethodTest;
+
+public class _XUIElementFactoryRegistration extends MultiMethodTest {
+
+ public XUIElementFactoryRegistration oObj;
+
+ public void _registerFactory() {
+ boolean result = true;
+ try {
+ oObj.registerFactory("private:resource/menubar/menubar", "MyOwnMenubar", "", "com.sun.star.comp.framework.MenuBarFactory");
+ }
+ catch(com.sun.star.container.ElementExistException e) {
+ result = false;
+ e.printStackTrace(log);
+ }
+ tRes.tested("registerFactory()", result);
+ }
+
+ public void _getRegisteredFactories() {
+ requiredMethod("registerFactory()");
+ PropertyValue[][]props = oObj.getRegisteredFactories();
+ if (props == null) {
+ log.println("Null was returned as PropertyValue[][]");
+ props = new PropertyValue[0][0];
+ }
+ for(int i=0; i<props.length; i++)
+ for(int j=0; j<props[i].length; j++)
+ log.println("Factory: " + props[i][j].Name + " - " + props[i][j].Value);
+ tRes.tested("getRegisteredFactories()", props.length != 0);
+ }
+
+ public void _getFactory() {
+ requiredMethod("registerFactory()");
+ XUIElementFactory xFactory = oObj.getFactory("private:resource/menubar/menubar", "");
+ tRes.tested("getFactory()", xFactory != null);
+ }
+
+ public void _deregisterFactory() {
+ executeMethod("getRegisteredFactory()");
+ executeMethod("getFactory()");
+ try {
+ oObj.deregisterFactory("private:resource/menubar/menubar", "MyOwnMenubar", "");
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ }
+ tRes.tested("deregisterFactory()", true);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_FilePicker.java b/qadevOOo/tests/java/ifc/ui/dialogs/_FilePicker.java
new file mode 100644
index 000000000..32f8c1f16
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_FilePicker.java
@@ -0,0 +1,27 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui.dialogs;
+
+import lib.MultiPropertyTest;
+
+public class _FilePicker extends MultiPropertyTest {
+
+
+} // EOF Calendar
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XControlAccess.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XControlAccess.java
new file mode 100644
index 000000000..e290ab4d9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XControlAccess.java
@@ -0,0 +1,133 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui.dialogs;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.ui.dialogs.XControlAccess;
+import com.sun.star.ui.dialogs.XControlInformation;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Testing <code>com.sun.star.ui.XFilePicker</code>
+* interface methods :
+* <ul>
+* <li><code> setControlProperty()</code></li>
+* <li><code> getControlProperty()</code></li>
+* </ul> <p>
+*
+* For testing this interface the component must implement
+* <code>com.sun.star.ui.dialogs.XControlInformation</code>
+* interface. <p>
+*
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ui.XFolderPicker
+*/
+public class _XControlAccess extends MultiMethodTest {
+
+ public XControlAccess oObj = null;
+ private String[] supControls = null ;
+ private String[][] supProperties = null ;
+
+ /**
+ * Tries to query <code>com.sun.star.ui.dialogs.XControlInformation</code>
+ * interface, and obtain properties' names of each available
+ * control. <p>
+ *
+ * @throw StatusException if interface is not supported or
+ * properties couldn't be get.
+ */
+ @Override
+ protected void before() {
+ XControlInformation xCI = UnoRuntime.queryInterface
+ (XControlInformation.class, oObj);
+
+ if (xCI == null) throw new StatusException
+ (Status.failed("XControlInformation not supported")) ;
+
+ supControls = xCI.getSupportedControls();
+ supProperties = new String[supControls.length][];
+ for (int i = 0; i < supControls.length; i++) {
+ try {
+ supProperties[i] =
+ xCI.getSupportedControlProperties(supControls[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ throw new StatusException
+ ("Exception while init.", e) ;
+ }
+ }
+ }
+
+ /**
+ * Tries to change each property of each control.
+ * Has <b>OK</b> status if values are properly changed.
+ */
+ public void _setControlProperty() {
+ boolean result = true ;
+ String error = "";
+
+ for (int i = 0; i < supControls.length; i++) {
+ log.println("Checking properties for control " + supControls[i]);
+ for (int j = 0; j < supProperties[i].length; j++) {
+ log.println("\t" + supProperties[i][j]);
+ try {
+ Object oldVal = oObj.getControlProperty(supControls[i],
+ supProperties[i][j]);
+ Object newVal = util.ValueChanger.changePValue(oldVal);
+ if (supProperties[i][j].startsWith("Help")) {
+ newVal = "HID:133";
+ }
+ oObj.setControlProperty
+ (supControls[i], supProperties[i][j], newVal) ;
+ Object resVal = oObj.getControlProperty(supControls[i],
+ supProperties[i][j]);
+ log.println("\t Old:" + oldVal + ",New:" + newVal
+ + ",Result:" + resVal);
+ if (!util.ValueComparer.equalValue(newVal, resVal)) {
+ error += "####Property '"+supProperties[i][j]+
+ " of "+supControls[i]+" didn't work\n\r"+
+ "\t Old:" + oldVal + ",New:" + newVal
+ + ",Result:" + resVal+ "\n\r";
+ }
+ result &= util.ValueComparer.equalValue(newVal, resVal);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception:" );
+ e.printStackTrace(log);
+ result = false ;
+ }
+ }
+ }
+
+ log.println(error);
+
+ tRes.tested("setControlProperty()", result) ;
+ tRes.tested("getControlProperty()", result) ;
+ }
+
+ /**
+ * Does nothing. Testing performed in <code>setControlProperty</code>
+ * method test.
+ */
+ public void _getControlProperty() {}
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XControlInformation.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XControlInformation.java
new file mode 100644
index 000000000..1da743110
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XControlInformation.java
@@ -0,0 +1,178 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ui.dialogs.XControlInformation;
+
+/**
+* Testing <code>com.sun.star.ui.XControlInformation</code>
+* interface methods :
+* <ul>
+* <li><code> getSupportedControls()</code></li>
+* <li><code> isControlSupported()</code></li>
+* <li><code> getSupportedControlProperties()</code></li>
+* <li><code> isControlPropertySupported()</code></li>
+* </ul> <p>
+*
+* @see com.sun.star.ui.XFolderPicker
+*/
+public class _XControlInformation extends MultiMethodTest {
+
+ public XControlInformation oObj = null;
+ private String[] supControls = null ;
+ private String[][] supProperties = null ;
+
+ /**
+ * Gets supported controls and stores them. <p>
+ * Has <b>OK</b> status if not <code>null</code> returned.
+ */
+ public void _getSupportedControls() {
+ supControls = oObj.getSupportedControls();
+
+ tRes.tested("getSupportedControls()", supControls != null) ;
+ }
+
+ /**
+ * For every available control check if it is supported.
+ * Also wrong control name (non-existent and empty) are checked.<p>
+ *
+ * Has <b>OK</b> status if <code>true</code> returned for valid
+ * control names and <code>false</code> for invalid.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSupportedControls </code> to have
+ * valid control names</li>
+ * </ul>
+ */
+ public void _isControlSupported() {
+ requiredMethod("getSupportedControls()") ;
+
+ boolean result = true ;
+
+ log.println("Supported controls :");
+ for (int i = 0; i < supControls.length; i++) {
+ log.println(" " + supControls[i]);
+ result &= oObj.isControlSupported(supControls[i]) ;
+ }
+
+ result &= !oObj.isControlSupported("SuchNameMustNotExist");
+ result &= !oObj.isControlSupported("");
+
+ tRes.tested("isControlSupported()", result) ;
+ }
+
+ /**
+ * For each control obtains its properties and stores them. Then tries to
+ * obtain properties for control with invalid name. <p>
+ *
+ * Has <b>OK</b> status if properties arrays are not null and exception
+ * thrown or null returned for control with invalid name <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSupportedControls </code> to have
+ * valid control names</li>
+ * </ul>
+ */
+ public void _getSupportedControlProperties() {
+ requiredMethod("getSupportedControls()") ;
+
+ supProperties = new String[supControls.length][];
+ for (int i = 0; i < supControls.length; i++) {
+ log.println("Getting properties for control: " + supControls[i]);
+ try {
+ supProperties[i] =
+ oObj.getSupportedControlProperties(supControls[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception:" + e);
+ }
+ }
+
+ try {
+ oObj.getSupportedControlProperties("NoSuchControl");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Expected exception getting properties " +
+ "for wrong control:" + e);
+ }
+
+ tRes.tested("getSupportedControlProperties()", true) ;
+ }
+
+ /**
+ * <ul>
+ * <li>For each property of each control checks if it is supported.</li>
+ * <li>For each control checks if non-existent property
+ * (with wrong name and with empty name) supported.</li>
+ * <li>Tries to check the property of non-existent control </li>
+ * </ul>
+ * <p>
+ * Has <b>OK</b> status if <code>true</code> returned for the first case,
+ * <code>false</code> for the second, and <code>false</code> or exception
+ * for the third.<p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getSupportedControlProperties </code> to have a set of
+ * valid properties </li>
+ * </ul>
+ */
+ public void _isControlPropertySupported() {
+ requiredMethod("getSupportedControlProperties()") ;
+
+ boolean result = true;
+
+ for (int i = 0; i < supControls.length; i++) {
+ log.println("Checking properties for control " + supControls[i]);
+ for (int j = 0; j < supProperties[i].length; j++) {
+ log.println(" " + supProperties[i][j]);
+ try {
+ result &= oObj.isControlPropertySupported
+ (supControls[i], supProperties[i][j]) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Unexpected exception:" + e);
+ result = false ;
+ }
+ }
+
+ try {
+ result &= !oObj.isControlPropertySupported
+ (supControls[i], "NoSuchPropertyForThisControl") ;
+ result &= !oObj.isControlPropertySupported
+ (supControls[i], "") ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println
+ ("Unexpected exception (just false must be returned):" + e);
+ result = false ;
+ }
+ }
+
+ try {
+ result &= !oObj.isControlPropertySupported("NoSuchControl", "") ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Expected exception: " + e);
+ }
+
+ tRes.tested("isControlPropertySupported()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XExecutableDialog.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XExecutableDialog.java
new file mode 100644
index 000000000..eddf139c6
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XExecutableDialog.java
@@ -0,0 +1,176 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ui.dialogs.XExecutableDialog;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XCancellable;
+
+/**
+ * Testing <code>com.sun.star.ui.dialogs.XExecutableDialog</code>
+ * interface methods :
+ * <ul>
+ * <li><code> setTitle()</code></li>
+ * <li><code> execute()</code></li>
+ * </ul> <p>
+ *
+ * These interface methods can't be checked, thereby methods
+ * are just called. <code>execute</code> method is not called
+ * at all as the dialog shown can't be disposed. <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.ui.dialogs.XExecutableDialog
+ */
+public class _XExecutableDialog extends MultiMethodTest {
+
+ public XExecutableDialog oObj = null;
+ private ExecThread eThread = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ */
+ public void _setTitle() {
+ oObj.setTitle("The Title");
+ tRes.tested("setTitle()",true);
+ }
+
+ /**
+ * This method is excluded from automated test since
+ * we can't close the dialog. <p>
+ * Always has <b>OK</b> status.
+ */
+ public void _execute() {
+ String aName = tEnv.getTestCase().getObjectName();
+ boolean result = false;
+ if (aName.startsWith("OData") || aName.startsWith("OSQL")) {
+ log.println("dbaccess dialogs can't be closed via API");
+ log.println("therefore they aren't executed");
+ log.println("and the result is set to true");
+ result = true;
+ } else {
+ eThread = new ExecThread(oObj);
+ log.println("Starting Dialog");
+ eThread.start();
+ XCancellable canc = UnoRuntime.queryInterface
+ (XCancellable.class, tEnv.getTestObject());
+ waitForEventIdle();
+ if (canc != null) {
+ closeDialog();
+ short res = eThread.execRes;
+ log.println("result: "+res);
+ result = (res == 0);
+ } else {
+ this.disposeEnvironment();
+ result=true;
+ log.println("XCancellable isn't supported and the "+
+ "environment is killed hard");
+ }
+
+
+ }
+ tRes.tested("execute()",result);
+ }
+
+ /**
+ * Calls <code>execute()</code> method in a separate thread.
+ * Necessary to check if this method works
+ */
+ protected class ExecThread extends Thread {
+
+ public short execRes = (short) 17;
+ private final XExecutableDialog Diag;
+
+ public ExecThread(XExecutableDialog Diag) {
+ this.Diag = Diag ;
+ }
+
+ @Override
+ public void run() {
+ try {
+ execRes = Diag.execute();
+ System.out.println("HERE: "+execRes);
+ } catch(Exception e) {
+ log.println("Thread has been interrupted ... ");
+ }
+ }
+ }
+
+ @Override
+ public void after() {
+ if (eThread.isAlive()) {
+ log.println("Thread didn't die ... cleaning up");
+ disposeEnvironment();
+ }
+ }
+
+ private void closeDialog() {
+ XCancellable canc = UnoRuntime.queryInterface(
+ XCancellable.class, tEnv.getTestObject());
+ if (canc != null) {
+ log.println("Cancelling Dialog");
+ canc.cancel();
+ } else {
+ this.disposeEnvironment();
+ }
+
+ long st = System.currentTimeMillis();
+ boolean toLong = false;
+
+ log.println("waiting for dialog to close");
+
+ while (eThread.isAlive() && !toLong) {
+ //wait for dialog to close
+ toLong = (System.currentTimeMillis()-st > 10000);
+ }
+
+ log.println("done");
+
+ try {
+ if (eThread.isAlive()) {
+ log.println("Interrupting Thread");
+ eThread.interrupt();
+ Thread.yield();
+ }
+ } catch (Exception e) {
+ // who cares ;-)
+ }
+
+ st = System.currentTimeMillis();
+ toLong = false;
+
+ log.println("waiting for interruption to work");
+
+ while (eThread.isAlive() && !toLong) {
+ //wait for dialog to close
+ toLong = (System.currentTimeMillis()-st > 10000);
+ }
+
+ log.println("DialogThread alive: "+eThread.isAlive());
+
+ log.println("done");
+
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePicker.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePicker.java
new file mode 100644
index 000000000..3a2a71ec9
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePicker.java
@@ -0,0 +1,151 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ui.dialogs.XFilePicker2;
+
+/**
+* Testing <code>com.sun.star.ui.XFilePicker</code>
+* interface methods :
+* <ul>
+* <li><code> setMultiSelectionMode()</code></li>
+* <li><code> setDefaultName()</code></li>
+* <li><code> setDisplayDirectory()</code></li>
+* <li><code> getDisplayDirectory()</code></li>
+* <li><code> getPath()</code></li>
+* </ul> <p>
+* The following predefined files needed to complete the test:
+* <ul>
+* <li> <code>'space-metal.jpg'</code> : just to exist. </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ui.XFolderPicker
+*/
+public class _XFilePicker extends MultiMethodTest {
+
+ public XFilePicker2 oObj = null;
+ private String dir = null ;
+ private static final String fname = "space-metal.jpg" ;
+
+ /**
+ * Sets the current directory to the test document directory. <p>
+ * Has <b>OK</b> status if no exceptions occurred.
+ */
+ public void _setDisplayDirectory() {
+ boolean result = true ;
+ dir = util.utils.getFullTestURL("") ;
+
+ log.println("Trying to set dir '" + dir + "'") ;
+ try {
+ oObj.setDisplayDirectory(dir) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Directory '" + dir + "' not found :" + e) ;
+ result = false ;
+ }
+
+ tRes.tested("setDisplayDirectory()", result) ;
+ }
+
+ /**
+ * Gets the current directory. <p>
+ * Has <b>OK</b> status if get value is equal to set value
+ * passed to <code>setDisplayDirectory</code> <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setDisplayDirectory </code> </li>
+ * </ul>
+ */
+ public void _getDisplayDirectory() {
+ requiredMethod("setDisplayDirectory()") ;
+
+ String gDir = oObj.getDisplayDirectory() ;
+
+ log.println("Get dir '" + gDir + "'") ;
+
+ tRes.tested("getDisplayDirectory()", dir.equals(gDir)) ;
+ }
+
+ /**
+ * Sets default name to file name existing in test document
+ * directory ('space-metal.jpg'). <p>
+ * Has <b>OK</b> status if no exceptions occurred.
+ */
+ public void _setDefaultName() {
+ boolean result = true ;
+
+ try {
+ oObj.setDefaultName(fname) ;
+ } catch (Exception e) {
+ log.println("Exception setting default name :" + e) ;
+ result = false ;
+ }
+
+ tRes.tested("setDefaultName()", result) ;
+ }
+
+ /**
+ * Just switch object to MultiSelectionMode. There is no ways
+ * to check this method (only interactively). <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _setMultiSelectionMode() {
+
+ oObj.setMultiSelectionMode(true) ;
+
+ tRes.tested("setMultiSelectionMode()", true) ;
+ }
+
+ /**
+ * Gets completed path from dialog. If <code>execute()</code>
+ * method was not called then zero length array is returned.
+ * So to check actual functionality of this method interactive
+ * testing is required. <p>
+ * Has <b>OK</b> status if zero length array returned (this
+ * occurs if <code>execute()</code>
+ * method was not called yet) or if array contains at least one
+ * element and it equals to <code>[Directory set] +
+ * [Default file name set]</code>. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setDisplayDirectory </code> </li>
+ * <li> <code> setDefaultName </code> </li>
+ * </ul>
+ */
+ public void _getFiles() {
+ requiredMethod("setDisplayDirectory()");
+ requiredMethod("setDefaultName()");
+
+ String[] files = oObj.getSelectedFiles();
+
+ if (files.length > 0) {
+ log.println("Path get : '" + files[0] + "'") ;
+
+ tRes.tested("getFiles()", (dir + fname).equals(files[0])) ;
+ } else {
+ log.println("No files were selected or execute() method was not called.") ;
+
+ tRes.tested("getFiles()", true);
+ }
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerControlAccess.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerControlAccess.java
new file mode 100644
index 000000000..d559716a0
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerControlAccess.java
@@ -0,0 +1,194 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui.dialogs;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.ValueChanger;
+import util.ValueComparer;
+
+import com.sun.star.ui.dialogs.XFilePickerControlAccess;
+
+/**
+* Testing <code>com.sun.star.ui.XFilePickerControlAccess</code>
+* interface methods :
+* <ul>
+* <li><code> setValue()</code></li>
+* <li><code> getValue()</code></li>
+* <li><code> setLabel()</code></li>
+* <li><code> getLabel()</code></li>
+* <li><code> getFocused()</code></li>
+* <li><code> enableControl()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XFilePickerControlAccess.ControlID'</code> (of type
+* <code>Short</code>) : control identifier in the extended
+* FilePicker dialog. </li>
+* <li> <code>'XFilePickerControlAccess.ControlValue'</code> (of type
+* <code>Object</code>) <b>optional</b> (but mostly desirable
+* since the control has empty initial value):
+* the value which can set for the control . </li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ui.XFilePickerControlAccess
+*/
+public class _XFilePickerControlAccess extends MultiMethodTest {
+
+ public XFilePickerControlAccess oObj = null;
+ private short cntlID = -1 ;
+ private Object oldVal = null ;
+ private String oldLab = null ;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ Short ID = (Short) tEnv.getObjRelation
+ ("XFilePickerControlAccess.ControlID") ;
+ if (ID == null) {
+ log.println("!!! Relation not found !!!") ;
+ throw new StatusException(Status.failed("Relation not found")) ;
+ }
+
+ cntlID = ID.shortValue() ;
+ }
+
+ /**
+ * Gets the value of the control and stores it. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getValue() {
+ boolean result = true ;
+
+ try {
+ oldVal = oObj.getValue(cntlID,(short)0);
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("getValue()", result) ;
+ }
+
+ /**
+ * Changes the value gotten by <code>getValue</code> method,
+ * or gets the value from relation if it exits.
+ * Sets this value and then check if it was properly set. <p>
+ * Has <b>OK</b> status if <code>getValue</code> method returns
+ * the same value which was set. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getValue </code> </li>
+ * </ul>
+ */
+ public void _setValue() {
+ requiredMethod("getValue()") ;
+ boolean result = true ;
+
+ Object newVal = tEnv.getObjRelation
+ ("XFilePickerControlAccess.ControlValue");
+ if (newVal == null) {
+ newVal = ValueChanger.changePValue(oldVal) ;
+ }
+
+ Object getVal = null ;
+
+ try {
+ oObj.setValue(cntlID, (short)0 , newVal) ;
+ getVal = oObj.getValue(cntlID,(short)0) ;
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ result &= ValueComparer.equalValue(newVal, getVal) ;
+
+ tRes.tested("setValue()", result) ;
+ }
+
+ /**
+ * Gets the label of the control and stores it. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _getLabel() {
+
+ try {
+ oldLab = oObj.getLabel(cntlID);
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ }
+
+ tRes.tested("getLabel()", oldLab != null) ;
+ }
+
+ /**
+ * Changes the label gotten by <code>getLabel</code> method,
+ * set this label and then check if it was properly set. <p>
+ * Has <b>OK</b> status if <code>getLabel</code> method returns
+ * the same value which was set. <p>
+ * The following method tests are to be completed successfully before:
+ * <ul>
+ * <li> <code> getLabel </code> </li>
+ * </ul>
+ */
+ public void _setLabel() {
+ requiredMethod("getLabel()") ;
+ boolean result = true ;
+
+ String newVal = oldLab + "_" ;
+ String getVal = null ;
+
+ try {
+ oObj.setLabel(cntlID, newVal) ;
+ getVal = oObj.getLabel(cntlID) ;
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ result &= newVal.equals(getVal) ;
+
+ tRes.tested("setLabel()", result) ;
+ }
+
+ /**
+ * Disables and then enables the control. Can be checked only
+ * interactively. <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _enableControl() {
+ boolean result = true ;
+
+ try {
+ oObj.enableControl(cntlID, false) ;
+ oObj.enableControl(cntlID, true) ;
+ } catch (Exception e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+
+ tRes.tested("enableControl()", result) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerNotifier.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerNotifier.java
new file mode 100644
index 000000000..54858bfcf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePickerNotifier.java
@@ -0,0 +1,270 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui.dialogs;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.ui.dialogs.FilePickerEvent;
+import com.sun.star.ui.dialogs.XExecutableDialog;
+import com.sun.star.ui.dialogs.XFilePicker;
+import com.sun.star.ui.dialogs.XFilePickerListener;
+import com.sun.star.ui.dialogs.XFilePickerNotifier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XCancellable;
+
+
+/**
+ * Testing <code>com.sun.star.ui.XFilePickerNotifier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addFilePickerListener()</code></li>
+ * <li><code> removeFilePickerListener()</code></li>
+ * </ul> <p>
+ * The object must implement <code>XFilePicker</code>
+ * interface to check if a listener was called. <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.ui.XFilePickerNotifier
+ */
+public class _XFilePickerNotifier extends MultiMethodTest {
+
+ public XFilePickerNotifier oObj = null;
+ private XFilePicker fps = null ;
+ private String dir1 = null,
+ dir2 = null ;
+ ExecThread eThread = null;
+
+
+ /**
+ * Listener implementation which sets a flag if some of its
+ * methods was called.
+ */
+ protected class TestListener implements XFilePickerListener {
+ public boolean called = false ;
+
+ public void dialogSizeChanged() {
+ called = true;
+ }
+
+ public void fileSelectionChanged(FilePickerEvent e) {
+ called = true;
+ }
+
+ public void directoryChanged(FilePickerEvent e) {
+ log.println("***** Directory Changed *****");
+ called = true;
+ }
+
+ public String helpRequested(FilePickerEvent e) {
+ called = true;
+ return "help";
+ }
+
+ public void controlStateChanged(FilePickerEvent e) {
+ called = true;
+ }
+
+ public void disposing(EventObject e) {}
+ }
+
+ TestListener listener = new TestListener() ;
+
+ /**
+ * Tries to query object for <code>XFilePicker</code> interface, and
+ * initializes two different URLs for changing file picker directory. <p>
+ * @throw StatusException If object doesn't support <code>XFilePicker</code>
+ * interface.
+ */
+ @Override
+ public void before() {
+ fps = UnoRuntime.queryInterface
+ (XFilePicker.class, oObj) ;
+
+ if (fps == null) {
+ log.println("The object doesn't implement XFilePicker") ;
+ throw new StatusException(Status.failed
+ ("The object doesn't implement XFilePicker"));
+ }
+
+ XExecutableDialog exD = UnoRuntime.queryInterface(
+ XExecutableDialog.class, tEnv.getTestObject());
+
+ dir1 = util.utils.getOfficeTemp(tParam.getMSF());
+ dir2 = util.utils.getFullTestURL("");
+ eThread = new ExecThread(exD);
+ }
+
+ /**
+ * Adds a listener, then tries to change display directory and
+ * checks if the listener was called. <p>
+ * Has <b>OK</b> status if a listener method was called.
+ */
+ public void _addFilePickerListener() {
+ oObj.addFilePickerListener(listener) ;
+
+ try {
+ log.println("***** Setting DisplayDirectory to " + dir1);
+ fps.setDisplayDirectory(dir1) ;
+ log.println("***** Getting: " + fps.getDisplayDirectory());
+ openDialog();
+ log.println("***** Setting DisplayDirectory to " + dir2);
+ fps.setDisplayDirectory(dir2) ;
+ log.println("***** Getting: " + fps.getDisplayDirectory());
+
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("!!! Exception changing dir !!!") ;
+ e.printStackTrace(log) ;
+ }
+
+ waitForEventIdle();
+
+ if (!listener.called) {
+ log.println("Listener wasn't called :-(");
+ }
+
+ closeDialog();
+
+ tRes.tested("addFilePickerListener()", listener.called) ;
+ }
+
+ /**
+ * Removes the listener and changes display directory. <p>
+ * Has <b>OK</b> status if the listener wasn't called. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addFilePickerListener </code> </li>
+ * </ul>
+ */
+ public void _removeFilePickerListener() {
+ requiredMethod("addFilePickerListener()") ;
+
+ oObj.removeFilePickerListener(listener) ;
+
+ listener.called = false ;
+
+ try {
+ fps.setDisplayDirectory(dir1) ;
+ openDialog();
+ fps.setDisplayDirectory(dir2) ;
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("!!! Exception changing dir !!!") ;
+ e.printStackTrace(log) ;
+ }
+
+ waitForEventIdle();
+
+ closeDialog();
+
+ tRes.tested("removeFilePickerListener()", !listener.called) ;
+ }
+
+ /**
+ * Calls <code>execute()</code> method in a separate thread.
+ * Necessary to check if this method works
+ */
+ protected class ExecThread extends Thread {
+
+ public short execRes = (short) 17 ;
+ private final XExecutableDialog Diag;
+
+ public ExecThread(XExecutableDialog Diag) {
+ this.Diag = Diag ;
+ }
+
+ @Override
+ public void run() {
+ try {
+ execRes = Diag.execute();
+ System.out.println("HERE: "+execRes);
+ } catch (Exception e) {
+ log.println("Thread has been interrupted ...");
+ }
+ }
+ }
+
+ private void closeDialog() {
+ XCancellable canc = UnoRuntime.queryInterface(
+ XCancellable.class, tEnv.getTestObject());
+ if (canc != null) {
+ log.println("Cancelling Dialog");
+ canc.cancel();
+ } else {
+ this.disposeEnvironment();
+ }
+
+ long st = System.currentTimeMillis();
+ boolean toLong = false;
+
+ log.println("waiting for dialog to close");
+
+ while (eThread.isAlive() && !toLong) {
+ //wait for dialog to close
+ toLong = (System.currentTimeMillis()-st > 10000);
+ }
+
+ log.println("done");
+
+ try {
+ if (eThread.isAlive()) {
+ log.println("Interrupting Thread");
+ eThread.interrupt();
+ Thread.yield();
+ }
+ } catch (Exception e) {
+ // who cares ;-)
+ }
+
+ st = System.currentTimeMillis();
+ toLong = false;
+
+ log.println("waiting for interruption to work");
+
+ while (eThread.isAlive() && !toLong) {
+ //wait for dialog to close
+ toLong = (System.currentTimeMillis()-st > 10000);
+ }
+
+ log.println("DialogThread alive: "+eThread.isAlive());
+
+ log.println("done");
+
+ }
+
+ private void openDialog() {
+ log.println("Starting Dialog");
+ if (eThread.isAlive()) {
+ log.println("second interrupt");
+ eThread.interrupt();
+ Thread.yield();
+ }
+
+ XExecutableDialog exD = UnoRuntime.queryInterface(
+ XExecutableDialog.class, tEnv.getTestObject());
+
+ dir1 = util.utils.getOfficeTemp(tParam.getMSF());
+ dir2 = util.utils.getFullTestURL("");
+ eThread = new ExecThread(exD);
+
+ eThread.start();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePreview.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePreview.java
new file mode 100644
index 000000000..9ba9c7825
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilePreview.java
@@ -0,0 +1,113 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui.dialogs;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.ui.dialogs.XFilePreview;
+
+public class _XFilePreview extends MultiMethodTest {
+
+ public XFilePreview oObj=null;
+
+ /**
+ * _getSupportedImageFormats() gets all formats and
+ * stores them in an Array of short.<br>
+ * Is OK is the resulting Array isn't empty
+ */
+ public void _getSupportedImageFormats() {
+ short[] formats = oObj.getSupportedImageFormats();
+ tRes.tested("getSupportedImageFormats()", formats.length > 0);
+ }
+
+ /**
+ * _getTargetColorDepth() gets the color depth
+ * and stores it in an int.<br>
+ * Is OK is the resulting int isn't 1
+ */
+ public void _getTargetColorDepth() {
+ int CDepth = oObj.getTargetColorDepth();
+ tRes.tested("getTargetColorDepth()",CDepth != 1);
+ }
+
+ /**
+ * _getAvailableWidth() gets the width
+ * and stores it in an int.<br>
+ * Is OK is the resulting int isn't 1
+ */
+ public void _getAvailableWidth() {
+ int the_width = oObj.getAvailableWidth();
+ tRes.tested("getAvailableWidth()", the_width != 1);
+ }
+
+ /**
+ * _getAvailableHeight() gets the width
+ * and stores it in an int.<br>
+ * Is OK is the resulting int isn't 1
+ */
+ public void _getAvailableHeight() {
+ int the_height = oObj.getAvailableHeight();
+ tRes.tested("getAvailableHeight()", the_height != 1);
+ }
+
+ /**
+ * sets the empty image.
+ * Is OK if no exception no exceptions were thrown.
+ */
+ public void _setImage() {
+ boolean bOK = true;
+ try {
+ oObj.setImage
+ (com.sun.star.ui.dialogs.FilePreviewImageFormats.BITMAP,null);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ bOK = false;
+ throw new StatusException( "Can't set empty image", e );
+ }
+ tRes.tested("setImage()", bOK);
+ }
+
+ boolean prev_state;
+
+ /**
+ * _setShowState() sets the state
+ * to the opposite value returned by getShowState.<br>
+ * Is OK is the returned result is false or if
+ * the value that was set is equal to the value
+ * that was returned by getShowState.
+ */
+ public void _setShowState() {
+ requiredMethod("getShowState()");
+ boolean success = oObj.setShowState(!prev_state);
+ boolean res_state = oObj.getShowState();
+ tRes.tested("setShowState()", !success || res_state != prev_state);
+ }
+
+ /**
+ * _getShowState() gets the state
+ * and sets it to the opposite.<br>
+ * Is OK if no exceptions were thrown
+ */
+ public void _getShowState() {
+ prev_state = oObj.getShowState();
+ tRes.tested("getShowState()", true);
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterGroupManager.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterGroupManager.java
new file mode 100644
index 000000000..cd47c96c3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterGroupManager.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.StringPair;
+import com.sun.star.ui.dialogs.XFilterGroupManager;
+
+/**
+* Testing <code>com.sun.star.ui.dialogs.XFilterGroupManager</code>
+* @see com.sun.star.ui.XFilterGroupManager
+*/
+public class _XFilterGroupManager extends MultiMethodTest {
+
+ public XFilterGroupManager oObj = null;
+
+ /**
+ * Appends a new FilterGroup (for extension 'txt'). <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _appendFilterGroup() {
+ boolean res = true;
+ try {
+ StringPair[] args = new StringPair[1];
+ args[0] = new StringPair();
+ args[0].First = "ApiTextFiles";
+ args[0].Second = "txt";
+ oObj.appendFilterGroup("TestFilter", args);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ res=false;
+ }
+
+ tRes.tested("appendFilterGroup()", res) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterManager.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterManager.java
new file mode 100644
index 000000000..d9eb5a5b1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFilterManager.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ui.dialogs.XFilterManager;
+
+/**
+* Testing <code>com.sun.star.ui.XFilterManager</code>
+* interface methods :
+* <ul>
+* <li><code> appendFilter()</code></li>
+* <li><code> setCurrentFilter()</code></li>
+* <li><code> getCurrentFilter()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ui.XFilterManager
+*/
+public class _XFilterManager extends MultiMethodTest {
+
+ public XFilterManager oObj = null;
+
+ /**
+ * Appends a new filter (for extension 'txt'). <p>
+ * Has <b>OK</b> status if no runtime exceptions occurred.
+ */
+ public void _appendFilter() {
+ boolean res = true;
+ try {
+ oObj.appendFilter("TestFilter", "txt");
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+ res=false;
+ }
+
+ tRes.tested("appendFilter()", res) ;
+ }
+
+ /**
+ * Sets the current filter to that which was appended before.<p>
+ * Has <b>OK</b> status if no exceptions occurred, else one of
+ * <code>appendFilter</code> and <code>setCurrentFilter</code>
+ * methods failed. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> appendFilter </code> </li>
+ * </ul>
+ */
+ public void _setCurrentFilter() {
+ requiredMethod("appendFilter()") ;
+ boolean result = true;
+
+ try {
+ oObj.setCurrentFilter("TestFilter") ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("setCurrentFilter() or appendFilter() failed") ;
+ result = false ;
+ }
+
+ tRes.tested("setCurrentFilter()", result) ;
+ }
+
+ /**
+ * Gets current filter name and compares it filter name set before.<p>
+ * Has <b>OK</b> status if set and get filter names are equal.<p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setCurrentFilter </code> </li>
+ * </ul>
+ */
+ public void _getCurrentFilter() {
+ requiredMethod("setCurrentFilter()") ;
+
+ String gVal = oObj.getCurrentFilter() ;
+
+ tRes.tested("getCurrentFilter()", "TestFilter".equals(gVal)) ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/ui/dialogs/_XFolderPicker.java b/qadevOOo/tests/java/ifc/ui/dialogs/_XFolderPicker.java
new file mode 100644
index 000000000..07c6e014f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/ui/dialogs/_XFolderPicker.java
@@ -0,0 +1,105 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.ui.dialogs;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.ui.dialogs.XFolderPicker;
+
+/**
+* Testing <code>com.sun.star.ui.XFolderPicker</code>
+* interface methods :
+* <ul>
+* <li><code> setDisplayDirectory()</code></li>
+* <li><code> getDisplayDirectory()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.ui.XFolderPicker
+*/
+public class _XFolderPicker extends MultiMethodTest {
+
+ public XFolderPicker oObj = null;
+ private String dir = null ;
+
+ /**
+ * Sets the current directory to SOffice temp dir. <p>
+ * Has <b>OK</b> status if no exceptions occurred.
+ */
+ public void _setDisplayDirectory() {
+ boolean result = true ;
+ dir = util.utils.getOfficeTemp(tParam.getMSF()) ;
+
+ log.println("Trying to set dir '" + dir + "'") ;
+ try {
+ oObj.setDisplayDirectory(dir) ;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Directory '" + dir + "' not found :" + e) ;
+ result = false ;
+ }
+
+ tRes.tested("setDisplayDirectory()", result) ;
+ }
+
+ /**
+ * Gets the current directory. <p>
+ * Has <b>OK</b> status if get value is equal to set value
+ * passed to <code>setDisplayDirectory</code> <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setDisplayDirectory </code> </li>
+ * </ul>
+ */
+ public void _getDisplayDirectory() {
+ requiredMethod("setDisplayDirectory()") ;
+
+ String gDir = oObj.getDisplayDirectory() ;
+
+ log.println("Get dir '" + gDir + "'") ;
+
+ tRes.tested("getDisplayDirectory()", dir.equals(gDir)) ;
+ }
+
+ /**
+ * Gets the directory chosen by the user. <p>
+ * Has <b>OK</b> status if get value is not NULL <p>
+ */
+ public void _getDirectory() {
+
+ String gDir = oObj.getDirectory() ;
+
+ log.println("Get dir '" + gDir + "'") ;
+
+ tRes.tested("getDirectory()", gDir != null) ;
+ }
+
+ /**
+ * Sets the Description for the dialog. <p>
+ * Has <b>OK</b> status if no error occurs <p>
+ */
+ public void _setDescription() {
+
+ oObj.setDescription("XFolderPicker") ;
+ //to visually check if the method works
+ //oObj.execute();
+ tRes.tested("setDescription()", true) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/uno/_XComponentContext.java b/qadevOOo/tests/java/ifc/uno/_XComponentContext.java
new file mode 100644
index 000000000..a776f7e21
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/uno/_XComponentContext.java
@@ -0,0 +1,72 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.uno;
+
+import lib.MultiMethodTest;
+import util.ValueComparer;
+
+import com.sun.star.lang.XMultiComponentFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+
+
+public class _XComponentContext extends MultiMethodTest {
+ public XComponentContext oObj;
+ protected XMultiComponentFactory byValue = null;
+ protected XMultiComponentFactory directly = null;
+
+ public void _getServiceManager() {
+ log.println("getting manager");
+
+ directly = oObj.getServiceManager();
+ String[] names = directly.getAvailableServiceNames();
+ boolean res = true;
+
+ for (int i = 0; i < names.length; i++) {
+ try {
+ if (names[i].equals("com.sun.star.i18n.ConversionDictionary_ko")) continue;
+ if (names[i].equals("com.sun.star.i18n.TextConversion_ko")) continue;
+ log.println("try to instantiate found servicename " +
+ names[i]);
+ directly.createInstanceWithContext(names[i], oObj);
+ log.println("worked... ok");
+ res &= true;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception occurred " + e.getMessage());
+ res &= false;
+ }
+ }
+
+ tRes.tested("getServiceManager()", res);
+ }
+
+ public void _getValueByName() {
+ requiredMethod("getServiceManager()");
+
+ Object value = oObj.getValueByName(
+ "/singletons/com.sun.star.lang.theServiceManager");
+ byValue = UnoRuntime.queryInterface(
+ XMultiComponentFactory.class, value);
+
+ byValue.getAvailableServiceNames();
+ directly.getAvailableServiceNames();
+
+ boolean res = ValueComparer.equalValue(byValue, directly);
+ tRes.tested("getValueByName()", res);
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/uno/_XNamingService.java b/qadevOOo/tests/java/ifc/uno/_XNamingService.java
new file mode 100644
index 000000000..e2469d138
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/uno/_XNamingService.java
@@ -0,0 +1,147 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.uno;
+
+import lib.MultiMethodTest;
+import lib.StatusException;
+
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.XNamingService;
+
+
+/**
+* Testing <code>com.sun.star.uno.XNamingService</code>
+* interface methods. <p>
+* This test need the following object relations :
+* <ul>
+* <li> <code>'XNamingService.RegisterObject'</code> :
+* object to be registered.</li>
+* <ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* After test completion object environment has to be recreated.
+*/
+public class _XNamingService extends MultiMethodTest {
+
+ public static XNamingService oObj = null;
+
+ private XInterface regObject = null ;
+
+ /**
+ * Retrieves object relation.
+ * @throws StatusException If the relation not found.
+ */
+ @Override
+ public void before() {
+ regObject = (XInterface)
+ tEnv.getObjRelation("XNamingService.RegisterObject") ;
+ if (regObject == null)
+ throw new StatusException("Can't create object to register",
+ new NullPointerException()) ;
+ }
+
+ /**
+ * Test calls the method and checks that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ */
+ public void _registerObject() throws StatusException{
+ try {
+ oObj.registerObject("MyFactory", regObject) ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception while registering object :" + e) ;
+ tRes.tested("registerObject()", false) ;
+ return ;
+ }
+
+ tRes.tested("registerObject()", true) ;
+ }
+
+ /**
+ * Test calls the method and checks return value and that
+ * no exceptions were thrown. <p>
+ * Has <b> OK </b> status if the method returns the same object
+ * that was registered and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerObject </code> : to get in this test the
+ * object that was registered.</li>
+ * </ul>
+ */
+ public void _getRegisteredObject() {
+ requiredMethod("registerObject()") ;
+
+ try {
+ Object getObject = oObj.getRegisteredObject("MyFactory") ;
+
+ tRes.tested("getRegisteredObject()" ,
+ regObject.equals(getObject)) ;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception calling method :" + e) ;
+ tRes.tested("getRegisteredObject()", false) ;
+ return ;
+ }
+ }
+
+ /**
+ * Test calls the method and trying to get revoked object. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and if the method <code>getRegisteredObject</code> returns NULL or
+ * throws expected exception. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> registerObject </code> : to revoke the object registered</li>
+ * </ul>
+ * The following method tests are to be executed before :
+ * <ul>
+ * <li> <code> getRegisteredObject </code> : before object will be
+ * revoked </li>
+ * </ul>
+ */
+ public void _revokeObject() {
+ requiredMethod("registerObject()") ;
+ executeMethod("getRegisteredObject()") ;
+
+ try {
+ oObj.revokeObject("MyFactory");
+ log.println("Object was revoked");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Exception revoking object :" + e) ;
+ tRes.tested("revokeObject()", false) ;
+ }
+
+ boolean res = true;
+
+ try {
+ log.println("Trying to getRegistered object ...");
+ Object objregObj = oObj.getRegisteredObject("MyFactory");
+ log.println("No exception");
+ res &= objregObj == null;
+ if (res) {
+ log.println("But NULL was returned");
+ }
+ } catch(com.sun.star.uno.Exception e) {
+ log.println("Expected exception - OK");
+ }
+
+ tRes.tested("revokeObject()", res);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/util/_PathSettings.java b/qadevOOo/tests/java/ifc/util/_PathSettings.java
new file mode 100644
index 000000000..7d6e42f7f
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_PathSettings.java
@@ -0,0 +1,79 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiPropertyTest;
+import util.utils;
+
+/**
+ * Testing <code>com.sun.star.util.PathSettings</code>
+ * service properties :
+ * <ul>
+ * <li><code> Addin </code></li>
+ * <li><code> AutoCorrect </code></li>
+ * <li><code> AutoText </code></li>
+ * <li><code> Backup </code></li>
+ * <li><code> Basic </code></li>
+ * <li><code> Bitmap </code></li>
+ * <li><code> Config </code></li>
+ * <li><code> Dictionary </code></li>
+ * <li><code> Favorites </code></li>
+ * <li><code> Filter </code></li>
+ * <li><code> Gallery </code></li>
+ * <li><code> Graphic </code></li>
+ * <li><code> Help </code></li>
+ * <li><code> Linguistic </code></li>
+ * <li><code> Module </code></li>
+ * <li><code> Palette </code></li>
+ * <li><code> Plugin </code></li>
+ * <li><code> Storage </code></li>
+ * <li><code> Temp </code></li>
+ * <li><code> Template </code></li>
+ * <li><code> UIConfig </code></li>
+ * <li><code> UserConfig </code></li>
+ * <li><code> UserDictionary</code></li>
+ * <li><code> Work </code></li>
+ * </ul> <p>
+ *
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.util.PathSettings
+ */
+public class _PathSettings extends MultiPropertyTest {
+
+ /**
+ * This path list could be empty after SO installation.
+ * And the URL is validated to match the pattern 'file:///*'
+ * that's why the custom changing of this property required.
+ */
+ public void _UIConfig() {
+ testProperty("UIConfig", new PropertyTester() {
+ @Override
+ public Object getNewValue(String propName, Object oldVal) {
+ String path = (String) oldVal;
+ if (path == null) path = "";
+ if (path.length() > 0 && !path.endsWith(";")) {
+ path += ";";
+ }
+ path += utils.getOfficeTemp(tParam.getMSF());
+ return path;
+ }
+ });
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/util/_SearchDescriptor.java b/qadevOOo/tests/java/ifc/util/_SearchDescriptor.java
new file mode 100644
index 000000000..e9e883e1b
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_SearchDescriptor.java
@@ -0,0 +1,44 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiPropertyTest;
+
+/**
+ * Testing <code>com.sun.star.util.SearchDescriptor</code>
+ * service properties :
+ * <ul>
+ * <li><code> SearchBackwards</code></li>
+ * <li><code> SearchCaseSensitive</code></li>
+ * <li><code> SearchWords</code></li>
+ * <li><code> SearchRegularExpression</code></li>
+ * <li><code> SearchStyles</code></li>
+ * <li><code> SearchSimilarity</code></li>
+ * <li><code> SearchSimilarityRelax</code></li>
+ * <li><code> SearchSimilarityRemove</code></li>
+ * <li><code> SearchSimilarityAdd</code></li>
+ * <li><code> SearchSimilarityExchange</code></li>
+ * </ul> <p>
+ * Properties testing is automated by <code>lib.MultiPropertyTest</code>.
+ * @see com.sun.star.util.SearchDescriptor
+ */
+public class _SearchDescriptor extends MultiPropertyTest {
+
+} //finish class _SearchDescriptor
+
diff --git a/qadevOOo/tests/java/ifc/util/_XCancellable.java b/qadevOOo/tests/java/ifc/util/_XCancellable.java
new file mode 100644
index 000000000..85ab779df
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XCancellable.java
@@ -0,0 +1,57 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XCancellable;
+
+/**
+* Testing <code>com.sun.star.util.XCancellable</code>
+* interface methods :
+* <ul>
+* <li><code> cancel()</code></li>
+* </ul> <p>
+* @see com.sun.star.util.XCancellable
+*/
+public class _XCancellable extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XCancellable oObj = null ;
+
+ /**
+ * Just calls the method. <p>
+ * Has <b>OK</b> status if no exception has occurred. <p>
+ */
+ public void _cancel() {
+ oObj.cancel() ;
+
+ tRes.tested("cancel()", true) ;
+ }
+
+ /**
+ * Forces object recreation.
+ */
+ @Override
+ public void after() {
+ disposeEnvironment() ;
+ }
+
+} // finish class _XCancellable
+
diff --git a/qadevOOo/tests/java/ifc/util/_XChangesBatch.java b/qadevOOo/tests/java/ifc/util/_XChangesBatch.java
new file mode 100644
index 000000000..c0e87f3ad
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XChangesBatch.java
@@ -0,0 +1,164 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameReplace;
+import com.sun.star.util.ElementChange;
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XChangesBatch;
+import lib.Status;
+import lib.StatusException;
+
+public class _XChangesBatch extends MultiMethodTest {
+
+ public XChangesBatch oObj;
+ private Object changeElement = null;
+ private Object originalElement = null;
+ private String elementName = null;
+ private XPropertySet xProp = null;
+ private XNameReplace xNameReplace = null;
+
+ /**
+ * add a change that can be committed
+ */
+ @Override
+ protected void before() {
+ changeElement = tEnv.getObjRelation("XChangesBatch.ChangeElement");
+ originalElement = tEnv.getObjRelation("XChangesBatch.OriginalElement");
+ elementName = (String)tEnv.getObjRelation("XChangesBatch.PropertyName");
+
+ // to do a change, get an XPropertySet
+ xProp = (XPropertySet)tEnv.getObjRelation("XChangesBatch.PropertySet");
+ try {
+ if (originalElement == null && xProp != null)
+ originalElement = xProp.getPropertyValue(elementName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not get property '" + elementName + "'.", e);
+ }
+
+ // or get an XNameReplace
+ xNameReplace = (XNameReplace)tEnv.getObjRelation("XChangesBatch.NameReplace");
+ try {
+ if (originalElement == null && xNameReplace != null)
+ originalElement = xNameReplace.getByName(elementName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not get element by name '" + elementName + "'.", e);
+ }
+
+ if (changeElement == null || originalElement == null || elementName == null || (xProp == null && xNameReplace == null)) {
+ log.println(
+ (changeElement == null?"Missing property 'XChangesBatch.ChangeElement'\n":"") +
+ (originalElement == null?"Missing property 'XChangesBatch.OriginalElement'\n":"") +
+ (elementName == null?"Missing property 'XChangesBatch.PropertyName'\n":"") +
+ (xProp == null?"Missing property 'XChangesBatch.PropertySet'":"") +
+ (xNameReplace == null?"Missing property 'XChangesBatch.NameReplace'":"")
+ );
+ throw new StatusException("Some needed object relations are missing.", new Exception());
+ }
+ }
+
+ public void _commitChanges() {
+ requiredMethod("getPendingChanges()");
+ try {
+ log.println("Committing changes.");
+ oObj.commitChanges();
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ tRes.tested("commitChanges()", Status.exception(e));
+ return;
+ }
+ try {
+ executeChange(originalElement);
+ }
+ catch(StatusException e) {
+ tRes.tested("hasPendingChanges()", Status.exception(e));
+ return;
+ }
+
+ try {
+ log.println("Commit changes back.");
+ oObj.commitChanges();
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ tRes.tested("commitChanges()", Status.exception(e));
+ return;
+ }
+ tRes.tested("commitChanges()", true);
+ }
+
+ public void _getPendingChanges() {
+ requiredMethod("hasPendingChanges()");
+ ElementChange[]changes = oObj.getPendingChanges();
+ if (changes == null) {
+ log.println("Returned changes was 'null'");
+ log.println("It should have been 1 change.");
+ tRes.tested("getPendingChanges()", false);
+ } else if (changes.length != 1) {
+ int amount = changes.length;
+ log.println("Found not the right number of changes: " + amount);
+ log.println("It should have been 1 change.");
+ for (int i=0; i<amount; i++) {
+ System.out.println("Detailed Change " + i + " -> new Element: '" +
+ changes[i].Element.toString() + "' ReplacedElement: '" +
+ changes[i].ReplacedElement.toString() + "'");
+ }
+ tRes.tested("getPendingChanges()", false);
+ }
+ else {
+ boolean result = changes[0].ReplacedElement.equals(originalElement);
+ result &= changes[0].Element.equals(changeElement);
+ tRes.tested("getPendingChanges()", result);
+ }
+ }
+
+ public void _hasPendingChanges() {
+ try {
+ executeChange(changeElement);
+ }
+ catch(StatusException e) {
+ tRes.tested("hasPendingChanges()", Status.exception(e));
+ return;
+ }
+ boolean hasPendingChanges = oObj.hasPendingChanges();
+ tRes.tested("hasPendingChanges()", hasPendingChanges);
+ }
+
+ private void executeChange(Object element) throws StatusException {
+ if (xProp != null) {
+ try {
+ xProp.setPropertyValue(elementName, element);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not set property '" + elementName + "'.", e);
+ }
+ }
+ else if (xNameReplace != null) {
+ try {
+ xNameReplace.replaceByName(elementName, element);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not replace '" + elementName + "' by name.", e);
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/ifc/util/_XChangesNotifier.java b/qadevOOo/tests/java/ifc/util/_XChangesNotifier.java
new file mode 100644
index 000000000..73592df4e
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XChangesNotifier.java
@@ -0,0 +1,213 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameReplace;
+import com.sun.star.util.XChangesBatch;
+import com.sun.star.util.XChangesListener;
+import com.sun.star.util.XChangesNotifier;
+import lib.StatusException;
+import lib.MultiMethodTest;
+
+/**
+ * Test the XChangesNotifier interface. To produce some changes,
+ * XChangesBatch is used.
+ * @see com.sun.star.util.XChangesNotifier
+ * @see com.sun.star.util.XChangesBatch
+ */
+public class _XChangesNotifier extends MultiMethodTest {
+
+ public XChangesNotifier oObj = null;
+ private XChangesBatch xBatch = null;
+ private Object changeElement = null;
+ private Object originalElement = null;
+ private String elementName = null;
+ private XPropertySet xProp = null;
+ private XNameReplace xNameReplace = null;
+ private _XChangesNotifier.MyChangesListener xListener = null;
+
+ /**
+ * Own implementation of the XChangesListener interface
+ * @see com.sun.star.util.XChangesListener
+ */
+ private static class MyChangesListener implements XChangesListener {
+ /** Just lo a call of the listener **/
+ boolean bChangesOccurred = false;
+
+ /** A change did occur
+ * @param changesEvent The event.
+ **/
+ public void changesOccurred(com.sun.star.util.ChangesEvent changesEvent) {
+ bChangesOccurred = true;
+ }
+
+ /** Disposing of the listener
+ * @param eventObject The event.
+ **/
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ bChangesOccurred = true;
+ }
+
+ /**
+ * Reset the listener
+ */
+ public void reset() {
+ bChangesOccurred = false;
+ }
+
+ /**
+ * Has the listener been called?
+ * @return True, if the listener has been called.
+ */
+ public boolean didChangesOccur() {
+ return bChangesOccurred;
+ }
+ }
+
+ /**
+ * Before the test: get the 'XChangesNotifier.ChangesBatch' object relation
+ * and create the listener.
+ */
+ @Override
+ protected void before() {
+ xBatch = (XChangesBatch)tEnv.getObjRelation("XChangesNotifier.ChangesBatch");
+ changeElement = tEnv.getObjRelation("XChangesNotifier.ChangeElement");
+ originalElement = tEnv.getObjRelation("XChangesNotifier.OriginalElement");
+ elementName = (String)tEnv.getObjRelation("XChangesNotifier.PropertyName");
+
+ xProp = (XPropertySet)tEnv.getObjRelation("XChangesNotifier.PropertySet");
+ try {
+ if (originalElement == null && xProp != null)
+ originalElement = xProp.getPropertyValue(elementName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not get property '" + elementName + "'.", e);
+ }
+
+ // or get an XNameReplace
+ xNameReplace = (XNameReplace)tEnv.getObjRelation("XChangesNotifier.NameReplace");
+ try {
+ if (originalElement == null && xNameReplace != null)
+ originalElement = xNameReplace.getByName(elementName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Could not get element by name '" + elementName + "'.", e);
+ }
+
+ if (changeElement == null || originalElement == null || elementName == null || (xProp == null && xNameReplace == null) || xBatch == null) {
+ log.println(
+ (changeElement == null?"Missing property 'XChangesNotifier.ChangeElement'\n":"") +
+ (originalElement == null?"Missing property 'XChangesNotifier.OriginalElement'\n":"") +
+ (elementName == null?"Missing property 'XChangesNotifier.PropertyName'\n":"") +
+ (xProp == null?"Missing property 'XChangesNotifier.PropertySet'":"") +
+ (xNameReplace == null?"Missing property 'XChangesNotifier.NameReplace'":"") +
+ (xBatch == null?"Missing property 'XChangesNotifier.ChangesBatch'":"")
+ );
+ throw new StatusException("Some needed object relations are missing.", new Exception());
+ }
+
+ xListener = new _XChangesNotifier.MyChangesListener();
+ }
+
+ /** test addChangesListener **/
+ public void _addChangesListener() {
+ oObj.addChangesListener(xListener);
+ tRes.tested("addChangesListener()", true);
+ }
+
+ /** test removeChangesListener **/
+ public void _removeChangesListener() {
+ requiredMethod("addChangesListener()");
+ boolean result = true;
+ result &= commitChanges();
+ result &= xListener.didChangesOccur();
+ if (!result)
+ log.println("Listener has not been called.");
+ oObj.removeChangesListener(xListener);
+ xListener.reset();
+ result &= redoChanges();
+ boolean result2 = xListener.didChangesOccur();
+ if (result2)
+ log.println("Removed listener has been called.");
+
+ tRes.tested("removeChangesListener()", result && !result2);
+ }
+
+ /**
+ * Commit a change, using an implementation of the XChangesBatch interface.
+ * @return true, if changing worked.
+ */
+ private boolean commitChanges() {
+ if (!executeChange(changeElement)) return false;
+ if (!xBatch.hasPendingChanges()) return false;
+ try {
+ xBatch.commitChanges();
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Redo the change, using an implementation of the XChangesBatch interface.
+ * @return true, if changing worked.
+ */
+ private boolean redoChanges() {
+ if (!executeChange(originalElement)) return false;
+ if (!xBatch.hasPendingChanges()) return false;
+ try {
+ xBatch.commitChanges();
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Execute the change, use XPropertySet or XNameReplace
+ * @return False, if changing did throw an exception.
+ */
+ private boolean executeChange(Object element) throws StatusException {
+ if (xProp != null) {
+ try {
+ xProp.setPropertyValue(elementName, element);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ return false;
+ }
+ }
+ else if (xNameReplace != null) {
+ try {
+ xNameReplace.replaceByName(elementName, element);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ return false;
+ }
+ }
+ return true;
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/util/_XCloneable.java b/qadevOOo/tests/java/ifc/util/_XCloneable.java
new file mode 100644
index 000000000..62de17b01
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XCloneable.java
@@ -0,0 +1,102 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import java.util.Arrays;
+
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloneable;
+
+/**
+* Testing <code>com.sun.star.util.XCloneable</code>
+* interface methods :
+* <ul>
+* <li><code> createClone()</code></li>
+* </ul> <p>
+* @see com.sun.star.util.XCloneable
+*/
+public class _XCloneable extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XCloneable oObj = null ;
+ protected XCloneable clone = null;
+
+ /**
+ * calls the method. <p>
+ * Has <b>OK</b> status if no exception has occurred. <p>
+ */
+ public void _createClone() {
+ boolean result = true;
+ clone = oObj.createClone();
+
+ //check if the implementationname equals
+ result &= checkImplementationName(oObj,clone);
+
+ //check ImplementationID
+ result &= checkImplementationID(oObj, clone);
+
+ tRes.tested("createClone()", result) ;
+ }
+
+ protected byte[] getImplementationID(XInterface ifc) {
+ byte[] res = new byte[0];
+ XTypeProvider provider = UnoRuntime.queryInterface(XTypeProvider.class, ifc);
+ if (provider != null) {
+ res = provider.getImplementationId();
+ }
+ return res;
+ }
+
+ protected boolean checkImplementationID(XInterface org, XInterface clone) {
+ boolean res = Arrays.equals(getImplementationID(org), getImplementationID(clone));
+ if (res && getImplementationID(org).length > 0) {
+ log.println("ImplementationID equals the clone has the same id as the original Object");
+ log.println("------------------------------------------------------------------------");
+ }
+ return res;
+ }
+
+ protected String getImplementationName(XInterface ifc) {
+ String res = "";
+ XServiceInfo info = UnoRuntime.queryInterface(XServiceInfo.class, ifc);
+ if (info != null) {
+ res = info.getImplementationName();
+ }
+ return res;
+ }
+
+ protected boolean checkImplementationName(XInterface org, XInterface clone) {
+ boolean res = getImplementationName(org).equals(
+ getImplementationName(clone));
+ if (!res) {
+ log.println("ImplementationName differs: ");
+ log.println("Expected: "+getImplementationName(org));
+ log.println("Gained: "+getImplementationName(clone));
+ log.println("----------------------------------------");
+ }
+ return res;
+ }
+
+} // finish class _XCloneable
+
diff --git a/qadevOOo/tests/java/ifc/util/_XFlushable.java b/qadevOOo/tests/java/ifc/util/_XFlushable.java
new file mode 100644
index 000000000..d8a56bd8d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XFlushable.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XFlushListener;
+import com.sun.star.util.XFlushable;
+
+/**
+ * Testing <code>com.sun.star.util.XFlushable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> flush()</code></li>
+ * <li><code> addFlushListener()</code></li>
+ * <li><code> removeFlushListener()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.util.XFlushable
+ */
+public class _XFlushable extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XFlushable oObj = null ;
+
+ /**
+ * Simple <code>XFlushListener</code> implementation which
+ * just registers if any calls to its methods were made.
+ */
+ private static class MyFlushListener implements XFlushListener{
+ boolean called = false ;
+ public void flushed(com.sun.star.lang.EventObject e) {
+ called = true ;
+ }
+ public void disposing(com.sun.star.lang.EventObject e) {}
+ public boolean wasFlushed() { return called; }
+ }
+
+ private final MyFlushListener listener1 = new MyFlushListener(),
+ listener2 = new MyFlushListener() ;
+
+ /**
+ * Test call method <code>flush</code> and checks if added listener
+ * was called and removed one wasn't. <p>
+ * Has OK status if no exception has occurred. <p>
+ * Methods to be executed before :
+ * {@link #_addFlushListener},
+ * {@link #_removeFlushListener}
+ */
+ public void _flush() {
+ executeMethod("addFlushListener()") ;
+ executeMethod("removeFlushListener()") ;
+
+ oObj.flush() ;
+
+ tRes.tested("flush()", true) ;
+ tRes.tested("addFlushListener()", listener2.wasFlushed()) ;
+ tRes.tested("removeFlushListener()", !listener1.wasFlushed()) ;
+ }
+
+ /**
+ * Test adds two listeners, one of which will be removed then.<p>
+ * Has OK status if the listener was called on <code>flush()</code>
+ * method call.
+ */
+ public void _addFlushListener() {
+ oObj.addFlushListener(listener1) ;
+ oObj.addFlushListener(listener2) ;
+ }
+
+ /**
+ * Test removes one of two listeners added before. <p>
+ * Has OK status if the listener removed wasn't called on
+ * <code>flush()</code> method call.
+ * Methods to be executed before :
+ * {@link #_addFlushListener},
+ */
+ public void _removeFlushListener() {
+ executeMethod("addFlushListener()") ;
+
+ oObj.removeFlushListener(listener1) ;
+ }
+
+} // finish class _XFlushable
+
diff --git a/qadevOOo/tests/java/ifc/util/_XImportable.java b/qadevOOo/tests/java/ifc/util/_XImportable.java
new file mode 100644
index 000000000..6a36526db
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XImportable.java
@@ -0,0 +1,192 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XImportable;
+
+
+/**
+ * checks the Interface XImportable
+ */
+public class _XImportable extends MultiMethodTest {
+ public XImportable oObj;
+ protected PropertyValue[] descriptor = null;
+ protected String[] names = new String[] {
+ "DatabaseName", "SourceType", "SourceObject", "IsNative"
+ };
+ protected Type[] types = new Type[] {
+ new Type(String.class), new Type(com.sun.star.sheet.DataImportMode.class),
+ new Type(String.class), new Type(Boolean.class)
+ };
+
+ /**
+ * creates an ImportDescriptor, the gained PropertyValues can be found
+ * in com.sun.star.sheet.DatabaseImportDescriptor.<br>
+ * Returns OK state is all propertynames and types are the specified.
+ */
+
+ public void _createImportDescriptor() {
+ boolean res = true;
+ boolean locResult = false;
+
+ descriptor = oObj.createImportDescriptor(true);
+ log.print("Getting when calling createImportDescriptor(true) --");
+
+
+ log.println("done");
+
+ log.print("Checking PropertyNames -- ");
+ locResult = checkPropertyNames(descriptor, names);
+ log.println("Worked: " + locResult);
+ res &= locResult;
+
+ log.print("Checking PropertyTypes -- ");
+ locResult = checkPropertyTypes(descriptor, types);
+ log.println("Worked: " + locResult);
+ res &= locResult;
+
+ descriptor = oObj.createImportDescriptor(false);
+ log.print("Getting when calling createImportDescriptor(false) -- ");
+
+
+ log.println("done");
+
+ log.print("Checking PropertyNames -- ");
+ locResult = checkPropertyNames(descriptor, names);
+ log.println("Worked: " + locResult);
+ res &= locResult;
+
+ log.print("Checking PropertyTypes -- ");
+ locResult = checkPropertyTypes(descriptor, types);
+ log.println("Worked - " + locResult);
+ res &= locResult;
+
+ tRes.tested("createImportDescriptor()", res);
+ }
+
+ public void _doImport() {
+ requiredMethod("createImportDescriptor()");
+ boolean res = true;
+
+ log.print("Setting the ImportDescriptor (Bibliograpy, Table, biblio) -- ");
+ descriptor[0].Value = "Bibliography";
+ descriptor[1].Value = com.sun.star.sheet.DataImportMode.TABLE;
+ descriptor[2].Value = "biblio";
+ log.println("done");
+
+ log.print("Importing data (Bibliograpy, Table, biblio) -- ");
+ oObj.doImport(descriptor);
+ log.println("done");
+
+ log.println("Checking data");
+ res &= checkA1("Identifier");
+
+ log.print("Setting the ImportDescriptor (Bibliograpy, SQL, select Author from biblio) -- ");
+ descriptor[0].Value = "Bibliography";
+ descriptor[1].Value = com.sun.star.sheet.DataImportMode.SQL;
+ descriptor[2].Value = "select Author from biblio";
+ log.println("done");
+
+ log.print("Importing data (Bibliograpy, SQL, select Author from biblio) -- ");
+ oObj.doImport(descriptor);
+ log.println("done");
+
+ log.println("Checking data");
+ res &= checkA1("Author");
+
+ tRes.tested("doImport()",res);
+ }
+
+ protected void printPropertyValue(PropertyValue[] props) {
+ for (int i = 0; i < props.length; i++) {
+ log.println("\tName: " + props[i].Name);
+ log.println("\tValue: " + props[i].Value);
+ }
+ }
+
+ protected boolean checkPropertyNames(PropertyValue[] props, String[] names) {
+ boolean res = true;
+
+ for (int i = 0; i < props.length; i++) {
+ boolean locResult = props[i].Name.equals(names[i]);
+
+ if (!locResult) {
+ log.println("PropertyName differs for index " + i);
+ log.println("\tGetting: " + props[i].Name);
+ log.println("\tExpected: " + names[i]);
+ }
+
+ res &= locResult;
+ }
+
+ return res;
+ }
+
+ protected boolean checkPropertyTypes(PropertyValue[] props, Type[] types) {
+ boolean res = true;
+
+ for (int i = 0; i < props.length; i++) {
+ Type ValueType = new Type(props[i].Value.getClass());
+ boolean locResult = ValueType.equals(types[i]);
+
+ if (!locResult) {
+ log.println("PropertyType differs for " + props[i].Name);
+ log.println("\tGetting: " + ValueType.getTypeName());
+ log.println("\tExpected: " + types[i].getTypeName());
+ }
+
+ res &= locResult;
+ }
+
+ return res;
+ }
+
+ protected boolean checkA1(String expected) {
+ XCellRange range = UnoRuntime.queryInterface(XCellRange.class, tEnv.getTestObject());
+ boolean res = false;
+ try{
+ String a1 = range.getCellByPosition(0,0).getFormula();
+ res = a1.equals(expected);
+ if (!res) {
+ log.println("\tResult differs from expectation");
+ log.println("\tGetting: "+a1);
+ log.println("\tExpected: "+expected);
+ } else {
+ log.println("successful");
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get Cell to check");
+ }
+ return res;
+ }
+
+ /**
+ * Dispose environment.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/util/_XModeSelector.java b/qadevOOo/tests/java/ifc/util/_XModeSelector.java
new file mode 100644
index 000000000..d787eea42
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XModeSelector.java
@@ -0,0 +1,95 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XModeSelector;
+
+/**
+* Testing <code>com.sun.star.util.XModeSelector</code>
+* interface methods :
+* <ul>
+* <li><code>setMode()</code></li>
+* <li><code>getMode()</code></li>
+* <li><code>getSupportedModes()</code></li>
+* <li><code>supportsMode()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.util.XModeSelector
+*/
+public class _XModeSelector extends MultiMethodTest {
+ public XModeSelector oObj = null;
+
+ String[] supportedModes;
+ /**
+ * Calls the method and as argument pass one of the supported modes
+ * that was returned by method getSupportedMode.<p>
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _setMode() {
+ requiredMethod("getSupportedModes()");
+ try {
+ oObj.setMode(supportedModes[0]);
+ } catch(com.sun.star.lang.NoSupportException e) {
+ log.println("Method setMode() doesn't support mode '"
+ + supportedModes[0] + "'");
+ tRes.tested("setMode()", false);
+ return ;
+ }
+ tRes.tested("setMode()", true);
+ }
+
+ /**
+ * Calls the method and check returned value.<p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * and returned value is equal to value that was set by method setMode.
+ */
+ public void _getMode() {
+ requiredMethod("setMode()");
+ String curMode = oObj.getMode();
+ tRes.tested("getMode()", curMode.equals(supportedModes[0]));
+ }
+
+ /**
+ * Calls the method and checks value returned by method.<p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ * and returned value is not null.
+ */
+ public void _getSupportedModes() {
+ supportedModes = oObj.getSupportedModes();
+ tRes.tested("getSupportedModes()", supportedModes != null);
+ }
+
+ /**
+ * Calls the method. First one of the supported modes that was returned
+ * by method getSupportedMode is passed as argument.
+ * Then the method is called again and the mode that is certainly not supported
+ * is passed. Checks up returned values in both cases.<p>
+ * Has <b> OK </b> status if no runtime exceptions occurred,
+ * returned value is true in first call and is false in second call.
+ */
+ public void _supportsMode() {
+ requiredMethod("getSupportedModes()");
+ boolean result = oObj.supportsMode(supportedModes[0]) &&
+ ! oObj.supportsMode(supportedModes[0] + "_ForTest");
+ tRes.tested("supportsMode()", result);
+ }
+}// finish class _XModeSelector
+
diff --git a/qadevOOo/tests/java/ifc/util/_XModifiable.java b/qadevOOo/tests/java/ifc/util/_XModifiable.java
new file mode 100644
index 000000000..df3e00021
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XModifiable.java
@@ -0,0 +1,48 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XModifiable;
+
+
+public class _XModifiable extends MultiMethodTest {
+ public XModifiable oObj;
+
+ public void _isModified() {
+ requiredMethod("setModified()");
+ tRes.tested("isModified()", true);
+ }
+
+ public void _setModified() {
+ boolean res = true;
+
+ try {
+ oObj.setModified(true);
+ res = oObj.isModified();
+ oObj.setModified(false);
+ res &= !oObj.isModified();
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception while using method " + e.getMessage());
+ res = false;
+ }
+
+ tRes.tested("setModified()", res);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/ifc/util/_XModifyBroadcaster.java b/qadevOOo/tests/java/ifc/util/_XModifyBroadcaster.java
new file mode 100644
index 000000000..22fa066ab
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XModifyBroadcaster.java
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.util.XModifyBroadcaster;
+import com.sun.star.util.XModifyListener;
+
+/**
+* Testing <code>com.sun.star.util.XModifyBroadcaster</code>
+* interface methods :
+* <ul>
+* <li><code>addModifyListener()</code></li>
+* <li><code>removeModifyListener()</code></li>
+* </ul> <p>
+*
+* Result checking is not performed. Modify
+* listeners are called only in case of
+* interaction with UI. <p>
+*
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.util.XModifyBroadcaster
+*/
+public class _XModifyBroadcaster extends MultiMethodTest {
+ public XModifyBroadcaster oObj = null;
+
+ private static class TestModifyListener implements XModifyListener {
+ public void disposing ( EventObject oEvent ) {}
+ public void modified (EventObject aEvent ) {}
+ }
+
+ private final TestModifyListener listener = new TestModifyListener();
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _addModifyListener() {
+ log.println("'Modified' events are called only in case"+
+ " of user interaction.");
+ oObj.addModifyListener(listener);
+ tRes.tested("addModifyListener()", true);
+ }
+
+ /**
+ * Just calls the method. <p>
+ * Has <b> OK </b> status if no runtime exceptions occurred
+ */
+ public void _removeModifyListener() {
+ requiredMethod("addModifyListener()");
+ oObj.removeModifyListener(listener);
+ tRes.tested("removeModifyListener()", true);
+ }
+}// finish class _XModifyBroadcaster
+
diff --git a/qadevOOo/tests/java/ifc/util/_XNumberFormatsSupplier.java b/qadevOOo/tests/java/ifc/util/_XNumberFormatsSupplier.java
new file mode 100644
index 000000000..65785807d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XNumberFormatsSupplier.java
@@ -0,0 +1,89 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.util.XNumberFormats;
+import com.sun.star.util.XNumberFormatsSupplier;
+
+/**
+ * Testing <code>com.sun.star.util.XNumberFormatsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getNumberFormatSettings()</code></li>
+ * <li><code> getNumberFormats()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.util.XNumberFormatsSupplier
+ */
+public class _XNumberFormatsSupplier extends MultiMethodTest {
+
+ public XNumberFormatsSupplier oObj = null;
+
+ /**
+ * Get format settings and checks some properties for existence. <p>
+ *
+ * Has <b> OK </b> status if a number properties inherent to
+ * <code>NumberFormatSettings</code> service exist in the
+ * returned <code>XPropertySet</code>. <p>
+ *
+ * @see com.sun.star.util.NumberFormatSettings
+ */
+ public void _getNumberFormatSettings() {
+ boolean result = true ;
+ XPropertySet props = oObj.getNumberFormatSettings();
+
+ if (props != null) {
+ try {
+ result &= props.getPropertyValue("NullDate") != null &&
+ props.getPropertyValue("StandardDecimals") != null &&
+ props.getPropertyValue("NoZero") != null &&
+ props.getPropertyValue("TwoDigitDateStart") != null ;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Some property doesn't exist") ;
+ e.printStackTrace(log) ;
+ result = false ;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log) ;
+ result = false ;
+ }
+ } else {
+ log.println("Method returns null") ;
+ result = false ;
+ }
+
+ tRes.tested("getNumberFormatSettings()", result) ;
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getNumberFormats() {
+ XNumberFormats formats = oObj.getNumberFormats();
+
+ tRes.tested("getNumberFormats()", formats != null) ;
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/util/_XNumberFormatter.java b/qadevOOo/tests/java/ifc/util/_XNumberFormatter.java
new file mode 100644
index 000000000..01f419ac7
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XNumberFormatter.java
@@ -0,0 +1,119 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XNumberFormatter;
+
+
+/**
+ * Testing <code>com.sun.star.util.XNumberFormatter</code>
+ * interface methods :
+ * <ul>
+ * <li><code> attachNumberFormatsSupplier()</code></li>
+ * <li><code> convertNumberToString() </code></li>
+ * <li><code> convertStringToNumber() </code></li>
+ * <li><code> detectNumberFormat() </code></li>
+ * <li><code> formatString() </code></li>
+ * <li><code> getInputString() </code></li>
+ * <li><code> getNumberFormatsSupplier() </code></li>
+ * <li><code> queryColorForNumber() </code></li>
+ * <li><code> queryColorForString() </code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.util.XNumberFormatter
+ */
+public class _XNumberFormatter extends MultiMethodTest {
+
+ public XNumberFormatter oObj = null;
+
+ /**
+ * Not implemented yet.
+ */
+ public void _attachNumberFormatsSupplier() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Tries to convert a number to a string. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _convertNumberToString() {
+ double dValue = 1.56;
+ int key = 15;
+
+ String gString = oObj.convertNumberToString(key,dValue);
+
+ log.println("Getting: "+gString);
+ tRes.tested("convertNumberToString",gString!=null);
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _convertStringToNumber() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _detectNumberFormat() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _formatString() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _getInputString() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _getNumberFormatsSupplier() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _queryColorForNumber() {
+ log.println("Not yet implemented");
+ }
+
+ /**
+ * Not implemented yet.
+ */
+ public void _queryColorForString() {
+ log.println("Not yet implemented");
+ }
+} // finish class _XNumberFormatter
+
+
diff --git a/qadevOOo/tests/java/ifc/util/_XProtectable.java b/qadevOOo/tests/java/ifc/util/_XProtectable.java
new file mode 100644
index 000000000..127d30971
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XProtectable.java
@@ -0,0 +1,75 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.util;
+
+import com.sun.star.util.XProtectable;
+import lib.MultiMethodTest;
+
+/**
+ * Check the XProtectable interface.
+ */
+public class _XProtectable extends MultiMethodTest {
+ public XProtectable oObj = null;
+ String sPassWord = "TopSecret";
+
+ /**
+ * Check, if the sheet is protected.
+ * Has OK status, if this is the case.
+ */
+ public void _isProtected() {
+ requiredMethod("protect()");
+ boolean result = oObj.isProtected();
+ tRes.tested("isProtected()", result);
+ }
+
+ /**
+ * Protect the sheet
+ */
+ public void _protect() {
+ oObj.protect(sPassWord);
+ tRes.tested("protect()", true);
+ }
+
+ /**
+ * Unprotect with wrong password, see if it's still protected.
+ * Unprotect with correct password, see if it's unprotected.
+ */
+ public void _unprotect() {
+ requiredMethod("isProtected()");
+ boolean result = true;
+ try {
+ oObj.unprotect("WrongPassword");
+// result = false;
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Correct Exception thrown.");
+ }
+ // just check if it's still protected
+ result &= oObj.isProtected();
+ try {
+ oObj.unprotect(sPassWord);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Wrong Exception thrown: password is correct.");
+ result = false;
+ }
+ result &= !oObj.isProtected();
+ tRes.tested("unprotect()", result);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/util/_XRefreshable.java b/qadevOOo/tests/java/ifc/util/_XRefreshable.java
new file mode 100644
index 000000000..1edfae0d5
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XRefreshable.java
@@ -0,0 +1,110 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XRefreshListener;
+import com.sun.star.util.XRefreshable;
+
+/**
+* Testing <code>com.sun.star.util.XRefreshable</code>
+* interface methods :
+* <ul>
+* <li><code> refresh()</code></li>
+* <li><code> addRefreshListener()</code></li>
+* <li><code> removeRefreshListener()</code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.util.XRefreshable
+*/
+public class _XRefreshable extends MultiMethodTest {
+
+ public XRefreshable oObj = null;
+
+ final boolean listenerCalled[] = new boolean[1];
+
+
+ /**
+ * <code>XRefreshListener</code> implementation which
+ * sets a flag when <code>refreshed</code> method is
+ * called.
+ */
+ public class MyRefreshListener implements XRefreshListener {
+ public void refreshed (com.sun.star.lang.EventObject e) {
+ listenerCalled[0] = true;
+ }
+
+ public void disposing (com.sun.star.lang.EventObject obj) {}
+ }
+
+ XRefreshListener listener = new MyRefreshListener();
+
+ /**
+ * Just adds a listener. <p>
+ * Always has <b>OK</b> status.
+ */
+ public void _addRefreshListener() {
+
+ oObj.addRefreshListener(listener) ;
+ tRes.tested("addRefreshListener()", true);
+ }
+
+ /**
+ * Calls the method and checks if the listener was called. <p>
+ * Has <b>OK</b> status if listener's flag is set after call.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addRefreshListener </code> : to have a listener added.</li>
+ * </ul>
+ */
+ public void _refresh() {
+
+ requiredMethod("addRefreshListener()");
+
+ oObj.refresh();
+
+ tRes.tested("refresh()", listenerCalled[0]);
+ if (!listenerCalled[0])
+ log.println("RefreshListener wasn't called after refresh");
+
+ }
+
+ /**
+ * Removes the listener added before and calls <code>refresh</code>
+ * method. Listener must not be called. <p>
+ * Has <b>OK</b> status if listener's flag isn't changed.
+ * <ul>
+ * <li> <code> refresh </code> : listener added must be already
+ * tested.</li>
+ * </ul>
+ */
+ public void _removeRefreshListener() {
+ requiredMethod("refresh()");
+ listenerCalled[0] = false;
+
+ oObj.removeRefreshListener(listener) ;
+ oObj.refresh();
+
+ tRes.tested("removeRefreshListener()", !listenerCalled[0]);
+ if (listenerCalled[0])
+ log.println("RefreshListener was called after removing");
+ }
+} // finish class _XRefreshable
+
diff --git a/qadevOOo/tests/java/ifc/util/_XReplaceDescriptor.java b/qadevOOo/tests/java/ifc/util/_XReplaceDescriptor.java
new file mode 100644
index 000000000..98249a9db
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XReplaceDescriptor.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XReplaceDescriptor;
+
+/**
+ * Testing <code>com.sun.star.util.XReplaceDescriptor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getReplaceString()</code></li>
+ * <li><code> setReplaceString()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.util.XReplaceDescriptor
+ */
+public class _XReplaceDescriptor extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XReplaceDescriptor oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getReplaceString(){
+ log.println("test for getReplaceString() ");
+ tRes.tested("getReplaceString()", oObj.getReplaceString()!=null);
+ }
+
+ /**
+ * Set a new string and checks the result. <p>
+ * Has <b> OK </b> status if the string before setting differs
+ * from string after setting. <p>
+ */
+ public void _setReplaceString(){
+ log.println("test for setReplaceString() ");
+ String oldReplaceStr = oObj.getReplaceString();
+ oObj.setReplaceString("XReplaceDescriptor");
+ String cmpReplaceStr = oObj.getReplaceString();
+ tRes.tested("setReplaceString()", !(cmpReplaceStr.equals(oldReplaceStr)));
+ }
+
+} // finish class _XReplaceDescriptor
+
+
diff --git a/qadevOOo/tests/java/ifc/util/_XReplaceable.java b/qadevOOo/tests/java/ifc/util/_XReplaceable.java
new file mode 100644
index 000000000..db80a4ed3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XReplaceable.java
@@ -0,0 +1,140 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import com.sun.star.table.XCell;
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XReplaceDescriptor;
+import com.sun.star.util.XReplaceable;
+import com.sun.star.util.XSearchDescriptor;
+
+/**
+ * Testing <code>com.sun.star.util.XReplaceable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> createReplaceDescriptor()</code></li>
+ * <li><code> replaceAll()</code></li>
+ * </ul> <p>
+ *
+ * The requipment for the tested object is that it
+ * <b>must contain</b> string 'xTextDoc'. Only
+ * in that case this interface is tested correctly. <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.util.XReplaceable
+ */
+public class _XReplaceable extends MultiMethodTest {
+
+ public XReplaceable oObj = null;
+ public XReplaceDescriptor Rdesc = null;
+ private String mSearchString = "xTextDoc";
+ private static final String mReplaceString = "** xTextDoc";
+ private boolean mDispose = false;
+
+ /**
+ * Creates an entry to search for, if the current object does not provide
+ * one. In this case, the environment is disposed after the test, since
+ * the inserted object may influence following tests.
+ *
+ */
+ @Override
+ protected void before() {
+ Object o = tEnv.getObjRelation("SEARCHSTRING");
+ if (o != null) {
+ mSearchString = (String)o;
+ }
+ // use object relation for XSearchable
+ o = tEnv.getObjRelation("XSearchable.MAKEENTRYINCELL");
+ if (o != null) {
+ XCell[] cells = new XCell[0];
+ if (o instanceof XCell) {
+ cells = new XCell[]{(XCell)o};
+ }
+ else if (o instanceof XCell[]) {
+ cells = (XCell[])o;
+ }
+ else {
+ log.println("Needed object relation 'XSearchable.MAKEENTRYINCELL' is there, but is of type '"
+ + o.getClass().getName() + "'. Should be 'XCell' or 'XCell[]' instead.");
+ }
+ for (int i=0; i<cells.length; i++) {
+ cells[i].setFormula(mSearchString);
+ }
+ mDispose = true;
+ }
+ }
+
+ /**
+ * Creates the descriptor for replacing string 'xTextDoc'
+ * with string '** xTextDoc'. <p>
+ * Has <b> OK </b> status if the returned descriptor is not
+ * <code>null</code>. <p>
+ */
+ public void _createReplaceDescriptor() {
+
+ log.println("testing createReplaceDescriptor() ... ");
+
+ Rdesc = oObj.createReplaceDescriptor();
+ Rdesc.setSearchString(mSearchString);
+ Rdesc.setReplaceString(mReplaceString);
+ tRes.tested("createReplaceDescriptor()", true);
+
+ }
+
+ /**
+ * Replaces the text using descriptor created before. Then
+ * search is performed in the target text. <p>
+ *
+ * Has <b> OK </b> status if the string '**' is found in
+ * the text. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createReplaceDescriptor() </code> : replace
+ * descriptor is created. </li>
+ * </ul>
+ */
+ public void _replaceAll() {
+ requiredMethod("createReplaceDescriptor()");
+ oObj.replaceAll(Rdesc);
+ XSearchDescriptor SDesc = oObj.createSearchDescriptor();
+ SDesc.setSearchString("**");
+ boolean res = (oObj.findFirst(SDesc) != null);
+ // redo replacement
+ Rdesc.setSearchString(mReplaceString);
+ Rdesc.setReplaceString(mSearchString);
+ oObj.replaceAll(Rdesc);
+ res &= (oObj.findFirst(SDesc) == null);
+
+ tRes.tested("replaceAll()",res);
+ }
+
+ /**
+ * In case the interface itself made the entry to search for, the environment
+ * must be disposed
+ */
+ @Override
+ protected void after() {
+ if(mDispose) {
+ disposeEnvironment();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/util/_XSearchDescriptor.java b/qadevOOo/tests/java/ifc/util/_XSearchDescriptor.java
new file mode 100644
index 000000000..bc7fc1510
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XSearchDescriptor.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XSearchDescriptor;
+
+/**
+ * Testing <code>com.sun.star.util.XSearchDescriptor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getSearchString()</code></li>
+ * <li><code> setSearchString()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.util.XSearchDescriptor
+ */
+public class _XSearchDescriptor extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+ public XSearchDescriptor oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getSearchString(){
+ boolean bResult = false;
+ String searchStr = null;
+
+ log.println("test for getSearchString() ");
+ searchStr = oObj.getSearchString();
+
+ if (searchStr != null){ bResult = true; }
+ tRes.tested("getSearchString()", bResult);
+ }
+
+ /**
+ * Set a new string and checks the result. <p>
+ * Has <b> OK </b> status if the string before setting differs
+ * from string after setting. <p>
+ */
+ public void _setSearchString(){
+ boolean bResult = false;
+ String oldSearchStr = null;
+ String cmpSearchStr = null;
+ String newSearchStr = "_XSearchDescriptor";
+ log.println("test for setSearchString() ");
+
+ oldSearchStr = oObj.getSearchString();
+ oObj.setSearchString(newSearchStr);
+ cmpSearchStr = oObj.getSearchString();
+
+ if(!(cmpSearchStr.equals(oldSearchStr))){ bResult = true; }
+ tRes.tested("setSearchString()", bResult);
+ }
+
+} // finish class _XSearchDescriptor
+
diff --git a/qadevOOo/tests/java/ifc/util/_XSearchable.java b/qadevOOo/tests/java/ifc/util/_XSearchable.java
new file mode 100644
index 000000000..5c0f6789a
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XSearchable.java
@@ -0,0 +1,178 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.table.XCell;
+import com.sun.star.util.XSearchDescriptor;
+import com.sun.star.util.XSearchable;
+
+/**
+ * Testing <code>com.sun.star.util.XSearchable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> createSearchDescriptor()</code></li>
+ * <li><code> findAll()</code></li>
+ * <li><code> findFirst()</code></li>
+ * <li><code> findNext()</code></li>
+ * </ul> <p>
+ *
+ * The requipment for the tested object is that it
+ * <b>must contain</b> string 'xTextDoc'. Only
+ * in that case this interface is tested correctly. <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.util.XSearchable
+ */
+public class _XSearchable extends MultiMethodTest {
+
+ public XSearchable oObj = null; // oObj filled by MultiMethodTest
+ public XSearchDescriptor Sdesc = null;
+ public Object start = null;
+ private String mSearchString = "xTextDoc";
+ private boolean mDispose = false;
+ private boolean mExcludeFindNext = false;
+
+ /**
+ * Creates an entry to search for, if the current object does not provide
+ * one. In this case, the environment is disposed after the test, since
+ * the inserted object may influence following tests.
+ *
+ */
+ @Override
+ protected void before() {
+ Object o = tEnv.getObjRelation("SEARCHSTRING");
+ if (o != null) {
+ mSearchString = (String)o;
+ }
+ o = tEnv.getObjRelation("XSearchable.MAKEENTRYINCELL");
+ if (o != null) {
+ XCell[] cells = new XCell[0];
+ if (o instanceof XCell) {
+ cells = new XCell[]{(XCell)o};
+ }
+ else if (o instanceof XCell[]) {
+ cells = (XCell[])o;
+ }
+ else {
+ log.println("Needed object relation 'XSearchable.MAKEENTRYINCELL' is there, but is of type '"
+ + o.getClass().getName() + "'. Should be 'XCell' or 'XCell[]' instead.");
+ }
+ for (int i=0; i<cells.length; i++) {
+ cells[i].setFormula(mSearchString);
+ }
+ mDispose = true;
+ }
+ mExcludeFindNext = (tEnv.getObjRelation("EXCLUDEFINDNEXT")==null)?false:true;
+ }
+
+ /**
+ * Creates the search descriptor which searches for
+ * 'xTextDoc' string. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _createSearchDescriptor() {
+
+ log.println("testing createSearchDescriptor() ... ");
+
+ Sdesc = oObj.createSearchDescriptor();
+ Sdesc.setSearchString(mSearchString);
+ tRes.tested("createSearchDescriptor()", true);
+
+ }
+
+ /**
+ * Performs search using descriptor created before. <p>
+ * Has <b> OK </b> status if the method not <code>null</code>
+ * collections. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createSearchDescriptor() </code> : creates the descriptor
+ * required for search. </li>
+ * </ul>
+ */
+ public void _findAll() {
+
+ requiredMethod("createSearchDescriptor()");
+ log.println("testing findAll()");
+
+ XIndexAccess IA = oObj.findAll(Sdesc);
+ tRes.tested("findAll()", IA != null);
+ }
+
+ /**
+ * Performs search using descriptor created before. Storing the
+ * first occurrence result. <p>
+ * Has <b> OK </b> status if the method not <code>null</code>
+ * value. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createSearchDescriptor() </code> : creates the descriptor
+ * required for search. </li>
+ * </ul>
+ */
+ public void _findFirst() {
+
+ requiredMethod("createSearchDescriptor()");
+ log.println("testing findFirst()");
+ start = oObj.findFirst(Sdesc);
+ tRes.tested("findFirst()", start != null);
+ }
+
+ /**
+ * Performs search using descriptor and first search result
+ * created before. <p>
+ * Has <b> OK </b> status if the method not <code>null</code>
+ * value. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> findFirst() </code> : to have first search result. </li>
+ * </ul>
+ */
+ public void _findNext() {
+ if (mExcludeFindNext) {
+ log.println("Testing findNext() excluded, because only one" +
+ " search result is available.");
+ tRes.tested("findNext()", true);
+ }
+ else{
+ requiredMethod("findFirst()");
+
+ log.println("testing findNext()");
+ Object xI = oObj.findNext(start,Sdesc);
+ tRes.tested("findNext()", xI != null);
+ }
+ }
+
+ /**
+ * In case the interface itself made the entry to search for, the environment
+ * must be disposed
+ */
+ @Override
+ protected void after() {
+ if(mDispose) {
+ disposeEnvironment();
+ }
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/ifc/util/_XSortable.java b/qadevOOo/tests/java/ifc/util/_XSortable.java
new file mode 100644
index 000000000..e43c93c16
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XSortable.java
@@ -0,0 +1,231 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.util;
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.table.TableSortField;
+import com.sun.star.util.XSortable;
+
+
+/**
+ * Testing <code>com.sun.star.util.XSortable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> createSortDescriptor()</code></li>
+ * <li><code> sort()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'SORTCHECKER'</code> : <code>
+* _XSortable.XSortChecker</code> interface implementation
+ * </li>
+ * <ul><p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.util.XSortable
+ */
+public class _XSortable extends MultiMethodTest {
+ // oObj filled by MultiMethodTest
+ public XSortable oObj = null;
+ XSortChecker checker = null;
+ PropertyValue[] oPV = null;
+
+ @Override
+ protected void before() {
+ checker = (XSortChecker) tEnv.getObjRelation("SORTCHECKER");
+
+ if (checker == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'SORTCHECKER'"));
+ }
+
+ checker.setPrintWriter(log);
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the length of the returned array
+ * is greater than zero. <p>
+ */
+ public void _createSortDescriptor() {
+ boolean bResult = false;
+
+ log.println("test for createSortDescriptor() ");
+ oPV = oObj.createSortDescriptor();
+
+ if (oPV.length > 0) {
+ bResult = true;
+
+ for (int k = 0; k < oPV.length; k++) {
+ log.println("DescriptorProperty " + k + ": Name=" +
+ oPV[k].Name + "; Value=" + oPV[k].Value);
+
+ if (oPV[k].Name.equals("SortFields")) {
+ TableSortField[] tsf = (TableSortField[]) oPV[k].Value;
+
+ for (int l = 0; l < tsf.length; l++) {
+ log.println("\t isAscending: " +
+ tsf[l].IsAscending);
+ log.println("\t IsCaseSensitive: " +
+ tsf[l].IsCaseSensitive);
+ log.println("\t CollatorAlgorithm: " +
+ tsf[l].CollatorAlgorithm);
+ }
+ }
+ }
+ }
+
+ log.println("Found " + oPV.length + " PropertyValues");
+ tRes.tested("createSortDescriptor()", bResult);
+ }
+
+ /**
+ * Test calls the method using descriptor created before as
+ * parameter. <p>
+ * Has <b> OK </b> status if the method successfully returns
+ * and no exceptions were thrown. <p>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> createSortDescriptor() </code> : to have a descriptor
+ * for sort. </li>
+ * </ul>
+ */
+ public void _sort() {
+
+ checker.prepareToSort();
+
+ log.println(
+ "############## Sort algorithm: Alphanumeric Order: Ascending");
+ modifyDescriptor(false, true);
+ oObj.sort(oPV);
+
+ boolean res = checker.checkSort(false, true);
+ log.println(
+ "############################################################");
+
+ log.println(
+ "############# Sort algorithm: Alphanumeric Order: Descending");
+ modifyDescriptor(false, false);
+ oObj.sort(oPV);
+ res = checker.checkSort(false, false);
+ log.println(
+ "############################################################");
+
+ log.println(
+ "################# Sort algorithm: Numeric Order: Ascending");
+ modifyDescriptor(true, true);
+ oObj.sort(oPV);
+ res = checker.checkSort(true, true);
+ log.println(
+ "############################################################");
+
+ log.println(
+ "################## Sort algorithm: Numeric Order: Descending");
+ modifyDescriptor(true, false);
+ oObj.sort(oPV);
+ res = checker.checkSort(true, false);
+ log.println(
+ "############################################################");
+
+ tRes.tested("sort()", res);
+ }
+
+ protected void modifyDescriptor(boolean isSortNumeric,
+ boolean isSortAscending) {
+ for (int i = 0; i < oPV.length; i++) {
+ if (oPV[i].Name.equals("SortFields")) {
+ TableSortField[] TableFields = (TableSortField[]) oPV[i].Value;
+
+ if (TableFields.length == 0) {
+ TableFields = new TableSortField[1];
+ TableFields[0] = new TableSortField();
+ }
+
+ for (int k = 0; k < TableFields.length; k++) {
+ TableFields[k].IsAscending = isSortAscending;
+
+ if (isSortNumeric) {
+ TableFields[k].FieldType = com.sun.star.table.TableSortFieldType.NUMERIC;
+ TableFields[k].CollatorAlgorithm = "numeric";
+ } else {
+ TableFields[k].FieldType = com.sun.star.table.TableSortFieldType.ALPHANUMERIC;
+ TableFields[k].CollatorAlgorithm = "alphanumeric";
+ }
+ }
+
+ oPV[i].Value = TableFields;
+ }
+
+ if (oPV[i].Name.equals("isSortInTable")) {
+ oPV[i].Value = Boolean.TRUE;
+ }
+
+ if (oPV[i].Name.equals("IsSortColumns")) {
+ oPV[i].Value = Boolean.FALSE;
+ }
+ }
+
+ log.println("Modified sort descriptor: ");
+
+ if (oPV.length > 0) {
+ for (int k = 0; k < oPV.length; k++) {
+ log.println("DescriptorProperty " + k + ": Name=" +
+ oPV[k].Name + "; Value=" + oPV[k].Value);
+
+ if (oPV[k].Name.equals("SortFields")) {
+ TableSortField[] tsf = (TableSortField[]) oPV[k].Value;
+
+ for (int l = 0; l < tsf.length; l++) {
+ log.println("\t isAscending: " +
+ tsf[l].IsAscending);
+ log.println("\t IsCaseSensitive: " +
+ tsf[l].IsCaseSensitive);
+ log.println("\t CollatorAlgorithm: " +
+ tsf[l].CollatorAlgorithm);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * The interface for sort checking.
+ */
+ public interface XSortChecker {
+ void prepareToSort();
+
+ boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending);
+
+ void setPrintWriter(PrintWriter log);
+ }
+
+ /**
+ * Forces environment recreation.
+ */
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+} // finish class _XSortable
diff --git a/qadevOOo/tests/java/ifc/util/_XStringEscape.java b/qadevOOo/tests/java/ifc/util/_XStringEscape.java
new file mode 100644
index 000000000..edd4a2d83
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XStringEscape.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.util.XStringEscape;
+
+public class _XStringEscape extends MultiMethodTest {
+
+ public XStringEscape oObj;
+
+ public void _escapeString() {
+ log.println("The Implementation of this Interface doesn't really do anything");
+ boolean res = true;
+ try {
+ String toCheck = ";:<>/*";
+ String eString = oObj.escapeString(toCheck);
+ res = toCheck.equals(eString);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ System.out.println("IllegalArgument");
+ }
+ tRes.tested("escapeString()",res);
+ }
+
+ public void _unescapeString() {
+ log.println("The Implementation of this Interface doesn't really do anything");
+ boolean res = true;
+ try {
+ String toCheck = ";:<>/*";
+ String ueString = oObj.unescapeString(toCheck);
+ res = toCheck.equals(ueString);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ System.out.println("IllegalArgument");
+ }
+ tRes.tested("unescapeString()",res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/util/_XStringSubstitution.java b/qadevOOo/tests/java/ifc/util/_XStringSubstitution.java
new file mode 100644
index 000000000..77d5fe5fb
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XStringSubstitution.java
@@ -0,0 +1,92 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import com.sun.star.util.XStringSubstitution;
+import lib.MultiMethodTest;
+
+public class _XStringSubstitution extends MultiMethodTest {
+
+ public XStringSubstitution oObj;
+
+ public void _getSubstituteVariableValue() {
+ boolean res = true;
+ try {
+ log.println("try to get the valid variable $(user) ...");
+ String toCheck = "$(user)";
+ String eString = oObj.getSubstituteVariableValue(toCheck);
+ res = eString.startsWith("file:///");
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("$(user) does not exist");
+ tRes.tested("getSubstituteVariableValue()",false);
+ }
+ try {
+ log.println("try to get an invalid variable...");
+ String toCheck = "$(ThisVariableShouldNoExist)";
+ oObj.getSubstituteVariableValue(toCheck);
+ log.println("$(ThisVariableShouldNoExist) should not exist");
+ tRes.tested("getSubstituteVariableValue()",false);
+
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("expected exception was thrown.");
+ res &= true;
+ }
+
+ tRes.tested("getSubstituteVariableValue()",res);
+ }
+
+ public void _substituteVariables() {
+ boolean res = true;
+ try {
+ log.println("try to get a valid variable...");
+ String toCheck = "$(user)";
+ String eString = oObj.substituteVariables(toCheck, false);
+ log.println(eString);
+ res = eString.startsWith("file:///");
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("$(user) does not exist");
+ tRes.tested("substituteVariables()",false);
+ }
+ try {
+ log.println("try to get an invalid variable...");
+ String toCheck = "$(ThisVariableShouldNoExist)";
+ oObj.substituteVariables(toCheck,true);
+ log.println("$(ThisVariableShouldNoExist) should not exist");
+ tRes.tested("substituteVariables()",false);
+
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("expected exception was thrown.");
+ res &= true;
+ }
+
+ tRes.tested("substituteVariables()",res);
+ }
+
+ public void _reSubstituteVariables() {
+ boolean res = true;
+ log.println("try to get a valid variable...");
+ String toCheck = "file:///";
+ String eString = oObj.reSubstituteVariables(toCheck);
+ log.println(eString);
+ res = eString.startsWith("file:///");
+
+ tRes.tested("reSubstituteVariables()",res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/util/_XURLTransformer.java b/qadevOOo/tests/java/ifc/util/_XURLTransformer.java
new file mode 100644
index 000000000..9ce968cdf
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/util/_XURLTransformer.java
@@ -0,0 +1,461 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.util;
+
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+import lib.MultiMethodTest;
+
+/**
+* Testing <code>com.sun.star.util.XURLTransformer</code>
+* interface methods :
+* <ul>
+* <li><code> assemble() </code></li>
+* <li><code> parseStrict() </code></li>
+* <li><code> parseSmart() </code></li>
+* <li><code> getPresentation() </code></li>
+* </ul> <p>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.util.XURLTransformer
+*/
+public class _XURLTransformer extends MultiMethodTest {
+
+ public XURLTransformer oObj = null;
+
+ static final String user = "user";
+ static final String invalidUserPrefix = "1";
+ static final String password = "password";
+ static final String server = "server";
+ static final String invalidServerPrefix = "1";
+ static final String port = "8080";
+ static final String path = "/pub/path";
+ static final String name = "file.txt";
+ static final String arguments = "a=b";
+ static final String mark = "mark";
+
+ static final String expectedCompleteHTTP = "http://"
+ + server + ":" + port + path
+ + "/" + name + "?" + arguments + "#" + mark;
+ static final String expectedCompleteFTP = "ftp://"
+ + user + ":" + password + "@" + server + ":" + port + path
+ + "/" + name;
+
+ /**
+ * First the complete URL (all URL fields are filled) is
+ * passed and assembled. Then incomplete URL (only
+ * <code>Server</code> field is set) is passed. <p>
+ * Has <b> OK </b> status if in the first case <code>true</code>
+ * returned and <code>Complete</code> field is set and in the
+ * second case <code>false</code> is returned. <p>
+ */
+ public void _assemble(){
+ URL[] url = new URL[1];
+ url[0] = new URL();
+
+ url[0].Protocol = "http://";
+ url[0].Server = server;
+ url[0].Port = Short.parseShort(port);
+ url[0].Path = path;
+ url[0].Name = name;
+ url[0].Arguments = arguments;
+ url[0].Mark = mark;
+ url[0].Main = "http://" + server + ":" +
+ port + path + "/" + name;
+
+ boolean res = true;
+
+ log.print("assemble http-URL: ");
+ boolean complete = oObj.assemble(url);
+ log.println(complete);
+ res &= complete;
+
+ if (!expectedCompleteHTTP.equals(url[0].Complete)) {
+ log.println("assemble works wrong");
+ log.println("complete field : " + url[0].Complete);
+ log.println("expected : " + expectedCompleteHTTP);
+ res = false;
+ }
+
+ url[0] = new URL();
+ url[0].Protocol = "ftp://";
+ url[0].User = user;
+ url[0].Password = password;
+ url[0].Server = server;
+ url[0].Port = Short.parseShort(port);
+ url[0].Path = path;
+ url[0].Name = name;
+ url[0].Main = "ftp://" + user + ":" + password + "@" + server + ":" +
+ port + path + "/" + name;
+
+ log.print("assemble ftp-URL: ");
+ complete = oObj.assemble(url);
+ log.println(complete);
+ res &= complete;
+
+ if (!expectedCompleteFTP.equals(url[0].Complete)) {
+ log.println("assemble works wrong");
+ log.println("complete field : " + url[0].Complete);
+ log.println("expected : " + expectedCompleteFTP);
+ res = false;
+ }
+
+ URL[] incompleteUrl = new URL[1];
+ incompleteUrl[0] = new URL();
+ incompleteUrl[0].Server = server;
+
+ log.print("assemble incomplete URL: ");
+ complete = oObj.assemble(incompleteUrl);
+ log.println(complete);
+ res &= !complete;
+
+ // should be incomplete
+ tRes.tested("assemble()", res);
+ }
+
+ /**
+ * First the complete URL (<code>Complete</code> field is set
+ * to proper URL) is passed and parsed. Then incomplete URL (only
+ * <code>Server</code> field is set) is passed. <p>
+ * Has <b> OK </b> status if in the first case <code>true</code>
+ * returned and all URL fields are set to proper values and in the
+ * second case <code>false</code> is returned. <p>
+ */
+ public void _parseStrict() {
+ URL[] url = new URL[1];
+
+ url[0] = new URL();
+ url[0].Complete = expectedCompleteHTTP;
+
+ boolean res = true;
+ log.print("parseStrict(" + expectedCompleteHTTP + "): ");
+ boolean complete = oObj.parseStrict(url);
+ log.println(complete);
+ res &= complete;
+
+ if (!url[0].Protocol.equals("http://")) {
+ log.println("parseStrict works wrong");
+ log.println("protocol field : " + url[0].Protocol);
+ log.println("expected : http://");
+ res = false;
+ }
+
+ if (!url[0].Server.equals(server)) {
+ log.println("parseStrict works wrong");
+ log.println("server field : " + url[0].Server);
+ log.println("expected : " + server);
+ res = false;
+ }
+
+ if (url[0].Port != Short.parseShort(port)) {
+ log.println("parseStrict works wrong");
+ log.println("port field : " + url[0].Port);
+ log.println("expected : " + port);
+ res = false;
+ }
+
+ if ((!url[0].Path.equals(path)) && (!url[0].Path.equals(path + "/"))) {
+ log.println("parseStrict works wrong");
+ log.println("path field : " + url[0].Path);
+ log.println("expected : " + path);
+ res = false;
+ }
+
+ if (!url[0].Name.equals(name)) {
+ log.println("parseStrict works wrong");
+ log.println("name field : " + url[0].Name);
+ log.println("expected : " + name);
+ res = false;
+ }
+
+ if (!url[0].Arguments.equals(arguments)) {
+ log.println("parseStrict works wrong");
+ log.println("arguments field : " + url[0].Arguments);
+ log.println("expected : " + arguments);
+ res = false;
+ }
+
+ if (!url[0].Mark.equals(mark)) {
+ log.println("parseStrict works wrong");
+ log.println("mark field : " + url[0].Mark);
+ log.println("expected : " + mark);
+ res = false;
+ }
+
+ url[0] = new URL();
+ url[0].Complete = expectedCompleteFTP;
+
+ log.print("parseStrict(" + expectedCompleteFTP + "): ");
+ complete = oObj.parseStrict(url);
+ log.println(complete);
+ res &= complete;
+
+ if (!url[0].Protocol.equals("ftp://")) {
+ log.println("parseStrict works wrong");
+ log.println("protocol field : " + url[0].Protocol);
+ log.println("expected : ftp://");
+ res = false;
+ }
+
+ if (!url[0].User.equals(user)) {
+ log.println("parseStrict works wrong");
+ log.println("user field : " + url[0].User);
+ log.println("expected : " + user);
+ res = false;
+ }
+
+ if (!url[0].Password.equals(password)) {
+ log.println("parseStrict works wrong");
+ log.println("password field : " + url[0].Password);
+ log.println("expected : " + password);
+ res = false;
+ }
+
+ if (!url[0].Server.equals(server)) {
+ log.println("parseStrict works wrong");
+ log.println("server field : " + url[0].Server);
+ log.println("expected : " + server);
+ res = false;
+ }
+
+ if (url[0].Port != Short.parseShort(port)) {
+ log.println("parseStrict works wrong");
+ log.println("port field : " + url[0].Port);
+ log.println("expected : " + port);
+ res = false;
+ }
+
+ if ((!url[0].Path.equals(path)) && (!url[0].Path.equals(path + "/"))) {
+ log.println("parseStrict works wrong");
+ log.println("path field : " + url[0].Path);
+ log.println("expected : " + path);
+ res = false;
+ }
+
+ if (!url[0].Name.equals(name)) {
+ log.println("parseStrict works wrong");
+ log.println("name field : " + url[0].Name);
+ log.println("expected : " + name);
+ res = false;
+ }
+
+ URL[] incompleteUrl = new URL[1];
+ incompleteUrl[0] = new URL();
+ incompleteUrl[0].Complete = server;
+
+ log.print("parseStrict(" + server + "): ");
+ complete = oObj.parseStrict(incompleteUrl);
+ log.println(complete);
+ // should be incomplete
+ res &= !complete;
+
+ tRes.tested("parseStrict()", res);
+ }
+
+ /**
+ * Tries to parse WWW server name. <p>
+ * Has <b> OK </b> status if the method return <code>true</code>
+ * value and <code>Protocol, Server, Port</code> URL fields are
+ * set properly.
+ */
+ public void _parseSmart() {
+ URL[] url = new URL[1];
+
+ String httpURL = invalidServerPrefix + server + ":" + port + path + "/" + name + "?" +
+ arguments + "#" + mark;
+
+ url[0] = new URL();
+ url[0].Complete = httpURL;
+
+ boolean res = true;
+ log.print("parseSmart('" + httpURL + "', 'http://'): ");
+ boolean complete = oObj.parseSmart(url, "http://");
+ log.println(complete);
+ res &= complete;
+
+ if (!url[0].Protocol.equals("http://")) {
+ log.println("parseSmart works wrong");
+ log.println("protocol field : " + url[0].Protocol);
+ log.println("expected : http://");
+ res = false;
+ }
+
+ if (!url[0].Server.equals(invalidServerPrefix+server)) {
+ log.println("parseSmart works wrong");
+ log.println("server field : " + url[0].Server);
+ log.println("expected : " + server);
+ res = false;
+ }
+
+ if (url[0].Port != Short.parseShort(port)) {
+ log.println("parseSmart works wrong");
+ log.println("port field : " + url[0].Port);
+ log.println("expected : " + port);
+ res = false;
+ }
+
+ if ((!url[0].Path.equals(path)) && (!url[0].Path.equals(path + "/"))) {
+ log.println("parseSmart works wrong");
+ log.println("path field : " + url[0].Path);
+ log.println("expected : " + path);
+ res = false;
+ }
+
+ if (!url[0].Name.equals(name)) {
+ log.println("parseSmart works wrong");
+ log.println("name field : " + url[0].Name);
+ log.println("expected : " + name);
+ res = false;
+ }
+
+ if (!url[0].Arguments.equals(arguments)) {
+ log.println("parseSmart works wrong");
+ log.println("arguments field : " + url[0].Arguments);
+ log.println("expected : " + arguments);
+ res = false;
+ }
+
+ if (!url[0].Mark.equals(mark)) {
+ log.println("parseSmart works wrong");
+ log.println("mark field : " + url[0].Mark);
+ log.println("expected : " + mark);
+ res = false;
+ }
+
+ String ftpURL = invalidUserPrefix +user + ":" + password + "@" + server + ":" +
+ port + path + "/" + name;
+
+ url[0] = new URL();
+ url[0].Complete = ftpURL;
+ log.print("parseSmart('" + ftpURL + "', 'ftp://'): ");
+ complete = oObj.parseSmart(url, "ftp://");
+ log.println(complete);
+ res &= complete;
+
+ if (!url[0].Protocol.equals("ftp://")) {
+ log.println("parseSmart works wrong");
+ log.println("protocol field : " + url[0].Protocol);
+ log.println("expected : ftp://");
+ res = false;
+ }
+
+ if (!url[0].User.equals(invalidUserPrefix+user)) {
+ log.println("parseSmart works wrong");
+ log.println("user field : " + url[0].User);
+ log.println("expected : " + user);
+ res = false;
+ }
+
+ if (!url[0].Password.equals(password)) {
+ log.println("parseSmart works wrong");
+ log.println("password field : " + url[0].Password);
+ log.println("expected : " + password);
+ res = false;
+ }
+
+ if (!url[0].Server.equals(server)) {
+ log.println("parseSmart works wrong");
+ log.println("server field : " + url[0].Server);
+ log.println("expected : " + server);
+ res = false;
+ }
+
+ if (url[0].Port != Short.parseShort(port)) {
+ log.println("parseSmart works wrong");
+ log.println("port field : " + url[0].Port);
+ log.println("expected : " + port);
+ res = false;
+ }
+
+ if ((!url[0].Path.equals(path)) && (!url[0].Path.equals(path + "/"))) {
+ log.println("parseSmart works wrong");
+ log.println("path field : " + url[0].Path);
+ log.println("expected : " + path);
+ res = false;
+ }
+
+ if (!url[0].Name.equals(name)) {
+ log.println("parseSmart works wrong");
+ log.println("name field : " + url[0].Name);
+ log.println("expected : " + name);
+ res = false;
+ }
+
+ tRes.tested("parseSmart()", res);
+ }
+
+ /**
+ * Gets the presentation of a URL. <p>
+ * Has <b> OK </b> status if the method returns the same
+ * URL as was passed in parameter.
+ */
+ public void _getPresentation() {
+ URL url = new URL();
+
+ url.Complete = expectedCompleteHTTP;
+
+ log.println("getPresentation('" + expectedCompleteHTTP + "', true): ");
+ String presentation = oObj.getPresentation(url, true);
+ boolean res = presentation.equals(expectedCompleteHTTP);
+ log.println("Resulted presentation: " + presentation);
+ log.println("Expected presentation: " + expectedCompleteHTTP);
+ log.println("Result: " + res);
+
+ url.Complete = expectedCompleteFTP;
+ log.println("getPresentation('" + expectedCompleteFTP + "', false): ");
+ // the password must be masquerade with <****>
+ StringBuilder sb = new StringBuilder();
+ for (int n = 0 ; n < password.length(); n++){
+ sb.append("*");
+ }
+ String asterisk = sb.toString();
+ asterisk = "<" + asterisk.substring(1,asterisk.length());
+ asterisk = asterisk.substring(0,asterisk.length()-1) + ">";
+
+ presentation = oObj.getPresentation(url, false);
+ String expectedPresentation = "ftp://" + user + ":" + asterisk + "@" +
+ server + ":" + port + path + "/" + name;
+ res &= presentation.equals(expectedPresentation);
+ log.println("Resulted presentation: " + presentation);
+ log.println("Expected presentation: " + expectedPresentation);
+ log.println("Result: " + res);
+
+ log.println("getPresentation('" + expectedCompleteFTP + "', true): ");
+ presentation = oObj.getPresentation(url, true);
+ expectedPresentation = "ftp://" + user + ":" + password + "@" +
+ server + ":" + port + path + "/" + name;
+ res &= presentation.equals(expectedPresentation);
+ log.println("Resulted presentation: " + presentation);
+ log.println("Expected presentation: " + expectedPresentation);
+ log.println("Result: " + res);
+
+ String incorrectURL = "*bla-bla*";
+ url.Complete = incorrectURL;
+ log.println("getPresentation('" + incorrectURL + "', false): ");
+ presentation = oObj.getPresentation(url, false);
+ expectedPresentation = "";
+ res &= presentation.equals(expectedPresentation);
+ log.println("Resulted presentation: " + presentation);
+ log.println("Expected presentation: " + expectedPresentation);
+ log.println("Result: " + res);
+
+ tRes.tested("getPresentation()", res);
+ }
+
+} // finish class _XURLTransformer
+
diff --git a/qadevOOo/tests/java/ifc/view/_XControlAccess.java b/qadevOOo/tests/java/ifc/view/_XControlAccess.java
new file mode 100644
index 000000000..65287304c
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XControlAccess.java
@@ -0,0 +1,115 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.view;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.FormTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.view.XControlAccess;
+
+/**
+ * Testing <code>com.sun.star.view.XControlAccess</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getControl()</code></li>
+ * </ul> <p>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'DOCUMENT'</code> (of type <code>XComponent</code>):
+ * the document, which controller is tested here. Is used
+ * for adding a component (such as CommandButton) and obtaining
+ * its control via tested interface. </li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.view.XControlAccess
+ */
+public class _XControlAccess extends MultiMethodTest {
+
+ public XControlAccess oObj = null;
+
+ /**
+ * Retrieves a document from relation, then using it adds
+ * a CommandButton to a document and obtains button model.
+ * After that button control is tried to get using the
+ * tested interface. <p>
+ * Has <b> OK </b> status if non <code>null</code> control
+ * is returned. <p>
+ * @throws StatusException If the relation was not found.
+ */
+ public void _getControl()
+ throws com.sun.star.uno.Exception
+ {
+ boolean bResult = true;
+ try {
+ XComponent oDoc = (XComponent)tEnv.getObjRelation("DOCUMENT");
+ if (oDoc == null) {
+ throw new StatusException
+ (Status.failed("NO 'DOCUMENT' ObjRelation!"));
+ }
+ Boolean isSheet = (Boolean) tEnv.getObjRelation("XControlAccess.isSheet");
+ XDrawPage oDP = null;
+ if (isSheet != null) {
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, oDoc);
+ oDP = UnoRuntime.queryInterface(XDrawPage.class, oDPS.getDrawPages().getByIndex(0));
+ } else {
+
+
+ XDrawPageSupplier oDPS = UnoRuntime.queryInterface(XDrawPageSupplier.class, oDoc);
+ oDP = oDPS.getDrawPage();
+ }
+ XShapes shapes = UnoRuntime.queryInterface
+ (XShapes.class, oDP);
+ XShape button = FormTools.createControlShape
+ (oDoc, 100, 100, 10000, 50000, "CommandButton");
+ shapes.add(button);
+
+ XControlModel CM = ((XControlShape)button).getControl();
+ log.println("Getting ControlModel "
+ + ((CM == null) ? "FAILED" : "OK"));
+
+ XControl oControl = oObj.getControl(CM);
+ log.println("Getting Control " + ((CM == null) ? "FAILED" : "OK"));
+
+ bResult &= oControl != null;
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Exception occurred calling the method: " + e);
+ bResult = false;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception occurred calling the method: " + e);
+ bResult = false;
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception occurred calling the method: " + e);
+ bResult = false;
+ }
+ tRes.tested("getControl()", bResult);
+ }
+}
+
diff --git a/qadevOOo/tests/java/ifc/view/_XFormLayerAccess.java b/qadevOOo/tests/java/ifc/view/_XFormLayerAccess.java
new file mode 100644
index 000000000..3d45c5474
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XFormLayerAccess.java
@@ -0,0 +1,150 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.view;
+
+import com.sun.star.form.XForm;
+import com.sun.star.form.runtime.XFormController;
+import lib.MultiMethodTest;
+
+import com.sun.star.view.XFormLayerAccess;
+import lib.Status;
+import lib.StatusException;
+
+
+/**
+ * Testing <code>com.sun.star.view.XFormLayerAccess</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getFromController()</code></li>
+ * <li><code> isFormDesignMode()</code></li>
+ * <li><code> setFormDesignMode()</code></li>
+ * </ul> <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.view.XFormLayerAccess
+ */
+public class _XFormLayerAccess extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+
+ public XFormLayerAccess oObj = null;
+
+ private XForm xForm = null;
+
+ /**
+ * checks if the object relation <CODE>XFormLayerAccess.XForm</CODE>
+ * is available
+ */
+ @Override
+ public void before() {
+ xForm = (XForm) tEnv.getObjRelation("XFormLayerAccess.XForm");
+ if (xForm == null) {
+ throw new StatusException(Status.failed("Object raltion 'XFormLayerAccess.XForm' is null"));
+ }
+ }
+
+ /**
+ * Test disables the FormDesignMode and calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * a not empty object of kind of com.sun.star.form.XFormController<P>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFormDesignMode() </code></li>
+ * </ul>
+ * @see com.sun.star.view.XFormLayerAccess
+ */
+ public void _getFromController(){
+ requiredMethod("setFormDesignMode()") ;
+
+ log.println("try to get current DesignMode...");
+ boolean currentMode = oObj.isFormDesignMode();
+ log.println("DesignMode is " + currentMode);
+
+ log.println("enable DesignMode");
+ oObj.setFormDesignMode(false);
+
+ log.println("test for getFromController() ");
+ XFormController xFormCont = oObj.getFormController(xForm);
+
+ if (xFormCont == null)
+ log.println("ERROR: Could not get FromContoller");
+
+ log.println("set back DesignMode to previous state");
+ oObj.setFormDesignMode(currentMode);
+
+ tRes.tested("getFromController()", xFormCont != null );
+ }
+
+ /**
+ * This test calls the test for <code>setFormDesignMode()</CODE>.
+ * Has <b> OK </b> status if the test for setFormDesignMode() returns
+ * <code>true</code> since the tests use <CODE>isFormDesignMode()</CODE><P>
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> setFormDesignMode() </code></li>
+ * </ul>
+ */
+ public void _isFormDesignMode(){
+ requiredMethod("setFormDesignMode()") ;
+
+ log.println("test for isFormDesignMode() is ok since test for 'setFormDesingMode()' use it");
+ tRes.tested("isFormDesignMode()", true);
+ }
+
+ /**
+ * This test gets the current FormDesignMode, change it to the opposite and checks if the expected value of
+ * method isFormDesignmode() was given. Then the FormDesignmode was set back to the original value.<P>
+ * Has <B> OK </B> if expected values are returned.
+ *
+ */
+
+ public void _setFormDesignMode(){
+ log.println("test for setFormDesignMode() and isFormDesignMode() ");
+
+ log.println("try to get current DesignMode...");
+ boolean currentMode = oObj.isFormDesignMode();
+ log.println("DesignMode is " + currentMode);
+
+ log.println("try to change to " + !currentMode + "...");
+ oObj.setFormDesignMode(!currentMode);
+ log.println("try to get new DesignMode...");
+ boolean newMode = oObj.isFormDesignMode();
+ log.println("DesignMode is " + newMode);
+
+ boolean bOK = (newMode != currentMode);
+
+ if ( !bOK)
+ log.println("ERROR: both modes are equal");
+
+ log.println("set back DesignMode to " + currentMode);
+ oObj.setFormDesignMode(currentMode);
+
+ log.println("try to get DesignMode...");
+ boolean oldMode = oObj.isFormDesignMode();
+
+ bOK &= (bOK &(currentMode == oldMode));
+
+ if (currentMode != oldMode)
+ log.println("ERROR: could not change back");
+
+ tRes.tested("setFormDesignMode()", bOK );
+ }
+
+} // finish class _XFormLayerAccess
+
diff --git a/qadevOOo/tests/java/ifc/view/_XMultiSelectionSupplier.java b/qadevOOo/tests/java/ifc/view/_XMultiSelectionSupplier.java
new file mode 100644
index 000000000..dc775c6e1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XMultiSelectionSupplier.java
@@ -0,0 +1,415 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.view;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.view.XMultiSelectionSupplier;
+import java.util.Comparator;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Testing <code>com.sun.star.view.XSelectionSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> addSelection()</code></li>
+ * <li><code> removeSelection()</code></li>
+ * <li><code> clearSelection()</code></li>
+ * <li><code> getSelectionCount()</code></li>
+ * <li><code> createSelectionEnumeration()</code></li>
+ * <li><code> createReverseSelectionEnumeration()</code></li>
+ * </ul>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'Selections'</code> of type <code>Object[]</code> :
+ * the array of the instances which can be selected.</li>
+ * <li> <code>'Comparer'</code> of type <code>Comparator</code> :
+ * the interface for comparing of selected instances</li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.view.XSelectionSupplier
+ */
+public class _XMultiSelectionSupplier extends MultiMethodTest {
+
+ public XMultiSelectionSupplier oObj = null;
+ Object[] selections = null;
+ Comparator<Object> ObjCompare = null;
+
+ @Override
+ protected void before() {
+ selections = (Object[])tEnv.getObjRelation("Selections");
+ if (selections == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'Selections'"));
+ }
+
+ ObjCompare = (Comparator<Object>)tEnv.getObjRelation("Comparer");
+ }
+
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+ /**
+ * Selects an instance from relation 'First'. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _addSelection() {
+
+ boolean bOK = true;
+
+ log.println("clear selections");
+ oObj.clearSelection();
+
+ int count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("select object from object relation 'selections["+i+"]'");
+ oObj.addSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (i+1)){
+ log.println("ERROR: add a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (i+1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ log.println("try to select object relation 'selections[0]' second time...");
+ try {
+ count = oObj.getSelectionCount();
+ oObj.addSelection(selections[0]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[0] a second time': " + ex.toString());
+ }
+ if (count != oObj.getSelectionCount()){
+ log.println("ERROR: the selected count ("+oObj.getSelectionCount() +") is not that before (" + count + ")");
+ bOK = false;
+ }
+
+ log.println("try to select invalid object...");
+ try {
+
+ oObj.addSelection(oObj);
+
+ log.println("ERROR: expected exception 'com.sun.star.lang.IllegalArgumentException' was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected exception 'com.sun.star.lang.IllegalArgumentException' => OK");
+ }
+
+ tRes.tested("addSelection()", bOK);
+ }
+
+ public void _removeSelection() {
+ requiredMethod("addSelection()");
+
+ boolean bOK = true;
+
+ log.println("clear selections");
+ oObj.clearSelection();
+
+ int count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ log.println("add some selections...");
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("select object from object relation 'selections["+i+"]'");
+ oObj.addSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (i+1)){
+ log.println("ERROR: added a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (i+1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ log.println("try now to remove selections...");
+
+ count = oObj.getSelectionCount();
+ int oldCount = oObj.getSelectionCount();
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("remove selection for object relation 'selections["+i+"]'");
+ oObj.removeSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not remove selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (oldCount - i - 1)){
+ log.println("ERROR: removed a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (oldCount -i -1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ log.println("try to remove a removed selection a second time...");
+ count = oObj.getSelectionCount();
+ try {
+ oObj.removeSelection(selections[0]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not remove selection from object relation 'selections[0] a second time': " + ex.toString());
+ }
+ if (count != oObj.getSelectionCount()){
+ log.println("ERROR: the selected count ("+oObj.getSelectionCount() +") is not that before (" + count + ")");
+ bOK = false;
+ }
+
+ log.println("try to remove invalid object...");
+ try {
+
+ oObj.removeSelection(oObj);
+
+ log.println("ERROR: expected exception 'com.sun.star.lang.IllegalArgumentException' was not thrown => FAILED");
+ bOK = false;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("expected exception 'com.sun.star.lang.IllegalArgumentException' => OK");
+ }
+
+ tRes.tested("removeSelection()", bOK);
+ }
+
+
+ /**
+ * First test changes selection of the object : if nothing is
+ * currently selected or first instance ('First' relation) is
+ * selected then selects second instance; if second instance
+ * is currently selected then the first instance is selected. <p>
+ * Then <code>getSelection</code> is called and values set and
+ * get are compared. Comparison has some special cases. For
+ * example if selection is a Cell, then the values contained
+ * in cells are compared. <p>
+ * Has <b>OK</b> status if selection changed properly.
+ */
+ public void _getSelectionCount() {
+ requiredMethod("addSelection()");
+ tRes.tested("getSelectionCount()", true);
+ }
+
+ public void _clearSelection() {
+ requiredMethod("addSelection()");
+ boolean bOK = true;
+
+ log.println("clear selections");
+ oObj.clearSelection();
+
+ int count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ log.println("add some selections...");
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("select object from object relation 'selections["+i+"]'");
+ oObj.addSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (i+1)){
+ log.println("ERROR: added a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (i+1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ count = oObj.getSelectionCount();
+
+ log.println("clear selections...");
+ oObj.clearSelection();
+
+ count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ tRes.tested("clearSelection()", bOK);
+ }
+
+ public void _createSelectionEnumeration() {
+ requiredMethod("addSelection()");
+ boolean bOK = true;
+
+ log.println("clear selections");
+ oObj.clearSelection();
+
+ int count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ log.println("add some selections...");
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("select object from object relation 'selections["+i+"]'");
+ oObj.addSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (i+1)){
+ log.println("ERROR: added a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (i+1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ log.println("create enumeration...");
+ XEnumeration xEnum = oObj.createSelectionEnumeration();
+
+ boolean compRes = true; //compare result
+ int i = 0;
+
+ while (xEnum.hasMoreElements()){
+ log.println("try to get first element..");
+ Object nextElement = null;
+ try {
+ nextElement = xEnum.nextElement();
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not get nextElement: " + ex.toString());
+ bOK = false;
+ } catch (NoSuchElementException ex) {
+ log.println("ERROR: could not get nextElement: " + ex.toString());
+ bOK = false;
+ }
+ Object shouldElement = selections[i];
+ i++;
+
+ if (ObjCompare != null) {
+ compRes = ObjCompare.compare(shouldElement, nextElement) == 0;
+ } else {
+ compRes = util.ValueComparer.equalValue(shouldElement, nextElement);
+ }
+
+ log.println("nextElement()-object and expected object 'selections["+i+"]' are equal: "+compRes);
+
+ if (!compRes && (selections[i]) instanceof Object[]) {
+ if (((Object[])selections[i])[0] instanceof Integer) {
+ log.println("Getting: "+((Integer) ((Object[])shouldElement)[0]).intValue());
+ log.println("Expected: "+((Integer) ((Object[])selections[i])[0]).intValue());
+ }
+ }
+ bOK &= compRes;
+ }
+
+ tRes.tested("createSelectionEnumeration()", bOK);
+ }
+
+ public void _createReverseSelectionEnumeration() {
+ requiredMethod("addSelection()");
+ boolean bOK = true;
+
+ log.println("clear selections");
+ oObj.clearSelection();
+
+ int count = oObj.getSelectionCount();
+
+ bOK &= (count == 0);
+
+ if ( ! bOK) log.println("ERROR: after clear selection I got a selection count of '" + count + "' => FAILED");
+
+ log.println("add some selections...");
+ for(int i = 0; i < selections.length; i++) {
+ try {
+ log.println("select object from object relation 'selections["+i+"]'");
+ oObj.addSelection(selections[i]);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add selection from object relation 'selections[" + i + "]': " + ex.toString());
+ bOK = false;
+ }
+ count = oObj.getSelectionCount();
+ if (count != (i+1)){
+ log.println("ERROR: added a selection but selection count ("+count+ ") " +
+ "is not as expected (" + (i+1) + ") => FAILED");
+ bOK = false;
+ }
+ }
+
+ log.println("create enumeration...");
+ XEnumeration xEnum = oObj.createSelectionEnumeration();
+
+ boolean compRes = true; //compare result
+ int i = selections.length - 1;
+
+ while (xEnum.hasMoreElements()){
+ log.println("try to get first element..");
+ Object nextElement = null;
+ try {
+ nextElement = xEnum.nextElement();
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not get nextElement: " + ex.toString());
+ bOK = false;
+ } catch (NoSuchElementException ex) {
+ log.println("ERROR: could not get nextElement: " + ex.toString());
+ bOK = false;
+ }
+ Object shouldElement = selections[i];
+ i--;
+
+ if (ObjCompare != null) {
+ compRes = ObjCompare.compare(shouldElement, nextElement) == 0;
+ } else {
+ compRes = util.ValueComparer.equalValue(shouldElement, nextElement);
+ }
+
+ log.println("nextElement()-object and expected object 'selections["+i+"]' are equal: "+compRes);
+
+ if (!compRes && (selections[i]) instanceof Object[]){
+ if (((Object[])selections[i])[0] instanceof Integer) {
+ log.println("Getting: "+((Integer) ((Object[])shouldElement)[0]).intValue());
+ log.println("Expected: "+((Integer) ((Object[])selections[i])[0]).intValue());
+ }
+ }
+ bOK &= compRes;
+ }
+
+ tRes.tested("createReverseSelectionEnumeration()", bOK);
+ }
+
+} // finish class _XMultiSelectionSupplier
+
+
+
diff --git a/qadevOOo/tests/java/ifc/view/_XPrintJobBroadcaster.java b/qadevOOo/tests/java/ifc/view/_XPrintJobBroadcaster.java
new file mode 100644
index 000000000..99d30f994
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XPrintJobBroadcaster.java
@@ -0,0 +1,146 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package ifc.view;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.view.PrintJobEvent;
+import com.sun.star.view.XPrintJobBroadcaster;
+import com.sun.star.view.XPrintJobListener;
+import com.sun.star.view.XPrintable;
+import java.io.File;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+/**
+ * Test the XPrintJobBroadcaster interface
+ */
+public class _XPrintJobBroadcaster extends MultiMethodTest {
+ public XPrintJobBroadcaster oObj = null;
+ MyPrintJobListener listenerImpl = null;
+
+ /**
+ * Get an object implementation of the _XPrintJobListener interface from the
+ * test environment.
+ */
+ @Override
+ public void before() {
+ listenerImpl = (MyPrintJobListener)tEnv.getObjRelation("XPrintJobBroadcaster.XPrintJobListener");
+ if (listenerImpl == null) {
+ throw new StatusException(Status.failed(" No test possible. The XPrintJobListener interface has to be implemented."));
+ }
+ }
+
+ /**
+ * add the listener, see if it's called.
+ */
+ public void _addPrintJobListener() {
+ oObj.addPrintJobListener(listenerImpl);
+ listenerImpl.fireEvent();
+ waitForEventIdle();
+ tRes.tested("addPrintJobListener()", listenerImpl.actionTriggered());
+ }
+
+ /**
+ * remove the listener, see if it's still called.
+ */
+ public void _removePrintJobListener() {
+ requiredMethod("addPrintJobListener");
+ oObj.removePrintJobListener(listenerImpl);
+
+ waitForEventIdle();
+
+ listenerImpl.reset();
+ listenerImpl.fireEvent();
+ tRes.tested("removePrintJobListener()", !listenerImpl.actionTriggered());
+ }
+
+ /**
+ * Implementation for testing the XPrintJobBroadcaster interface:
+ * a listener to add.
+ */
+ public static class MyPrintJobListener implements XPrintJobListener {
+ boolean eventCalled = false;
+ // object to trigger the event
+ XPrintable xPrintable = null;
+ PropertyValue[]printProps = null;
+ String printFileName = null;
+
+ /**
+ * Constructor
+ * @param printable An object that can be cast to an XPrintable.
+ */
+ public MyPrintJobListener(Object printable, String printFileName) {
+ this.printFileName = printFileName;
+ xPrintable = UnoRuntime.queryInterface(XPrintable.class, printable);
+ printProps = new PropertyValue[2];
+ printProps[0] = new PropertyValue();
+ printProps[0].Name = "FileName";
+ printProps[0].Value = printFileName;
+ printProps[0].State = com.sun.star.beans.PropertyState.DEFAULT_VALUE;
+ printProps[1] = new PropertyValue();
+ printProps[1].Name = "Wait";
+ printProps[1].Value = Boolean.TRUE;
+ }
+
+ /**
+ * Has the action been triggered?
+ * @return True if "printJobEvent" has been called.
+ */
+ public boolean actionTriggered() {
+ return eventCalled;
+ }
+
+ /**
+ * Fire the event that calls the printJobEvent
+ */
+ public void fireEvent() {
+ try {
+ xPrintable.print(printProps);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ }
+ }
+
+ public void reset() {
+ File f = new File(printFileName);
+ if (f.exists()) {
+ boolean bDeleteOk = f.delete();
+ if (!bDeleteOk) {
+ System.out.println("delete failed");
+ }
+ }
+ eventCalled = false;
+ }
+
+ /**
+ * The print job event: has to be called when the action is triggered.
+ */
+ public void printJobEvent(PrintJobEvent printJobEvent) {
+ eventCalled = true;
+ }
+
+ /**
+ * Disposing event: ignore.
+ */
+ public void disposing(com.sun.star.lang.EventObject eventObject) {
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/view/_XPrintSettingsSupplier.java b/qadevOOo/tests/java/ifc/view/_XPrintSettingsSupplier.java
new file mode 100644
index 000000000..cb11b303d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XPrintSettingsSupplier.java
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.view;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.view.XPrintSettingsSupplier;
+
+
+/**
+ * Testing <code>com.sun.star.view.XPrintSettingsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getPrintSettings()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.view.XPrintSettingsSupplier
+ */
+public class _XPrintSettingsSupplier extends MultiMethodTest {
+
+ public XPrintSettingsSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getPrintSettings(){
+
+ XPropertySet oPSS = oObj.getPrintSettings();
+ tRes.tested("getPrintSettings()", oPSS != null);
+
+ } // finish _getPrintSettings
+
+} // finish class _XPrintSettingsSupplier
+
diff --git a/qadevOOo/tests/java/ifc/view/_XPrintable.java b/qadevOOo/tests/java/ifc/view/_XPrintable.java
new file mode 100644
index 000000000..06515f66d
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XPrintable.java
@@ -0,0 +1,179 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.view;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.utils;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.view.PaperOrientation;
+import com.sun.star.view.XPrintable;
+
+/**
+ * Testing <code>com.sun.star.view.XPrintable</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getPrinter()</code></li>
+ * <li><code> setPrinter()</code></li>
+ * <li><code> print()</code></li>
+ * </ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.view.XPrintable
+ */
+public class _XPrintable extends MultiMethodTest {
+
+ public XPrintable oObj = null;
+ public PropertyValue[] the_printer = null;
+
+ /**
+ * Test calls the method and stores returned value. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getPrinter(){
+
+ the_printer = oObj.getPrinter();
+ tRes.tested("getPrinter()",the_printer != null);
+ } // finish _getPrinter
+
+ /**
+ * Changes <code>PaperOrientation</code> property in the old
+ * printer configuration and sets changed value as a new printer.<p>
+ *
+ * Has <b> OK </b> status if the <code>getPrinter</code> method
+ * returns printer with changed property. <p>
+ *
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> getPrinter() </code> : to change one property
+ * in existing printer configuration. </li>
+ * </ul>
+ */
+ public void _setPrinter(){
+ requiredMethod("getPrinter()");
+ int propIdx = 0 ;
+ while (!"PaperOrientation".equals(the_printer[propIdx].Name)) {
+ propIdx++ ;
+ }
+ PaperOrientation newVal = null ;
+ if (the_printer[propIdx].Value == PaperOrientation.PORTRAIT)
+ newVal = PaperOrientation.LANDSCAPE ;
+ else
+ newVal = PaperOrientation.PORTRAIT ;
+
+ the_printer[propIdx].Value = newVal ;
+
+ try {
+ oObj.setPrinter(the_printer);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("couldn't set printer");
+ ex.printStackTrace(log);
+ tRes.tested("setPrinter()",false);
+ }
+
+ the_printer = oObj.getPrinter() ;
+
+ propIdx = 0 ;
+ while (!"PaperOrientation".equals(the_printer[propIdx].Name)) {
+ propIdx++ ;
+ }
+
+ boolean the_same = the_printer[propIdx].Value == newVal;
+ tRes.tested("setPrinter()", the_same);
+
+ } // finish _setPrinter
+
+ /**
+ * Printing performed into file in SOffice temp directory.
+ * First this file is deleted if it already exist (using
+ * <code>com.sun.star.ucb.SimpleFileAccess</code> service.
+ * After that the method with appropriate parameter is
+ * called.<p>
+ *
+ * Has <b> OK </b> status if the file to which printing is made
+ * exists. <p>
+ *
+ * @throws StatusException if service
+ * <code>com.sun.star.ucb.SimpleFileAccess</code> can't be
+ * created.
+ */
+ public void _print() throws Exception {
+ boolean result = true ;
+
+ final String file = "XPrintable.prt" ;
+ final String fileName = utils.getOfficeTempDirSys(tParam.getMSF())+file ;
+ final String fileURL = utils.getOfficeTemp(tParam.getMSF()) + file ;
+
+ Object oFAcc =
+ tParam.getMSF().createInstance
+ ("com.sun.star.ucb.SimpleFileAccess") ;
+ XSimpleFileAccess fAcc = UnoRuntime.queryInterface
+ (XSimpleFileAccess.class, oFAcc) ;
+ if (fAcc == null) throw new StatusException
+ (Status.failed("Can't create SimpleFileAccess service")) ;
+ if (fAcc.exists(fileURL)) {
+ log.println("Old file exists and will be deleted");
+ fAcc.kill(fileURL);
+ }
+
+ try {
+ PropertyValue[] PrintOptions = new PropertyValue[2];
+ PropertyValue firstProp = new PropertyValue();
+ firstProp.Name = "FileName";
+ log.println("Printing to :"+fileName);
+ firstProp.Value = fileName;
+ firstProp.State = com.sun.star.beans.PropertyState.DEFAULT_VALUE;
+ PrintOptions[0] = firstProp;
+ PrintOptions[1] = new PropertyValue();
+ PrintOptions[1].Name = "Wait";
+ PrintOptions[1].Value = Boolean.TRUE;
+ oObj.print(PrintOptions);
+ }
+ catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("couldn't print");
+ ex.printStackTrace(log);
+ result = false ;
+ }
+
+ try {
+ boolean fileExists = fAcc.exists(fileURL);
+
+ log.println("File "+fileName+" exists = "+fileExists);
+
+ if (result) {
+ result &= fileExists ;
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error while checking file '" +
+ fileURL + "': ");
+ e.printStackTrace(log);
+ result = false ;
+ }
+
+ tRes.tested("print()", result) ;
+
+ } // finish _print
+
+} // finish class _XPrintable
+
+
diff --git a/qadevOOo/tests/java/ifc/view/_XScreenCursor.java b/qadevOOo/tests/java/ifc/view/_XScreenCursor.java
new file mode 100644
index 000000000..aad7257e3
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XScreenCursor.java
@@ -0,0 +1,78 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.view;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.view.XScreenCursor;
+
+
+/**
+ * Testing <code>com.sun.star.view.XScreenCursor</code>
+ * interface methods :
+ * <ul>
+ * <li><code> screenDown()</code></li>
+ * <li><code> screenUp()</code></li>
+ * </ul> <p>
+ *
+ * Uses test parameter <b><code>soapi.test.hidewindows</code></b>.
+ * Methods of this interface works with view representation,
+ * thereby their calls have no effect when document is opened
+ * in hidden mode. <p>
+ *
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.view.XScreenCursor
+ */
+public class _XScreenCursor extends MultiMethodTest {
+
+ // oObj filled by MultiMethodTest
+
+ public XScreenCursor oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value or if document is
+ * opened in hidden mode.
+ */
+ public void _screenDown(){
+ log.println("test for screenDown() ");
+ tRes.tested("screenDown()", oObj.screenDown() );
+ }
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns
+ * <code>true</code> value or if document is
+ * opened in hidden mode.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> screenDown() </code> : by default view is on the
+ * top of page, thereby it's needed first to move down. </li>
+ * </ul>
+ */
+ public void _screenUp(){
+ requiredMethod("screenDown()") ;
+
+ log.println("test for screenUp() ");
+ tRes.tested("screenUp()", oObj.screenUp() );
+ }
+
+} // finish class _XScreenCursor
+
diff --git a/qadevOOo/tests/java/ifc/view/_XSelectionSupplier.java b/qadevOOo/tests/java/ifc/view/_XSelectionSupplier.java
new file mode 100644
index 000000000..0fa919d94
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XSelectionSupplier.java
@@ -0,0 +1,199 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.view;
+
+import com.sun.star.lang.EventObject;
+import com.sun.star.view.XSelectionChangeListener;
+import com.sun.star.view.XSelectionSupplier;
+import java.util.Comparator;
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+
+
+/**
+ * Testing <code>com.sun.star.view.XSelectionSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> select()</code></li>
+ * <li><code> getSelection()</code></li>
+ * <li><code> addSelectionChangeListener()</code></li>
+ * <li><code> removeSelectionChangeListener()</code></li>
+ * </ul>
+ * This test needs the following object relations :
+ * <ul>
+ * <li> <code>'Selections'</code> of type <code>Object[]</code> :
+ * the array of the instances which can be selected.</li>
+ * <li> <code>'Comparer'</code> of type <code>Comparator</code> :
+ * the interface for comparing of selected instances</li>
+ * <ul> <p>
+ * Test is <b> NOT </b> multithread compliant. <p>
+ * @see com.sun.star.view.XSelectionSupplier
+ */
+public class _XSelectionSupplier extends MultiMethodTest {
+
+ public XSelectionSupplier oObj = null;
+ public boolean selectionChanged = false;
+ Object[] selections = null;
+ Comparator<Object> ObjCompare = null;
+
+ @Override
+ protected void before() {
+ selections = (Object[])tEnv.getObjRelation("Selections");
+ if (selections == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get relation 'Selections'"));
+ }
+
+ ObjCompare = (Comparator<Object>)tEnv.getObjRelation("Comparer");
+ }
+
+ @Override
+ protected void after() {
+ disposeEnvironment();
+ }
+
+ /**
+ * Listener implementation which just set flag when listener
+ * method is called.
+ */
+ public class MyChangeListener implements XSelectionChangeListener {
+ public void disposing( EventObject oEvent ) {}
+ public void selectionChanged(EventObject ev) {
+ log.println("listener called");
+ selectionChanged = true;
+ }
+
+ }
+
+ XSelectionChangeListener listener = new MyChangeListener();
+
+ /**
+ * Test adds listener to the object, then selects first and
+ * then second instances to be sure that selection was changed.<p>
+ * Has <b>OK</b> status if selection listener was called.
+ */
+ public void _addSelectionChangeListener(){
+ boolean res = true;
+ try {
+ selectionChanged = false;
+ oObj.addSelectionChangeListener(listener);
+ oObj.select(selections[0]);
+ oObj.select(selections[1]);
+ res = selectionChanged;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred during addSelectionChangeListener()");
+ ex.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("addSelectionChangeListener()", res);
+ }
+
+ /**
+ * Selects an instance from relation 'First'. <p>
+ * Has <b> OK </b> status if no exceptions were thrown. <p>
+ */
+ public void _select() {
+ boolean res = true;
+ boolean locRes = true;
+ boolean compRes = true;
+ Object oldSelection = null;
+ try {
+ for(int i = 0; i < selections.length; i++) {
+ oldSelection = oObj.getSelection();
+ locRes = oObj.select(selections[i]);
+ log.println("select #" + i + ": " + locRes);
+ Object curSelection = oObj.getSelection();
+ if (locRes) {
+
+ if (ObjCompare != null) {
+ compRes = ObjCompare.compare(selections[i], curSelection) == 0;
+ } else {
+ compRes = util.ValueComparer.equalValue(selections[i], curSelection);
+ }
+ log.println("selected object and current selection are equal: "+compRes);
+ if (!compRes && (selections[i]) instanceof Object[]){
+ if (((Object[])selections[i])[0] instanceof Integer) {
+ log.println("Getting: "+((Integer) ((Object[])curSelection)[0]).intValue());
+ log.println("Expected: "+((Integer) ((Object[])selections[i])[0]).intValue());
+ }
+ }
+ res &= compRes;
+ } else {
+ compRes = util.ValueComparer.equalValue(curSelection, oldSelection);
+ log.println("previous selection and current selection are equal: "+compRes);
+ res &= compRes;
+ }
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred during select()");
+ ex.printStackTrace(log);
+ res = false;
+ }
+
+ tRes.tested("select()", res);
+ }
+
+ /**
+ * Test removes listener, then selects first and
+ * then second instances to be sure that selection was changed.<p>
+ * Has <b>OK</b> status if selection listener was not called.
+ * The following method tests are to be completed successfully before :
+ * <ul>
+ * <li> <code> addSelectionChangeListener() </code> : to have
+ * the listener added. </li>
+ * </ul>
+ */
+ public void _removeSelectionChangeListener() {
+ boolean res = false;
+ requiredMethod("addSelectionChangeListener()");
+ try {
+ selectionChanged = false;
+ oObj.removeSelectionChangeListener(listener);
+ oObj.select(selections[0]);
+ oObj.select(selections[1]);
+ res = !selectionChanged;
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("Exception occurred during removeSelectionChangeListener()");
+ ex.printStackTrace(log);
+ res = false;
+ }
+ tRes.tested("removeSelectionChangeListener()", res);
+ }
+
+ /**
+ * First test changes selection of the object : if nothing is
+ * currently selected or first instance ('First' relation) is
+ * selected then selects second instance; if second instance
+ * is currently selected then the first instance is selected. <p>
+ * Then <code>getSelection</code> is called and values set and
+ * get are compared. Comparison has some special cases. For
+ * example if selection is a Cell, then the values contained
+ * in cells are compared. <p>
+ * Has <b>OK</b> status if selection changed properly.
+ */
+ public void _getSelection() {
+ requiredMethod("select()");
+ tRes.tested("getSelection()", true);
+ }
+
+} // finish class _XSelectionSupplier
+
+
+
diff --git a/qadevOOo/tests/java/ifc/view/_XViewSettingsSupplier.java b/qadevOOo/tests/java/ifc/view/_XViewSettingsSupplier.java
new file mode 100644
index 000000000..e84a5b7b1
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/view/_XViewSettingsSupplier.java
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.view;
+
+import lib.MultiMethodTest;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.view.XViewSettingsSupplier;
+
+
+/**
+ * Testing <code>com.sun.star.view.XViewSettingsSupplier</code>
+ * interface methods :
+ * <ul>
+ * <li><code> getViewSettings()</code></li>
+ * </ul> <p>
+ * Test is multithread compliant. <p>
+ * @see com.sun.star.view.XViewSettingsSupplier
+ */
+public class _XViewSettingsSupplier extends MultiMethodTest {
+
+ public XViewSettingsSupplier oObj = null;
+
+ /**
+ * Test calls the method. <p>
+ * Has <b> OK </b> status if the method returns not
+ * <code>null</code> value.
+ */
+ public void _getViewSettings(){
+
+ XPropertySet oTVS = oObj.getViewSettings();
+ tRes.tested("getViewSettings()", oTVS != null);
+ } // finish _getViewSettings
+
+} // finish class _XViewSettingsSupplier
+
+
diff --git a/qadevOOo/tests/java/ifc/xml/_UserDefinedAttributesSupplier.java b/qadevOOo/tests/java/ifc/xml/_UserDefinedAttributesSupplier.java
new file mode 100644
index 000000000..28ff8a003
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/xml/_UserDefinedAttributesSupplier.java
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.xml;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.xml.AttributeData;
+
+public class _UserDefinedAttributesSupplier extends lib.MultiPropertyTest {
+
+ public void _UserDefinedAttributes() {
+ XNameContainer uda = null;
+ boolean res = false;
+ try {
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ AttributeData attr = new AttributeData();
+ attr.Namespace = "http://www.sun.com/staroffice/apitest/Chartprop";
+ attr.Type="CDATA";
+ attr.Value="true";
+ uda.insertByName("Chartprop:has-first-alien-attribute",attr);
+ uda.getElementNames();
+ oObj.setPropertyValue("UserDefinedAttributes",uda);
+ uda = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oObj.getPropertyValue("UserDefinedAttributes"));
+ uda.getElementNames();
+ uda.getByName("Chartprop:has-first-alien-attribute");
+ res = true;
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Don't know the Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("WrappedTargetException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.NoSuchElementException nee) {
+ log.println("added Element isn't part of the NameContainer");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("IllegalArgumentException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("PropertyVetoException while getting Property 'UserDefinedAttributes'");
+ } catch (com.sun.star.container.ElementExistException eee) {
+ log.println("ElementExistException while getting Property 'UserDefinedAttributes'");
+ }
+ tRes.tested("UserDefinedAttributes",res);
+ }
+
+}
diff --git a/qadevOOo/tests/java/ifc/xml/sax/_XDocumentHandler.java b/qadevOOo/tests/java/ifc/xml/sax/_XDocumentHandler.java
new file mode 100644
index 000000000..27daceaa8
--- /dev/null
+++ b/qadevOOo/tests/java/ifc/xml/sax/_XDocumentHandler.java
@@ -0,0 +1,392 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package ifc.xml.sax;
+
+import java.io.PrintWriter;
+
+import lib.MultiMethodTest;
+import lib.Status;
+import lib.StatusException;
+import util.XMLTools;
+
+import com.sun.star.xml.sax.SAXException;
+import com.sun.star.xml.sax.XDocumentHandler;
+import com.sun.star.xml.sax.XLocator;
+
+/**
+* Testing <code>com.sun.star.xml.sax.XDocumentHandler</code>
+* interface methods :
+* <ul>
+* <li><code> startDocument()</code></li>
+* <li><code> endDocument()</code></li>
+* <li><code> startElement()</code></li>
+* <li><code> endElement()</code></li>
+* <li><code> characters()</code></li>
+* <li><code> ignorableWhitespace()</code></li>
+* <li><code> processingInstruction()</code></li>
+* <li><code> setDocumentLocator()</code></li>
+* </ul> <p>
+* This test needs the following object relations :
+* <ul>
+* <li> <code>'XDocumentHandler.XMLData'</code> (of type <code>String[][]
+* </code>):the XML data which will be passed to the handler. Each
+* array of strings corresponds to some handler event. The first
+* string of event array is the type of the event they can have
+* the following values :
+* <ul>
+* <li>'start' : startElement() event. The string with index 1
+* is the name of element, the next array elements are attributes
+* of XML element in order Name, Type, Value, Name, Type, Value, etc.
+* </li>
+* <li>'end' : endElement() event. The string with index 1
+* is the name of element. </li>
+* <li>'chars' : characters() event. The string with index 1
+* is characters. </li>
+* <li>'spaces' : ignorableWhitespace() event. The string with index 1
+* is spaces. </li>
+* <li>'instruct' : processingInstruction() event. The string with
+* index 1 is the target of instruction. The string with index
+* 2 is the data of instruction. </li>
+* </ul> </li>
+* <li> <code>'XDocumentHandler.ImportChecker'</code>
+* (of type <code>ifc.xml.sax._XDocumentHandler.ImportChecker</code>) :
+* this relation must be implementation of the interface above
+* ant it must check if the XML data was successfully imported to
+* the document. </li>
+* </li>
+* Test is <b> NOT </b> multithread compliant. <p>
+* @see com.sun.star.xml.sax.XDocumentHandler
+*/
+public class _XDocumentHandler extends MultiMethodTest {
+
+ private static class DocumentLocator implements XLocator {
+ private final PrintWriter log;
+ public DocumentLocator(PrintWriter log) {
+ this.log = log ;
+ }
+ public int getColumnNumber() {
+ log.println("getColumnNumber() method called.") ;
+ return 10 ;
+ }
+ public int getLineNumber() {
+ log.println("getLineNumber() method called.") ;
+ return 9 ;
+ }
+ public String getPublicId() {
+ log.println("getPublicId() method called.") ;
+ return "file://d:/file.txt";
+ }
+ public String getSystemId() {
+ log.println("getSystemId() method called.") ;
+ return "system";
+ }
+ }
+
+ /**
+ * This interface implementation must be passed by component test
+ * for checking the whole import process.
+ */
+ public interface ImportChecker {
+ /**
+ * Returns <code>true</code> if the XML data was successfully
+ * imported, <code>false</code> in other case.
+ */
+ boolean checkImport() ;
+ }
+
+ /**
+ * This interface implementation must be passed by component test
+ * for setting a target document to the import process
+ */
+ public interface TargetDocumentSetter {
+
+ void setTargetDocument();
+ }
+
+ public XDocumentHandler oObj = null;
+ private String[][] xmlData = null ;
+ private DocumentLocator locator = null ;
+ private ImportChecker checker = null ;
+ private boolean locatorResult = true ;
+ private SAXException locatorException = null ;
+ private boolean ToBeSkipped = false;
+
+ /**
+ * Retrieves object relations.
+ * @throws StatusException If one of relations not found.
+ */
+ @Override
+ public void before() {
+ locator = new DocumentLocator(log) ;
+ if (tEnv.getTestCase().getObjectName().equals("XMLSettingsImporter")) {
+ log.println("Settings can't be imported in the current Implementation");
+ ToBeSkipped = true;
+ }
+ xmlData = (String[][])tEnv.getObjRelation("XDocumentHandler.XMLData") ;
+ checker = (ImportChecker)
+ tEnv.getObjRelation("XDocumentHandler.ImportChecker") ;
+
+ TargetDocumentSetter targetDocSet = (TargetDocumentSetter)
+ tEnv.getObjRelation("XDocumentHandler.TargetDocumentSetter");
+
+ if (xmlData == null || checker == null) throw new StatusException
+ (Status.failed("Relation wasn't found")) ;
+
+ if (targetDocSet == null){
+ log.println("object relation 'XDocumentHandler.TargetDocumentSetter' not used.");
+ log.println("be sure that the test have a target to write through");
+ }
+ }
+
+ /**
+ * Sets document locator to dummy locator implementation and
+ * calls the <code>startDocument</code> method. <p>
+ *
+ * Has <b> OK </b> status if no runtime exceptions occurred.
+ */
+ public void _startDocument() {
+ if (ToBeSkipped) {
+ tRes.tested("startDocument()", Status.skipped(true));
+ return;
+ }
+
+ try {
+ oObj.setDocumentLocator(locator) ;
+ } catch (SAXException e) {
+ locatorException = e ;
+ locatorResult = false ;
+ }
+
+ boolean result = true ;
+ try {
+ oObj.startDocument() ;
+ } catch (SAXException e) {
+ e.printStackTrace(log) ;
+ log.println("Wrapped exception :" + e.WrappedException) ;
+ result = false ;
+ }
+
+ tRes.tested("startDocument()", result) ;
+ }
+
+ /**
+ * This test is finally executed. It finishes XML data
+ * transferring with <code>endDocument</code> method call. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occurred during
+ * the whole transferring and if the appropriate changes
+ * occurred in the document where XML data was transferred to.
+ * This check is performed by checker relation.
+ */
+ public void _endDocument() {
+ if (ToBeSkipped) {
+ tRes.tested("endDocument()", Status.skipped(true));
+ return;
+ }
+ requiredMethod("startElement()") ;
+ executeMethod("endElement()") ;
+ executeMethod("characters()") ;
+ executeMethod("ignorableWhitespace()") ;
+ executeMethod("processingInstruction()") ;
+
+ boolean result = true ;
+ try {
+ oObj.endDocument() ;
+ } catch (SAXException e) {
+ e.printStackTrace(log) ;
+ log.println("Wrapped exception :" + e.WrappedException) ;
+ result = false ;
+ }
+
+ log.println("Check if import was successful ...") ;
+ result &= checker.checkImport() ;
+
+ tRes.tested("endDocument()", result) ;
+ }
+
+ /**
+ * Transfers XML data obtained from relation
+ * <code>'XDocumentHandler.XMLData'</code>. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occurred during XML data
+ * transferring in <code>startDocument</code> and
+ * <code>startElement</code> method tests. <p>
+ *
+ * Exact checking of XML transfer is made in <code>endDocument</code>
+ */
+ public void _startElement() {
+ if (ToBeSkipped) {
+ tRes.tested("startElement()", Status.skipped(true));
+ return;
+ }
+ boolean result = true ;
+
+ try {
+ log.println("StartElement Processing XML data ...") ;
+ for(int i = 0; i < xmlData.length; i++) {
+ String[] elem = xmlData[i] ;
+ if ("start".equals(elem[0])) {
+ StringBuilder xmlTag = new StringBuilder();
+ xmlTag.append("<");
+ String tagName = elem[1] ;
+ xmlTag.append(tagName);
+ XMLTools.AttributeList attr = new XMLTools.AttributeList() ;
+ for (int j = 2; j < elem.length; j+=3) {
+ attr.add(elem[j], elem[j+1], elem[j+2]);
+ xmlTag.append(" ").append(elem[j]).append("(").append(elem[j+1]).append(
+ ")=\"").append(elem[j+2]).append("\"");
+ }
+ xmlTag.append(">");
+
+ log.println(xmlTag.toString()) ;
+ oObj.startElement(tagName, attr) ;
+ } else
+ if ("end".equals(elem[0])) {
+ log.println("</" + elem[1] + ">") ;
+ oObj.endElement(elem[1]) ;
+ } else
+ if ("chars".equals(elem[0])) {
+ log.println("'" + elem[1] + "'") ;
+ oObj.characters(elem[1]) ;
+ } else
+ if ("spaces".equals(elem[0])) {
+ log.println("(spaces)'" + elem[1] + "'") ;
+ oObj.ignorableWhitespace(elem[1]) ;
+ } else
+ if ("instruct".equals(elem[0])) {
+ log.println("<?" + elem[1] + " " + elem[2] + "?>") ;
+ oObj.processingInstruction(elem[1], elem[2]) ;
+ } else {
+ log.println("!!! Bad object relation !!!") ;
+ throw new StatusException(Status.failed("Bad relation")) ;
+ }
+ }
+ } catch (SAXException e) {
+ e.printStackTrace(log) ;
+ log.println("Wrapped exception :" + e.WrappedException) ;
+ result = false ;
+ }
+
+ tRes.tested("startElement()", result) ;
+ }
+
+ /**
+ * Does nothing. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occurred during XML data
+ * transferring in <code>startDocument</code> and
+ * <code>startElement</code> method tests.
+ */
+ public void _endElement() {
+ if (ToBeSkipped) {
+ tRes.tested("endElement()", Status.skipped(true));
+ return;
+ }
+ requiredMethod("startElement()") ;
+
+ boolean result = true ;
+
+ tRes.tested("endElement()", result) ;
+ }
+
+ /**
+ * Does nothing. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occurred during XML data
+ * transferring in <code>startDocument</code> and
+ * <code>startElement</code> method tests.
+ */
+ public void _characters() {
+ if (ToBeSkipped) {
+ tRes.tested("characters()", Status.skipped(true));
+ return;
+ }
+ requiredMethod("startElement()") ;
+
+ boolean result = true ;
+
+ tRes.tested("characters()", result) ;
+ }
+
+ /**
+ * Does nothing. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occurred during XML data
+ * transferring in <code>startDocument</code> and
+ * <code>startElement</code> method tests.
+ */
+ public void _ignorableWhitespace() {
+ if (ToBeSkipped) {
+ tRes.tested("ignorableWhitespace()", Status.skipped(true));
+ return;
+ }
+ requiredMethod("startElement()") ;
+
+ boolean result = true ;
+
+ tRes.tested("ignorableWhitespace()", result) ;
+ }
+
+ /**
+ * Does nothing. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occurred during XML data
+ * transferring in <code>startDocument</code> and
+ * <code>startElement</code> method tests.
+ */
+ public void _processingInstruction() {
+ if (ToBeSkipped) {
+ tRes.tested("processingInstruction()", Status.skipped(true));
+ return;
+ }
+ requiredMethod("startElement()") ;
+
+ boolean result = true ;
+
+ tRes.tested("processingInstruction()", result) ;
+ }
+
+ /**
+ * Does nothing. <p>
+ *
+ * Has <b>OK</b> status if no exceptions occurred during XML data
+ * transferring in <code>startDocument</code> and
+ * <code>startElement</code> method tests.
+ */
+ public void _setDocumentLocator() {
+ if (ToBeSkipped) {
+ tRes.tested("setDocumentLocator()", Status.skipped(true));
+ return;
+ }
+ executeMethod("endDocument()") ;
+
+ boolean result = locatorResult ;
+ if (locatorException != null) {
+ log.println("Exception occurred during setDocumentLocator() call:") ;
+ locatorException.printStackTrace(log) ;
+ log.println("Wrapped exception :"
+ + locatorException.WrappedException) ;
+ result = false ;
+ }
+
+ tRes.tested("setDocumentLocator()", result) ;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_acceptor/Acceptor.java b/qadevOOo/tests/java/mod/_acceptor/Acceptor.java
new file mode 100644
index 000000000..0985a6aff
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_acceptor/Acceptor.java
@@ -0,0 +1,115 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._acceptor;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.uno.XInterface;
+
+/**
+* Here <code>com.sun.star.connection.Acceptor</code> service is tested.<p>
+* Test allows to run object tests in several threads concurrently.
+* @see com.sun.star.connection.Acceptor
+* @see com.sun.star.connection.XAcceptor
+* @see com.sun.star.connection.XConnector
+* @see ifc.connection._XAcceptor
+*/
+public class Acceptor extends TestCase {
+
+
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 10000;
+ private int curPort ;
+ private String sOfficeHost = null ;
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CONNECTION_STRING'</code>.
+ */
+ @Override
+ public void initialize( TestParameters tParam, PrintWriter log ) {
+ String cncstr = (String) tParam.get("CONNECTION_STRING") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. <p>
+ * Creates <code>Acceptor</code> service and passed as relation
+ * connection string where port for accepting is unique among
+ * different object test threads. <p>
+ * The following object relations are created :
+ * <ul>
+ * <li> <code>'XAcceptor.connectStr'</code> : String variable for
+ * <code>XAcceptor</code> interface test. Has the following format :
+ * <code>'socket,host=<SOHost>,port=<UniquePort>' where <SOHost> is
+ * the host where StarOffice is started. </li>
+ * <li> <code>'Acceptor.Port'</code> : Integer value which specifies
+ * port on which Acceptor must listen, and which is required
+ * when disposing environment, to free this port number. </li>
+ * <ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ XInterface acceptor = null;
+
+ acceptor = (XInterface)
+ Param.getMSF().createInstance
+ ("com.sun.star.connection.Acceptor");
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+ oObj = acceptor;
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // adding connection string as relation
+ tEnv.addObjRelation("XAcceptor.connectStr",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Acceptor.Port", Integer.valueOf(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ @Override
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+
+ curPort = ((Integer)tEnv.getObjRelation("Acceptor.Port")).intValue();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_acceptor/package.html b/qadevOOo/tests/java/mod/_acceptor/package.html
new file mode 100644
index 000000000..2f8205d1c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_acceptor/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'acceptor'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_acceptor/uno/Acceptor.java b/qadevOOo/tests/java/mod/_acceptor/uno/Acceptor.java
new file mode 100644
index 000000000..6cff44ff5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_acceptor/uno/Acceptor.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._acceptor.uno;
+
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+* Here <code>com.sun.star.connection.Acceptor</code> service is tested.<p>
+* Test allows to run object tests in several threads concurrently.
+* @see com.sun.star.connection.Acceptor
+* @see com.sun.star.connection.XAcceptor
+* @see com.sun.star.connection.XConnector
+* @see ifc.connection._XAcceptor
+*/
+public class Acceptor extends TestCase {
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 10000;
+ private int curPort ;
+ private String sOfficeHost = null ;
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CONNECTION_STRING'</code>.
+ */
+ @Override
+ public void initialize( TestParameters tParam, PrintWriter log ) {
+ String cncstr = (String) tParam.get("CONNECTION_STRING") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. <p>
+ * Creates <code>Acceptor</code> service and passed as relation
+ * connection string where port for accepting is unique among
+ * different object test threads. <p>
+ * The following object relations are created :
+ * <ul>
+ * <li> <code>'XAcceptor.connectStr'</code> : String variable for
+ * <code>XAcceptor</code> interface test. Has the following format :
+ * <code>'socket,host=<SOHost>,port=<UniquePort>' where <SOHost> is
+ * the host where StarOffice is started. </li>
+ * <li> <code>'Acceptor.Port'</code> : Integer value which specifies
+ * port on which Acceptor must listen, and which is required
+ * when disposing environment, to free this port number. </li>
+ * <ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface acceptor = (XInterface)
+ Param.getMSF().createInstance
+ ("com.sun.star.connection.Acceptor");
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ TestEnvironment tEnv = new TestEnvironment(acceptor) ;
+
+ // adding connection string as relation
+ tEnv.addObjRelation("XAcceptor.connectStr",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Acceptor.Port", Integer.valueOf(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ @Override
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+
+ curPort = ((Integer)tEnv.getObjRelation("Acceptor.Port")).intValue();
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_ado/ODriver.java b/qadevOOo/tests/java/mod/_ado/ODriver.java
new file mode 100644
index 000000000..de3de8cbb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ado/ODriver.java
@@ -0,0 +1,89 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ado;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.XInterface;
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurrently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see com.sun.star.sdbcx.XCreateCatalog
+* @see com.sun.star.sdbcx.XDropCatalog
+* @see ifc.sdbc._XDriver
+* @see ifc.sdbcx._XCreateCatalog
+* @see ifc.sdbcx._XDropCatalog
+*/
+public class ODriver extends TestCase {
+ /**
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>ado.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments.
+ * </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().
+ createInstance("com.sun.star.comp.sdbc.ado.ODriver");
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String adoURL = (String) Param.get("ado.url");
+ if (adoURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'ado.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:ado:" + adoURL);
+
+ PropertyValue[] info = new PropertyValue[0];
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_basctl/AccessibleShape.java b/qadevOOo/tests/java/mod/_basctl/AccessibleShape.java
new file mode 100644
index 000000000..8a2bd9917
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_basctl/AccessibleShape.java
@@ -0,0 +1,135 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+
+package mod._basctl;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatchHelper;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.WriterTools;
+import util.utils;
+
+public class AccessibleShape extends TestCase {
+
+ XTextDocument xTextDoc = null;
+ XInterface oObj = null;
+
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("Cleaning up");
+ DesktopTools.closeDoc(xTextDoc);
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object o = xMSF.createInstance("com.sun.star.frame.Desktop");
+ XDesktop xDesk = UnoRuntime.queryInterface(XDesktop.class, o);
+ DesktopTools.closeDoc(xDesk.getCurrentFrame());
+ } catch (Exception e) {
+ log.println("Couldn't close IDE");
+ }
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(final TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ log.println( "creating a test environment" );
+ String aURL=utils.getFullTestURL("basDialog.odt");
+ xTextDoc = WriterTools.loadTextDoc(xMSF,aURL);
+ XModel xModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+ XFrame xFrame = xModel.getCurrentController().getFrame();
+ XDispatchProvider xDPP = UnoRuntime.queryInterface(XDispatchProvider.class, xFrame);
+
+ log.println( "opening the basic dialog editor" );
+ Object o = xMSF.createInstance("com.sun.star.frame.DispatchHelper");
+ XDispatchHelper xDPH = UnoRuntime.queryInterface(XDispatchHelper.class, o);
+ PropertyValue[] aArgs = new PropertyValue[4];
+ aArgs[0] = new PropertyValue();
+ aArgs[0].Name = "Document";
+ aArgs[0].Value = aURL;
+ aArgs[1] = new PropertyValue();
+ aArgs[1].Name = "LibName";
+ aArgs[1].Value = "basctl";
+ aArgs[2] = new PropertyValue();
+ aArgs[2].Name = "Name";
+ aArgs[2].Value = "Dialog1";
+ aArgs[3] = new PropertyValue();
+ aArgs[3].Name = "Type";
+ aArgs[3].Value = "Dialog";
+ xDPH.executeDispatch(xDPP, ".uno:BasicIDEAppear", "", 0, aArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ oObj = (XInterface) tParam.getMSF().createInstance
+ ("com.sun.star.awt.Toolkit") ;
+
+ final XWindow basicIDE = xFrame.getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(basicIDE);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.SHAPE);
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ tEnv.addObjRelation("Destroy", Boolean.TRUE);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle oldPosSize = basicIDE.getPosSize();
+ Rectangle newPosSize = new Rectangle();
+ newPosSize.Width = oldPosSize.Width/2;
+ newPosSize.Height = oldPosSize.Height/2;
+ newPosSize.X = oldPosSize.X + 20;
+ newPosSize.Y = oldPosSize.Y + 20;
+ basicIDE.setPosSize(newPosSize.X, newPosSize.Y, newPosSize.Width,
+ newPosSize.Height, PosSize.POSSIZE);
+ util.utils.waitForEventIdle(tParam.getMSF());
+ basicIDE.setPosSize(oldPosSize.X, oldPosSize.Y, oldPosSize.Width,
+ oldPosSize.Height, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ }
+
+
+
+}
diff --git a/qadevOOo/tests/java/mod/_brdgfctr/BridgeFactory.java b/qadevOOo/tests/java/mod/_brdgfctr/BridgeFactory.java
new file mode 100644
index 000000000..1957f9d6b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_brdgfctr/BridgeFactory.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._brdgfctr;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.uno.XInterface;
+
+/**
+* Tests <code>com.sun.star.bridge.BridgeFactory</code>
+* service. <p>
+* @see com.sun.star.bridge.XBridgeFactory
+* @see com.sun.star.lang.XComponent
+* @see ifc.bridge._XBridgeFactory
+* @see ifc.lang._XComponent
+*/
+public class BridgeFactory extends TestCase {
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CONNECTION_STRING'</code>.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ String cncstr = (String) tParam.get("CONNECTION_STRING") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ }
+
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 50003 ;
+ private int curPort ;
+ private static String sOfficeHost = null ;
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Just creates <code>com.sun.star.bridge.BridgeFactory</code>
+ * service as object to be tested.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+
+ XInterface oObj = (XInterface) Param.getMSF().createInstance
+ ("com.sun.star.bridge.BridgeFactory") ;
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ // adding connection string as relation
+ tEnv.addObjRelation("CNNCTSTR",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Connector.Port", Integer.valueOf(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ @Override
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+ curPort = ((Integer)tEnv.getObjRelation("Connector.Port")).intValue() ;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_brdgfctr/package.html b/qadevOOo/tests/java/mod/_brdgfctr/package.html
new file mode 100644
index 000000000..40dbd15bd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_brdgfctr/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'brdgfctr'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_bridgefac/uno/BridgeFactory.java b/qadevOOo/tests/java/mod/_bridgefac/uno/BridgeFactory.java
new file mode 100644
index 000000000..1860e3638
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_bridgefac/uno/BridgeFactory.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._bridgefac.uno;
+
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+* Tests <code>com.sun.star.bridge.BridgeFactory</code>
+* service. <p>
+* @see com.sun.star.bridge.XBridgeFactory
+* @see com.sun.star.lang.XComponent
+* @see ifc.bridge._XBridgeFactory
+* @see ifc.lang._XComponent
+*/
+public class BridgeFactory extends TestCase {
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CONNECTION_STRING'</code>.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ String cncstr = (String) tParam.get("CONNECTION_STRING") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ }
+
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 50003 ;
+ private int curPort ;
+ private static String sOfficeHost = null ;
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Just creates <code>com.sun.star.bridge.BridgeFactory</code>
+ * service as object to be tested.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = (XInterface)
+ Param.getMSF().createInstance
+ ("com.sun.star.bridge.BridgeFactory") ;
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ // adding connection string as relation
+ tEnv.addObjRelation("CNNCTSTR",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Connector.Port", Integer.valueOf(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ @Override
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+ curPort = ((Integer)tEnv.getObjRelation("Connector.Port")).intValue() ;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_bridgefac/uno/package.html b/qadevOOo/tests/java/mod/_bridgefac/uno/package.html
new file mode 100644
index 000000000..40dbd15bd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_bridgefac/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'brdgfctr'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_cached/CachedContentResultSetFactory.java b/qadevOOo/tests/java/mod/_cached/CachedContentResultSetFactory.java
new file mode 100644
index 000000000..89d57f1e9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cached/CachedContentResultSetFactory.java
@@ -0,0 +1,148 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._cached;
+
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.NumberedSortingInfo;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.OpenMode;
+import com.sun.star.ucb.XCachedContentResultSetStubFactory;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.AnyConverter;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.CachedContentResultSetFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XCachedContentResultSetFactory</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.ucb.XCachedContentResultSetFactory
+* @see com.sun.star.ucb.CachedContentResultSetFactory
+* @see ifc.ucb._XCachedContentResultSetFactory
+*/
+public class CachedContentResultSetFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.CachedContentResultSetFactory</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CachedContentResultSetStub'</code> for
+ * {@link ifc.ucb._XCachedContentResultSetFactory} : the destination
+ * interface requires as its parameter an instance of
+ * <code>CachedContentResultSetStub</code> service. It is created
+ * using <code>UniversalContentBroker</code> and querying it for
+ * <code>PackageContent</code> which represents JAR file mentioned
+ * above. Then the dynamic list of file contents (entries) is retrieved,
+ * and a static list is created from it. Using
+ * <code>CachedContentResultSetStubFactory</code> service a stub of
+ * Cached result set is created which is relation required.
+ * </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.CachedContentResultSetFactory" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // creating relation for XCachedContentResultSetFactory
+ XResultSet resSetStub = null ;
+ Object oUCB = xMSF.createInstanceWithArguments
+ ("com.sun.star.ucb.UniversalContentBroker",
+ new Object[0]) ;
+
+ XContentIdentifierFactory ciFac = UnoRuntime.queryInterface(XContentIdentifierFactory.class, oUCB) ;
+
+ String url = util.utils.getFullTestURL("SwXTextEmbeddedObject.sxw") ;
+ StringBuilder escUrl = new StringBuilder();
+
+ // In base URL of a JAR file in content URL all directory
+ // separators ('/') must be replaced with escape symbol '%2F'.
+ int idx = url.indexOf("/") ;
+ int lastIdx = -1 ;
+ while (idx >= 0) {
+ escUrl.append(url.substring(lastIdx + 1, idx)).append("%2F");
+ lastIdx = idx ;
+ idx = url.indexOf("/", idx + 1) ;
+ }
+ escUrl.append(url.substring(lastIdx + 1));
+ String cntUrl = "vnd.sun.star.pkg://" + escUrl.toString() + "/" ;
+
+ XContentIdentifier CI = ciFac.createContentIdentifier(cntUrl) ;
+
+ XContentProvider cntProv = UnoRuntime.queryInterface(XContentProvider.class, oUCB) ;
+
+ XContent cnt = cntProv.queryContent(CI) ;
+
+ XCommandProcessor cmdProc = UnoRuntime.queryInterface(XCommandProcessor.class, cnt) ;
+
+ Property prop = new Property() ;
+ prop.Name = "Title" ;
+
+ Command cmd = new Command("open", -1, new OpenCommandArgument2
+ (OpenMode.ALL, 10000, null, new Property[] {prop},
+ new NumberedSortingInfo[0])) ;
+
+ XDynamicResultSet dynResSet = (XDynamicResultSet)
+ AnyConverter.toObject(new Type(XDynamicResultSet.class),
+ cmdProc.execute(cmd, 0, null));
+
+ XResultSet resSet = dynResSet.getStaticResultSet() ;
+
+ Object oStubFactory = xMSF.createInstance
+ ("com.sun.star.ucb.CachedContentResultSetStubFactory") ;
+
+ XCachedContentResultSetStubFactory xStubFactory =
+ UnoRuntime.queryInterface
+ (XCachedContentResultSetStubFactory.class, oStubFactory) ;
+
+ resSetStub = xStubFactory.createCachedContentResultSetStub(resSet) ;
+
+ tEnv.addObjRelation("CachedContentResultSetStub", resSetStub) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_cached/CachedContentResultSetStubFactory.java b/qadevOOo/tests/java/mod/_cached/CachedContentResultSetStubFactory.java
new file mode 100644
index 000000000..9e7a557d1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cached/CachedContentResultSetStubFactory.java
@@ -0,0 +1,138 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._cached;
+
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.NumberedSortingInfo;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.OpenMode;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.AnyConverter;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.CachedContentResultSetStubFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XCachedContentResultSetStubFactory</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.ucb.XCachedContentResultSetStubFactory
+* @see com.sun.star.ucb.CachedContentResultSetStubFactory
+* @see ifc.ucb._XCachedContentResultSetStubFactory
+*/
+public class CachedContentResultSetStubFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.CachedContentResultSetStubFactory</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ContentResultSet'</code> for
+ * {@link ifc.ucb._XCachedContentResultSetStubFactory} : the destination
+ * interface requires as its parameter an instance of
+ * <code>ContentResultSet</code> service. It is created
+ * using <code>UniversalContentBroker</code> and querying it for
+ * <code>PackageContent</code> which represents JAR file mentioned
+ * above. Then the dynamic list of file contents (entries) is retrieved,
+ * and a static list is created from it. It represents
+ * <code>ContentResultSet</code> service instance required.
+ * </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.CachedContentResultSetStubFactory" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // creating relation for XCachedContentResultSetStubFactory
+ XResultSet resSet = null ;
+ Object oUCB = xMSF.createInstanceWithArguments
+ ("com.sun.star.ucb.UniversalContentBroker",
+ new Object[0]) ;
+
+ XContentIdentifierFactory ciFac = UnoRuntime.queryInterface(XContentIdentifierFactory.class, oUCB) ;
+
+ String url = util.utils.getFullTestURL("SwXTextEmbeddedObject.sxw") ;
+ StringBuilder escUrl = new StringBuilder();
+
+ // In base URL of a JAR file in content URL all directory
+ // separators ('/') must be replaced with escape symbol '%2F'.
+ int idx = url.indexOf("/") ;
+ int lastIdx = -1 ;
+ while (idx >= 0) {
+ escUrl.append(url.substring(lastIdx + 1, idx)).append("%2F");
+ lastIdx = idx ;
+ idx = url.indexOf("/", idx + 1) ;
+ }
+ escUrl.append(url.substring(lastIdx + 1));
+ String cntUrl = "vnd.sun.star.pkg://" + escUrl.toString() + "/" ;
+ log.println("Getting Content of '" + cntUrl + "'") ;
+
+ XContentIdentifier CI = ciFac.createContentIdentifier(cntUrl) ;
+
+ XContentProvider cntProv = UnoRuntime.queryInterface(XContentProvider.class, oUCB) ;
+
+ XContent cnt = cntProv.queryContent(CI) ;
+
+ XCommandProcessor cmdProc = UnoRuntime.queryInterface(XCommandProcessor.class, cnt) ;
+
+ Property prop = new Property() ;
+ prop.Name = "Title" ;
+
+ Command cmd = new Command("open", -1, new OpenCommandArgument2
+ (OpenMode.ALL, 10000, null, new Property[] {prop},
+ new NumberedSortingInfo[0])) ;
+
+ XDynamicResultSet dynResSet = (XDynamicResultSet)
+ AnyConverter.toObject(new Type(XDynamicResultSet.class),
+ cmdProc.execute(cmd, 0, null));
+
+ resSet = dynResSet.getStaticResultSet() ;
+
+ tEnv.addObjRelation("ContentResultSet", resSet) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetFactory.java b/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetFactory.java
new file mode 100644
index 000000000..87d13d6d3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetFactory.java
@@ -0,0 +1,145 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._cached;
+
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.NumberedSortingInfo;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.OpenMode;
+import com.sun.star.ucb.XCachedDynamicResultSetStubFactory;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.AnyConverter;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.CachedDynamicResultSetFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XCachedDynamicResultSetFactory</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.ucb.XCachedDynamicResultSetFactory
+* @see com.sun.star.ucb.CachedDynamicResultSetFactory
+* @see ifc.ucb._XCachedDynamicResultSetFactory
+*/
+public class CachedDynamicResultSetFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.CachedDynamicResultSetFactory</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CachedDynamicResultSetStub'</code> for
+ * {@link ifc.ucb._XCachedDynamicResultSetFactory} : the destination
+ * interface requires as its parameter an instance of
+ * <code>CachedDynamicResultSetStub</code> service. It is created
+ * using <code>UniversalContentBroker</code> and querying it for
+ * <code>PackageContent</code> which represents JAR file mentioned
+ * above. Then the dynamic list of file contents (entries) is retrieved.
+ * Using <code>CachedDynamicResultSetStubFactory</code> service a stub of
+ * Cached result set is created which is relation required.
+ * </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.CachedDynamicResultSetFactory" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // creating relation for XCachedDynamicResultSetFactory
+ XDynamicResultSet resSetStub = null ;
+ Object oUCB = xMSF.createInstanceWithArguments
+ ("com.sun.star.ucb.UniversalContentBroker",
+ new Object[0]) ;
+
+ XContentIdentifierFactory ciFac = UnoRuntime.queryInterface(XContentIdentifierFactory.class, oUCB) ;
+
+ String url = util.utils.getFullTestURL("SwXTextEmbeddedObject.sxw") ;
+ StringBuilder escUrl = new StringBuilder();
+
+ // In base URL of a JAR file in content URL all directory
+ // separators ('/') must be replaced with escape symbol '%2F'.
+ int idx = url.indexOf("/") ;
+ int lastIdx = -1 ;
+ while (idx >= 0) {
+ escUrl.append(url.substring(lastIdx + 1, idx)).append("%2F");
+ lastIdx = idx ;
+ idx = url.indexOf("/", idx + 1) ;
+ }
+ escUrl.append(url.substring(lastIdx + 1));
+ String cntUrl = "vnd.sun.star.pkg://" + escUrl.toString() + "/" ;
+
+ XContentIdentifier CI = ciFac.createContentIdentifier(cntUrl) ;
+
+ XContentProvider cntProv = UnoRuntime.queryInterface(XContentProvider.class, oUCB) ;
+
+ XContent cnt = cntProv.queryContent(CI) ;
+
+ XCommandProcessor cmdProc = UnoRuntime.queryInterface(XCommandProcessor.class, cnt) ;
+
+ Property prop = new Property() ;
+ prop.Name = "Title" ;
+
+ Command cmd = new Command("open", -1, new OpenCommandArgument2
+ (OpenMode.ALL, 10000, null, new Property[] {prop},
+ new NumberedSortingInfo[0])) ;
+
+ XDynamicResultSet dynResSet = (XDynamicResultSet)
+ AnyConverter.toObject(new Type(XDynamicResultSet.class),
+ cmdProc.execute(cmd, 0, null));
+
+ Object oStubFactory = xMSF.createInstance
+ ("com.sun.star.ucb.CachedDynamicResultSetStubFactory") ;
+
+ XCachedDynamicResultSetStubFactory xStubFactory =
+ UnoRuntime.queryInterface
+ (XCachedDynamicResultSetStubFactory.class, oStubFactory) ;
+
+ resSetStub =
+ xStubFactory.createCachedDynamicResultSetStub(dynResSet) ;
+
+ tEnv.addObjRelation("CachedDynamicResultSetStub", resSetStub) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetStubFactory.java b/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetStubFactory.java
new file mode 100644
index 000000000..5249b8e26
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cached/CachedDynamicResultSetStubFactory.java
@@ -0,0 +1,131 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._cached;
+
+import com.sun.star.beans.Property;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.Command;
+import com.sun.star.ucb.NumberedSortingInfo;
+import com.sun.star.ucb.OpenCommandArgument2;
+import com.sun.star.ucb.OpenMode;
+import com.sun.star.ucb.XCommandProcessor;
+import com.sun.star.ucb.XContent;
+import com.sun.star.ucb.XContentIdentifier;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.ucb.XContentProvider;
+import com.sun.star.ucb.XDynamicResultSet;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.AnyConverter;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.CachedDynamicResultSetStubFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XCachedDynamicResultSetStubFactory</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.ucb.XCachedDynamicResultSetStubFactory
+* @see com.sun.star.ucb.CachedDynamicResultSetStubFactory
+* @see ifc.ucb._XCachedDynamicResultSetStubFactory
+*/
+public class CachedDynamicResultSetStubFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.CachedDynamicResultSetStubFactory</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DynamicResultSet'</code> for
+ * {@link ifc.ucb._XCachedDynamicResultSetStubFactory} : the destination
+ * interface requires as its parameter an instance of
+ * <code>DynamicResultSet</code> service. It is created
+ * using <code>UniversalContentBroker</code> and querying it for
+ * <code>PackageContent</code> which represents JAR file mentioned
+ * above. Then the dynamic list of file contents (entries) is retrieved.
+ * </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.CachedDynamicResultSetStubFactory" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // creating relation for XCachedDynamicResultSetStubFactory
+ XDynamicResultSet dynResSet = null ;
+ Object oUCB = xMSF.createInstanceWithArguments
+ ("com.sun.star.ucb.UniversalContentBroker",
+ new Object[0]) ;
+
+ XContentIdentifierFactory ciFac = UnoRuntime.queryInterface(XContentIdentifierFactory.class, oUCB) ;
+
+ String url = util.utils.getFullTestURL("SwXTextEmbeddedObject.sxw") ;
+ StringBuilder escUrl = new StringBuilder();
+
+ // In base URL of a JAR file in content URL all directory
+ // separators ('/') must be replaced with escape symbol '%2F'.
+ int idx = url.indexOf("/") ;
+ int lastIdx = -1 ;
+ while (idx >= 0) {
+ escUrl.append(url.substring(lastIdx + 1, idx)).append("%2F");
+ lastIdx = idx ;
+ idx = url.indexOf("/", idx + 1) ;
+ }
+ escUrl.append(url.substring(lastIdx + 1));
+ String cntUrl = "vnd.sun.star.pkg://" + escUrl.toString() + "/" ;
+
+ XContentIdentifier CI = ciFac.createContentIdentifier(cntUrl) ;
+
+ XContentProvider cntProv = UnoRuntime.queryInterface(XContentProvider.class, oUCB) ;
+
+ XContent cnt = cntProv.queryContent(CI) ;
+
+ XCommandProcessor cmdProc = UnoRuntime.queryInterface(XCommandProcessor.class, cnt) ;
+
+ Property prop = new Property() ;
+ prop.Name = "Title" ;
+
+ Command cmd = new Command("open", -1, new OpenCommandArgument2
+ (OpenMode.ALL, 10000, null, new Property[] {prop},
+ new NumberedSortingInfo[0])) ;
+
+ dynResSet = (XDynamicResultSet)
+ AnyConverter.toObject(new Type(XDynamicResultSet.class),
+ cmdProc.execute(cmd, 0, null));
+
+ tEnv.addObjRelation("DynamicResultSet", dynResSet) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_cmdmail/SimpleCommandMail.java b/qadevOOo/tests/java/mod/_cmdmail/SimpleCommandMail.java
new file mode 100644
index 000000000..046557645
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cmdmail/SimpleCommandMail.java
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._cmdmail;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+public class SimpleCommandMail extends TestCase {
+
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.system.SimpleCommandMail" );
+
+ if (oInterface == null) log.println("!!! NULL !!!") ;
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_cnt/ChaosContentProvider.java b/qadevOOo/tests/java/mod/_cnt/ChaosContentProvider.java
new file mode 100644
index 000000000..3d8338077
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cnt/ChaosContentProvider.java
@@ -0,0 +1,89 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._cnt;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.cnt.ChaosContentProvider</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XContentProvider</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.ucb.XContentProvider
+* @see com.sun.star.ucb.ChaosContentProvider
+* @see ifc.ucb._XContentProvider
+*/
+public class ChaosContentProvider extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.cnt.ChaosContentProvider</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FACTORY'</code> for
+ * {@link ifc.ucb._XContentProvider} factory for
+ * content identifiers. Here it is
+ * <code>UniversalContentBroker</code> service.</li>
+ * <li> <code>'CONTENT1'</code> for
+ * {@link ifc.ucb._XContentProvider}: suitable
+ * content URL for this provider </li>
+ * <li> <code>'CONTENT2'</code> for
+ * {@link ifc.ucb._XContentProvider}: another suitable
+ * content URL for this provider </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.ChaosContentProvider" );
+ Object cntFactory = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XContentProvider
+ XContentIdentifierFactory CIF = UnoRuntime.queryInterface(XContentIdentifierFactory.class, cntFactory);
+
+ tEnv.addObjRelation("FACTORY", CIF) ;
+ tEnv.addObjRelation("CONTENT1", "ftp://localhost") ;
+ tEnv.addObjRelation("CONTENT2", "ftp://sva.dorms.spbu.ru") ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_cnt/CntUnoDataContainer.java b/qadevOOo/tests/java/mod/_cnt/CntUnoDataContainer.java
new file mode 100644
index 000000000..8fc8cd0d9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cnt/CntUnoDataContainer.java
@@ -0,0 +1,112 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._cnt;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.cnt.CntUnoDataContainer</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* <li> <code>com::sun::star::container::XIndexContainer</code></li>
+* <li> <code>com::sun::star::ucb::XDataContainer</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexReplace</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.io.XActiveDataSink
+* @see com.sun.star.container.XIndexContainer
+* @see com.sun.star.ucb.XDataContainer
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XIndexReplace
+* @see ifc.io._XActiveDataSink
+* @see ifc.container._XIndexContainer
+* @see ifc.ucb._XDataContainer
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XIndexReplace
+*/
+public class CntUnoDataContainer extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.cnt.CntUnoDataContainer</code> and adds
+ * to it one <code>CntUnoDataContainer</code> instance. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'INSTANCE1'</code> for
+ * {@link ifc.container._XIndexContainer},
+ * {@link ifc.container._XIndexReplace} : for this object
+ * elements contained in it are <code>CntUnoDataContainer</code>
+ * instances. (only one relation for one interface thread is now
+ * passed).</li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink} : a stream to set and get.
+ * </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.DataContainer" );
+
+ // adding one child container
+ XIndexContainer xIC = UnoRuntime.queryInterface
+ (XIndexContainer.class, oInterface) ;
+
+ Object child = xMSF.createInstance
+ ( "com.sun.star.ucb.DataContainer" );
+ xIC.insertByIndex(0, child) ;
+
+ Object relationContainer = xMSF.createInstance
+ ( "com.sun.star.ucb.DataContainer" );
+
+ Object xIn = xMSF.createInstance
+ ( "com.sun.star.io.DataInputStream" );
+
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("INSTANCE1", relationContainer) ;
+ tEnv.addObjRelation("InputStream", xIn) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class BreakIterator
+
diff --git a/qadevOOo/tests/java/mod/_cnt/PropertyMatcherFactory.java b/qadevOOo/tests/java/mod/_cnt/PropertyMatcherFactory.java
new file mode 100644
index 000000000..93807fe5f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cnt/PropertyMatcherFactory.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._cnt;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.cnt.CntUnoDataContainer</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XPropertyMatcherFactory</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.ucb.XPropertyMatcherFactory
+* @see com.sun.star.ucb.PropertyMatcherFactory
+* @see ifc.ucb._XPropertyMatcherFactory
+*/
+public class PropertyMatcherFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.cnt.PropertyMatcherFactory</code>. <p>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.PropertyMatcherFactory" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_configmgr/ConfigurationProvider.java b/qadevOOo/tests/java/mod/_configmgr/ConfigurationProvider.java
new file mode 100644
index 000000000..dc114804e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_configmgr/ConfigurationProvider.java
@@ -0,0 +1,44 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._configmgr;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.uno.XComponentContext;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import java.io.PrintWriter;
+
+public final class ConfigurationProvider extends TestCase {
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception
+ {
+ // Create a non-default ConfigurationProvider instance, so that testing
+ // its XComponent.dispose does not accidentally dispose the
+ // DefaultProvider:
+ XComponentContext ctxt = tParam.getComponentContext();
+ return ProviderTestEnvironment.create(
+ ctxt.getServiceManager().createInstanceWithArgumentsAndContext(
+ "com.sun.star.configuration.ConfigurationProvider",
+ new Object[] { new NamedValue("Locale", "*") },
+ ctxt));
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_configmgr/DefaultProvider.java b/qadevOOo/tests/java/mod/_configmgr/DefaultProvider.java
new file mode 100644
index 000000000..2a11a9b51
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_configmgr/DefaultProvider.java
@@ -0,0 +1,40 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._configmgr;
+
+import com.sun.star.configuration.theDefaultProvider;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.XInterface;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import java.io.PrintWriter;
+
+public final class DefaultProvider extends TestCase {
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log)
+ {
+ return ProviderTestEnvironment.create(
+ AnyConverter.toObject(
+ XInterface.class,
+ theDefaultProvider.get(tParam.getComponentContext())));
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_configmgr/ProviderTestEnvironment.java b/qadevOOo/tests/java/mod/_configmgr/ProviderTestEnvironment.java
new file mode 100644
index 000000000..7e0eb2f96
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_configmgr/ProviderTestEnvironment.java
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._configmgr;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.uno.XInterface;
+import lib.TestEnvironment;
+
+final class ProviderTestEnvironment {
+ private ProviderTestEnvironment() {}
+
+ public static TestEnvironment create(Object provider) {
+ TestEnvironment env = new TestEnvironment((XInterface) provider);
+ env.addObjRelation(
+ "XMSF.serviceNamesWithArgs",
+ new String[] {
+ "com.sun.star.configuration.ConfigurationAccess",
+ "com.sun.star.configuration.ConfigurationUpdateAccess" });
+ Object[] args = new Object[] {
+ new NamedValue("nodepath", "/org.openoffice.Setup") };
+ env.addObjRelation("XMSF.Args", new Object[][] { args, args });
+ env.addObjRelation(
+ "needArgs", "com.sun.star.configuration.ConfigurationProvider");
+ return env;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_connector/uno/Connector.java b/qadevOOo/tests/java/mod/_connector/uno/Connector.java
new file mode 100644
index 000000000..17b0c4e73
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_connector/uno/Connector.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._connector.uno;
+
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.connection.Connector</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::connection::XConnector</code></li>
+* </ul>
+* Can be run in several threads.
+* @see com.sun.star.connection.XConnector
+* @see ifc.connection._XConnector
+*/
+public class Connector extends TestCase {
+
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 10000 ;
+ private int curPort ;
+ private static String sOfficeHost = null ;
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CONNECTION_STRING'</code>.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ String cncstr = (String) tParam.get("CONNECTION_STRING") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ /**
+ * Does nothing.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Just creates service <code>com.sun.star.connection.Connector</code>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface connector = (XInterface)
+ Param.getMSF().createInstance
+ ("com.sun.star.connection.Connector") ;
+
+ TestEnvironment tEnv = new TestEnvironment(connector) ;
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ // adding connection string as relation
+ tEnv.addObjRelation("XConnector.connectStr",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Connector.Port", Integer.valueOf(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ @Override
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+
+ curPort = ((Integer)tEnv.getObjRelation("Connector.Port")).intValue();
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_connector/uno/package.html b/qadevOOo/tests/java/mod/_connector/uno/package.html
new file mode 100644
index 000000000..c9ff7b2b5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_connector/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'connector'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_connectr/Connector.java b/qadevOOo/tests/java/mod/_connectr/Connector.java
new file mode 100644
index 000000000..3128ef468
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_connectr/Connector.java
@@ -0,0 +1,108 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._connectr;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.connection.Connector</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::connection::XConnector</code></li>
+* </ul>
+* Can be run in several threads.
+* @see com.sun.star.connection.XConnector
+* @see ifc.connection._XConnector
+*/
+public class Connector extends TestCase {
+
+ /**
+ * Acceptor chooses the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 10000 ;
+ private int curPort ;
+ private static String sOfficeHost = null ;
+
+ /**
+ * Retrieves host name where StarOffice is started from test
+ * parameter <code>'CONNECTION_STRING'</code>.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ String cncstr = (String) tParam.get("CONNECTION_STRING") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+ sOfficeHost = cncstr.substring(idx, cncstr.indexOf(",", idx)) ;
+ }
+
+ /**
+ * Does nothing.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Just creates service <code>com.sun.star.connection.Connector</code>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+ XInterface connector = (XInterface)
+ Param.getMSF().createInstance
+ ("com.sun.star.connection.Connector") ;
+
+ TestEnvironment tEnv = new TestEnvironment(connector) ;
+
+ // select the port
+ curPort = utils.getNextFreePort(basePort);
+ log.println("Choose Port nr: " + curPort);
+
+ // adding connection string as relation
+ tEnv.addObjRelation("XConnector.connectStr",
+ "socket,host=" + sOfficeHost + ",port=" + curPort) ;
+
+ // adding port number for freeing it.
+ tEnv.addObjRelation("Connector.Port", Integer.valueOf(curPort)) ;
+
+ return tEnv ;
+ }
+
+ /**
+ * Just clears flag which indicates that port is free now.
+ */
+ @Override
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam) {
+
+ curPort = ((Integer)tEnv.getObjRelation("Connector.Port")).intValue();
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_connectr/package.html b/qadevOOo/tests/java/mod/_connectr/package.html
new file mode 100644
index 000000000..c9ff7b2b5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_connectr/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'connector'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_corefl/CoreReflection.java b/qadevOOo/tests/java/mod/_corefl/CoreReflection.java
new file mode 100644
index 000000000..880a47c17
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_corefl/CoreReflection.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._corefl;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.CoreReflection</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::reflection::XIdlReflection</code></li>
+* </ul>
+* @see com.sun.star.reflection.XIdlReflection
+* @see ifc.reflection._XIdlReflection
+*/
+public class CoreReflection extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.reflection.CoreReflection</code> service.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ("com.sun.star.reflection.CoreReflection");
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for CoreReflection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class CoreReflection
+
diff --git a/qadevOOo/tests/java/mod/_corefl/package.html b/qadevOOo/tests/java/mod/_corefl/package.html
new file mode 100644
index 000000000..9d604ba75
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_corefl/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'corefl'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_corereflection/uno/CoreReflection.java b/qadevOOo/tests/java/mod/_corereflection/uno/CoreReflection.java
new file mode 100644
index 000000000..7b291e743
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_corereflection/uno/CoreReflection.java
@@ -0,0 +1,58 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._corereflection.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.CoreReflection</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::reflection::XIdlReflection</code></li>
+* </ul>
+* @see com.sun.star.reflection.XIdlReflection
+* @see ifc.reflection._XIdlReflection
+*/
+public class CoreReflection extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.reflection.CoreReflection</code> service.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ("com.sun.star.reflection.CoreReflection");
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for CoreReflection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class CoreReflection \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_corereflection/uno/package.html b/qadevOOo/tests/java/mod/_corereflection/uno/package.html
new file mode 100644
index 000000000..9d604ba75
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_corereflection/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'corefl'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_cpld/DLLComponentLoader.java b/qadevOOo/tests/java/mod/_cpld/DLLComponentLoader.java
new file mode 100644
index 000000000..fa254bbdc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cpld/DLLComponentLoader.java
@@ -0,0 +1,94 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._cpld;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for <code>com.sun.star.comp.stoc.DLLComponentLoader</code> service <p>
+* Files which are used :
+* <ul>
+* <li> <code>XImpReg.dll</code> : DLL which will be loaded in
+* <code>XImplementationLoader</code> interface test. </li>
+* <ul>
+* Multithread testing compliant.
+* @see com.sun.star.loader.XImplementationLoader
+* @see com.sun.star.lang.XServiceInfo
+* @see ifc.loader._XImplementationLoader
+* @see ifc.lang._XServiceInfo
+*/
+public class DLLComponentLoader extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.comp.stoc.DLLComponentLoader</code>
+ * service. <p>
+ * The following object relations created :
+ * <ul>
+ * <li> <code>'ImplementationLoader'</code> : service which is
+ * responsible for loading DLL implementations. </li>
+ * <li> <code>'ImplementationUrl'</code> : DLL file location. </li>
+ * <li> <code>'ImplementationName'</code> : Name of the implementation.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.DLLComponentLoader" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for DLLComponentLoader object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding object relation for XImplementationLoader ifc test
+ tEnv.addObjRelation("ImplementationLoader",
+ "com.sun.star.loader.SharedLibrary") ;
+ String os = (String) Param.get("OS");
+ if (os == null || os.equals(""))
+ throw new StatusException(
+ "Couldn't determine operating system for naming convention.",
+ new NullPointerException());
+ String name = "javaloader";
+ if (!os.equals("wntmsci"))
+ name = "lib" + name + ".so";
+ else
+ name += ".dll";
+ String implURL = utils.getFullTestURL(os + "/" + name);
+ tEnv.addObjRelation("ImplementationUrl", implURL) ;
+ log.println("looking for shared lib: " + implURL);
+ tEnv.addObjRelation("ImplementationName",
+ "com.sun.star.comp.stoc.JavaComponentLoader") ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class DLLComponentLoader
+
diff --git a/qadevOOo/tests/java/mod/_cpld/package.html b/qadevOOo/tests/java/mod/_cpld/package.html
new file mode 100644
index 000000000..1bc7bf117
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_cpld/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'cpld'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ConnectionLineAccessibility.java b/qadevOOo/tests/java/mod/_dbaccess/ConnectionLineAccessibility.java
new file mode 100644
index 000000000..3cded65a1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ConnectionLineAccessibility.java
@@ -0,0 +1,261 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdb.XQueryDefinitionsSupplier;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XIsolatedConnection;
+import com.sun.star.sdbc.XStatement;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import util.DesktopTools;
+import util.utils;
+
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>::com::sun::star::accessibility::XAccessible</code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul><p>
+ * @see com.sun.star.accessibility.XAccessible
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessible
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ */
+public class ConnectionLineAccessibility extends TestCase
+{
+ XWindow xWindow = null;
+ String aFile = "";
+ XIsolatedConnection isolConnection = null;
+ XComponent QueryComponent = null;
+ String user = "";
+ String password="";
+
+ /**
+ * Creates a new DataSource and stores it.
+ * Creates a connection and using it
+ * creates two tables in database.
+ * Creates a new query and adds it to DefinitionContainer.
+ * Opens the QueryComponent.with loadComponentFromURL
+ * and gets the object with the role UNKNOWN and the implementation
+ * name that contains ConnectionLine
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ * @return
+ * @throws StatusException
+ * @see TestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception
+ {
+ XInterface oObj = null;
+
+ Param.getMSF().createInstance("com.sun.star.sdb.DatabaseContext");
+ Object oDBSource = Param.getMSF().createInstance("com.sun.star.sdb.DataSource");
+ Object newQuery = Param.getMSF().createInstance("com.sun.star.sdb.QueryDefinition");
+ Param.getMSF().createInstance("com.sun.star.awt.Toolkit");
+
+ String mysqlURL = (String) Param.get("mysql.url");
+
+ if (mysqlURL == null)
+ {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'mysql.url' from ini-file"));
+ }
+
+ user = (String) Param.get("jdbc.user");
+ password = (String) Param.get("jdbc.password");
+
+ if ((user == null) || (password == null))
+ {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.user' or 'jdbc.password' from ini-file"));
+ }
+
+ PropertyValue[] info = new PropertyValue[2];
+ info[0] = new PropertyValue();
+ info[0].Name = "user";
+ info[0].Value = user;
+ info[1] = new PropertyValue();
+ info[1].Name = "password";
+ info[1].Value = password;
+
+ XPropertySet propSetDBSource = UnoRuntime.queryInterface(
+ XPropertySet.class, oDBSource);
+
+ propSetDBSource.setPropertyValue("URL", mysqlURL);
+ propSetDBSource.setPropertyValue("Info", info);
+
+ log.println("writing database file ...");
+ XDocumentDataSource xDDS = UnoRuntime.queryInterface(XDocumentDataSource.class, oDBSource);
+ XStorable store = UnoRuntime.queryInterface(XStorable.class,
+ xDDS.getDatabaseDocument());
+
+ aFile = utils.getOfficeTemp(Param.getMSF())+"ConnectionLine.odb";
+ log.println("... filename will be "+aFile);
+ store.storeAsURL(aFile,new PropertyValue[]{});
+ log.println("... done");
+
+ isolConnection = UnoRuntime.queryInterface(
+ XIsolatedConnection.class,
+ oDBSource);
+
+ final String tbl_name1 = "tst_table1";
+ final String tbl_name2 = "tst_table2";
+ final String col_name1 = "id1";
+ final String col_name2 = "id2";
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XConnection connection = isolConnection.getIsolatedConnection(user, password);
+ XStatement statement = connection.createStatement();
+ statement.executeUpdate("drop table if exists " + tbl_name1);
+ statement.executeUpdate("drop table if exists " + tbl_name2);
+ statement.executeUpdate("create table " + tbl_name1 + " (" +
+ col_name1 + " int)");
+ statement.executeUpdate("create table " + tbl_name2 + " (" +
+ col_name2 + " int)");
+
+ XQueryDefinitionsSupplier querySuppl = UnoRuntime.queryInterface(
+ XQueryDefinitionsSupplier.class,
+ oDBSource);
+
+ XNameAccess defContainer = querySuppl.getQueryDefinitions();
+
+ XPropertySet queryProp = UnoRuntime.queryInterface(
+ XPropertySet.class, newQuery);
+
+ final String query = "select * from " + tbl_name1 + ", " +
+ tbl_name2 + " where " + tbl_name1 + "." +
+ col_name1 + "=" + tbl_name2 + "." +
+ col_name2;
+ queryProp.setPropertyValue("Command", query);
+
+ XNameContainer queryContainer = UnoRuntime.queryInterface(
+ XNameContainer.class,
+ defContainer);
+
+ queryContainer.insertByName("Query1", newQuery);
+ store.store();
+ connection.close();
+
+ PropertyValue[] loadProps = new PropertyValue[3];
+ loadProps[0] = new PropertyValue();
+ loadProps[0].Name = "QueryDesignView";
+ loadProps[0].Value = Boolean.TRUE;
+
+ loadProps[1] = new PropertyValue();
+ loadProps[1].Name = "CurrentQuery";
+ loadProps[1].Value = "Query1";
+
+ loadProps[2] = new PropertyValue();
+ loadProps[2].Name = "DataSource";
+ loadProps[2].Value = oDBSource;
+
+ QueryComponent = DesktopTools.loadDoc(Param.getMSF(),".component:DB/QueryDesign",loadProps);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ xWindow = UnoRuntime.queryInterface(XModel.class, QueryComponent).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree (log,xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRoleIgnoreShowing(xRoot, AccessibleRole.UNKNOWN, "", "ConnectionLine");
+
+ log.println("ImplementationName " + util.utils.getImplName(oObj));
+
+ log.println("creating TestEnvironment");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ final XWindow queryWin = xWindow;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer()
+ {
+ public void fireEvent()
+ {
+ Rectangle rect = queryWin.getPosSize();
+ queryWin.setPosSize(rect.X, rect.Y, rect.Height-5, rect.Width-5, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes the DatasourceAdministration dialog and Query Dialog.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log)
+ {
+ try
+ {
+
+ log.println("closing QueryComponent ...");
+ DesktopTools.closeDoc(QueryComponent);
+ log.println("... done");
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object sfa = xMSF.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess xSFA = UnoRuntime.queryInterface(XSimpleFileAccess.class, sfa);
+ log.println("deleting database file");
+ xSFA.kill(aFile);
+ log.println("Could delete file "+aFile+": "+!xSFA.exists(aFile));
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/DBContentLoader.java b/qadevOOo/tests/java/mod/_dbaccess/DBContentLoader.java
new file mode 100644
index 000000000..b37389759
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/DBContentLoader.java
@@ -0,0 +1,82 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.ContentLoader</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::frame::FrameLoader</code></li>
+* <li> <code>com::sun::star::frame::XFrameLoader</code></li>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.frame.FrameLoader
+* @see com.sun.star.frame.XSynchronousFrameLoader
+* @see com.sun.star.lang.XInitialization
+* @see ifc.beans._XPropertySet
+* @see ifc.frame._FrameLoader
+* @see ifc.frame._XSynchronousFrameLoader
+* @see ifc.lang._XInitialization
+*/
+public class DBContentLoader extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdb.ContentLoader</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FrameLoader.URL"'</code> for
+ * {@link ifc.frame._XFrameLoader} </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+
+ Object oInterface = Param.getMSF().createInstance
+ ("com.sun.star.sdb.ContentLoader");
+ XInterface oObj = (XInterface) oInterface ;
+
+ log.println("ImplementationName " + util.utils.getImplName(oObj));
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XFrameLoader
+ tEnv.addObjRelation("FrameLoader.URL", ".component:DB/DataSourceBrowser") ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/JoinViewAccessibility.java b/qadevOOo/tests/java/mod/_dbaccess/JoinViewAccessibility.java
new file mode 100644
index 000000000..499779ebf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/JoinViewAccessibility.java
@@ -0,0 +1,254 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdb.XQueryDefinitionsSupplier;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XIsolatedConnection;
+import com.sun.star.sdbc.XStatement;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import util.DesktopTools;
+import util.utils;
+
+
+/**
+* Object implements the following interfaces :
+* <ul>
+* <li><code>::com::sun::star::accessibility::XAccessible</code></li>
+* <li><code>::com::sun::star::accessibility::XAccessibleContext
+* </code></li>
+* <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+* </code></li>
+* </ul><p>
+* @see com.sun.star.accessibility.XAccessible
+* @see com.sun.star.accessibility.XAccessibleContext
+* @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+* @see ifc.accessibility._XAccessible
+* @see ifc.accessibility._XAccessibleContext
+* @see ifc.accessibility._XAccessibleEventBroadcaster
+*/
+public class JoinViewAccessibility extends TestCase {
+ XWindow xWindow = null;
+ String aFile = "";
+ XIsolatedConnection isolConnection = null;
+ XComponent QueryComponent = null;
+ String user = "";
+ String password="";
+
+ /**
+ * Creates a new DataSource and stores it.
+ * Creates a connection and using it
+ * creates two tables in database.
+ * Creates a new query and adds it to DefinitionContainer.
+ * Opens the QueryComponent.with loadComponentFromURL
+ * and gets the object with the role UNKNOWN and the implementation
+ * name that contains ConnectionLine
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ * @return
+ * @throws StatusException
+ * @see TestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment (TestParameters Param,
+ PrintWriter log) throws Exception
+ {
+ XInterface oObj = null;
+
+ Param.getMSF().createInstance("com.sun.star.sdb.DatabaseContext");
+ Object oDBSource = Param.getMSF()
+ .createInstance("com.sun.star.sdb.DataSource");
+ Object newQuery = Param.getMSF().createInstance(
+ "com.sun.star.sdb.QueryDefinition");
+ Param.getMSF().createInstance("com.sun.star.awt.Toolkit");
+
+ String mysqlURL = (String) Param.get ("mysql.url");
+
+ if (mysqlURL == null)
+ {
+ throw new StatusException (Status.failed (
+ "Couldn't get 'mysql.url' from ini-file"));
+ }
+
+ user = (String) Param.get ("jdbc.user");
+ password = (String) Param.get ("jdbc.password");
+
+ if ((user == null) || (password == null))
+ {
+ throw new StatusException (Status.failed (
+ "Couldn't get 'jdbc.user' or 'jdbc.password' from ini-file"));
+ }
+
+ PropertyValue[] info = new PropertyValue[2];
+ info[0] = new PropertyValue ();
+ info[0].Name = "user";
+ info[0].Value = user;
+ info[1] = new PropertyValue ();
+ info[1].Name = "password";
+ info[1].Value = password;
+
+ XPropertySet propSetDBSource = UnoRuntime.queryInterface (
+ XPropertySet.class, oDBSource);
+
+ propSetDBSource.setPropertyValue ("URL", mysqlURL);
+ propSetDBSource.setPropertyValue ("Info", info);
+
+ log.println ("writing database file ...");
+ XDocumentDataSource xDDS = UnoRuntime.queryInterface(XDocumentDataSource.class, oDBSource);
+ XStorable store = UnoRuntime.queryInterface(XStorable.class,
+ xDDS.getDatabaseDocument());
+ aFile = utils.getOfficeTemp (Param.getMSF ())+"JoinView.odb";
+ log.println ("... filename will be "+aFile);
+ store.storeAsURL (aFile,new PropertyValue[]{});
+ log.println ("... done");
+
+ isolConnection = UnoRuntime.queryInterface (
+ XIsolatedConnection.class,
+ oDBSource);
+
+ final String tbl_name1 = "tst_table1";
+ final String tbl_name2 = "tst_table2";
+ final String col_name1 = "id1";
+ final String col_name2 = "id2";
+
+ util.utils.waitForEventIdle(Param.getMSF());
+ XConnection connection = isolConnection.getIsolatedConnection (user, password);
+ XStatement statement = connection.createStatement ();
+ statement.executeUpdate ("drop table if exists " + tbl_name1);
+ statement.executeUpdate ("drop table if exists " + tbl_name2);
+ statement.executeUpdate ("create table " + tbl_name1 + " (" +
+ col_name1 + " int)");
+ statement.executeUpdate ("create table " + tbl_name2 + " (" +
+ col_name2 + " int)");
+
+ XQueryDefinitionsSupplier querySuppl = UnoRuntime.queryInterface (
+ XQueryDefinitionsSupplier.class,
+ oDBSource);
+
+ XNameAccess defContainer = querySuppl.getQueryDefinitions ();
+
+ XPropertySet queryProp = UnoRuntime.queryInterface (
+ XPropertySet.class, newQuery);
+
+ final String query = "select * from " + tbl_name1 + ", " +
+ tbl_name2 + " where " + tbl_name1 + "." +
+ col_name1 + "=" + tbl_name2 + "." +
+ col_name2;
+ queryProp.setPropertyValue ("Command", query);
+
+ XNameContainer queryContainer = UnoRuntime.queryInterface (
+ XNameContainer.class,
+ defContainer);
+
+ queryContainer.insertByName ("Query1", newQuery);
+ store.store ();
+ connection.close ();
+
+ PropertyValue[] loadProps = new PropertyValue[3];
+ loadProps[0] = new PropertyValue ();
+ loadProps[0].Name = "QueryDesignView";
+ loadProps[0].Value = Boolean.TRUE;
+
+ loadProps[1] = new PropertyValue ();
+ loadProps[1].Name = "CurrentQuery";
+ loadProps[1].Value = "Query1";
+
+ loadProps[2] = new PropertyValue ();
+ loadProps[2].Name = "DataSource";
+ loadProps[2].Value = oDBSource;
+
+ QueryComponent = DesktopTools.loadDoc (Param.getMSF (),".component:DB/QueryDesign",loadProps);
+
+ xWindow = UnoRuntime.queryInterface(XModel.class, QueryComponent).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject (xWindow);
+
+ AccessibilityTools.printAccessibleTree (log,xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.VIEW_PORT);
+
+ log.println("ImplementationName " + util.utils.getImplName(oObj));
+
+ log.println("creating TestEnvironment");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ final XWindow queryWin = xWindow;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle rect = queryWin.getPosSize();
+ queryWin.setPosSize(rect.X, rect.Y, rect.Height-5, rect.Width-5, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes the DatasourceAdministration dialog and Query Dialog.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try
+ {
+
+ log.println ("closing QueryComponent ...");
+ DesktopTools.closeDoc (QueryComponent);
+ log.println ("... done");
+ XMultiServiceFactory xMSF = Param.getMSF ();
+ Object sfa = xMSF.createInstance ("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess xSFA = UnoRuntime.queryInterface (XSimpleFileAccess.class, sfa);
+ log.println ("deleting database file");
+ xSFA.kill (aFile);
+ log.println ("Could delete file "+aFile+": "+!xSFA.exists (aFile));
+ } catch (Exception e)
+ {
+ e.printStackTrace ();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/OCommandDefinition.java b/qadevOOo/tests/java/mod/_dbaccess/OCommandDefinition.java
new file mode 100644
index 000000000..895df264f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/OCommandDefinition.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.QueryDefinition</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sdb::QueryDefinition</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* This object test <b> can </b> be run in several
+* threads concurrently.
+* @see com.sun.star.sdb.QueryDefinition
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.sdb._QueryDefinition
+* @see ifc.beans._XPropertySet
+*/
+public class OCommandDefinition extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.sdb.QueryDefinition</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance( "com.sun.star.sdb.QueryDefinition" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ODatabaseContext.java b/qadevOOo/tests/java/mod/_dbaccess/ODatabaseContext.java
new file mode 100644
index 000000000..24b69854b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ODatabaseContext.java
@@ -0,0 +1,106 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dbaccess;
+
+import com.sun.star.beans.PropertyValue;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.XNamingService;
+import com.sun.star.frame.XStorable;
+import com.sun.star.sdb.XDocumentDataSource;
+import util.utils;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.DatabaseContext</code>. <p>
+*
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::uno::XNamingService</code></li>
+* </ul>
+*
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.uno.XNamingService
+* @see com.sun.star.sdb.DatabaseContext
+* @see ifc.container._XNameAccess
+* @see ifc.container._XEnumerationAccess
+* @see ifc.container._XElementAccess
+* @see ifc.uno._XNamingService
+*/
+public class ODatabaseContext extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.sdb.DatabaseContext</code>.
+ * Needed object relations :
+ * <ul>
+ * <li> <code>'XNamingService.RegisterObject'</code> for
+ * {@link ifc.uno._XNamingService} as an
+ * instance of <code>com.sun.star.sdb.DataSource</code>
+ * service. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance( "com.sun.star.sdb.DatabaseContext" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding obj relation for XNamingService
+ oInterface = xMSF.createInstance( "com.sun.star.sdb.DataSource" );
+
+ XPropertySet xDSProps = UnoRuntime.queryInterface(XPropertySet.class, oInterface) ;
+
+ xDSProps.setPropertyValue("URL", "sdbc:dbase:file:///.") ;
+
+ XDocumentDataSource xDDS = UnoRuntime.queryInterface(XDocumentDataSource.class, oInterface);
+ XStorable store = UnoRuntime.queryInterface(XStorable.class,
+ xDDS.getDatabaseDocument ());
+ String aFile = utils.getOfficeTemp (Param.getMSF ())+"DatabaseContext.odb";
+ log.println("store to '" + aFile + "'");
+ store.storeAsURL(aFile,new PropertyValue[]{});
+
+ tEnv.addObjRelation("XNamingService.RegisterObject", oInterface) ;
+
+ tEnv.addObjRelation("INSTANCE", oInterface);
+
+ tEnv.addObjRelation("XContainer.Container",
+ UnoRuntime.queryInterface(
+ XNamingService.class, oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ODatabaseSource.java b/qadevOOo/tests/java/mod/_dbaccess/ODatabaseSource.java
new file mode 100644
index 000000000..1976f5711
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ODatabaseSource.java
@@ -0,0 +1,175 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dbaccess;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XStorable;
+
+
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.XNamingService;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.XOfficeDatabaseDocument;
+import com.sun.star.task.XInteractionHandler;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.DataSource</code>. <p>
+*
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sdb::XQueryDefinitionsSupplier</code></li>
+* <li> <code>com::sun::star::sdb::DataSource</code></li>
+* <li> <code>com::sun::star::sdb::XCompletedConnection</code></li>
+* <li> <code>com::sun::star::util::XFlushable</code></li>
+* <li> <code>com::sun::star::sdb::XBookmarksSupplier</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+*
+* @see com.sun.star.sdb.XQueryDefinitionsSupplier
+* @see com.sun.star.sdb.XFormDocumentsSupplier
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.sdb.DataSource
+* @see com.sun.star.sdb.XCompletedConnection
+* @see com.sun.star.util.XFlushable
+* @see com.sun.star.sdb.XReportDocumentsSupplier
+* @see ifc.sdb._XQueryDefinitionsSupplier
+* @see ifc.sdb._XFormDocumentsSupplier
+* @see ifc.beans._XPropertySet
+* @see ifc.sdb._DataSource
+* @see ifc.sdb._XCompletedConnection
+* @see ifc.util._XFlushable
+* @see ifc.sdb._XReportDocumentsSupplier
+*/
+public class ODatabaseSource extends TestCase {
+
+ private static int uniqueSuffixStat = 0 ;
+
+ private int uniqueSuffix = 0 ;
+ private XOfficeDatabaseDocument xDBDoc = null;
+
+ /**
+ * Assigns database's name unique suffix for this object depending
+ * on static field. For names differs in different object threads.
+ */
+ @Override
+ protected void initialize ( TestParameters Param, PrintWriter log) throws Exception {
+ uniqueSuffix = uniqueSuffixStat++ ;
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing no longer needed docs... ");
+ DesktopTools.closeDoc(xDBDoc);
+ }
+
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ *
+ * Creates new <code>DataSource</code> which represents DBase database
+ * located in temporary directory, and then registers it in service
+ * <code>com.sun.star.sdb.DatabaseContext</code>.
+ *
+ * Created object relations :
+ * <ul>
+ * <li> <code>'XCompletedConnection.Handler'</code> for interface test
+ * <code>XCompletedConnection</code> </li>
+ * </ul>
+ * <li> <code>'UserAndPassword'</code> for interface test
+ * <code>XIsolatedConnection</code> </li>
+ * </ul>
+ * @see com.sun.star.sdb.DatabaseContext
+ * @see com.sun.star.sdb.DataSource
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance( "com.sun.star.sdb.DatabaseContext" );
+
+ XNamingService xDBContextNameServ = UnoRuntime.queryInterface(XNamingService.class, oInterface) ;
+
+ // retrieving temp directory for database
+ String tmpDatabaseUrl = utils.getOfficeTempDir(Param.getMSF());
+
+ tmpDatabaseUrl = "sdbc:dbase:file:///" + tmpDatabaseUrl ;
+
+ XInterface oDatabaseDoc = (XInterface) xMSF.createInstance
+ ("com.sun.star.sdb.OfficeDatabaseDocument") ;
+
+ if (oDatabaseDoc == null)
+ throw new StatusException("Could not get service 'com.sun.star.sdb.OfficeDatabaseDocument'", new Exception());
+
+ xDBDoc = UnoRuntime.queryInterface(
+ XOfficeDatabaseDocument.class,
+ oDatabaseDoc);
+ XInterface oObj = xDBDoc.getDataSource();
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ // Creating new DBase data source in the TEMP directory
+
+ XPropertySet xSrcProp = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+
+ xSrcProp.setPropertyValue("URL", tmpDatabaseUrl) ;
+
+ String databaseName = "NewDatabaseSource" + uniqueSuffix ;
+
+ // make sure that the DatabaseContext isn't already registered
+ try {
+ xDBContextNameServ.revokeObject(databaseName) ;
+ } catch (Exception e) {
+ log.println("Nothing to be removed - OK");
+ }
+
+ // registering source in DatabaseContext
+ XStorable store = UnoRuntime.queryInterface(XStorable.class, xDBDoc);
+ String aFile = utils.getOfficeTemp (Param.getMSF ())+"DataSource.odb";
+ store.storeAsURL(aFile,new PropertyValue[]{});
+
+ xDBContextNameServ.registerObject(databaseName, oObj) ;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding obj relation for interface XCompletedConnection
+ Object handler = Param.getMSF().createInstance
+ ("com.sun.star.sdb.InteractionHandler") ;
+
+ // dbase does not need user and password
+ tEnv.addObjRelation("UserAndPassword", new String[]{"",""}) ;
+
+ tEnv.addObjRelation("XCompletedConnection.Handler",
+ UnoRuntime.queryInterface(XInteractionHandler.class, handler)) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ODatasourceAdministrationDialog.java b/qadevOOo/tests/java/mod/_dbaccess/ODatasourceAdministrationDialog.java
new file mode 100644
index 000000000..d229d3eb9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ODatasourceAdministrationDialog.java
@@ -0,0 +1,75 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.DatasourceAdministrationDialog</code>. <p>
+*
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* <li> <code>com::sun::star::ui::dialogs::XExecutableDialog</code></li>
+* <li> <code>com::sun::star::sdb::DatasourceAdministrationDialog</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul> <p>
+*
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+*
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.ui.dialogs.XExecutableDialog
+* @see com.sun.star.sdb.DatasourceAdministrationDialog
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.lang._XInitialization
+* @see ifc.ui.dialogs._XExecutableDialog
+* @see ifc.sdb._DatasourceAdministrationDialog
+* @see ifc.beans._XPropertySet
+*/
+public class ODatasourceAdministrationDialog extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdb.DatasourceAdministrationDialog</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ Object oInterface = Param.getMSF().createInstance
+ ("com.sun.star.sdb.DatasourceAdministrationDialog" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ODataSourceAdministrationDialog
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ODatasourceBrowser.java b/qadevOOo/tests/java/mod/_dbaccess/ODatasourceBrowser.java
new file mode 100644
index 000000000..1ccccf532
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ODatasourceBrowser.java
@@ -0,0 +1,297 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.sdb.DataSourceBrowser</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * <li> <code>com::sun::star::util::XModifyBroadcaster</code></li>
+ * <li> <code>com::sun::star::awt::XTabController</code></li>
+ * <li> <code>com::sun::star::form::XFormController</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::frame::XDispatchProvider</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::frame::XController</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.util.XModifyBroadcaster
+ * @see com.sun.star.awt.XTabController
+ * @see com.sun.star.form.XFormController
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.frame.XDispatchProvider
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.frame.XController
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.container._XChild
+ * @see ifc.lang._XInitialization
+ * @see ifc.util._XModifyBroadcaster
+ * @see ifc.awt._XTabController
+ * @see ifc.form._XFormController
+ * @see ifc.container._XElementAccess
+ * @see ifc.frame._XDispatchProvider
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.frame._XController
+ * @see ifc.lang._XComponent
+ */
+public class ODatasourceBrowser extends TestCase {
+ XDesktop xDesktop;
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ System.setProperty("hideMe", "false");
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+ System.setProperty("hideMe", "true");
+
+ if (xTextDoc != null) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ *
+ * Creates a new text document disposing the old one if it was
+ * created. Using <code>Desktop</code> service get the frame
+ * of the document and with its help creates
+ * <code>DataSourceBrowser</code> dispatching the URL
+ * <code>'.component:DB/DataSourceBrowser'</code>. The
+ * component for testing is the controller of the
+ * <code>Browser</code> and it's got by searching its
+ * frame with the help of TextDocument frame, and obtaining
+ * the frame's controller. <p>
+ *
+ * <b>Note</b>: after creating the text document a short
+ * pause is needed to give a possibility to a frame to be
+ * created for the document. Else
+ * <code>Desktop.getCurrentFrame()</code> method can return
+ * <code>null</code> value. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDispatchProvider.URL'</code> for
+ * {@link ifc.frame._XDispatchProvider} </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController} : the model of
+ * the TextDocument. </li>
+ * <li> <code>'otherWindow'</code> for
+ * {@link ifc.frame._XController} : the window of
+ * the added shape. </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController} : the controller of
+ * the TextDocument. </li>
+ * <li> <code>'HasViewData'</code> for
+ * {@link ifc.frame._XController} : the
+ * <code>DataSourceBrowser</code> has no view data. </li>
+ * <li> <code>'XInitialization.args'</code> for
+ * {@link ifc.lang._XInitialization} : the arguments for
+ * the initialization</li>
+ * </ul>
+ *
+ * @see com.sun.star.frame.Desktop
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.frame.XFrame
+ * @see com.sun.star.frame.XController
+ * @see com.sun.star.frame.XDispatchProvider
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XFrame the_frame1 = xDesktop.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class, the_frame1);
+
+ XDispatch getting = null;
+
+ log.println("opening DatasourceBrowser");
+
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XInterface oObj = the_frame2.getController();
+
+ Object[] params = new Object[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = Integer.valueOf(com.sun.star.sdb.CommandType.TABLE);
+ params[1] = param2;
+
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "biblio";
+ params[2] = param3;
+
+ XInitialization xInit = UnoRuntime.queryInterface(
+ XInitialization.class, oObj);
+ xInit.initialize(params);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "CommandButton");
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel shapeModel = aShape.getControl();
+
+ XControlAccess xCtrlAccess = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ secondController);
+ XControl xCtrl = null;
+
+ try {
+ xCtrl = xCtrlAccess.getControl(shapeModel);
+ } catch (com.sun.star.uno.Exception e) {
+ // Some exception occurs.FAILED
+ e.printStackTrace(log);
+ }
+
+ XWindow docWindow = UnoRuntime.queryInterface(XWindow.class,
+ xCtrl);
+ log.println("creating a new environment for ODatasourceBrowser object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelations for XInitialization
+ tEnv.addObjRelation("XInitialization.args", params);
+
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("Frame", the_frame1);
+ tEnv.addObjRelation("SecondModel", aModel1);
+ tEnv.addObjRelation("otherWindow", docWindow);
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("HasViewData", Boolean.FALSE);
+
+
+ //Adding relation for XDispatchProvider
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ ".uno:DataSourceBrowser/FormLetter");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class oDatasourceBrowser
diff --git a/qadevOOo/tests/java/mod/_dbaccess/OInteractionHandler.java b/qadevOOo/tests/java/mod/_dbaccess/OInteractionHandler.java
new file mode 100644
index 000000000..a5ec54f9e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/OInteractionHandler.java
@@ -0,0 +1,90 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.task.XInteractionContinuation;
+import com.sun.star.task.XInteractionRequest;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdb.InteractionHandler</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::task::XInteractionHandler</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.task.XInteractionHandler
+* @see com.sun.star.sdb.InteractionHandler
+* @see ifc.task._XInteractionHandler
+*/
+public class OInteractionHandler extends TestCase {
+
+
+ private static class TestRequest implements XInteractionRequest {
+ public Object getRequest() {
+ return new SQLException("Test exception") ;
+ }
+
+ public XInteractionContinuation[] getContinuations() {
+ return new XInteractionContinuation[0] ;
+ }
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdb.InteractionHandler</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XInteractionHandler.Request'</code> for
+ * {@link ifc.task._XInteractionHandler} : this relation
+ * is <code>com.sun.star.task.XInteractionRequest</code>
+ * interface implementation which depends on the component
+ * tested. In this case it emulates SQL error by returning
+ * <code>SQLException</code> object. </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ Object oInterface = Param.getMSF().createInstance(
+ "com.sun.star.sdb.InteractionHandler" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XInteractionHandler.Request", new TestRequest()) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/OQueryDesign.java b/qadevOOo/tests/java/mod/_dbaccess/OQueryDesign.java
new file mode 100644
index 000000000..1124d12f9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/OQueryDesign.java
@@ -0,0 +1,224 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._dbaccess;
+
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.uno.Exception;
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import util.SOfficeFactory;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdbc.XDataSource;
+
+public class OQueryDesign extends TestCase {
+
+ private static XDesktop xDesk;
+ private static XFrame xFrame;
+ private static final String sDataSourceName = "Bibliography";
+ private static XConnection xConn;
+ private static XTextDocument xTextDoc;
+
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesk = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(XDispatchProvider.class,xDesk);
+ XMultiServiceFactory xMSF = Param.getMSF();
+
+ // we use the first datasource
+ XNameAccess xNameAccess = UnoRuntime.queryInterface(
+ XNameAccess.class,
+ xMSF.createInstance("com.sun.star.sdb.DatabaseContext"));
+ XDataSource xDS = UnoRuntime.queryInterface(
+ XDataSource.class, xNameAccess.getByName( "Bibliography" ));
+
+ log.println("check XMultiServiceFactory");
+
+ xConn = xDS.getConnection("", "");
+
+ log.println( "opening QueryDesign" );
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/QueryDesign";
+ XDispatch getting = aProv.queryDispatch(the_url,"Query",12);
+ PropertyValue[] Args = new PropertyValue[2];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ Args[0] = param1;
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "QueryDesignView";
+ param2.Value = Boolean.FALSE;
+ Args[1] = param2;
+ param1.Name = "ActiveConnection";
+ param1.Value = xConn;
+ Args[1] = param2;
+ getting.dispatch(the_url,Args);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ Object oDBC = xMSF.createInstance( "com.sun.star.sdb.DatabaseContext" );
+
+ Object oDataSource = null;
+ XNameAccess xNA = UnoRuntime.queryInterface(XNameAccess.class, oDBC);
+ oDataSource = xNA.getByName(sDataSourceName);
+ UnoRuntime.queryInterface(XDocumentDataSource.class, oDataSource);
+
+ xFrame = DesktopTools.getCurrentFrame(xMSF);
+
+ SOfficeFactory SOF = null;
+
+ SOF = SOfficeFactory.getFactory( xMSF );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+
+ XModel xDocMod = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XFrame xTextFrame = xDocMod.getCurrentController().getFrame();
+
+ Object[] params = new Object[3];
+ param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+ param2 = new PropertyValue();
+ param2.Name = "Frame";
+ param2.Value = xTextFrame;
+ params[1] = param2;
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "QueryDesignView";
+ param3.Value = Boolean.TRUE;
+ params[2] = param3;
+
+
+ XInterface oObj = xFrame.getController();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //Adding ObjRelations for XInitialization
+ tEnv.addObjRelation("XInitialization.args", params);
+
+ Object[] ExceptionParams = new Object[3];
+ PropertyValue ExceptionParam1 = new PropertyValue();
+ ExceptionParam1.Name = "DataSourceName";
+ ExceptionParam1.Value = "Bibliography2";
+ ExceptionParams[0] = ExceptionParam1;
+ PropertyValue ExceptionParam2 = new PropertyValue();
+ ExceptionParam2.Name = "Frame";
+ ExceptionParam2.Value = null;
+ ExceptionParams[1] = ExceptionParam2;
+ PropertyValue ExceptionParam3 = new PropertyValue();
+ ExceptionParam3.Name = "QueryDesignView";
+ ExceptionParam3.Value = Integer.valueOf(17);//Boolean.TRUE;
+ ExceptionParams[2] = ExceptionParam3;
+
+ tEnv.addObjRelation("XInitialization.ExceptionArgs", ExceptionParams);
+
+ tEnv.addObjRelation("Frame", xFrame);
+
+ tEnv.addObjRelation("XInitialization.xIni", getUninitializedObj(Param));
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ private XInitialization getUninitializedObj(TestParameters Param) throws Exception {
+ // creating an object which ist not initialized
+
+ // get a model of a DataSource
+ Object oDBC = null;
+ XMultiServiceFactory xMSF;
+
+ xMSF = Param.getMSF();
+ oDBC = xMSF.createInstance( "com.sun.star.sdb.DatabaseContext" );
+
+ Object oDataSource = null;
+ XNameAccess xNA = UnoRuntime.queryInterface(XNameAccess.class, oDBC);
+ oDataSource = xNA.getByName(sDataSourceName);
+
+ XDocumentDataSource xDDS = UnoRuntime.queryInterface(XDocumentDataSource.class, oDataSource);
+ XModel xMod = UnoRuntime.queryInterface(XModel.class, xDDS.getDatabaseDocument ());
+
+ // get an instance of QueryDesign
+ Object oQueryDesign = xMSF.createInstance("com.sun.star.sdb.QueryDesign");
+
+ XController xCont = UnoRuntime.queryInterface(XController.class, oQueryDesign);
+
+ // marry them all
+ boolean bSuccess = xCont.attachModel(xMod);
+ if (!bSuccess)
+ {
+ throw new StatusException (Status.failed (
+ "Couldn't attach model"));
+ }
+
+ xMod.connectController(xCont);
+ xMod.setCurrentController(xCont);
+
+ return UnoRuntime.queryInterface(XInitialization.class, oQueryDesign);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ try {
+ xConn.close() ;
+ DesktopTools.closeDoc(xFrame);
+ DesktopTools.closeDoc(xTextDoc);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't close the connection") ;
+ e.printStackTrace(log) ;
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Connection was already closed. It's OK.") ;
+ }
+
+ }
+
+} // finish class oDatasourceBrowser
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/ORowSet.java b/qadevOOo/tests/java/mod/_dbaccess/ORowSet.java
new file mode 100644
index 000000000..6e0a758e0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/ORowSet.java
@@ -0,0 +1,608 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dbaccess;
+
+import ifc.sdb._XCompletedExecution;
+
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+import util.utils;
+import util.db.DataSource;
+import util.db.DataSourceDescriptor;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.CommandType;
+import com.sun.star.sdb.ParametersRequest;
+import com.sun.star.sdb.RowChangeEvent;
+import com.sun.star.sdb.XInteractionSupplyParameters;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XParameters;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.sdbc.XRowSet;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.task.XInteractionAbort;
+import com.sun.star.task.XInteractionContinuation;
+import com.sun.star.task.XInteractionRequest;
+import com.sun.star.ucb.AuthenticationRequest;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.sdb.RowSet</code>. <p>
+ *
+ * The following files used by this test :
+ * <ul>
+ * <li><b> TestDB/TestDB.dbf </b> : the database file with some
+ * predefined fields described in <code>util.DBTools</code>.
+ * The copy of this file is always made in temp directory for
+ * testing purposes.</li>
+ * </ul>
+ * The following parameters in ini-file used by this test:
+ * <ul>
+ * <li><code>test.db.url</code> - URL to MySQL database.
+ * For example: <code>mysql://mercury:3306/api_current</code></li>
+ * <li><code>test.db.user</code> - user for MySQL database</li>
+ * <li><code>test.db.password</code> - password for MySQL database</li>
+ * </ul>
+ *
+ * @see com.sun.star.sdbc.RowSet
+ * @see com.sun.star.sdbcx.XRowLocate
+ * @see com.sun.star.sdbc.XResultSetUpdate
+ * @see com.sun.star.util.XCancellable
+ * @see com.sun.star.sdbc.XParameters
+ * @see com.sun.star.sdbc.XResultSetMetaDataSupplier
+ * @see com.sun.star.sdbcx.XDeleteRows
+ * @see com.sun.star.sdbc.XCloseable
+ * @see com.sun.star.sdbcx.XColumnsSupplier
+ * @see com.sun.star.sdb.XResultSetAccess
+ * @see com.sun.star.sdbc.XResultSet
+ * @see com.sun.star.sdbc.XColumnLocate
+ * @see com.sun.star.sdbc.XRowSet
+ * @see com.sun.star.sdb.RowSet
+ * @see com.sun.star.sdbc.XRowUpdate
+ * @see com.sun.star.sdb.XRowSetApproveBroadcaster
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.sdbc.XRow
+ * @see com.sun.star.sdbc.XWarningsSupplier
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.sdbcx.ResultSet
+ * @see com.sun.star.sdbc.ResultSet
+ * @see ifc.sdbc._RowSet
+ * @see ifc.sdbcx._XRowLocate
+ * @see ifc.sdbc._XResultSetUpdate
+ * @see ifc.util._XCancellable
+ * @see ifc.sdbc._XParameters
+ * @see ifc.sdbc._XResultSetMetaDataSupplier
+ * @see ifc.sdbcx._XDeleteRows
+ * @see ifc.sdbc._XCloseable
+ * @see ifc.sdbcx._XColumnsSupplier
+ * @see ifc.sdb._XResultSetAccess
+ * @see ifc.sdbc._XResultSet
+ * @see ifc.sdbc._XColumnLocate
+ * @see ifc.sdbc._XRowSet
+ * @see ifc.sdb._RowSet
+ * @see ifc.sdbc._XRowUpdate
+ * @see ifc.sdb._XRowSetApproveBroadcaster
+ * @see ifc.beans._XPropertySet
+ * @see ifc.sdbc._XRow
+ * @see ifc.sdbc._XWarningsSupplier
+ * @see ifc.lang._XComponent
+ * @see ifc.sdbcx._ResultSet
+ * @see ifc.sdbc._ResultSet
+ */
+public class ORowSet extends TestCase {
+
+ private static int uniqueSuffix = 0 ;
+ private DBTools dbTools = null ;
+ private static String origDB = null ;
+ String tableName = null;
+ DataSourceDescriptor srcInf = null;
+ boolean isMySQLDB = false;
+ protected static final String dbSourceName = "ORowSetDataSource";
+ public XConnection m_connection = null;
+ private Object m_rowSet = null;
+ private DataSource m_dataSource;
+ private String m_tableFile;
+
+ /**
+ * Initializes some class fields. Then creates DataSource, which serves
+ * as a single source for all tables created in the test.
+ * This DataSource then registered in the global
+ * <code>DatabaseContext</code> service. This data source's URL
+ * points to SOffice temp directory where tables are copied from
+ * <code>TestDocuments</code> directory on every environment
+ * creation.
+ * To create DataSource for MySQL database next parameters required
+ * in ini-file:
+ * <ul>
+ * <li><code>test.db.url</code> - URL to MySQL database.
+ * For example: <code>mysql://mercury:3306/api_current</code></li>
+ * <li><code>test.db.user</code> - user for MySQL database</li>
+ * <li><code>test.db.password</code> - password for MySQL database</li>
+ * </ul>
+ *
+ * @throws StatusException if DataSource can not be created or
+ * registered.
+ */
+ @Override
+ protected void initialize ( TestParameters Param, PrintWriter _log)
+ throws StatusException
+ {
+ XMultiServiceFactory orb = Param.getMSF();
+
+ String tmpDir = utils.getOfficeTemp( orb );
+
+ origDB = util.utils.getFullTestDocName("TestDB/testDB.dbf");
+
+ dbTools = new DBTools( orb );
+
+ // creating DataSource and registering it in DatabaseContext
+ String dbURL = (String) Param.get("test.db.url");
+ String dbUser = (String) Param.get("test.db.user");
+ String dbPassword = (String) Param.get("test.db.password");
+
+ log.println("Creating and registering DataSource ...");
+ srcInf = new DataSourceDescriptor( orb );
+ if (dbURL != null && dbUser != null && dbPassword != null)
+ {
+ isMySQLDB = true;
+ log.println("dbURL = " + dbURL);
+ log.println("dbUSER = " + dbUser);
+ log.println("dbPASSWORD = " + dbPassword);
+ //DataSource for mysql db
+ tableName = "soffice_test_table";
+ srcInf.URL = "jdbc:" + dbURL;
+ srcInf.IsPasswordRequired = Boolean.TRUE;
+ srcInf.Password = dbPassword;
+ srcInf.User = dbUser;
+ PropertyValue[] propInfo = new PropertyValue[1];
+ propInfo[0] = new PropertyValue();
+ propInfo[0].Name = "JavaDriverClass";
+ propInfo[0].Value = "org.gjt.mm.mysql.Driver";
+ srcInf.Info = propInfo;
+ }
+ else
+ {
+ srcInf.URL = "sdbc:dbase:" + DBTools.dirToUrl(tmpDir);
+ }
+ m_dataSource = srcInf.createDataSource();
+ m_dataSource.registerAs( dbSourceName, true );
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * The database (DBF) file is copied from test document directory
+ * into SOffice temp dir with unique name for each environment
+ * creation. If the file can't be copied (is not released)
+ * then another unique name is used (file name suffix incremented
+ * by 1).<p>
+ *
+ * <code>com.sun.star.sdb.RowSet</code> service created and its
+ * source is all rows from the current copy of the table. Then
+ * row set command ("select all rows from a table") is executed
+ * and cursor is positioned to the first row. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ORowSet.Connection'</code> for
+ * internal component test usage. Is used for
+ * closing connection when cleaning up environment. </li>
+ * <li> <code>'XRowSetApproveBroadcaster.ApproveChecker'</code> for
+ * {@link ifc.sdb._XRowSetApproveBroadcaster} interface
+ * implementation which made actions required </li>
+ * <li> <code>'CurrentRowData'</code> for
+ * {@link ifc.sdbc._XRow}, {@link ifc.sdbc._XRowUpdate} :
+ * exports types and values of the current row data.</li>
+ * <li> <code>'XColumnLocate.ColumnName'</code> for
+ * {@link ifc.sdbc._XColumnLocate} :
+ * the name of the first column of the table.</li>
+ * <li> <code>'XParameters.ParamValues'</code> for
+ * {@link ifc.sdbc._XParameters} :
+ * Collection of parameter types presented in the query. </li>
+ * <li> <code>'XRowUpdate.XRow'</code> for
+ * {@link ifc.sdbc._XRowUpdate} :
+ * <code>XRow</code> interface of the current component.</li>
+ * <li> <code>'XResultSetUpdate.UpdateTester'</code> for
+ * {@link ifc.sdbc._XResultSetUpdate} </li>
+ * </ul>
+ *
+ * @see com.sun.star.sdb.DatabaseContext
+ * @see com.sun.star.sdb.DataSource
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception
+ {
+ XMultiServiceFactory orb = Param.getMSF();
+ uniqueSuffix++;
+ boolean envCreatedOK = false ;
+
+ //initialize test table
+ if (isMySQLDB)
+ {
+ DBTools.DataSourceInfo legacyDescriptor = dbTools.newDataSourceInfo();
+ legacyDescriptor.Name = null;
+ legacyDescriptor.User = srcInf.User;
+ legacyDescriptor.Password = srcInf.Password;
+ legacyDescriptor.Info = srcInf.Info;
+ legacyDescriptor.URL = srcInf.URL;
+ legacyDescriptor.IsPasswordRequired = srcInf.IsPasswordRequired;
+ dbTools.initTestTableUsingJDBC(tableName, legacyDescriptor);
+ }
+ else
+ {
+ String oldF = null ;
+ String newF = null ;
+ String tempFolder = utils.getOfficeTemp( orb );
+ do
+ {
+ tableName = "ORowSet_tmp" + uniqueSuffix ;
+ oldF = utils.getFullURL(origDB);
+ newF = tempFolder + tableName + ".dbf";
+ }
+ while ( !utils.tryOverwriteFile( orb, oldF, newF ) );
+ m_tableFile = newF;
+ }
+
+ try
+ {
+ m_rowSet = orb.createInstance("com.sun.star.sdb.RowSet");
+
+ XPropertySet rowSetProps = UnoRuntime.queryInterface( XPropertySet.class, m_rowSet );
+
+ log.println("Trying to open: " + tableName);
+
+ rowSetProps.setPropertyValue("DataSourceName", dbSourceName);
+ rowSetProps.setPropertyValue("Command", tableName);
+ rowSetProps.setPropertyValue("CommandType",
+ Integer.valueOf(CommandType.TABLE));
+
+ final XRowSet rowSet = UnoRuntime.queryInterface( XRowSet.class, m_rowSet);
+ rowSet.execute();
+ m_connection = UnoRuntime.queryInterface( XConnection.class, rowSetProps.getPropertyValue("ActiveConnection") );
+
+ XResultSet xRes = UnoRuntime.queryInterface( XResultSet.class, m_rowSet );
+ xRes.first();
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( (XInterface)m_rowSet );
+
+ // Adding obj relation for XRowSetApproveBroadcaster test
+ {
+ final XResultSet resultSet = UnoRuntime.queryInterface( XResultSet.class, m_rowSet );
+ final XResultSetUpdate resultSetUpdate = UnoRuntime.queryInterface( XResultSetUpdate.class, m_rowSet );
+ final XRowUpdate rowUpdate = UnoRuntime.queryInterface(XRowUpdate.class, m_rowSet );
+ final PrintWriter logF = log ;
+ tEnv.addObjRelation( "XRowSetApproveBroadcaster.ApproveChecker",
+ new ifc.sdb._XRowSetApproveBroadcaster.RowSetApproveChecker()
+ {
+ public void moveCursor()
+ {
+ try
+ {
+ resultSet.beforeFirst();
+ resultSet.afterLast();
+ resultSet.first();
+ }
+ catch (com.sun.star.sdbc.SQLException e)
+ {
+ logF.println("### _XRowSetApproveBroadcaster.RowSetApproveChecker.moveCursor() :");
+ e.printStackTrace(logF);
+ throw new StatusException( "RowSetApproveChecker.moveCursor failed", e );
+ }
+ }
+ public RowChangeEvent changeRow()
+ {
+ try
+ {
+ resultSet.first();
+ rowUpdate.updateString(1, "ORowSetTest2");
+ resultSetUpdate.updateRow();
+ }
+ catch (com.sun.star.sdbc.SQLException e)
+ {
+ logF.println("### _XRowSetApproveBroadcaster.RowSetApproveChecker.changeRow() :");
+ e.printStackTrace(logF);
+ throw new StatusException( "RowSetApproveChecker.changeRow failed", e );
+ }
+ RowChangeEvent ev = new RowChangeEvent();
+ ev.Action = com.sun.star.sdb.RowChangeAction.UPDATE ;
+ ev.Rows = 1 ;
+
+ return ev ;
+ }
+ public void changeRowSet()
+ {
+ try
+ {
+ // since we gave the row set a parametrized statement, we need to ensure the
+ // parameter is actually filled, otherwise we would get an empty result set,
+ // which would imply some further tests failing
+ XParameters rowSetParams = UnoRuntime.queryInterface( XParameters.class, resultSet );
+ rowSetParams.setString( 1, "String2" );
+ rowSet.execute();
+ resultSet.first();
+ }
+ catch (com.sun.star.sdbc.SQLException e)
+ {
+ logF.println("### _XRowSetApproveBroadcaster.RowSetApproveChecker.changeRowSet() :");
+ e.printStackTrace(logF);
+ throw new StatusException( "RowSetApproveChecker.changeRowSet failed", e );
+ }
+ }
+ }
+ );
+ }
+ // Adding relations for XRow as a Vector with all data
+ // of current row of RowSet.
+
+ ArrayList<Object> rowData = new ArrayList<Object>();
+
+ for (int i = 0; i < DBTools.TST_TABLE_VALUES[0].length; i++) {
+ rowData.add(DBTools.TST_TABLE_VALUES[0][i]);
+ }
+
+ // here XRef must be added
+ // here XBlob must be added
+ // here XClob must be added
+ // here XArray must be added
+
+ tEnv.addObjRelation("CurrentRowData", rowData);
+
+ // Adding relation for XColumnLocate ifc test
+ tEnv.addObjRelation( "XColumnLocate.ColumnName", DBTools.TST_STRING_F );
+
+ // Adding relation for XCompletedExecution
+ tEnv.addObjRelation( "InteractionHandlerChecker", new InteractionHandlerImpl() );
+ String sqlCommand = isMySQLDB
+ ? "SELECT Column0 FROM soffice_test_table WHERE ( ( Column0 = :param1 ) )"
+ : "SELECT \"_TEXT\" FROM \"" + tableName + "\" WHERE ( ( \"_TEXT\" = :param1 ) )";
+ rowSetProps.setPropertyValue( "DataSourceName", dbSourceName );
+ rowSetProps.setPropertyValue( "Command", sqlCommand );
+ rowSetProps.setPropertyValue( "CommandType", Integer.valueOf(CommandType.COMMAND) );
+
+ // Adding relation for XParameters ifc test
+ tEnv.addObjRelation( "XParameters.ParamValues", new ArrayList<String>() );
+
+ // Adding relation for XRowUpdate
+ final XRow row = UnoRuntime.queryInterface( XRow.class, m_rowSet );
+ tEnv.addObjRelation("XRowUpdate.XRow", row);
+
+ // Adding relation for XResultSetUpdate
+ {
+ final XResultSet resultSet = UnoRuntime.queryInterface( XResultSet.class, m_rowSet );
+ final XRowUpdate rowUpdate = UnoRuntime.queryInterface( XRowUpdate.class, m_rowSet );
+
+ tEnv.addObjRelation("XResultSetUpdate.UpdateTester",
+ new ifc.sdbc._XResultSetUpdate.UpdateTester()
+ {
+ String lastUpdate = null ;
+
+ public int rowCount() throws SQLException
+ {
+ int prevPos = resultSet.getRow();
+ resultSet.last();
+ int count = resultSet.getRow();
+ resultSet.absolute(prevPos);
+
+ return count ;
+ }
+
+ public void update() throws SQLException
+ {
+ lastUpdate = row.getString(1);
+ lastUpdate += "_" ;
+ rowUpdate.updateString(1, lastUpdate);
+ }
+
+ public boolean wasUpdated() throws SQLException
+ {
+ String getStr = row.getString(1);
+ return lastUpdate.equals(getStr);
+ }
+
+ public int currentRow() throws SQLException
+ {
+ return resultSet.getRow();
+ }
+ }
+ );
+ }
+
+ envCreatedOK = true ;
+ return tEnv;
+
+ }
+ finally
+ {
+ if (!envCreatedOK)
+ {
+ try
+ {
+ m_connection.close();
+ }
+ catch(Exception ex)
+ {
+ System.out.println("caught exception: " + ex);
+ }
+ }
+ }
+
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes connection of <code>RowSet</code> instance created.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log)
+ {
+ String doing = null;
+ try
+ {
+ doing = "revoking data source registration";
+ log.println( doing );
+ m_dataSource.revokeRegistration();
+
+ doing = "closing database document";
+ log.println( doing );
+ XModel databaseDocModel = UnoRuntime.queryInterface( XModel.class,
+ m_dataSource.getDatabaseDocument().getDatabaseDocument() );
+ String documentFile = databaseDocModel.getURL();
+
+ XCloseable closeModel = UnoRuntime.queryInterface( XCloseable.class,
+ m_dataSource.getDatabaseDocument().getDatabaseDocument() );
+ closeModel.close( true );
+
+ if ( m_rowSet != null )
+ {
+ doing = "disposing row set";
+ log.println( doing );
+ XComponent rowSetComponent = UnoRuntime.queryInterface( XComponent.class, m_rowSet );
+ rowSetComponent.dispose();
+ }
+
+ try
+ {
+ doing = "closing connection";
+ log.println( doing );
+ m_connection.close();
+ }
+ catch (com.sun.star.lang.DisposedException e)
+ {
+ log.println( "already closed - okay." );
+ }
+
+ doing = "deleting database file (" + documentFile + ")";
+ log.println( doing );
+ impl_deleteFile( documentFile );
+
+ if ( m_tableFile != null )
+ {
+ doing = "deleting dBase table file (" + m_tableFile + ")";
+ log.println( doing );
+ impl_deleteFile( m_tableFile );
+ }
+ }
+ catch (com.sun.star.uno.Exception e)
+ {
+ log.println( "error: ");
+ e.printStackTrace(log);
+ }
+ }
+
+ private final void impl_deleteFile( final String _file )
+ {
+ java.io.File file = new java.io.File( _file );
+
+ boolean bDeleteOk = file.delete();
+ if (!bDeleteOk && file.exists())
+ file.deleteOnExit();
+ }
+
+ /**
+ * Implementation of interface _XCompletedExecution.CheckInteractionHandler
+ * for the XCompletedExecution test
+ * @see ifc.sdb._XCompletedExecution
+ */
+ private static class InteractionHandlerImpl implements _XCompletedExecution.CheckInteractionHandler {
+
+ private boolean handlerWasUsed = false;
+ private PrintWriter log;
+
+ InteractionHandlerImpl() throws UnsupportedEncodingException {
+ log = new PrintWriter(new OutputStreamWriter(System.out, "UTF-8"));
+ }
+
+ public boolean checkInteractionHandler() {
+ return handlerWasUsed;
+ }
+
+ public void handle(XInteractionRequest xInteractionRequest) {
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: handle called.");
+ boolean abort = false;
+
+ Object o = xInteractionRequest.getRequest();
+ if (o instanceof ParametersRequest) {
+ }
+ else if (o instanceof AuthenticationRequest) {
+ log.println("### The request in XCompletedExecution is of type 'AuthenticationRequest'");
+ log.println("### This is not implemented in ORowSet.InteractionHandlerImpl test -> abort.");
+ abort = true;
+ }
+ else {
+ log.println("### Unknown request:" + o.toString());
+ log.println("### This is not implemented in ORowSet.InteractionHandlerImpl test -> abort.");
+ abort = true;
+ }
+
+ XInteractionContinuation[]xCont = xInteractionRequest.getContinuations();
+ XInteractionSupplyParameters xParamCallback = null;
+ for(int i=0; i<xCont.length; i++) {
+ if (abort) {
+ XInteractionAbort xAbort = null;
+ xAbort = UnoRuntime.queryInterface(XInteractionAbort.class, xCont[i]);
+ if (xAbort != null)
+ xAbort.select();
+ return;
+ }
+ else {
+ xParamCallback = UnoRuntime.queryInterface(XInteractionSupplyParameters.class, xCont[i]);
+ if (xParamCallback != null)
+ break;
+ }
+ }
+ if (xParamCallback != null) {
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: supplying parameters.");
+ handlerWasUsed = true;
+ PropertyValue[] prop = new PropertyValue[1];
+ prop[0] = new PropertyValue();
+ prop[0].Name = "param1";
+ prop[0].Value = "Hi.";
+
+ xParamCallback.setParameters(prop);
+ xParamCallback.select();
+ }
+ else { // we should never reach this: abort has to be true first.
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: Got no " +
+ "'XInteractionSupplyParameters' and no 'XInteractionAbort'.");
+ }
+ }
+
+ public void setLog(PrintWriter log) {
+ this.log = log;
+ }
+
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/OSQLMessageDialog.java b/qadevOOo/tests/java/mod/_dbaccess/OSQLMessageDialog.java
new file mode 100644
index 000000000..2fe02240c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/OSQLMessageDialog.java
@@ -0,0 +1,127 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.sdb.ErrorMessageDialog</code>.
+ * <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * <li> <code>com::sun::star::sdb::ErrorMessageDialog</code></li>
+ * <li> <code>com::sun::star::ui::dialogs::XExecutableDialog</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.sdb.ErrorMessageDialog
+ * @see com.sun.star.ui.dialogs.XExecutableDialog
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.sdb._ErrorMessageDialog
+ * @see ifc.ui.dialogs._XExecutableDialog
+ * @see ifc.beans._XPropertySet
+ */
+public class OSQLMessageDialog extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ *
+ * Creates an instance of the service
+ * <code>com.sun.star.sdb.ErrorMessageDialog</code>. Object relations
+ * created :
+ * <ul>
+ * <li> <code>'ERR1', 'ERR2'</code> for {@link ifc.sdb._ErrorMessageDialog}</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ Object err1 = null;
+ Object err2 = null;
+
+ oInterface = Param.getMSF().createInstance(
+ "com.sun.star.sdb.ErrorMessageDialog");
+
+ err1 = new com.sun.star.sdbc.SQLException("err1");
+ err2 = new com.sun.star.sdbc.SQLException("err2");
+
+ oObj = (XInterface) oInterface;
+
+ // create XWindow for Object relations...
+ com.sun.star.awt.XToolkit xToolkit = UnoRuntime.queryInterface(
+ com.sun.star.awt.XToolkit.class,
+ Param.getMSF().createInstance("com.sun.star.awt.Toolkit"));
+
+ // Describe the properties of the container window.
+ com.sun.star.awt.WindowDescriptor aDescriptor = new com.sun.star.awt.WindowDescriptor();
+
+ aDescriptor.Type = com.sun.star.awt.WindowClass.TOP;
+ aDescriptor.WindowServiceName = "window";
+ aDescriptor.ParentIndex = -1;
+ aDescriptor.Parent = null;
+ aDescriptor.Bounds = new com.sun.star.awt.Rectangle(0, 0, 0, 0);
+
+ aDescriptor.WindowAttributes = com.sun.star.awt.WindowAttribute.BORDER
+ | com.sun.star.awt.WindowAttribute.MOVEABLE
+ | com.sun.star.awt.WindowAttribute.SIZEABLE
+ | com.sun.star.awt.WindowAttribute.CLOSEABLE;
+
+ com.sun.star.awt.XWindowPeer xPeer = xToolkit.createWindow(aDescriptor);
+
+ com.sun.star.awt.XWindow xWindow = UnoRuntime.queryInterface(
+ com.sun.star.awt.XWindow.class, xPeer);
+
+ log.println(" creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("add ObjectRelations err1 and err2 for 'ErrorMessageDialog'");
+ tEnv.addObjRelation("ERR1", err1);
+ tEnv.addObjRelation("ERR2", err2);
+ tEnv.addObjRelation("ERR_XWindow", xWindow);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ @Override public void disposeTestEnvironment(
+ TestEnvironment tEnv, TestParameters tParam)
+ {
+ UnoRuntime.queryInterface(
+ com.sun.star.lang.XComponent.class,
+ (com.sun.star.awt.XWindow) tEnv.getObjRelation("ERR_XWindow"))
+ .dispose();
+ super.disposeTestEnvironment(tEnv, tParam);
+ }
+} // finish class OSQLMessageDialog
+
diff --git a/qadevOOo/tests/java/mod/_dbaccess/OSingleSelectQueryComposer.java b/qadevOOo/tests/java/mod/_dbaccess/OSingleSelectQueryComposer.java
new file mode 100644
index 000000000..272688f8e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/OSingleSelectQueryComposer.java
@@ -0,0 +1,245 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.CommandType;
+import com.sun.star.sdb.XSingleSelectQueryAnalyzer;
+import com.sun.star.sdb.XSingleSelectQueryComposer;
+import com.sun.star.sdbc.XDataSource;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbcx.XColumnsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.sdb.DataSource</code>.
+ * <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::sdbc::RowSet</code></li>
+ * <li> <code>com::sun::star::sdbcx::XRowLocate</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSetUpdate</code></li>
+ * <li> <code>com::sun::star::util::XCancellable</code></li>
+ * <li> <code>com::sun::star::sdbc::XParameters</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSetMetaDataSupplier</code></li>
+ * <li> <code>com::sun::star::sdbcx::XDeleteRows</code></li>
+ * <li> <code>com::sun::star::sdbc::XCloseable</code></li>
+ * <li> <code>com::sun::star::sdbcx::XColumnsSupplier</code></li>
+ * <li> <code>com::sun::star::sdb::XResultSetAccess</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSet</code></li>
+ * <li> <code>com::sun::star::sdbc::XColumnLocate</code></li>
+ * <li> <code>com::sun::star::sdbc::XRowSet</code></li>
+ * <li> <code>com::sun::star::sdb::RowSet</code></li>
+ * <li> <code>com::sun::star::sdbc::XRowUpdate</code></li>
+ * <li> <code>com::sun::star::sdb::XRowSetApproveBroadcaster</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::sdbc::XRow</code></li>
+ * <li> <code>com::sun::star::sdbc::XWarningsSupplier</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::sdbcx::ResultSet</code></li>
+ * <li> <code>com::sun::star::sdbc::ResultSet</code></li>
+ * </ul>
+ * <p>
+ * The following files used by this test :
+ * <ul>
+ * <li><b> TestDB/TestDB.dbf </b> : the database file with some predefined
+ * fields described in <code>util.DBTools</code>. The copy of this file is
+ * always made in temp directory for testing purposes.</li>
+ * </ul>
+ * <p>
+ * The following parameters in ini-file used by this test:
+ * <ul>
+ * <li><code>test.db.url</code> - URL to MySQL database. For example:
+ * <code>mysql://mercury:3306/api_current</code></li>
+ * <li><code>test.db.user</code> - user for MySQL database</li>
+ * <li><code>test.db.password</code> - password for MySQL database</li>
+ * </ul>
+ * <p>
+ *
+ * @see com.sun.star.sdbc.RowSet
+ * @see com.sun.star.sdbcx.XRowLocate
+ * @see com.sun.star.sdbc.XResultSetUpdate
+ * @see com.sun.star.util.XCancellable
+ * @see com.sun.star.sdbc.XParameters
+ * @see com.sun.star.sdbc.XResultSetMetaDataSupplier
+ * @see com.sun.star.sdbcx.XDeleteRows
+ * @see com.sun.star.sdbc.XCloseable
+ * @see com.sun.star.sdbcx.XColumnsSupplier
+ * @see com.sun.star.sdb.XResultSetAccess
+ * @see com.sun.star.sdbc.XResultSet
+ * @see com.sun.star.sdbc.XColumnLocate
+ * @see com.sun.star.sdbc.XRowSet
+ * @see com.sun.star.sdb.RowSet
+ * @see com.sun.star.sdbc.XRowUpdate
+ * @see com.sun.star.sdb.XRowSetApproveBroadcaster
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.sdbc.XRow
+ * @see com.sun.star.sdbc.XWarningsSupplier
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.sdbcx.ResultSet
+ * @see com.sun.star.sdbc.ResultSet
+ * @see ifc.sdbc._RowSet
+ * @see ifc.sdbcx._XRowLocate
+ * @see ifc.sdbc._XResultSetUpdate
+ * @see ifc.util._XCancellable
+ * @see ifc.sdbc._XParameters
+ * @see ifc.sdbc._XResultSetMetaDataSupplier
+ * @see ifc.sdbcx._XDeleteRows
+ * @see ifc.sdbc._XCloseable
+ * @see ifc.sdbcx._XColumnsSupplier
+ * @see ifc.sdb._XResultSetAccess
+ * @see ifc.sdbc._XResultSet
+ * @see ifc.sdbc._XColumnLocate
+ * @see ifc.sdbc._XRowSet
+ * @see ifc.sdb._RowSet
+ * @see ifc.sdbc._XRowUpdate
+ * @see ifc.sdb._XRowSetApproveBroadcaster
+ * @see ifc.beans._XPropertySet
+ * @see ifc.sdbc._XRow
+ * @see ifc.sdbc._XWarningsSupplier
+ * @see ifc.lang._XComponent
+ * @see ifc.sdbcx._ResultSet
+ * @see ifc.sdbc._ResultSet
+ */
+public class OSingleSelectQueryComposer extends TestCase {
+
+ protected static final String dbSourceName = "OSingleSelectQueryComposerDataSource";
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ *
+ * Object relations created :
+ * <ul>SingleSelectQueryAnalyzer
+
+ * <li> <code>'xComposer'</code> for
+ * {@link ifc.sdb._XSingleSelectQueryAnalyzer} interface
+ * <li> <code>'xQueryAna'</code> for
+ * {@link ifc.sdb._XSingleSelectQueryComposer} interface
+ * <li> <code>'xProp'</code> for
+ * {@link ifc.sdb._XSingleSelectQueryComposer} interface
+ * <li> <code>'colName'</code> for
+ * {@link ifc.sdb._XSingleSelectQueryComposer} interface
+ * <li> <code>'xResultSet'</code> for
+ * {@link ifc.sdb._XSingleSelectQueryComposer} interface
+ * </ul>
+ *
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = null;
+ xMSF = Param.getMSF();
+
+ XNameAccess xNameAccess = UnoRuntime.queryInterface(XNameAccess.class,
+ xMSF.createInstance("com.sun.star.sdb.DatabaseContext"));
+ // we use the first datasource
+ XDataSource xDS = UnoRuntime.queryInterface(XDataSource.class,
+ xNameAccess.getByName("Bibliography"));
+
+ log.println("check XMultiServiceFactory");
+ XMultiServiceFactory xConn = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xDS.getConnection("", ""));
+
+ log.println("check getAvailableServiceNames");
+ String[] sServiceNames = xConn.getAvailableServiceNames();
+ if (!sServiceNames[0]
+ .equals("com.sun.star.sdb.SingleSelectQueryComposer")) {
+ log.println("Service 'SingleSelectQueryComposer' not supported");
+ }
+
+ oInterface = xConn.createInstance(sServiceNames[0]);
+ Object oRowSet = xMSF.createInstance("com.sun.star.sdb.RowSet");
+
+ XPropertySet xSetProp = UnoRuntime.queryInterface(XPropertySet.class,
+ oRowSet);
+
+ xSetProp.setPropertyValue("DataSourceName", "Bibliography");
+ xSetProp.setPropertyValue("Command", "biblio");
+ xSetProp.setPropertyValue("CommandType",
+ Integer.valueOf(CommandType.TABLE));
+
+ com.sun.star.sdbc.XRowSet xORowSet = UnoRuntime.queryInterface(
+ com.sun.star.sdbc.XRowSet.class, oRowSet);
+
+ xORowSet.execute();
+
+ XColumnsSupplier xColSup = UnoRuntime.queryInterface(
+ XColumnsSupplier.class, oRowSet);
+
+ XNameAccess xCols = xColSup.getColumns();
+
+ XPropertySet xCol = (XPropertySet) AnyConverter.toObject(new Type(
+ XPropertySet.class),
+ xCols.getByName(xCols.getElementNames()[0]));
+
+ XSingleSelectQueryAnalyzer xQueryAna = UnoRuntime.queryInterface(
+ XSingleSelectQueryAnalyzer.class, oInterface);
+
+ // XSingleSelectQueryComposer
+ XSingleSelectQueryComposer xComposer = UnoRuntime.queryInterface(
+ XSingleSelectQueryComposer.class, xQueryAna);
+ xQueryAna.setQuery("SELECT * FROM \"biblio\"");
+
+ oObj = (XInterface) oInterface;
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ log.println(" creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // for XSingleSelectQueryAnalyzer
+ tEnv.addObjRelation("xComposer", xComposer);
+
+ // for XSingleSelectQueryComposer
+ tEnv.addObjRelation("xQueryAna", xQueryAna);
+
+ tEnv.addObjRelation("xProp", xCol);
+ tEnv.addObjRelation("colName", xCols.getElementNames()[0]);
+
+ XResultSet xResultSet = UnoRuntime.queryInterface(XResultSet.class,
+ oRowSet);
+ tEnv.addObjRelation("xResultSet", xResultSet);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes connection of <code>RowSet</code> instance created.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/SbaXGridControl.java b/qadevOOo/tests/java/mod/_dbaccess/SbaXGridControl.java
new file mode 100644
index 000000000..dafdd9eaf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/SbaXGridControl.java
@@ -0,0 +1,426 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._dbaccess;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.form.XBoundComponent;
+import com.sun.star.form.XGridColumnFactory;
+import com.sun.star.form.XLoadable;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+* Test for object which represents the control of the Grid model. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::util::XModifyBroadcaster</code></li>
+* <li> <code>com::sun::star::form::XGridFieldDataSupplier</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::form::XGrid</code></li>
+* <li> <code>com::sun::star::awt::XControl</code></li>
+* <li> <code>com::sun::star::util::XModeSelector</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::awt::XWindow</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::frame::XDispatch</code></li>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::frame::XDispatchProviderInterception</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::awt::XView</code></li>
+* <li> <code>com::sun::star::container::XContainer</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.util.XModifyBroadcaster
+* @see com.sun.star.form.XGridFieldDataSupplier
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.form.XGrid
+* @see com.sun.star.awt.XControl
+* @see com.sun.star.util.XModeSelector
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.awt.XWindow
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.frame.XDispatch
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.frame.XDispatchProviderInterception
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.awt.XView
+* @see com.sun.star.container.XContainer
+* @see ifc.util._XModifyBroadcaster
+* @see ifc.form._XGridFieldDataSupplier
+* @see ifc.view._XSelectionSupplier
+* @see ifc.form._XGrid
+* @see ifc.awt._XControl
+* @see ifc.util._XModeSelector
+* @see ifc.container._XElementAccess
+* @see ifc.awt._XWindow
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.frame._XDispatch
+* @see ifc.container._XEnumerationAccess
+* @see ifc.form._XBoundComponent
+* @see ifc.frame._XDispatchProviderInterception
+* @see ifc.container._XIndexAccess
+* @see ifc.lang._XComponent
+* @see ifc.awt._XView
+* @see ifc.container._XContainer
+*/
+public class SbaXGridControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ //closing the appearing dialog before disposing the document
+ XInterface toolkit = null;
+
+ try {
+ toolkit = (XInterface) tParam.getMSF()
+ .createInstance("com.sun.star.awt.Toolkit");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get toolkit");
+ e.printStackTrace(log);
+ throw new StatusException("Couldn't get toolkit", e);
+ }
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ Object atw = tk.getActiveTopWindow();
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ atw);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XInterface button = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON);
+
+ XAccessibleAction action = UnoRuntime.queryInterface(
+ XAccessibleAction.class, button);
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iob) {
+ log.println("couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close dialog");
+ }
+
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * For object creation first a
+ * <code>com.sun.star.form.component.GridControl<code> instance
+ * is added to the <code>ControlShape</code>. Then this model's
+ * control is retrieved.
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} test : <code>XGraphics</code>
+ * object different that belong to the object tested.</li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} </li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} </li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} for switching focus.</li>
+ * <li> <code>'XDispatch.URL'</code> for
+ * {@link ifc.frame._XDispatch} the url which moves
+ * DB cursor to the next row (".uno:FormSlots/moveToNext").</li>
+ * <li> <code>'XContainer.Container'</code> for
+ * {@link ifc.container._XContainer} as the component created
+ * doesn't support <code>XContainer</code> itself, but
+ * it is supported by its model. So this model is passed.</li>
+ * <li> <code>'INSTANCE'</code> for
+ * {@link ifc.container._XContainer} the instance to be
+ * inserted into collection. Is a column instance.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XPropertySet aControl = null;
+ XPropertySet aControl2 = null;
+ XPropertySet aControl3 = null;
+ XPropertySet aControl4 = null;
+ XGridColumnFactory columns = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = createGrid(xTextDoc, 3000, 4500, 15000, 10000);
+
+ XControlModel the_Model = aShape.getControl();
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XLoadable formLoader = FormTools.bindForm(xTextDoc);
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ columns = UnoRuntime.queryInterface(
+ XGridColumnFactory.class, the_Model);
+ aControl = columns.createColumn("TextField");
+ aControl.setPropertyValue("DataField", "Identifier");
+ aControl.setPropertyValue("Label", "Identifier");
+ aControl2 = columns.createColumn("TextField");
+ aControl2.setPropertyValue("DataField", "Publisher");
+ aControl2.setPropertyValue("Label", "Publisher");
+ aControl3 = columns.createColumn("TextField");
+ aControl3.setPropertyValue("DataField", "Author");
+ aControl3.setPropertyValue("Label", "Author");
+ aControl4 = columns.createColumn("TextField");
+ aControl4.setPropertyValue("DataField", "Title");
+ aControl4.setPropertyValue("Label", "Title");
+
+ XNameContainer aContainer = UnoRuntime.queryInterface(
+ XNameContainer.class, the_Model);
+
+ aContainer.insertByName("First", aControl);
+ aContainer.insertByName("Second", aControl2);
+
+ //now get the OGridControl
+ oObj = the_access.getControl(the_Model);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+
+ // creating another window
+ aShape = FormTools.createControlShape(xTextDoc, 3000, 4500, 15000,
+ 10000, "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ the_Model = aShape.getControl();
+
+
+ //Try to query XControlAccess
+ the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the TextControl
+ XWindow win = null;
+ Object cntrl = null;
+
+ cntrl = the_access.getControl(the_Model);
+ win = UnoRuntime.queryInterface(XWindow.class, cntrl);
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Relations for XSelectionSupplier
+ tEnv.addObjRelation("Selections",
+ new Object[] {
+ new Object[] { Integer.valueOf(0) }, new Object[] { Integer.valueOf(1) }
+ });
+ tEnv.addObjRelation("Comparer",
+ new Comparator<Integer>() {
+ public int compare(Integer o1, Integer o2) {
+ return o1.compareTo(o2);
+ }
+ });
+
+
+ //Relation for XContainer
+ tEnv.addObjRelation("XContainer.Container", aContainer);
+ tEnv.addObjRelation("INSTANCE", aControl3);
+ tEnv.addObjRelation("INSTANCE2", aControl4);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+
+ // Adding relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", win);
+
+ // Adding relation for XDispatch
+ URL url = new URL();
+ url.Complete = ".uno:FormSlots/moveToNext";
+
+
+ //url.Complete = ".uno:GridSlots/RowHeight";
+ //url.Complete = ".uno:GridSlots/RowHeight" ;
+ tEnv.addObjRelation("XDispatch.URL", url);
+
+ log.println("ImplName: " + utils.getImplName(oObj));
+
+ FormTools.switchDesignOf(Param.getMSF(), xTextDoc);
+
+ // adding relation for XUpdateBroadcaster
+ final XInterface ctrl = oObj;
+ final XLoadable formLoaderF = formLoader;
+ final XPropertySet ps = UnoRuntime.queryInterface(
+ XPropertySet.class, aControl2);
+ tEnv.addObjRelation("XUpdateBroadcaster.Checker",
+ new ifc.form._XUpdateBroadcaster.UpdateChecker() {
+ private String lastText = "";
+
+ public void update() throws com.sun.star.uno.Exception {
+ if (!formLoaderF.isLoaded()) {
+ formLoaderF.load();
+ }
+
+ lastText = "_" + ps.getPropertyValue("Text");
+ ps.setPropertyValue("Text", lastText);
+ }
+
+ public void commit() throws com.sun.star.sdbc.SQLException {
+ XBoundComponent bound = UnoRuntime.queryInterface(
+ XBoundComponent.class, ctrl);
+ XResultSetUpdate update = UnoRuntime.queryInterface(
+ XResultSetUpdate.class,
+ formLoaderF);
+
+ bound.commit();
+ update.updateRow();
+ }
+
+ public boolean wasCommited() throws com.sun.star.uno.Exception {
+ String getS = (String) ps.getPropertyValue("Text");
+
+ return lastText.equals(getS);
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ public static XControlShape createGrid(XComponent oDoc, int height,
+ int width, int x, int y) throws Exception {
+ Size size = new Size();
+ Point position = new Point();
+ XControlShape oCShape = null;
+ XControlModel aControl = null;
+
+ //get MSF
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ oDoc);
+
+ Object oInt = oDocMSF.createInstance(
+ "com.sun.star.drawing.ControlShape");
+ Object aCon = oDocMSF.createInstance(
+ "com.sun.star.form.component.GridControl");
+ XPropertySet model_props = UnoRuntime.queryInterface(
+ XPropertySet.class, aCon);
+ model_props.setPropertyValue("DefaultControl",
+ "com.sun.star.form.control.InteractionGridControl");
+ aControl = UnoRuntime.queryInterface(
+ XControlModel.class, aCon);
+ oCShape = UnoRuntime.queryInterface(
+ XControlShape.class, oInt);
+ size.Height = height;
+ size.Width = width;
+ position.X = x;
+ position.Y = y;
+ oCShape.setSize(size);
+ oCShape.setPosition(position);
+
+ oCShape.setControl(aControl);
+
+ return oCShape;
+ } // finish createGrid
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_dbaccess/TableWindowAccessibility.java b/qadevOOo/tests/java/mod/_dbaccess/TableWindowAccessibility.java
new file mode 100644
index 000000000..384edb85b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/TableWindowAccessibility.java
@@ -0,0 +1,267 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._dbaccess;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.frame.XModel;
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.sdb.XQueryDefinitionsSupplier;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XIsolatedConnection;
+import com.sun.star.sdbc.XStatement;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import util.DesktopTools;
+import util.utils;
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>::com::sun::star::accessibility::XAccessible</code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul>
+ * <p>
+ *
+ * @see com.sun.star.accessibility.XAccessible
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessible
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ */
+public class TableWindowAccessibility extends TestCase {
+ XWindow xWindow = null;
+ String aFile = "";
+ XIsolatedConnection isolConnection = null;
+ XComponent QueryComponent = null;
+ String user = "";
+ String password = "";
+
+ /**
+ * Creates a new DataSource and stores it. Creates a connection and using it
+ * creates two tables in database. Creates a new query and adds it to
+ * DefinitionContainer. Opens the QueryComponent.with loadComponentFromURL
+ * and gets the object with the role PANEL and the implementation name that
+ * contains TabelViewAccessibility
+ *
+ * @param Param
+ * test parameters
+ * @param log
+ * writer to log information while testing
+ * @return
+ * @throws StatusException
+ * @see TestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+ Param.getMSF().createInstance("com.sun.star.sdb.DatabaseContext");
+ Object oDBSource = Param.getMSF()
+ .createInstance("com.sun.star.sdb.DataSource");
+ Object newQuery = Param.getMSF().createInstance(
+ "com.sun.star.sdb.QueryDefinition");
+ Param.getMSF().createInstance("com.sun.star.awt.Toolkit");
+
+ String mysqlURL = (String) Param.get("mysql.url");
+
+ if (mysqlURL == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get 'mysql.url' from ini-file"));
+ }
+
+ user = (String) Param.get("jdbc.user");
+ password = (String) Param.get("jdbc.password");
+
+ if ((user == null) || (password == null)) {
+ throw new StatusException(
+ Status.failed("Couldn't get 'jdbc.user' or 'jdbc.password' from ini-file"));
+ }
+
+ PropertyValue[] info = new PropertyValue[2];
+ info[0] = new PropertyValue();
+ info[0].Name = "user";
+ info[0].Value = user;
+ info[1] = new PropertyValue();
+ info[1].Name = "password";
+ info[1].Value = password;
+
+ XPropertySet propSetDBSource = UnoRuntime.queryInterface(
+ XPropertySet.class, oDBSource);
+
+ propSetDBSource.setPropertyValue("URL", mysqlURL);
+ propSetDBSource.setPropertyValue("Info", info);
+
+ log.println("writing database file ...");
+ XDocumentDataSource xDDS = UnoRuntime.queryInterface(
+ XDocumentDataSource.class, oDBSource);
+ XStorable store = UnoRuntime.queryInterface(XStorable.class,
+ xDDS.getDatabaseDocument());
+ aFile = utils.getOfficeTemp(Param.getMSF()) + "TableWindow.odb";
+ log.println("... filename will be " + aFile);
+ store.storeAsURL(aFile, new PropertyValue[] {});
+ log.println("... done");
+
+ isolConnection = UnoRuntime.queryInterface(XIsolatedConnection.class,
+ oDBSource);
+
+ final String tbl_name1 = "tst_table1";
+ final String tbl_name2 = "tst_table2";
+ final String col_name1 = "id1";
+ final String col_name2 = "id2";
+
+ util.utils.waitForEventIdle(Param.getMSF());
+ XConnection connection = isolConnection.getIsolatedConnection(user, password);
+ XStatement statement = connection.createStatement();
+ statement.executeUpdate("drop table if exists " + tbl_name1);
+ statement.executeUpdate("drop table if exists " + tbl_name2);
+ statement.executeUpdate("create table " + tbl_name1 + " ("
+ + col_name1 + " int)");
+ statement.executeUpdate("create table " + tbl_name2 + " ("
+ + col_name2 + " int)");
+
+ XQueryDefinitionsSupplier querySuppl = UnoRuntime.queryInterface(
+ XQueryDefinitionsSupplier.class, oDBSource);
+
+ XNameAccess defContainer = querySuppl.getQueryDefinitions();
+
+ XPropertySet queryProp = UnoRuntime.queryInterface(XPropertySet.class,
+ newQuery);
+
+ final String query = "select * from " + tbl_name1 + ", " + tbl_name2
+ + " where " + tbl_name1 + "." + col_name1 + "=" + tbl_name2
+ + "." + col_name2;
+ queryProp.setPropertyValue("Command", query);
+
+ XNameContainer queryContainer = UnoRuntime.queryInterface(
+ XNameContainer.class, defContainer);
+
+ queryContainer.insertByName("Query1", newQuery);
+ store.store();
+ connection.close();
+
+ PropertyValue[] loadProps = new PropertyValue[3];
+ loadProps[0] = new PropertyValue();
+ loadProps[0].Name = "QueryDesignView";
+ loadProps[0].Value = Boolean.TRUE;
+
+ loadProps[1] = new PropertyValue();
+ loadProps[1].Name = "CurrentQuery";
+ loadProps[1].Value = "Query1";
+
+ loadProps[2] = new PropertyValue();
+ loadProps[2].Name = "DataSource";
+ loadProps[2].Value = oDBSource;
+
+ QueryComponent = DesktopTools.loadDoc(Param.getMSF(),
+ ".component:DB/QueryDesign", loadProps);
+
+ xWindow = UnoRuntime.queryInterface(XModel.class, QueryComponent)
+ .getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot,
+ Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PANEL, "", "TableWindowAccessibility");
+
+ log.println("ImplementationName " + util.utils.getImplName(oObj));
+
+ log.println("creating TestEnvironment ... done");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XAccessibleComponent accComp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class, oObj);
+
+ final Point point = accComp.getLocationOnScreen();
+
+ tEnv.addObjRelation(
+ "EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(point.X + 2, point.Y + 7);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseMove(point.X + 400, point.Y);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("desired child doesn't exist");
+ }
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes all open documents.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try {
+
+ log.println("closing QueryComponent ...");
+ DesktopTools.closeDoc(QueryComponent);
+ log.println("... done");
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object sfa = xMSF
+ .createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ XSimpleFileAccess xSFA = UnoRuntime.queryInterface(
+ XSimpleFileAccess.class, sfa);
+ log.println("deleting database file");
+ xSFA.kill(aFile);
+ log.println("Could delete file " + aFile + ": "
+ + !xSFA.exists(aFile));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_dbaccess/package.html b/qadevOOo/tests/java/mod/_dbaccess/package.html
new file mode 100644
index 000000000..d6411c05e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbaccess/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'dbaccess'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_dbpool/OConnectionPool.java b/qadevOOo/tests/java/mod/_dbpool/OConnectionPool.java
new file mode 100644
index 000000000..5e0d6517d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dbpool/OConnectionPool.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dbpool;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sdbc.ConnectionPool</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sdbc::XDriverManager</code></li>
+* </ul>
+* @see com.sun.star.sdbc.XDriverManager
+* @see ifc.sdbc._XDriverManager
+*/
+public class OConnectionPool extends TestCase {
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oObj = null;
+
+ oObj = (XInterface)
+ xMSF.createInstance("com.sun.star.sdbc.ConnectionPool");
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //adding relations for XDriverManager
+ String dbaseURL = (String) Param.get("dbase.url");
+ if (dbaseURL == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get parameter 'dbase.url'"));
+ }
+
+ tEnv.addObjRelation("SDBC.URL", "sdbc:dbase:" + dbaseURL);
+
+ String jdbcURL = (String) Param.get("jdbc.url");
+ if (jdbcURL == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get parameter 'jdbc.url'"));
+ }
+
+ tEnv.addObjRelation("JDBC.URL", "jdbc:" + jdbcURL);
+
+ String jdbcUser = (String) Param.get("jdbc.user");
+ if (jdbcUser == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get parameter 'jdbc.user'"));
+ }
+
+ String jdbcPassword = (String) Param.get("jdbc.password");
+ if (jdbcPassword == null) {
+ throw new StatusException(
+ Status.failed("Couldn't get parameter 'jdbc.password'"));
+ }
+
+ PropertyValue[] jdbcInfo = new PropertyValue[3];
+ jdbcInfo[0] = new PropertyValue();
+ jdbcInfo[0].Name = "user";
+ jdbcInfo[0].Value = jdbcUser;
+ jdbcInfo[1] = new PropertyValue();
+ jdbcInfo[1].Name = "password";
+ jdbcInfo[1].Value = jdbcPassword;
+ jdbcInfo[2] = new PropertyValue();
+ jdbcInfo[2].Name = "JavaDriverClass";
+ jdbcInfo[2].Value = DBTools.TST_JDBC_DRIVER;
+
+ tEnv.addObjRelation("JDBC.INFO", jdbcInfo);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_defreg/NestedRegistry.java b/qadevOOo/tests/java/mod/_defreg/NestedRegistry.java
new file mode 100644
index 000000000..a571c7e2c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_defreg/NestedRegistry.java
@@ -0,0 +1,201 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._defreg;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.RegistryTools;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.registry.NestedRegistry</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::registry::XSimpleRegistry</code></li>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> XSimpleRegistry.rdb </b> : Registry file created before. </li>
+* <li><b> XSimpleRegistry_open#.rdb </b> : Temporary registry file as copy of
+* <b> XSimpleRegistry.rdb </b> in the SOffice temp directory.
+* ('#' - is an ordinary number) </li>
+* <li><b> XSimpleRegistry_merge#.rdb </b> : Temporary registry file as copy of
+* <b> XSimpleRegistry.rdb </b> in the SOffice temp directory.
+* ('#' - is an ordinary number) </li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.registry.XSimpleRegistry
+* @see com.sun.star.lang.XInitialization
+* @see ifc.registry._XSimpleRegistry
+* @see ifc.lang._XInitialization
+*/
+public class NestedRegistry extends TestCase {
+
+ protected static int uniq = 0 ;
+ XSimpleRegistry reg1;
+ XSimpleRegistry reg2;
+
+ @Override
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam ) {
+ try {
+ reg1.destroy();
+ reg2.destroy();
+ }
+ catch (com.sun.star.registry.InvalidRegistryException e) {
+ System.out.println("caught exception: " + e);
+ }
+ }
+
+ /**
+ * Creates a temporary copy of file, which is deleted when VM exits.
+ * @param src Source file path.
+ * @param dst Destination file path.
+ * @throws java.io.IOException If any problems occur during copying.
+ */
+ protected void copyFile(String src, String dst, PrintWriter log)
+ throws java.io.IOException {
+ log.println("Copy File "+src+" to "+dst);
+ File srcF = new File(src) ;
+ File dstF = new File(dst) ;
+
+ if (dstF.exists()) {
+ boolean bDeleteOk = dstF.delete();
+ if (!bDeleteOk) {
+ System.out.println("delete failed");
+ }
+ }
+
+ boolean bCreateOk = dstF.createNewFile();
+ if (!bCreateOk) {
+ System.out.println("create failed");
+ }
+
+ dstF.deleteOnExit() ;
+
+ FileInputStream fIn = new FileInputStream(srcF) ;
+ FileOutputStream fOut = new FileOutputStream(dstF) ;
+
+ byte[] buf = new byte[1024] ;
+ int bytesRead = 0 ;
+ while ((bytesRead = fIn.read(buf)) > 0) {
+ fOut.write(buf, 0, bytesRead) ;
+ }
+
+ fIn.close() ;
+ fOut.close() ;
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates two temporary copies of registry file created before, opens
+ * them, and creates service <code>com.sun.star.comp.stoc.NestedRegistry</code>
+ * with these two registries. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'NR'</code> for {@link ifc.registry._XSimpleRegistry} :
+ * Just informs interface test that <code>NestedRegistry</code>
+ * service is tested. If this relation exists, then some methods
+ * are not supported. The relation is a <code>String</code> with
+ * object name.</li>
+ * <li> <code>'XSimpleRegistry.open'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * <li> <code>'XSimpleRegistry.destroy'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * <li> <code>'XSimpleRegistry.merge'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ final String tmpDir = utils.getOfficeTempDirSys(Param.getMSF()) ;
+ final String openF = tmpDir + "XSimpleRegistry_open" + uniq + ".rdb" ;
+ final String destroyF = tmpDir
+ + "XSimpleRegistry_destroy" + uniq + ".rdb" ;
+ final String mergeF = tmpDir + "XSimpleRegistry_merge" + uniq + ".rdb" ;
+ uniq++ ;
+
+ log.println("creating copies of the registry for XSimpleRegistry");
+ String source = utils.getFullTestDocName("XSimpleRegistry.rdb");
+ copyFile(source, openF, log) ;
+ copyFile(source, mergeF, log) ;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ reg1 = RegistryTools.
+ createRegistryService(xMSF) ;
+ reg1.open(mergeF, false, true) ;
+ reg2 = RegistryTools.
+ createRegistryService(xMSF) ;
+ reg2.open(openF, false, true) ;
+ XSimpleRegistry[] arg = new XSimpleRegistry[2];
+ arg[0]=reg1;
+ arg[1]=reg2;
+ oInterface = xMSF.createInstanceWithArguments
+ ( "com.sun.star.comp.stoc.NestedRegistry", arg );
+ }
+ catch( Exception e ) {
+ log.println("Introspection Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("NR","NestedRegistry");
+
+ tEnv.addObjRelation("XSimpleRegistry.open", openF) ;
+ tEnv.addObjRelation("XSimpleRegistry.merge", mergeF) ;
+ tEnv.addObjRelation("XSimpleRegistry.destroy", destroyF) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+
+ }
+
+} // finish class NestedRegistry
+
diff --git a/qadevOOo/tests/java/mod/_defreg/package.html b/qadevOOo/tests/java/mod/_defreg/package.html
new file mode 100644
index 000000000..bee4740a1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_defreg/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'defreg'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_dtrans/generic.java b/qadevOOo/tests/java/mod/_dtrans/generic.java
new file mode 100644
index 000000000..9a61fe39a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dtrans/generic.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dtrans;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.datatransfer.generic</code>.
+ * <p>
+ */
+public class generic extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.datatransfer.generic</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oObj = (XInterface) xMSF
+ .createInstance("com.sun.star.datatransfer.clipboard.GenericClipboard");
+
+ if (oObj == null) {
+ log.println("[ERROR!] System type is *nix, unable to create object...");
+ }
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: " + Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_dynamicloader/Dynamic.java b/qadevOOo/tests/java/mod/_dynamicloader/Dynamic.java
new file mode 100644
index 000000000..f022f0762
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_dynamicloader/Dynamic.java
@@ -0,0 +1,78 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._dynamicloader;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.loader.Dynamic</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::loader::XImplementationLoader</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.loader.XImplementationLoader
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.loader.Dynamic
+* @see ifc.loader._XImplementationLoader
+* @see ifc.lang._XServiceInfo
+*/
+public class Dynamic extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service
+ * <code>com.sun.star.loader.Dynamic</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance( "com.sun.star.loader.Dynamic" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relations for XImplementationLoader
+
+ String loader = "com.sun.star.loader.SharedLibrary";
+ tEnv.addObjRelation("ImplementationLoader", loader) ;
+
+ String url = "servicename=com.sun.star.loader.SharedLibrary,link=mylink";
+ tEnv.addObjRelation("ImplementationUrl", url) ;
+
+ tEnv.addObjRelation("ImplementationName", "com.sun.star.io.Pipe") ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_file/calc/ODriver.java b/qadevOOo/tests/java/mod/_file/calc/ODriver.java
new file mode 100644
index 000000000..8d07e6f03
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_file/calc/ODriver.java
@@ -0,0 +1,95 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._file.calc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurrently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see com.sun.star.sdbcx.XCreateCatalog
+* @see com.sun.star.sdbcx.XDropCatalog
+* @see ifc.sdbc._XDriver
+* @see ifc.sdbcx._XCreateCatalog
+* @see ifc.sdbcx._XDropCatalog
+*/
+public class ODriver extends TestCase {
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the Spreadsheet document to which to connect.
+ * The URL is obtained from the parameter <code>calc.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for
+ * {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments
+ * </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.sdbc.calc.ODriver");
+
+ log.println("creating a new environment for calc.ODriver object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String calcURL = (String) Param.get("calc.url");
+ if (calcURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'calc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:calc:" + calcURL);
+
+ PropertyValue[] info = new PropertyValue[0];
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ tEnv.addObjRelation("NoBadURL", "TRUE");
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_file/dbase/ODriver.java b/qadevOOo/tests/java/mod/_file/dbase/ODriver.java
new file mode 100644
index 000000000..659b6e9a4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_file/dbase/ODriver.java
@@ -0,0 +1,92 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._file.dbase;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.XInterface;
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurrently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see com.sun.star.sdbcx.XCreateCatalog
+* @see com.sun.star.sdbcx.XDropCatalog
+* @see ifc.sdbc._XDriver
+* @see ifc.sdbcx._XCreateCatalog
+* @see ifc.sdbcx._XDropCatalog
+*/
+public class ODriver extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>dbase.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for
+ * {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments
+ * </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.sdbc.dbase.ODriver");
+
+ log.println("creating a new environment for dbase.ODriver object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String dBaseURL = (String) Param.get("dbase.url");
+ if (dBaseURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'dbase.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:dbase:" + dBaseURL);
+
+ PropertyValue[] info = new PropertyValue[0];
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_file/flat/ODriver.java b/qadevOOo/tests/java/mod/_file/flat/ODriver.java
new file mode 100644
index 000000000..7fac2ae03
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_file/flat/ODriver.java
@@ -0,0 +1,90 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._file.flat;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.XInterface;
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurrently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see com.sun.star.sdbcx.XCreateCatalog
+* @see com.sun.star.sdbcx.XDropCatalog
+* @see ifc.sdbc._XDriver
+* @see ifc.sdbcx._XCreateCatalog
+* @see ifc.sdbcx._XDropCatalog
+*/
+public class ODriver extends TestCase {
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>flat.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for
+ * {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments
+ * </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.sdbc.flat.ODriver");
+
+ log.println("creating a new environment for flat.ODriver object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String flatURL = (String) Param.get("flat.url");
+ if (flatURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'flat.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:flat:" + flatURL);
+
+ PropertyValue[] info = new PropertyValue[0];
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_fileacc/SimpleFileAccess.java b/qadevOOo/tests/java/mod/_fileacc/SimpleFileAccess.java
new file mode 100644
index 000000000..2abff7ee6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fileacc/SimpleFileAccess.java
@@ -0,0 +1,69 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fileacc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.SimpleFileAccess</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::ucb.XSimpleFileAccess</code></li>
+* </ul>
+* This object test <b> can </b> be run in several
+* threads concurrently.
+* @see com.sun.star.ucb.XSimpleFileAccess
+* @see com.sun.star.ucb.SimpleFileAccess
+* @see ifc.ucb._XSimpleFileAccess
+*/
+public class SimpleFileAccess extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.ucb.SimpleFileAccess</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ("com.sun.star.comp.ucb.SimpleFileAccess");
+ Object oIH = xMSF.createInstance("com.sun.star.sdb.InteractionHandler");
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for CoreReflection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("InteractionHandler", oIH);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SimpleFileAccess
+
diff --git a/qadevOOo/tests/java/mod/_fileacc/package.html b/qadevOOo/tests/java/mod/_fileacc/package.html
new file mode 100644
index 000000000..d590b8399
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fileacc/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'fileacc'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_fop/FolderPicker.java b/qadevOOo/tests/java/mod/_fop/FolderPicker.java
new file mode 100644
index 000000000..3405319e2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fop/FolderPicker.java
@@ -0,0 +1,80 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fop;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.fop.FolderPicker</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ui::XExecutableDialog</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::ui::XFolderPickerNotifier</code></li>
+* <li> <code>com::sun::star::ui::XFolderPicker</code></li>
+* <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.ui.XExecutableDialog
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.ui.XFolderPickerNotifier
+* @see com.sun.star.ui.XFolderPicker
+* @see com.sun.star.lang.XTypeProvider
+* @see com.sun.star.ui.FolderPicker
+* @see ifc.ui.dialogs._XExecutableDialog
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.ui._XFolderPickerNotifier
+* @see ifc.ui.dialogs._XFolderPicker
+* @see ifc.lang._XTypeProvider
+*/
+public class FolderPicker extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.fop.FolderPicker</code>. <p>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.ui.dialogs.FolderPicker" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class BreakIterator
+
diff --git a/qadevOOo/tests/java/mod/_forms/GenericModelTest.java b/qadevOOo/tests/java/mod/_forms/GenericModelTest.java
new file mode 100644
index 000000000..c5ffe1ee5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/GenericModelTest.java
@@ -0,0 +1,526 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+import util.FormTools;
+import util.WriterTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.form.XBoundComponent;
+import com.sun.star.form.XForm;
+import com.sun.star.form.XLoadable;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.sdb.XDocumentDataSource;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import java.util.ArrayList;
+import lib.Status;
+import util.utils;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.DateField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::awt::UnoControlDateFieldModel</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::form::component::DateField</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TestDB </b> (directory) : directory with test database </li>
+* <li><b> TestDB/TestDB.dbf </b> : table file. See
+* {@link util.DBTools DBTools} class for more information.</li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.awt.UnoControlDateFieldModel
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.form.component.DateField
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.awt._UnoControlDateFieldModel
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.form.component._DateField
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class GenericModelTest extends TestCase {
+ private XTextDocument m_xTextDoc;
+ private Object m_dbSrc = null;
+ /**
+ * This is the name of the Data Base which the test uses: "APITestDatabase"
+ */
+ private static final String m_dbSourceName = "APITestDatabase";
+ private static final String m_TestDB = "TestDB";
+ private DBTools m_dbTools = null;
+
+ private boolean m_ConnectionClosed = false;
+
+ /**
+ * describes the kind of the shape which should be created.
+ * Example: m_kindOfshape=DateFilled
+ */
+ protected String m_kindOfControl = null;
+
+ /**
+ * If your object needs some special property values you can specify them with this
+ * <CODE>ArrayList</CODE>. You have to add a <CODE>NamedValue</CODE> to this list.
+ * Example:
+ * NamedValue myProp = new NamedValue();
+ * myProp.Name = "Test";
+ * myProp.Value = "My special Value";
+ * m_propertiesToSet.add(myProp);
+ */
+ protected ArrayList<NamedValue> m_propertiesToSet = new ArrayList<NamedValue>();
+
+ /**
+ * This variable contains the name of the property which should be changed while
+ * interface <CODE>com::sun::star::form::XUpdateBroadcaster</CODE> is tested. The
+ * interface test needs the <CODE>ObjectRelation</CODE>
+ * "XUpdateBroadcaster.Checker" which is a <CODE>ifc.form._XUpdateBroadcaster.UpdateChecker</CODE>.
+ * @see ifc.form._XUpdateBroadcaster.UpdateChecker
+ * @see ifc.form._XUpdateBroadcaster
+ */
+ protected String m_ChangePropertyName = null;
+ /**
+ * This variable contains the value the property should be set while
+ * interface <CODE>com::sun::star::form::XUpdateBroadcaster</CODE> is tested.
+ * The interface test needs the <CODE>ObjectRelation</CODE>
+ * "XUpdateBroadcaster.Checker" which is a <CODE>ifc.form._XUpdateBroadcaster.UpdateChecker</CODE>.
+ * Normally the <CODE>Checker</CODE> uses <CODE>util.ValueChanger</CODE> to change
+ * the value of the property. If the current of this property is NULL the
+ * <CODE>ValueChanger</CODE> is unable to change the value. In this case the value
+ * of this variable was used.
+ */
+ protected Object m_ChangePropertyValue = null;
+
+ /**
+ * This variable contains the implementation name of the object.
+ */
+ protected String m_ObjectName = null;
+
+ /**
+ * For local implementations of <CODE>Checker</CODE> this variable contains the
+ * <CODE>FormLoader</CODE>
+ */
+ protected XLoadable m_XFormLoader = null;
+ /**
+ * For local implementations of <CODE>Checker</CODE> this variable contains the
+ * <CODE>XPropertySet</CODE>
+ */
+ protected XPropertySet m_XPS = null;
+ /**
+ * For local implementations of <CODE>Checker</CODE> this variable contains the
+ * <CODE>Control</CODE>
+ */
+ protected XInterface m_XCtrl = null;
+ /**
+ * The interface test of <CODE>ifc.form._DataWareControlModel</CODE> expects an
+ * object relation <CODE>'LC'</CODE>. This is a <CODE>XControlModel</CODE> of a shape.
+ * This variable contains the kind of shape to create for the interface test,
+ * f.e. "FixedText"
+ * @see ifc.form._DataAwareControlModel
+ */
+ protected String m_LCShape_Type = null;
+
+ /**
+ * If this variable is true some more debug info was logged. It was set by the parameter variable
+ * <code>debug_is_active</code>
+ */
+ private boolean debug = false;
+
+ /**
+ * Creates Writer document where controls are placed.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ m_xTextDoc = WriterTools.createTextDoc(tParam.getMSF());
+ m_ConnectionClosed = false;
+ debug = tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE);
+ m_propertiesToSet.clear();
+ }
+
+ /**
+ * close the connection
+ * close the data source
+ * close the document
+ * revoke the data source
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println("closing connection...");
+
+ // some interface tests call cleanup to reset the environment. If such
+ // a test is the last one cleanup was called twice. The second call
+ // causes then nasty exceptions...
+ if (m_ConnectionClosed) return;
+
+ try {
+ XIndexAccess forms = UnoRuntime.queryInterface( XIndexAccess.class,
+ FormTools.getForms( WriterTools.getDrawPage( m_xTextDoc ) ) );
+ XForm myForm = (XForm) AnyConverter.toObject(new Type(XForm.class),
+ forms.getByIndex(0));
+
+ if (debug){
+ if (myForm == null){
+ log.println("ERROR: could not get 'Standard' from drawpage!");
+ }
+ log.println("the draw page contains following elements:");
+ String[] elements = FormTools.getForms(WriterTools.getDrawPage(m_xTextDoc)).getElementNames();
+ for (int i = 0; i< elements.length; i++){
+ log.println("Element[" + i + "] :" + elements[i]);
+ }
+
+ }
+
+ XPropertySet xSetProp = UnoRuntime.queryInterface( XPropertySet.class, myForm );
+ XConnection connection = UnoRuntime.queryInterface( XConnection.class, xSetProp.getPropertyValue( "ActiveConnection" ) );
+ if ( connection == null )
+ {
+ if ( debug )
+ log.println("ERROR: could not get property 'ActiveConnection' from the XForm");
+ }
+ else
+ {
+ connection.close();
+ }
+ } catch (Exception e) {
+ log.println("ERROR: Can't close the connection: " + e.toString());
+ e.printStackTrace( log );
+ }
+
+ log.println("closing data source...");
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, m_dbSrc);
+ if ( closer == null )
+ {
+ XDocumentDataSource dataSource = UnoRuntime.queryInterface(
+ XDocumentDataSource.class, m_dbSrc);
+ if ( dataSource != null )
+ closer = UnoRuntime.queryInterface(
+ XCloseable.class, dataSource.getDatabaseDocument() );
+ }
+ if (debug && closer==null){
+ log.println("ERROR: couldn't get 'XCloseable' from DataSource");
+ }
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("ERROR: couldn't close data source: " + e.toString());
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("ERROR: couldn't close data source: " + e.toString());
+ } catch (Exception e) {
+ log.println("ERROR: couldn't close data source: " + e.toString());
+ }
+
+ log.println("disposing data source...");
+ try {
+ XComponent dataSourceComp = UnoRuntime.queryInterface(
+ XComponent.class, m_dbSrc);
+ dataSourceComp.dispose();
+ }
+ catch (Exception e) {
+ log.println("couldn't dispose the data source");
+ }
+
+ log.println("closing document...");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, m_xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("ERROR: couldn't close document: " + e.toString());
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("ERROR: couldn't close document: " + e.toString());
+ } catch (Exception e) {
+ log.println("ERROR: couldn't close document: " + e.toString());
+ }
+
+ log.println("revoking data source...");
+ try {
+ m_dbTools.revokeDB(m_dbSourceName);
+ } catch (com.sun.star.container.NoSuchElementException e){
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("ERROR: Error while object test cleaning up: " + e.toString());
+ }
+
+ m_ConnectionClosed = true;
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * First <code>TestDB</code> database is registered.
+ * Creates DateField in the Form, then binds it to TestDB
+ * database and returns Field's control. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} : name of service which is
+ * represented by this object. </li>
+ * <li> <code>'LC'</code> for {@link ifc.form._DataAwareControlModel}.
+ * Specifies the value for LabelControl property. It is
+ * <code>FixedText</code> component added to the document.</li>
+ * <li> <code>'FL'</code> for
+ * {@link ifc.form._DataAwareControlModel} interface.
+ * Specifies XLoadable implementation which connects form to
+ * the data source.</li>
+ * <li> <code>'XUpdateBroadcaster.Checker'</code> : <code>
+ * _XUpdateBroadcaster.UpdateChecker</code> interface implementation
+ * which can update, commit data and check if the data was successfully
+ * committed.</li>
+ * <li> <code>'DataAwareControlModel.NewFieldName'</code> : for
+ * <code>com.sun.star.form.DataAwareControlModel</code> service
+ * which contains new name of the field ('_DATE') to bind control to.
+ * </li>
+ * <li> <code>'XFastPropertySet.ExcludeProps'</code> : for
+ * <code>com.sun.star.beans.XFastPropertySet</code> interface
+ * the property FormatKey can have only restricted set of values.
+ * </li>
+ * </ul>
+ * @see ifc.form._XUpdateBroadcaster
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return a test environment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XControlShape aShape = null;
+ XMultiServiceFactory xMSF = Param.getMSF();
+
+ log.println("adding control shape '" + m_kindOfControl + "'");
+ aShape = FormTools.createControlShape(m_xTextDoc, 3000,
+ 4500, 15000, 10000,
+ m_kindOfControl);
+
+ WriterTools.getDrawPage(m_xTextDoc).add(aShape);
+ oObj = aShape.getControl();
+
+ log.println("Implementation name: " + util.utils.getImplName(oObj));
+
+ String sourceTestDB = utils.getFullURL(utils.getFullTestDocName("TestDB/testDB.dbf"));
+ String destTestDB = utils.getOfficeTemp(xMSF);
+ destTestDB = utils.getFullURL(destTestDB + "testDB.dbf");
+
+ log.println("copy '"+sourceTestDB + "' -> '" + destTestDB + "'");
+ utils.copyFile(xMSF, sourceTestDB, destTestDB);
+
+ m_dbTools = new DBTools( xMSF );
+ String tmpDir = utils.getOfficeTemp(xMSF);
+
+ DBTools.DataSourceInfo srcInf = m_dbTools.newDataSourceInfo();
+ srcInf.URL = "sdbc:dbase:" + DBTools.dirToUrl(tmpDir);
+ log.println("data source: " + srcInf.URL);
+
+ m_dbSrc = srcInf.getDataSourceService();
+ m_dbTools.reRegisterDB(m_dbSourceName, m_dbSrc);
+
+ m_XFormLoader = FormTools.bindForm(m_xTextDoc, m_dbSourceName,
+ m_TestDB);
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", m_ObjectName);
+
+ log.println("adding shape '" + m_LCShape_Type +"' for DataAwareControlModel test");
+ aShape = FormTools.createControlShape(m_xTextDoc, 6000, 4500, 15000,
+ 10000, m_LCShape_Type);
+ WriterTools.getDrawPage(m_xTextDoc).add(aShape);
+
+ m_XPS = UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+
+ int i = 0;
+ NamedValue prop = null;
+ for (i = 0; i < m_propertiesToSet.size(); i++){
+ prop = m_propertiesToSet.get(i);
+
+ log.println("setting property: '"+prop.Name+"' to value '"+prop.Value.toString()+"'");
+
+ m_XPS.setPropertyValue(prop.Name, prop.Value);
+ }
+
+ // added LabelControl for 'DataAwareControlModel'
+ tEnv.addObjRelation("LC", aShape.getControl());
+
+ // added FormLoader for 'DataAwareControlModel'
+ tEnv.addObjRelation("FL", m_XFormLoader);
+
+ // adding relation for XUpdateBroadcaster
+ m_XCtrl = oObj;
+
+ tEnv.addObjRelation("XUpdateBroadcaster.Checker",
+ new Checker(m_XFormLoader, m_XPS, m_XCtrl, m_ChangePropertyName, m_ChangePropertyValue));
+
+ // adding relation for DataAwareControlModel service
+ tEnv.addObjRelation("DataAwareControlModel.NewFieldName",
+ DBTools.TST_DATE_F);
+
+ //adding ObjRelation for XPersistObject
+ tEnv.addObjRelation("PSEUDOPERSISTENT", Boolean.TRUE);
+
+ // adding relation for XFastPropertySet
+ java.util.HashSet<String> exclude = new java.util.HashSet<String>();
+ exclude.add("FormatKey");
+ tEnv.addObjRelation("XFastPropertySet.ExcludeProps", exclude);
+
+ PropertyValue propVal = new PropertyValue();
+ propVal.Name = "HelpText";
+ propVal.Value = "Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", propVal);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "HelpText");
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+ private static class Checker implements ifc.form._XUpdateBroadcaster.UpdateChecker {
+ private Object lastValue = null;
+ private XLoadable formLoaderF = null;
+ private XPropertySet ps = null;
+ private XInterface ctrl = null;
+ private String ChangePropertyName = null;
+ Object ChangePropertyValue = null;
+
+ public Checker(XLoadable xl, XPropertySet ps, XInterface ctrl, String ChangePropertyName, Object ChangePropertyValue) {
+ formLoaderF = xl;
+ this.ps = ps;
+ this.ctrl = ctrl;
+ this.ChangePropertyName=ChangePropertyName;
+ this.ChangePropertyValue=ChangePropertyValue;
+ }
+
+ public void update() throws com.sun.star.uno.Exception {
+ if (!formLoaderF.isLoaded()) {
+ formLoaderF.load();
+ }
+
+ lastValue = util.ValueChanger.changePValue(ps.getPropertyValue(ChangePropertyName));
+
+ if (lastValue == null){
+
+ if (ChangePropertyValue != null){
+
+ lastValue = ChangePropertyValue;
+
+ } else {
+
+ String msg = "The initial value of the property '" + ChangePropertyName + "' is NULL\n";
+ msg += "The member variable 'm_ChangePropertyValue' is NULL\n";
+ msg += "Could not change Property.";
+
+ throw new StatusException(Status.failed(msg));
+ }
+ }
+ ps.setPropertyValue(ChangePropertyName, lastValue);
+ }
+
+ public void commit() throws com.sun.star.sdbc.SQLException {
+ XBoundComponent bound = UnoRuntime.queryInterface(
+ XBoundComponent.class, ctrl);
+ XResultSetUpdate update = UnoRuntime.queryInterface(
+ XResultSetUpdate.class,
+ formLoaderF);
+
+ bound.commit();
+ update.updateRow();
+ }
+
+ public boolean wasCommited() throws com.sun.star.uno.Exception {
+ formLoaderF.reload();
+
+ Object newValue = ps.getPropertyValue(ChangePropertyName);
+
+ return (newValue != null) && (util.ValueComparer.equalValue(lastValue, newValue));
+ }
+ }
+} // finish class GenericModelTest
diff --git a/qadevOOo/tests/java/mod/_forms/OButtonControl.java b/qadevOOo/tests/java/mod/_forms/OButtonControl.java
new file mode 100644
index 000000000..82f905931
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OButtonControl.java
@@ -0,0 +1,202 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.CommandButton</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::form::XApproveActionBroadcaster</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XButton</code></li>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.form.XApproveActionBroadcaster
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XButton
+ * @see com.sun.star.awt.XView
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XWindow
+ * @see ifc.form._XApproveActionBroadcaster
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XButton
+ * @see ifc.awt._XView
+ */
+public class OButtonControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.CommandButton</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "CommandButton");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OButtonControl
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for OButtonControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OButtonControl
diff --git a/qadevOOo/tests/java/mod/_forms/OButtonModel.java b/qadevOOo/tests/java/mod/_forms/OButtonModel.java
new file mode 100644
index 000000000..c54b24184
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OButtonModel.java
@@ -0,0 +1,106 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._forms;
+
+import java.io.PrintWriter;
+import lib.TestParameters;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.com.sun.star.form.component.CommandButton</code>.
+ * <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::form::XImageProducerSupplier</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::awt::UnoControlButtonModel</code></li>
+ * <li> <code>com::sun::star::form::component::CommandButton</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.form
+ * @see com.sun.star.form.XImageProducerSupplier
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.awt.UnoControlButtonModel
+ * @see com.sun.star.form.component.CommandButton
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.io._XPersistObject
+ * @see ifc.container._XChild
+ * @see ifc.form._FormControlModel
+ * @see ifc.form._XImageProducerSupplier
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XPropertySet
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XPropertyState
+ * @see ifc.awt._UnoControlButtonModel
+ * @see ifc.form.component._CommandButton
+ * @see ifc.container._XNamed
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.lang._XComponent
+ */
+public class OButtonModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="CommandButton";
+ * super.m_ObjectName = "com.sun.star.form.component.CommandButton";
+ * super.m_LCShape_Type = "CommandButton";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="CommandButton";
+
+ super.m_ObjectName = "stardiv.one.form.component.CommandButton";
+
+ super.m_LCShape_Type = "CommandButton";
+
+ }
+
+
+} // finish class OButtonModelold
diff --git a/qadevOOo/tests/java/mod/_forms/OCheckBoxControl.java b/qadevOOo/tests/java/mod/_forms/OCheckBoxControl.java
new file mode 100644
index 000000000..f95a2340d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OCheckBoxControl.java
@@ -0,0 +1,214 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XCheckBox;
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.CheckBox</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XItemListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::awt::XCheckBox</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XItemListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.awt.XCheckBox
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XItemListener
+ * @see ifc.awt._XWindow
+ * @see ifc.awt._XCheckBox
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XEventListener
+ */
+public class OCheckBoxControl extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize ( TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.CheckBox</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * <li> <code>'TestItemListener'</code> for
+ * {@link ifc.awt._XItemListener} : listener implementation is
+ * registered here and passed as relation. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(
+ xTextDoc,3000,4500,15000,10000,"CheckBox");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(
+ xTextDoc,3000,4500,5000,10000,"TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,xTextDoc.getCurrentController());
+
+ //now get the OButtonControl
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200,200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println( "creating a new environment for OCheckBoxControl object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS",aGraphic);
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT",xTextDoc);
+ tEnv.addObjRelation("WINPEER",the_win);
+ tEnv.addObjRelation("TOOLKIT",the_kit);
+ tEnv.addObjRelation("MODEL",the_Model);
+
+ // Adding relation for XItemListener
+ ifc.awt._XItemListener.TestItemListener listener =
+ new ifc.awt._XItemListener.TestItemListener() ;
+ XCheckBox box = UnoRuntime.queryInterface
+ (XCheckBox.class, oObj) ;
+ box.addItemListener(listener) ;
+ tEnv.addObjRelation("TestItemListener", listener) ;
+
+ // Adding relation for XWindow
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow",forObjRel);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class OButtonControl
+
+
diff --git a/qadevOOo/tests/java/mod/_forms/OCheckBoxModel.java b/qadevOOo/tests/java/mod/_forms/OCheckBoxModel.java
new file mode 100644
index 000000000..edec240f9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OCheckBoxModel.java
@@ -0,0 +1,121 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.CheckBox</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::form::component::CheckBox</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::awt::UnoControlCheckBoxModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+*
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.form.component.CheckBox
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form
+* @see com.sun.star.awt.UnoControlCheckBoxModel
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.beans._XFastPropertySet
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._FormComponent
+* @see ifc.form.component._CheckBox
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._DataAwareControlModel
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.awt._UnoControlCheckBoxModel
+* @see ifc.container._XNamed
+* @see ifc.form._XBoundComponent
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class OCheckBoxModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="CheckBox";
+ * super.m_ObjectName = "stardiv.one.form.component.CheckBox";
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl= "CheckBox";
+
+ super.m_ObjectName = "stardiv.one.form.component.CheckBox";
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+
+} // finish class OCheckBoxModel
+
diff --git a/qadevOOo/tests/java/mod/_forms/OComboBoxControl.java b/qadevOOo/tests/java/mod/_forms/OComboBoxControl.java
new file mode 100644
index 000000000..1b5fe16d6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OComboBoxControl.java
@@ -0,0 +1,223 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.ComboBox</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XComboBox</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XComboBox
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XComboBox
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OComboBoxControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.ComboBox</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "ComboBox");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OButtonControl
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for OComboBoxControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OButtonControl
diff --git a/qadevOOo/tests/java/mod/_forms/OComboBoxModel.java b/qadevOOo/tests/java/mod/_forms/OComboBoxModel.java
new file mode 100644
index 000000000..963e996ed
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OComboBoxModel.java
@@ -0,0 +1,135 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+
+import util.DBTools;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.ComboBox</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::awt::UnoControlComboBoxModel</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::form::component::DatabaseComboBox</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::component::ComboBox</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.awt.UnoControlComboBoxModel
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.form.component.DatabaseComboBox
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.component.ComboBox
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.beans._XFastPropertySet
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._FormComponent
+* @see ifc.awt._UnoControlComboBoxModel
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.form.component._DatabaseComboBox
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.form._XBoundComponent
+* @see ifc.form.component._ComboBox
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class OComboBoxModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Text";
+ * super.m_kindOfControl="ComboBox";
+ * super.m_ObjectName = "stardiv.one.form.component.ComboBox";
+ *
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_STRING_F;
+ * super.m_propertiesToSet.add(DataField);
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Text";
+
+ super.m_kindOfControl="ComboBox";
+
+ super.m_ObjectName = "stardiv.one.form.component.ComboBox";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+
+} // finish class OComboBoxModel
diff --git a/qadevOOo/tests/java/mod/_forms/OCurrencyControl.java b/qadevOOo/tests/java/mod/_forms/OCurrencyControl.java
new file mode 100644
index 000000000..571401aba
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OCurrencyControl.java
@@ -0,0 +1,230 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.CurrencyField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::awt::XCurrencyField</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.awt.XCurrencyField
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.awt._XCurrencyField
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OCurrencyControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.CurrencyField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * <li> <code>'XTextComponent.onlyNumbers'</code> for
+ * {@link ifc.awt._XTextComponent} : as the currency field
+ * can have only numeric values the relation must be specified. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "CurrencyField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OCurrencyControl
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for OCurrencyControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+
+ // Adding relation for XTextComponent
+ tEnv.addObjRelation("XTextComponent.onlyNumbers", new Object());
+
+ // Adding relation for XWindow
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OCurrencyControl
diff --git a/qadevOOo/tests/java/mod/_forms/OCurrencyModel.java b/qadevOOo/tests/java/mod/_forms/OCurrencyModel.java
new file mode 100644
index 000000000..fed0b5d57
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OCurrencyModel.java
@@ -0,0 +1,131 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.CurrencyField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::awt::UnoControlCurrencyFieldModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* <li> <code>com::sun::star::form::component::CurrencyField</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.awt.UnoControlCurrencyFieldModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see com.sun.star.form.component.CurrencyField
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.awt._UnoControlCurrencyFieldModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+* @see ifc.form.component._CurrencyField
+*/
+public class OCurrencyModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Value";
+ * super.m_kindOfControl="CurrencyField";
+ * super.m_ObjectName = "stardiv.one.form.component.CurrencyField";
+ * NamedValue myProp = new NamedValue();
+ * myProp.Name = "DataField";
+ * myProp.Value = "Identifier";
+ * super.m_propertiesToSet.add(myProp);
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_ObjectName = "stardiv.one.form.component.CurrencyField";
+
+ super.m_kindOfControl="CurrencyField";
+
+ NamedValue myProp = new NamedValue();
+ myProp.Name = "DataField";
+ myProp.Value = "Identifier";
+ super.m_propertiesToSet.add(myProp);
+
+ super.m_ChangePropertyName = "Value";
+ super.m_ChangePropertyValue = new Double(0);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+
+} // finish class OCurrencyModel
diff --git a/qadevOOo/tests/java/mod/_forms/ODatabaseForm.java b/qadevOOo/tests/java/mod/_forms/ODatabaseForm.java
new file mode 100644
index 000000000..0683ab01c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ODatabaseForm.java
@@ -0,0 +1,863 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import ifc.form._XDatabaseParameterBroadcaster;
+import ifc.sdb._XCompletedExecution;
+
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+import util.DrawTools;
+import util.FormTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.form.DatabaseParameterEvent;
+import com.sun.star.form.XForm;
+import com.sun.star.form.XLoadable;
+import com.sun.star.lang.EventObject;
+import com.sun.star.sdb.CommandType;
+import com.sun.star.sdb.ParametersRequest;
+import com.sun.star.sdb.RowChangeEvent;
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XConnection;
+import com.sun.star.sdbc.XResultSet;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.sdbc.XRow;
+import com.sun.star.sdbc.XRowSet;
+import com.sun.star.sdbc.XRowUpdate;
+import com.sun.star.task.XInteractionRequest;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.Date;
+import com.sun.star.util.DateTime;
+import com.sun.star.util.Time;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.DatabaseForm</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::script::XEventAttacherManager</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::sdbcx::ResultSet</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSetUpdate</code></li>
+ * <li> <code>com::sun::star::sdb::XResultSetAccess</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::form::component::DataForm</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSetMetaDataSupplier</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::sdbcx::XDeleteRows</code></li>
+ * <li> <code>com::sun::star::sdb::RowSet</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::sdbc::XRowSet</code></li>
+ * <li> <code>com::sun::star::sdbc::XRowUpdate</code></li>
+ * <li> <code>com::sun::star::form::XLoadable</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::container::XIndexReplace</code></li>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::container::XNameReplace</code></li>
+ * <li> <code>com::sun::star::container::XIndexContainer</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::sdbc::XParameters</code></li>
+ * <li> <code>com::sun::star::util::XCancellable</code></li>
+ * <li> <code>com::sun::star::form::XReset</code></li>
+ * <li> <code>com::sun::star::sdbc::XCloseable</code></li>
+ * <li> <code>com::sun::star::sdbcx::XColumnsSupplier</code></li>
+ * <li> <code>com::sun::star::sdb::XRowSetApproveBroadcaster</code></li>
+ * <li> <code>com::sun::star::sdbc::ResultSet</code></li>
+ * <li> <code>com::sun::star::sdbc::XResultSet</code></li>
+ * <li> <code>com::sun::star::sdbc::XRow</code></li>
+ * <li> <code>com::sun::star::sdbc::XColumnLocate</code></li>
+ * <li> <code>com::sun::star::awt::XTabControllerModel</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::form::XSubmit</code></li>
+ * <li> <code>com::sun::star::form::component::HTMLForm</code></li>
+ * <li> <code>com::sun::star::sdbcx::XRowLocate</code></li>
+ * <li> <code>com::sun::star::sdbc::XWarningsSupplier</code></li>
+ * <li> <code>com::sun::star::container::XNameContainer</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::sdbc::RowSet</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * The following parameters in ini-file used by this test:
+ * <ul>
+ * <li><code>test.db.url</code> - URL to MySQL database.
+ * For example: <code>mysql://mercury:3306/api_current</code></li>
+ * <li><code>test.db.user</code> - user for MySQL database</li>
+ * <li><code>test.db.password</code> - password for MySQL database</li>
+ * </ul><p>
+ *
+ * @see com.sun.star.script.XEventAttacherManager
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.sdbcx.ResultSet
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.sdbc.XResultSetUpdate
+ * @see com.sun.star.sdb.XResultSetAccess
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.form.component.DataForm
+ * @see com.sun.star.sdbc.XResultSetMetaDataSupplier
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.sdbcx.XDeleteRows
+ * @see com.sun.star.sdb.RowSet
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.sdbc.XRowSet
+ * @see com.sun.star.sdbc.XRowUpdate
+ * @see com.sun.star.form.XLoadable
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.container.XIndexReplace
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.container.XNameReplace
+ * @see com.sun.star.container.XIndexContainer
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.sdbc.XParameters
+ * @see com.sun.star.util.XCancellable
+ * @see com.sun.star.form.XReset
+ * @see com.sun.star.sdbc.XCloseable
+ * @see com.sun.star.sdbcx.XColumnsSupplier
+ * @see com.sun.star.sdb.XRowSetApproveBroadcaster
+ * @see com.sun.star.sdbc.ResultSet
+ * @see com.sun.star.sdbc.XResultSet
+ * @see com.sun.star.sdbc.XRow
+ * @see com.sun.star.sdbc.XColumnLocate
+ * @see com.sun.star.awt.XTabControllerModel
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.form.XSubmit
+ * @see com.sun.star.form.component.HTMLForm
+ * @see com.sun.star.sdbcx.XRowLocate
+ * @see com.sun.star.sdbc.XWarningsSupplier
+ * @see com.sun.star.container.XNameContainer
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.sdbc.RowSet
+ * @see ifc.script._XEventAttacherManager
+ * @see ifc.container._XElementAccess
+ * @see ifc.sdbcx._ResultSet
+ * @see ifc.container._XChild
+ * @see ifc.sdbc._XResultSetUpdate
+ * @see ifc.sdb._XResultSetAccess
+ * @see ifc.form._FormComponent
+ * @see ifc.form.component._DataForm
+ * @see ifc.sdbc._XResultSetMetaDataSupplier
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.sdbcx._XDeleteRows
+ * @see ifc.sdb._RowSet
+ * @see ifc.lang._XComponent
+ * @see ifc.sdbc._XRowSet
+ * @see ifc.sdbc._XRowUpdate
+ * @see ifc.form._XLoadable
+ * @see ifc.container._XNamed
+ * @see ifc.container._XIndexReplace
+ * @see ifc.io._XPersistObject
+ * @see ifc.container._XNameReplace
+ * @see ifc.container._XIndexContainer
+ * @see ifc.container._XNameAccess
+ * @see ifc.sdbc._XParameters
+ * @see ifc.util._XCancellable
+ * @see ifc.form._XReset
+ * @see ifc.sdbc._XCloseable
+ * @see ifc.sdbcx._XColumnsSupplier
+ * @see ifc.sdb._XRowSetApproveBroadcaster
+ * @see ifc.sdbc._ResultSet
+ * @see ifc.sdbc._XResultSet
+ * @see ifc.sdbc._XRow
+ * @see ifc.sdbc._XColumnLocate
+ * @see ifc.awt._XTabControllerModel
+ * @see ifc.container._XIndexAccess
+ * @see ifc.form._XSubmit
+ * @see ifc.form.component._HTMLForm
+ * @see ifc.sdbcx._XRowLocate
+ * @see ifc.sdbc._XWarningsSupplier
+ * @see ifc.container._XNameContainer
+ * @see ifc.beans._XPropertyAccess
+ * @see ifc.beans._XPropertyContainer
+ * @see ifc.beans._XPropertySet
+ * @see ifc.sdbc._RowSet
+ */
+public class ODatabaseForm extends TestCase {
+ protected static final String dbSourceName = "ODatabaseFormDataSource";
+ private static int uniqueSuffix = 0;
+ private static String origDB = null;
+ private static String tmpDir = null;
+ protected XTextDocument xTextDoc = null;
+ private DBTools dbTools = null;
+ String tableName = null;
+ DBTools.DataSourceInfo srcInf = null;
+ boolean isMySQLDB = false;
+ protected XConnection conn = null;
+ private Object dbSrc = null;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ tmpDir = utils.getOfficeTemp(tParam.getMSF());
+
+ origDB = util.utils.getFullTestDocName("TestDB/testDB.dbf");
+
+ dbTools = new DBTools( tParam.getMSF() );
+
+ // creating DataSource and registering it in DatabaseContext
+ String dbURL = (String) tParam.get("test.db.url");
+ String dbUser = (String) tParam.get("test.db.user");
+ String dbPassword = (String) tParam.get("test.db.password");
+
+ log.println("Creating and registering DataSource ...");
+ srcInf = dbTools.newDataSourceInfo();
+
+ if ((dbURL != null) && (dbUser != null) && (dbPassword != null)) {
+ isMySQLDB = true;
+ log.println("dbURL = " + dbURL);
+ log.println("dbUSER = " + dbUser);
+ log.println("dbPASSWORD = " + dbPassword);
+
+ //DataSource for mysql db
+ try {
+ tableName = "soffice_test_table";
+ srcInf.URL = "jdbc:" + dbURL;
+ srcInf.IsPasswordRequired = Boolean.TRUE;
+ srcInf.Password = dbPassword;
+ srcInf.User = dbUser;
+
+ PropertyValue[] propInfo = new PropertyValue[1];
+ propInfo[0] = new PropertyValue();
+ propInfo[0].Name = "JavaDriverClass";
+ propInfo[0].Value = "util.dddriver.Driver";
+ srcInf.Info = propInfo;
+
+ dbSrc = srcInf.getDataSourceService();
+ dbTools.reRegisterDB(dbSourceName, dbSrc);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error while object test initialization :");
+ e.printStackTrace(log);
+ throw new StatusException("Error while object test" +
+ " initialization", e);
+ }
+ } else {
+ //DataSource for sdbc db
+ try {
+ String myDbUrl = "sdbc:dbase:" + DBTools.dirToUrl(tmpDir);
+ srcInf.URL = myDbUrl;
+
+ log.println("try to register '"+myDbUrl+"' as '"+dbSourceName+"'");
+
+ dbSrc = srcInf.getDataSourceService();
+ dbTools.reRegisterDB(dbSourceName, dbSrc);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error while object test initialization :");
+ e.printStackTrace(log);
+ throw new StatusException(
+ "Error while object test initialization", e);
+ }
+
+ String oldF = null;
+ String newF = null;
+
+ do {
+ tableName = "ODatabaseForm_tmp" + uniqueSuffix;
+ oldF = utils.getFullURL(origDB);
+ newF = utils.getOfficeTemp(tParam.getMSF()) + tableName +
+ ".dbf";
+ } while (!utils.tryOverwriteFile(tParam.getMSF(), oldF, newF) &&
+ (uniqueSuffix++ < 50));
+ }
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ if (xTextDoc != null) {
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+
+ log.println("Existing document disposed");
+ }
+
+ log.println("creating a text document");
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+
+ //initialize test table
+ if (isMySQLDB) {
+ dbTools.initTestTableUsingJDBC(tableName, srcInf);
+ }
+
+ XInterface oObj = null;
+ XShapes oShapes = null;
+ XInterface oInstance = null;
+ XConnection connection = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ XNameContainer forms = FormTools.getForms(WriterTools.getDrawPage(
+ xTextDoc));
+
+ try {
+ String[] formNames = forms.getElementNames();
+
+ for (int i = 0; i < formNames.length; i++) {
+ log.println("Removing form '" + formNames[i] + "' ...");
+ forms.removeByName(formNames[i]);
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ e.printStackTrace(log);
+ }
+
+ String[] formNames = forms.getElementNames();
+ FormTools.insertForm(xTextDoc, forms, "MyForm");
+ formNames = forms.getElementNames();
+
+ XLoadable formLoader = null;
+
+ formLoader = FormTools.bindForm(xTextDoc, "MyForm", dbSourceName,
+ tableName);
+
+
+ // DEBUG
+ log.println("Forms before adding controls : ");
+ formNames = forms.getElementNames();
+
+ for (int i = 0; i < formNames.length; i++) {
+ log.println(" '" + formNames[i] + "'");
+ }
+
+ XControlShape shape1 = null;
+ XControlShape shape2 = null;
+
+ try {
+
+ log.println("Elements in the 'MyForm' :");
+
+ XIndexAccess formElements1 = UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ forms.getByName("MyForm"));
+
+ for (int i = 0; i < formElements1.getCount(); i++) {
+ XNamed elemName = UnoRuntime.queryInterface(
+ XNamed.class,
+ formElements1.getByIndex(i));
+ log.println(" '" + elemName.getName() + "'");
+ }
+
+
+ // END DEBUG
+ //put something on the drawpage
+ log.println("inserting some ControlShapes");
+ oShapes = DrawTools.getShapes(WriterTools.getDrawPage(xTextDoc));
+ shape1 = FormTools.createControlShape(xTextDoc, 3000, 4500, 15000,
+ 1000, "CommandButton");
+ shape2 = FormTools.createControlShape(xTextDoc, 5000, 3500, 7500,
+ 5000, "TextField");
+
+ XControlShape shape3 = FormTools.createControlShape(xTextDoc, 2000,
+ 1500, 1000,
+ 1000,
+ "CheckBox");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ }
+
+ log.println("Forms after adding controls : ");
+ formNames = forms.getElementNames();
+
+ for (int i = 0; i < formNames.length; i++) {
+ log.println(" '" + formNames[i] + "'");
+ }
+
+ try {
+ log.println("Elements in the 'MyForm' :");
+
+ XIndexAccess formElements1 = UnoRuntime.queryInterface(
+ XIndexAccess.class,
+ forms.getByName("MyForm"));
+
+ for (int i = 0; i < formElements1.getCount(); i++) {
+ XNamed elemName = UnoRuntime.queryInterface(
+ XNamed.class,
+ formElements1.getByIndex(i));
+ log.println(" '" + elemName.getName() + "'");
+ }
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ }
+
+ formLoader.load();
+
+ try {
+ Object temp1 = FormTools.getForms( WriterTools.getDrawPage(xTextDoc) ).getByName("MyForm");
+ oObj = (XForm) AnyConverter.toObject(new Type(XForm.class), temp1);
+
+ XPropertySet xSetProp = UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+ connection = (XConnection) AnyConverter.toObject(
+ new Type(XConnection.class),
+ xSetProp.getPropertyValue("ActiveConnection"));
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't get Form");
+ e.printStackTrace(log);
+ }
+
+
+ // get a control
+ oInstance = FormTools.createControl(xTextDoc, "TextField");
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ // adding relation for closing connection while environment disposing.
+ this.conn = connection;
+
+ // adding relation for XSubmit
+ XControlModel the_Model = shape2.getControl();
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+ XControl cntrl = null;
+
+ //now get the OEditControl
+ cntrl = the_access.getControl(the_Model);
+ log.println(cntrl.getClass().getName());
+
+ XResultSet the_set = UnoRuntime.queryInterface(
+ XResultSet.class, oObj);
+
+ the_set.first();
+
+ tEnv.addObjRelation("Model1", shape1.getControl());
+ tEnv.addObjRelation("Model2", shape2.getControl());
+
+
+ // adding an object for XNameReplace testing
+ log.println("adding oInstance as obj relation to environment");
+ tEnv.addObjRelation("INSTANCE", oInstance);
+
+
+ // INDEX : _XNameContainer
+ log.println("adding INDEX as obj relation to environment");
+ tEnv.addObjRelation("INDEX", "0");
+
+
+ // INDEX : _XNameReplace
+ log.println("adding NameReplaceIndex as obj relation to environment");
+ tEnv.addObjRelation("XNameReplaceINDEX", "2");
+
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println("adding INSTANCEn as obj relation to environment");
+
+ String tc = (String) Param.get("THRCNT");
+ int THRCNT = 1;
+
+ if (tc != null) {
+ THRCNT = Integer.parseInt(tc);
+ }
+
+ for (int n = 1; n < (2 * (THRCNT + 1)); n++) {
+ log.println("adding INSTANCE" + n +
+ " as obj relation to environment");
+ tEnv.addObjRelation("INSTANCE" + n,
+ FormTools.createControl(xTextDoc, "CheckBox"));
+ }
+
+
+ // adding relation for XNameContainer
+ tEnv.addObjRelation("XNameContainer.AllowDuplicateNames", new Object());
+
+
+ // adding relation for XPersistObject
+ tEnv.addObjRelation("OBJNAME", "stardiv.one.form.component.Form");
+
+ // Adding obj relation for XRowSetApproveBroadcaster test
+ final XResultSet xResSet = UnoRuntime.queryInterface(
+ XResultSet.class, oObj);
+ final XResultSetUpdate xResSetUpdate = UnoRuntime.queryInterface(
+ XResultSetUpdate.class,
+ oObj);
+ final XRowSet xRowSet = UnoRuntime.queryInterface(
+ XRowSet.class, oObj);
+ final PrintWriter logF = log;
+ tEnv.addObjRelation("XRowSetApproveBroadcaster.ApproveChecker",
+ new ifc.sdb._XRowSetApproveBroadcaster.RowSetApproveChecker() {
+ public void moveCursor() {
+ try {
+ xResSet.beforeFirst();
+ xResSet.afterLast();
+ } catch (com.sun.star.sdbc.SQLException e) {
+ logF.println("### _XRowSetApproveBroadcaster." + "RowSetApproveChecker.moveCursor() :");
+ e.printStackTrace(logF);
+ }
+ }
+
+ public RowChangeEvent changeRow() {
+ try {
+ xResSet.first();
+
+ XRowUpdate row = UnoRuntime.queryInterface(
+ XRowUpdate.class, xResSet);
+ row.updateString(1, "1");
+ xResSetUpdate.updateRow();
+ } catch (com.sun.star.sdbc.SQLException e) {
+ logF.println("### _XRowSetApproveBroadcaster." + "RowSetApproveChecker.changeRow() :");
+ e.printStackTrace(logF);
+ }
+
+ RowChangeEvent ev = new RowChangeEvent();
+ ev.Action = com.sun.star.sdb.RowChangeAction.UPDATE;
+ ev.Rows = 1;
+
+ return ev;
+ }
+
+ public void changeRowSet() {
+ try {
+ xRowSet.execute();
+ } catch (com.sun.star.sdbc.SQLException e) {
+ logF.println("### _XRowSetApproveBroadcaster." + "RowSetApproveChecker.changeRowSet() :");
+ e.printStackTrace(logF);
+ }
+ }
+ });
+
+
+ // Adding relation for XColumnLocate test
+ tEnv.addObjRelation("XColumnLocate.ColumnName", DBTools.TST_STRING_F);
+
+ // Adding relation for XParameters ifc test
+ ArrayList<Object> params = new ArrayList<Object>();
+
+
+ /***** statement parameter types and their initial
+ values must be added here as relation. */
+ params.add("SAU99") ;
+ params.add(Boolean.FALSE) ;
+ params.add(Byte.valueOf((byte) 123)) ;
+ params.add(Short.valueOf((short) 234)) ;
+ params.add(Integer.valueOf(12345)) ;
+ params.add(Long.valueOf(23456)) ;
+ params.add(new Float(1.234)) ;
+ params.add(new Double(2.345)) ;
+ params.add(new byte[] {1, 2, 3}) ;
+ Date d = new Date();
+ d.Day = 26; d.Month = 1; d.Year = 2001;
+ params.add(d) ;
+ Time t = new Time();
+ t.Hours = 1; t.NanoSeconds = 123456789; t.Minutes = 25; t.Seconds = 14;
+ params.add(t) ;
+ DateTime dt = new DateTime();
+ dt.Day = 26; dt.Month = 1; dt.Year = 2001; dt.Hours = 1;
+ dt.NanoSeconds = 123456789; dt.Minutes = 25; dt.Seconds = 14;
+ params.add(dt) ;
+ tEnv.addObjRelation("XParameters.ParamValues", params);
+
+ // Adding relation for XCompletedExecution
+ tEnv.addObjRelation("InteractionHandlerChecker", new InteractionHandlerImpl());
+
+ // Adding for XWarningSupplier
+ tEnv.addObjRelation("CheckWarningsSupplier", Boolean.valueOf(isMySQLDB));
+
+ // Adding relation for XDatabaseParameterBroadcaster
+ tEnv.addObjRelation("ParameterListenerChecker", new ODatabaseForm.ParameterListenerImpl());
+ XPropertySet xSetProp = UnoRuntime.queryInterface
+ (XPropertySet.class, oObj) ;
+ try {
+ xSetProp.setPropertyValue("DataSourceName", dbSourceName) ;
+ if(isMySQLDB) {
+ xSetProp.setPropertyValue("Command", "SELECT Column0 FROM soffice_test_table WHERE ( ( Column0 = :param1 ) )");
+ }
+ else {
+ xSetProp.setPropertyValue("Command", "SELECT \"_TEXT\" FROM \"ODatabaseForm_tmp0\" WHERE ( ( \"_TEXT\" = :param1 ) )");
+ }
+
+ xSetProp.setPropertyValue("CommandType",
+ Integer.valueOf(CommandType.COMMAND)) ;
+ }
+ catch(Exception e) {
+ }
+
+ // Adding relation for XResultSetUpdate
+ final XRowUpdate xRowUpdate = UnoRuntime.queryInterface(
+ XRowUpdate.class, oObj);
+ final XRow xRow = UnoRuntime.queryInterface(XRow.class, oObj);
+
+ tEnv.addObjRelation("XResultSetUpdate.UpdateTester",
+ new ifc.sdbc._XResultSetUpdate.UpdateTester() {
+ String lastUpdate = null;
+
+ public int rowCount() throws SQLException {
+ int prevPos = xResSet.getRow();
+ xResSet.last();
+
+ int count = xResSet.getRow();
+ xResSet.absolute(prevPos);
+
+ return count;
+ }
+
+ public void update() throws SQLException {
+ lastUpdate = xRow.getString(1);
+ lastUpdate += "_";
+ xRowUpdate.updateString(1, lastUpdate);
+ }
+
+ public boolean wasUpdated() throws SQLException {
+ String getStr = xRow.getString(1);
+
+ return lastUpdate.equals(getStr);
+ }
+
+ public int currentRow() throws SQLException {
+ return xResSet.getRow();
+ }
+ });
+
+ // Adding relations for XRow as a Vector with all data
+ // of current row of RowSet.
+
+ ArrayList<Object> rowData = new ArrayList<Object>();
+
+ for (int i = 0; i < DBTools.TST_TABLE_VALUES[0].length; i++) {
+ rowData.add(DBTools.TST_TABLE_VALUES[0][i]);
+ }
+
+ tEnv.addObjRelation("CurrentRowData", rowData);
+
+ // Adding relation for XRowUpdate
+ XRow row = UnoRuntime.queryInterface(XRow.class, oObj);
+ tEnv.addObjRelation("XRowUpdate.XRow", row);
+
+
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "Cycle");
+
+ PropertyValue propVal = new PropertyValue();
+ propVal.Name = "Name";
+ propVal.Value = "Text since XPropertyAccess";
+
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", propVal);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Closes connection of <code>RowSet</code> instance created.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("closing connection...");
+ try {
+ conn.close();
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Can't close the connection");
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Connection was already closed. It's OK.");
+ }
+
+
+ log.println("closing data source...");
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, dbSrc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close data source");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close data source");
+ }
+
+
+ log.println("closing document...");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+
+ log.println("revoking data source...");
+ try {
+ dbTools.revokeDB(dbSourceName);
+ } catch (com.sun.star.container.NoSuchElementException e){
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error while object test cleaning up :");
+ e.printStackTrace(log);
+ throw new StatusException("Error while object test cleaning up", e);
+ }
+ }
+
+ /**
+ * Implementation of interface _XDatabaseParameterBroadcaster.CheckParameterListener
+ * for the XDatabaseParameterBroadcaster test
+ * @see ifc.form._XDatabaseParameterBroadcaster
+ */
+ private static class ParameterListenerImpl implements _XDatabaseParameterBroadcaster.CheckParameterListener {
+ private boolean listenerWasCalled = false;
+
+ private PrintWriter log;
+
+ ParameterListenerImpl() throws UnsupportedEncodingException {
+ log = new PrintWriter(new OutputStreamWriter(System.out, "UTF-8"));
+ }
+
+ /**
+ * Return true, if the listener was called, false otherwise.
+ * @return True, if any other method of the listener was called.
+ */
+ public boolean checkListener() {
+ return listenerWasCalled;
+ }
+
+ /**
+ * Take the DataBaseParameterEvent and fill it with a meaningful value.
+ * @param e The database parameter that will be filled with a value.
+ * @return True, if the value could be filled.
+ */
+ public boolean approveParameter(DatabaseParameterEvent e) {
+ log.println("### ParameterListenerImpl: approve called.");
+ XIndexAccess params = e.Parameters;
+ int count = params.getCount();
+ try {
+ for(int i=0; i<count; i++) {
+ log.println("### _XDatabaseParameterBroadcaster.ParameterListenerImpl: Parameter "+i+": "+params.getByIndex(i));
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, params.getByIndex(i));
+ log.println("### _XDatabaseParameterBroadcaster.ParameterListenerImpl: Parameter Name: '"+xProp.getPropertyValue("Name") + "' is set to Value '1'");
+ xProp.setPropertyValue("Value", Integer.valueOf(1));
+ listenerWasCalled = true;
+ }
+ }
+ catch(Exception eI) {
+ log.println("### _XDatabaseParameterBroadcaster.ParameterListenerImpl: Exception!");
+ eI.printStackTrace(log);
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Dummy implementation. Do nothing, just log
+ * @param o Ignore.
+ */
+ public void disposing(EventObject o) {
+ log.println("### _XDatabaseParameterBroadcaster.ParameterListenerImpl: disposing");
+ }
+
+ /**
+ * Set a log writer, so messages go to log instead of Standard.out
+ * @param log The log messages get printed to.
+ */
+ public void setLog(PrintWriter log) {
+ this.log = log;
+ }
+
+ }
+
+
+ /**
+ * Implementation of interface _XCompletedExecution.CheckInteractionHandler
+ * for the XCompletedExecution test
+ * @see ifc.sdb._XCompletedExecution
+ */
+ private static class InteractionHandlerImpl implements _XCompletedExecution.CheckInteractionHandler {
+ private boolean handlerWasUsed = false;
+ private PrintWriter log;
+
+ InteractionHandlerImpl() throws UnsupportedEncodingException {
+ log = new PrintWriter(new OutputStreamWriter(System.out, "UTF-8"));
+ }
+
+ public boolean checkInteractionHandler() {
+ return handlerWasUsed;
+ }
+
+ public void handle(XInteractionRequest xInteractionRequest) {
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: handle called.");
+ handlerWasUsed = true;
+
+ Object o = xInteractionRequest.getRequest();
+ ParametersRequest req = (ParametersRequest)o;
+ XIndexAccess params = req.Parameters;
+ int count = params.getCount();
+ try {
+ for(int i=0; i<count; i++) {
+ params.getByIndex(i);
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: Parameter "+i+": "+params.getByIndex(i));
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, params.getByIndex(i));
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: Parameter Name: '"+xProp.getPropertyValue("Name") + "' is set to Value '1'");
+ xProp.setPropertyValue("Value", Integer.valueOf(1));
+ handlerWasUsed = true;
+ }
+ }
+ catch(Exception eI) {
+ log.println("### _XCompletedExecution.InteractionHandlerImpl: Exception!");
+ eI.printStackTrace(log);
+ }
+ }
+
+ public void setLog(PrintWriter log) {
+ this.log = log;
+ }
+
+ }
+} // finish class ODatabaseForm
diff --git a/qadevOOo/tests/java/mod/_forms/ODateControl.java b/qadevOOo/tests/java/mod/_forms/ODateControl.java
new file mode 100644
index 000000000..7d4dfc9e4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ODateControl.java
@@ -0,0 +1,222 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.DateField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XDateField</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XDateField
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XDateField
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class ODateControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.DateField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "DateField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the ODateControl
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for ODateControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ODateControl
diff --git a/qadevOOo/tests/java/mod/_forms/ODateModel.java b/qadevOOo/tests/java/mod/_forms/ODateModel.java
new file mode 100644
index 000000000..0d4c75800
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ODateModel.java
@@ -0,0 +1,150 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.DateField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::awt::UnoControlDateFieldModel</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::form::component::DateField</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TestDB </b> (directory) : directory with test database </li>
+* <li><b> TestDB/TestDB.dbf </b> : table file. See
+* {@link util.DBTools DBTools} class for more information.</li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.awt.UnoControlDateFieldModel
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.form.component.DateField
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.awt._UnoControlDateFieldModel
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.form.component._DateField
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class ODateModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Date";
+ * super.m_kindOfControl="DateField";
+ * super.m_ObjectName = "stardiv.one.form.component.DateField";
+ *
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_DATE_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * NamedValue Date = new NamedValue();
+ * Date.Name = "Date";
+ * Date.Value = Integer.valueOf(DBTools.TST_DATE);
+ * super.m_propertiesToSet.add(Date);
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Date";
+
+ super.m_kindOfControl="DateField";
+
+ super.m_ObjectName = "stardiv.one.form.component.DateField";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_DATE_F;
+ super.m_propertiesToSet.add(DataField);
+
+ NamedValue Date = new NamedValue();
+ Date.Name = "Date";
+ Date.Value = new com.sun.star.util.Date();
+ super.m_propertiesToSet.add(Date);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+
+} // finish class ODateModel
diff --git a/qadevOOo/tests/java/mod/_forms/OEditControl.java b/qadevOOo/tests/java/mod/_forms/OEditControl.java
new file mode 100644
index 000000000..ae231ace5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OEditControl.java
@@ -0,0 +1,240 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.TextField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::form::XChangeBroadcaster</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.form.XChangeBroadcaster
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTextListener
+ * @see ifc.form._XChangeBroadcaster
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OEditControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.TextField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * <li> <code>'Win1'</code> for
+ * {@link ifc.form._XChangeBroadcaster} : the window (controller)
+ * of the tested component. </li>
+ * <li> <code>'Win2'</code> for
+ * {@link ifc.form._XChangeBroadcaster} : the window (controller)
+ * of another component. </li>
+ * <li> <code>'CONTROL'</code> for
+ * {@link ifc.form._XChangeBroadcaster} : the controller
+ * of another component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XControl aControl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OEditControl
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for OEditControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // relations for XChangeBroadcaster
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("Win1",
+ UnoRuntime.queryInterface(XWindow.class,
+ oObj));
+ tEnv.addObjRelation("Win2", forObjRel);
+ tEnv.addObjRelation("CONTROL", aControl);
+
+
+ // relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OEditControl
diff --git a/qadevOOo/tests/java/mod/_forms/OEditModel.java b/qadevOOo/tests/java/mod/_forms/OEditModel.java
new file mode 100644
index 000000000..b672cbd9c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OEditModel.java
@@ -0,0 +1,142 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.TextField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::component::TextField</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::awt::UnoControlEditModel</code></li>
+* <li> <code>com::sun::star::form::component::DatabaseTextField</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TestDB </b> (directory) : directory with test database </li>
+* <li><b> TestDB/TestDB.dbf </b> : table file. See
+* {@link util.DBTools DBTools} class for more information.</li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.component.TextField
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.awt.UnoControlEditModel
+* @see com.sun.star.form.component.DatabaseTextField
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form.component._TextField
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.awt._UnoControlEditModel
+* @see ifc.form.component._DatabaseTextField
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class OEditModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * <super.m_ChangePropertyName</CODE> = "Text";
+ * super.m_kindOfControl</CODE>="TextField";
+ * super.m_ObjectName</CODE> = "Edit";
+ * NamedValue myProp = new NamedValue();
+ * myProp.Name = "DataField";
+ * myProp.Value = DBTools.TST_STRING_F;
+ * super.m_propertiesToSet.add(myProp);
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="TextField";
+
+ super.m_ObjectName = "stardiv.one.form.component.Edit";
+
+ NamedValue myProp = new NamedValue();
+ myProp.Name = "DataField";
+ myProp.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(myProp);
+
+ super.m_LCShape_Type = "FixedText";
+
+ super.m_ChangePropertyName = "Text";
+ }
+
+} // finish class OEditModel
diff --git a/qadevOOo/tests/java/mod/_forms/OFileControlModel.java b/qadevOOo/tests/java/mod/_forms/OFileControlModel.java
new file mode 100644
index 000000000..994e62123
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OFileControlModel.java
@@ -0,0 +1,188 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.FileControl</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::awt::UnoControlFileControlModel</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::form::component::FileControl</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.form
+ * @see com.sun.star.awt.UnoControlFileControlModel
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.form.component.FileControl
+ * @see ifc.io._XPersistObject
+ * @see ifc.container._XChild
+ * @see ifc.form._FormControlModel
+ * @see ifc.awt._UnoControlFileControlModel
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XPropertySet
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XPropertyState
+ * @see ifc.container._XNamed
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.lang._XComponent
+ * @see ifc.form.component._FileControl
+ */
+public class OFileControlModel extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Draw document where controls are placed.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes Draw document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xDrawDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates FileControl in the Form. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} : name of service which is
+ * represented by this object. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ //get FileControlModel
+ String objName = "FileControl";
+
+ XControlShape aShape = null;
+
+ Size size = new Size();
+ Point position = new Point();
+ XControlModel aControl = null;
+
+ //get MSF
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ xDrawDoc);
+
+ Object oInt = oDocMSF.createInstance(
+ "com.sun.star.drawing.ControlShape");
+ Object aCon = oDocMSF.createInstance(
+ "com.sun.star.form.component." + objName);
+ aControl = UnoRuntime.queryInterface(
+ XControlModel.class, aCon);
+ aShape = UnoRuntime.queryInterface(
+ XControlShape.class, oInt);
+ size.Height = 1500;
+ size.Width = 3000;
+ position.X = 1000;
+ position.Y = 1000;
+ aShape.setSize(size);
+ aShape.setPosition(position);
+
+ aShape.setControl(aControl);
+
+ DrawTools.getDrawPage(xDrawDoc, 0).add(aShape);
+ oObj = aShape.getControl();
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.one.form.component." +
+ objName);
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "HelpText";
+ prop.Value = "new Help Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", prop);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "HelpText");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OFileControlModel
diff --git a/qadevOOo/tests/java/mod/_forms/OFixedTextModel.java b/qadevOOo/tests/java/mod/_forms/OFixedTextModel.java
new file mode 100644
index 000000000..2b8469144
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OFixedTextModel.java
@@ -0,0 +1,99 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.FixedText</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::awt::UnoControlFixedTextModel</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.container.XChild
+* @see com.sun.star.form
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.awt.UnoControlFixedTextModel
+* @see com.sun.star.lang.XComponent
+* @see ifc.io._XPersistObject
+* @see ifc.container._XChild
+* @see ifc.form._FormControlModel
+* @see ifc.form._FormComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XPropertyState
+* @see ifc.container._XNamed
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.awt._UnoControlFixedTextModel
+* @see ifc.lang._XComponent
+*/
+
+public class OFixedTextModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="CommandButton";
+ * super.m_ObjectName = "com.sun.star.form.component.CommandButton";
+ * super.m_LCShape_Type = "CommandButton";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="FixedText";
+
+ super.m_ObjectName = "stardiv.one.form.component.FixedText";
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+
+} // finish class OFixedTextModel
diff --git a/qadevOOo/tests/java/mod/_forms/OFormattedControl.java b/qadevOOo/tests/java/mod/_forms/OFormattedControl.java
new file mode 100644
index 000000000..11793b31d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OFormattedControl.java
@@ -0,0 +1,219 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.FormattedField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OFormattedControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.FormattedField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "FormattedField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OFormattedControl
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for OFormattedControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OFormattedControl
diff --git a/qadevOOo/tests/java/mod/_forms/OFormattedFieldWrapper.java b/qadevOOo/tests/java/mod/_forms/OFormattedFieldWrapper.java
new file mode 100644
index 000000000..4a5334044
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OFormattedFieldWrapper.java
@@ -0,0 +1,135 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+
+import util.DBTools;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.FormattedField</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::form::XReset</code></li>
+ * <li> <code>com::sun::star::form::XBoundComponent</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+ * <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+ * <li> <code>com::sun::star::form::component::DatabaseFormattedField</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::form::XLoadListener</code></li>
+ * <li> <code>com::sun::star::awt::UnoControlFormattedFieldModel</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.form.XReset
+ * @see com.sun.star.form.XBoundComponent
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.form.DataAwareControlModel
+ * @see com.sun.star.form.XUpdateBroadcaster
+ * @see com.sun.star.form.component.DatabaseFormattedField
+ * @see com.sun.star.form
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XEventListener
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.form.XLoadListener
+ * @see com.sun.star.awt.UnoControlFormattedFieldModel
+ * @see com.sun.star.container.XChild
+ * @see ifc.io._XPersistObject
+ * @see ifc.form._XReset
+ * @see ifc.form._XBoundComponent
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.form._DataAwareControlModel
+ * @see ifc.form._XUpdateBroadcaster
+ * @see ifc.form.component._DatabaseFormattedField
+ * @see ifc.form._FormControlModel
+ * @see ifc.beans._XPropertyState
+ * @see ifc.container._XNamed
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XEventListener
+ * @see ifc.beans._XPropertyAccess
+ * @see ifc.beans._XPropertyContainer
+ * @see ifc.beans._XPropertySet
+ * @see ifc.form._XLoadListener
+ * @see ifc.awt._UnoControlFormattedFieldModel
+ * @see ifc.container._XChild
+ */
+public class OFormattedFieldWrapper extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ ' super.m_ChangePropertyName = "Text";
+ * super.m_kindOfControl="DatabaseImageControl";
+ * super.m_ObjectName = "stardiv.one.form.component.DatabaseImageControl";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_BINARY_STREAM_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Text";
+
+ super.m_kindOfControl="DatabaseFormattedField";
+
+ super.m_ObjectName = "stardiv.one.form.component.Edit";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+
+} // finish class OFormattedFieldWrapper
diff --git a/qadevOOo/tests/java/mod/_forms/OFormsCollection.java b/qadevOOo/tests/java/mod/_forms/OFormsCollection.java
new file mode 100644
index 000000000..00bc2e21b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OFormsCollection.java
@@ -0,0 +1,179 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.FormTools;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.Forms</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameReplace</code></li>
+* <li> <code>com::sun::star::container::XIndexReplace</code></li>
+* <li> <code>com::sun::star::container::XNameContainer</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexContainer</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* </ul>
+*
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+*
+* @see com.sun.star.container.XNameReplace
+* @see com.sun.star.container.XIndexReplace
+* @see com.sun.star.container.XNameContainer
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.container.XIndexContainer
+* @see com.sun.star.container.XNameAccess
+* @see ifc.container._XNameReplace
+* @see ifc.container._XIndexReplace
+* @see ifc.container._XNameContainer
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XEnumerationAccess
+* @see ifc.container._XIndexContainer
+* @see ifc.container._XNameAccess
+*/
+public class OFormsCollection extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a draw document");
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * Disposes drawing document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xDrawDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Adds some controls to the 'Standard' form of a draw page,
+ * then adds an empty form to a collection of forms. Then
+ * returns the collection as a test object. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'INSTANCE1' ... 'INSTANCEN'</code> for
+ * <code>XNameReplace, XNameContainer, XIndexReplace,
+ * XIndexContainer </code> : objects to be inserted
+ * or replaced with in interface tests. Number of relations
+ * depends on number of interface test threads. For each
+ * thread there must be an individual element. </li>
+ * <li> <code>'XNameContainer.AllowDuplicateNames'</code> :
+ * if this relation exists then container elements can have duplicate
+ * names. In case of forms' collection forms can have equal names.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws com.sun.star.uno.Exception
+ {
+ XInterface oObj = null;
+ XDrawPage oDP = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ oDP = DrawTools.getDrawPage(xDrawDoc, 0);
+
+ (DrawTools.getShapes(oDP))
+ .add(FormTools.createControlShape(xDrawDoc, 2000, 1500, 1000, 1000,
+ "CheckBox"));
+ (DrawTools.getShapes(oDP))
+ .add(FormTools.createControlShape(xDrawDoc, 3000, 4500, 15000,
+ 1000, "CommandButton"));
+ (DrawTools.getShapes(oDP))
+ .add(FormTools.createControlShape(xDrawDoc, 5000, 3500, 7500, 5000,
+ "TextField"));
+
+ oObj = FormTools.getForms(oDP);
+ FormTools.insertForm(xDrawDoc, (XNameContainer) oObj, "SecondForm");
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println("adding INSTANCEn as obj relation to environment");
+
+ XComponent xComp = UnoRuntime.queryInterface(
+ XComponent.class, xDrawDoc);
+ int THRCNT = 1;
+ if (Param.get("THRCNT")!= null) {
+ THRCNT = Integer.parseInt((String) Param.get("THRCNT"));
+ }
+
+ for (int n = 1; n < (THRCNT + 1); n++) {
+ log.println("adding INSTANCE" + n +
+ " as obj relation to environment");
+ tEnv.addObjRelation("INSTANCE" + n,
+ FormTools.createControl(xComp, "Form"));
+ }
+
+
+ // adding indicator that this collection can have duplicate
+ // elements with the same names for XNameContainer test.
+ tEnv.addObjRelation("XNameContainer.AllowDuplicateNames", new Object());
+
+ tEnv.addObjRelation("INSTANCE", FormTools.createControl(xComp, "Form"));
+ tEnv.addObjRelation("INSTANCE2",
+ FormTools.createControl(xComp, "Form"));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OFormsCollection
diff --git a/qadevOOo/tests/java/mod/_forms/OGridControlModel.java b/qadevOOo/tests/java/mod/_forms/OGridControlModel.java
new file mode 100644
index 000000000..b440f24ce
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OGridControlModel.java
@@ -0,0 +1,347 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.form.XGridColumnFactory;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.GridControl</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::container::XNameReplace</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::script::XEventAttacherManager</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::form::component::GridControl</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XIndexReplace</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XNameContainer</code></li>
+* <li> <code>com::sun::star::form::XGridColumnFactory</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XIndexContainer</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* <li> <code>com::sun::star::container::XContainer</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+*
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.container.XNameReplace
+* @see com.sun.star.form.XReset
+* @see com.sun.star.script.XEventAttacherManager
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.form.component.GridControl
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form
+* @see com.sun.star.container.XIndexReplace
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XNameContainer
+* @see com.sun.star.form.XGridColumnFactory
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XIndexContainer
+* @see com.sun.star.container.XChild
+* @see com.sun.star.container.XContainer
+* @see ifc.io._XPersistObject
+* @see ifc.container._XNameReplace
+* @see ifc.form._XReset
+* @see ifc.script._XEventAttacherManager
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.container._XElementAccess
+* @see ifc.form.component._GridControl
+* @see ifc.view._XSelectionSupplier
+* @see ifc.container._XEnumerationAccess
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XIndexReplace
+* @see ifc.container._XNamed
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XNameContainer
+* @see ifc.form._XGridColumnFactory
+* @see ifc.lang._XComponent
+* @see ifc.container._XNameAccess
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XIndexContainer
+* @see ifc.container._XChild
+* @see ifc.container._XContainer
+*/
+
+public class OGridControlModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="CommandButton";
+ * super.m_ObjectName = "com.sun.star.form.component.CommandButton";
+ * super.m_LCShape_Type = "CommandButton";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="GridControl";
+
+ super.m_ObjectName = "stardiv.one.form.component.Grid";
+
+ super.m_LCShape_Type = "GridControl";
+
+ }
+
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from its super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ TestEnvironment tEnv = super.createTestEnvironment(Param, log);
+
+ XInterface oObj = tEnv.getTestObject();
+
+ XPropertySet aControl = null;
+ XPropertySet aControl2 = null;
+ XPropertySet aControl3 = null;
+ XPropertySet aControl4 = null;
+ XPropertySet aControl5 = null;
+
+ XGridColumnFactory columns = UnoRuntime.queryInterface(
+ XGridColumnFactory.class, oObj);
+ aControl = columns.createColumn("TextField");
+ aControl2 = columns.createColumn("DateField");
+ aControl3 = columns.createColumn("TextField");
+ aControl4 = columns.createColumn("TextField");
+ aControl5 = columns.createColumn("TextField");
+
+ XNameContainer aContainer = UnoRuntime.queryInterface(
+ XNameContainer.class, oObj);
+
+ aContainer.insertByName("First", aControl);
+ aContainer.insertByName("Second", aControl2);
+
+ //Relations for XSelectionSupplier
+ tEnv.addObjRelation("Selections", new Object[] { aControl, aControl2 });
+
+ // adding relation for XNameContainer
+ tEnv.addObjRelation("XNameContainer.AllowDuplicateNames", new Object());
+
+
+ // adding relation for XContainer
+ tEnv.addObjRelation("INSTANCE", aControl3);
+ tEnv.addObjRelation("INSTANCE1", aControl4);
+ tEnv.addObjRelation("INSTANCE2", aControl5);
+
+
+ tEnv.addObjRelation("Comparer",
+ new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XNamed named1 = UnoRuntime.queryInterface(
+ XNamed.class, o1);
+ XNamed named2 = UnoRuntime.queryInterface(
+ XNamed.class, o2);
+
+ if (named1.getName().equals(named2.getName())) {
+ return 0;
+ }
+
+ return -1;
+ }
+ });
+
+
+ return tEnv;
+ }
+
+} // finish class OButtonModelold
+
+
+class OGridControlModelold extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes drawing document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xDrawDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * <code>GridControl</code> component created and added to the draw
+ * page. Then two columns are created and added to the grid.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'INSTANCE1' ... 'INSTANCEN'</code> for
+ * <code>XNameReplace, XNameContainer, XIndexReplace,
+ * XIndexContainer </code> : objects to be inserted
+ * or replaced with in interface tests. Number of relations
+ * depends on number of interface test threads. For each
+ * thread there must be an individual element. </li>
+ * <li> <code>'XNameContainer.AllowDuplicateNames'</code> :
+ * if this relation exists then container elements can have duplicate
+ * names. <code>GridControl</code> can have.</li>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} : name of service which is
+ * represented by this object. </li>
+ * <li> <code>'INSTANCE'</code> for
+ * {@link ifc.container._XContainer} : a column instance. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XInterface oInstance = null;
+ XPropertySet aControl = null;
+ XPropertySet aControl2 = null;
+ XPropertySet aControl3 = null;
+ XPropertySet aControl4 = null;
+ XGridColumnFactory columns = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ XControlShape shape = FormTools.insertControlShape(xDrawDoc, 5000,
+ 7000, 2000, 2000,
+ "GridControl");
+ oObj = shape.getControl();
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ columns = UnoRuntime.queryInterface(
+ XGridColumnFactory.class, oObj);
+ aControl = columns.createColumn("TextField");
+ aControl2 = columns.createColumn("DateField");
+ aControl3 = columns.createColumn("TextField");
+ aControl4 = columns.createColumn("TextField");
+ columns.createColumn("TextField");
+
+ XNameContainer aContainer = UnoRuntime.queryInterface(
+ XNameContainer.class, oObj);
+
+ aContainer.insertByName("First", aControl);
+ aContainer.insertByName("Second", aControl2);
+
+ //Relations for XSelectionSupplier
+ tEnv.addObjRelation("Selections", new Object[] { aControl, aControl2 });
+
+ // COMPARER
+
+ int THRCNT = 1;
+ String count = (String)Param.get("THRCNT");
+ if (count != null)
+ THRCNT = Integer.parseInt(count);
+
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println("adding INSTANCEn as obj relation to environment");
+
+ for (int n = 1; n < (3 * THRCNT + 1); n++) {
+ log.println("adding INSTANCE" + n +
+ " as obj relation to environment");
+ oInstance = columns.createColumn("TextField");
+ tEnv.addObjRelation("INSTANCE" + n, oInstance);
+ }
+
+
+ // adding relation for XNameContainer
+ tEnv.addObjRelation("XNameContainer.AllowDuplicateNames", new Object());
+
+ // adding relation for XContainer
+ tEnv.addObjRelation("INSTANCE", aControl3);
+ tEnv.addObjRelation("INSTANCE2", aControl4);
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OGridControlModel
diff --git a/qadevOOo/tests/java/mod/_forms/OGroupBoxControl.java b/qadevOOo/tests/java/mod/_forms/OGroupBoxControl.java
new file mode 100644
index 000000000..dea7c0058
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OGroupBoxControl.java
@@ -0,0 +1,193 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.GroupBox</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XView
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XWindow
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XView
+ */
+public class OGroupBoxControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.GroupBox</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 5000,
+ 7000, 2000, 2000,
+ "GroupBox");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OGroupBoxControl
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for OGroupBoxControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+
+ // Adding relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow",
+ UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OGroupBoxControl
diff --git a/qadevOOo/tests/java/mod/_forms/OGroupBoxModel.java b/qadevOOo/tests/java/mod/_forms/OGroupBoxModel.java
new file mode 100644
index 000000000..dcc810bd6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OGroupBoxModel.java
@@ -0,0 +1,99 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.GroupBox</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::UnoControlGroupBoxModel</code></li>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.awt.UnoControlGroupBoxModel
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.form
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XPropertyAccess
+ * @see com.sun.star.beans.XPropertyContainer
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.awt._UnoControlGroupBoxModel
+ * @see ifc.io._XPersistObject
+ * @see ifc.container._XChild
+ * @see ifc.form._FormControlModel
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XPropertySet
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XPropertyState
+ * @see ifc.container._XNamed
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.lang._XComponent
+ */
+public class OGroupBoxModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * <super.m_ChangePropertyName</CODE> = "Text";
+ * super.m_kindOfControl</CODE>="GroupBox";
+ * super.m_ObjectName</CODE> = "GroupBox";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="GroupBox";
+
+ super.m_ObjectName = "stardiv.one.form.component.GroupBox";
+
+ super.m_LCShape_Type = "FixedText";
+
+ super.m_ChangePropertyName = "Text";
+ }
+
+} // finish class OGroupBoxModel
diff --git a/qadevOOo/tests/java/mod/_forms/OHiddenModel.java b/qadevOOo/tests/java/mod/_forms/OHiddenModel.java
new file mode 100644
index 000000000..388447f50
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OHiddenModel.java
@@ -0,0 +1,175 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import com.sun.star.beans.PropertyValue;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.FormTools;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.HiddenControl</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::form::component::HiddenControl</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.container.XChild
+ * @see com.sun.star.form
+ * @see com.sun.star.form.component.HiddenControl
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.io._XPersistObject
+ * @see ifc.container._XChild
+ * @see ifc.form._FormControlModel
+ * @see ifc.form.component._HiddenControl
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XPropertySet
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XPropertyState
+ * @see ifc.container._XNamed
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.lang._XComponent
+ */
+public class OHiddenModel extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes drawing document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xDrawDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates hidden component, then adds Form into draw page,
+ * and inserts the component into Form components' collection.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} : name of service which is
+ * represented by this object. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+ String objName = "HiddenControl";
+ XInterface ctrl = SOF.createControl(xDrawDoc, objName);
+
+ XDrawPage oDP = DrawTools.getDrawPage(xDrawDoc, 0);
+
+ XNameContainer nc = FormTools.getForms(oDP);
+ FormTools.insertForm(xDrawDoc, nc, "OHiddenModelForm");
+
+ Object frm = nc.getByName("OHiddenModelForm");
+
+ XNameContainer frmNC = UnoRuntime.queryInterface(
+ XNameContainer.class, frm);
+
+ frmNC.insertByName("OHiddenModel", ctrl);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),
+ frmNC.getByName("OHiddenModel"));
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ util.dbg.getSuppServices(oObj);
+
+ log.println("adding DrawDocument as obj relation to environment");
+ tEnv.addObjRelation("OBJNAME", "stardiv.one.form.component.Hidden");
+
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "Name";
+ prop.Value = "new Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", prop);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "Name");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OHiddenModel
diff --git a/qadevOOo/tests/java/mod/_forms/OImageButtonControl.java b/qadevOOo/tests/java/mod/_forms/OImageButtonControl.java
new file mode 100644
index 000000000..1f55ac59e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OImageButtonControl.java
@@ -0,0 +1,198 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.ImageButton</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::form::XApproveActionBroadcaster</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.form.XApproveActionBroadcaster
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XView
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XWindow
+ * @see ifc.form._XApproveActionBroadcaster
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XView
+ */
+public class OImageButtonControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.ImageButton</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "ImageButton");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OImageButtonControl
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for OImageButtonControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OImageButtonControl
diff --git a/qadevOOo/tests/java/mod/_forms/OImageButtonModel.java b/qadevOOo/tests/java/mod/_forms/OImageButtonModel.java
new file mode 100644
index 000000000..0c93ba70f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OImageButtonModel.java
@@ -0,0 +1,103 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.ImageButton</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* <li> <code>com::sun::star::awt::UnoControlImageControlModel</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::form::XImageProducerSupplier</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::component::ImageButton</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.container.XChild
+* @see com.sun.star.awt.UnoControlImageControlModel
+* @see com.sun.star.form
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.form.XImageProducerSupplier
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.component.ImageButton
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.lang.XComponent
+* @see ifc.io._XPersistObject
+* @see ifc.container._XChild
+* @see ifc.awt._UnoControlImageControlModel
+* @see ifc.form._FormControlModel
+* @see ifc.form._FormComponent
+* @see ifc.form._XImageProducerSupplier
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XPropertyState
+* @see ifc.form.component._ImageButton
+* @see ifc.container._XNamed
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.lang._XComponent
+*/
+
+public class OImageButtonModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="ImageButton";
+ * super.m_ObjectName = "stardiv.one.form.component.ImageButton";
+ * super.m_LCShape_Type = "ImageButton";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="ImageButton";
+
+ super.m_ObjectName = "stardiv.one.form.component.ImageButton";
+
+ super.m_LCShape_Type = "ImageButton";
+
+ }
+
+} // finish class OImageButtonModel
diff --git a/qadevOOo/tests/java/mod/_forms/OImageControlControl.java b/qadevOOo/tests/java/mod/_forms/OImageControlControl.java
new file mode 100644
index 000000000..d859264e1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OImageControlControl.java
@@ -0,0 +1,199 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.DatabaseImageControl</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XView
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XWindow
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XView
+ */
+public class OImageControlControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.DatabaseImageControl</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShapeWithDefaultControl(
+ xTextDoc, 3000, 4500, 15000, 10000,
+ "DatabaseImageControl");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OImageControlControl
+ oObj = the_access.getControl(the_Model);
+ the_win = the_access.getControl(the_Model).getPeer();
+ aControl = the_access.getControl(the_Model2);
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for OImageControlControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OImageControlControl
diff --git a/qadevOOo/tests/java/mod/_forms/OImageControlModel.java b/qadevOOo/tests/java/mod/_forms/OImageControlModel.java
new file mode 100644
index 000000000..174bcd54d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OImageControlModel.java
@@ -0,0 +1,134 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+import util.DBTools;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.DatabaseImageControl</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::form::XImageProducerSupplier</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::awt::UnoControlImageControlModel</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code>
+* <b>(currently nonavailable)</b></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::form::component::DatabaseImageControl</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+*
+* @see com.sun.star.form.XImageProducerSupplier
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.awt.UnoControlImageControlModel
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form
+* @see com.sun.star.form.component.DatabaseImageControl
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.form._XImageProducerSupplier
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.awt._UnoControlImageControlModel
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.form.component._DatabaseImageControl
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class OImageControlModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="DatabaseImageControl";
+ * super.m_ObjectName = "stardiv.one.form.component.DatabaseImageControl";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_BINARY_STREAM_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl= "DatabaseImageControl";
+
+ super.m_ObjectName = "stardiv.one.form.component.ImageControl";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_BINARY_STREAM_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+
+} // finish class OImageControlModel
diff --git a/qadevOOo/tests/java/mod/_forms/OListBoxControl.java b/qadevOOo/tests/java/mod/_forms/OListBoxControl.java
new file mode 100644
index 000000000..03dac5b1a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OListBoxControl.java
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XListBox;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+public class OListBoxControl extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize ( TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object anotherCtrl = null ;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(
+ xTextDoc,3000,4500,15000,10000,"ListBox");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(
+ xTextDoc,3000,4500,5000,10000,"TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,xTextDoc.getCurrentController());
+
+ //now get the OListBoxControl
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200,200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println( "creating a new environment for OListBoxControl object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS",aGraphic);
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT",xTextDoc);
+ tEnv.addObjRelation("WINPEER",the_win);
+ tEnv.addObjRelation("TOOLKIT",the_kit);
+ tEnv.addObjRelation("MODEL",the_Model);
+
+ // Adding relation for XItemListener
+ ifc.awt._XItemListener.TestItemListener listener =
+ new ifc.awt._XItemListener.TestItemListener() ;
+ final XListBox box = UnoRuntime.queryInterface(XListBox.class, oObj) ;
+ box.addItemListener(listener) ;
+ tEnv.addObjRelation("TestItemListener", listener) ;
+
+ // Adding relation for XWindow
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class, anotherCtrl);
+
+ XWindow objWin = UnoRuntime.queryInterface(XWindow.class, oObj);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow",forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape",aShape);
+
+ tEnv.addObjRelation("Win1",objWin);
+ tEnv.addObjRelation("Win2",forObjRel);
+
+ tEnv.addObjRelation("CONTROL",anotherCtrl);
+
+ // adding relation for XChangeBroadcaster
+ box.addItem("Item1", (short) 0);
+ box.addItem("Item2", (short) 1);
+
+ tEnv.addObjRelation("XChangeBroadcaster.Changer",
+ new ifc.form._XChangeBroadcaster.Changer() {
+ public void change(){
+ box.addItem("Item1", (short) 0);
+ box.addItem("Item2", (short) 1);
+ box.selectItemPos((short) 0, true);
+ box.selectItemPos((short) 1, true);
+ }
+ }
+ );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class OListBoxControl
+
diff --git a/qadevOOo/tests/java/mod/_forms/OListBoxModel.java b/qadevOOo/tests/java/mod/_forms/OListBoxModel.java
new file mode 100644
index 000000000..f829da701
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OListBoxModel.java
@@ -0,0 +1,217 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.form.XBoundComponent;
+import com.sun.star.form.XLoadable;
+
+
+import com.sun.star.sdbc.SQLException;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.form._XUpdateBroadcaster.UpdateChecker;
+import java.io.PrintWriter;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.DatabaseListBox</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::awt::UnoControlListBoxModel</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::form::component::ListBox</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::form::component::DatabaseListBox</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.awt.UnoControlListBoxModel
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.form.component.ListBox
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.form.component.DatabaseListBox
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.awt._UnoControlListBoxModel
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.form.component._ListBox
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.form.component._DatabaseListBox
+* @see ifc.container._XChild
+*/
+public class OListBoxModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Date";
+ * super.m_kindOfControl="DateField";
+ * super.m_ObjectName = "stardiv.one.form.component.DateField";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_DATE_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * NamedValue ListSource = new NamedValue();
+ * ListSource.Name = "ListSource";
+ * ListSource.Value = new String[] {
+ * "OListBoxModel1", "OListBoxModel2", "OListBoxModel3"};
+ * super.m_propertiesToSet.add(ListSource);
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "SelectedItems";
+
+ super.m_kindOfControl="ListBox";
+
+ super.m_ObjectName = "stardiv.one.form.component.ListBox";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(DataField);
+
+ NamedValue ListSource = new NamedValue();
+ ListSource.Name = "ListSource";
+ ListSource.Value = new String[] {
+ "OListBoxModel1", "OListBoxModel2", "OListBoxModel3"};
+ super.m_propertiesToSet.add(ListSource);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from its super class
+ * This test uses not the generic implementation of <CODE>checker()</CODE> of its
+ * super class. This tests uses its own implementation of <CODE>checker()</CODE>
+ * to test <CODE>com::sun::star::form::XUpdateBroadcaster</CODE>
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ TestEnvironment tEnv = super.createTestEnvironment(Param, log);
+
+ tEnv.addObjRelation("XUpdateBroadcaster.Checker",
+ new Checker(m_XFormLoader, m_XPS, m_XCtrl, m_ChangePropertyName));
+ return tEnv;
+ }
+
+ private static class Checker implements UpdateChecker {
+ private short lastItem = (short) 0;
+ private XLoadable formLoaderF = null;
+ private XPropertySet ps = null;
+ private XInterface ctrl = null;
+ private String ChangePropertyName = null;
+
+ public Checker(XLoadable xl, XPropertySet ps, XInterface ctrl, String ChangePropertyName) {
+ formLoaderF = xl;
+ this.ps = ps;
+ this.ctrl = ctrl;
+ this.ChangePropertyName=ChangePropertyName;
+ }
+
+ public void update() throws com.sun.star.uno.Exception {
+ if (!formLoaderF.isLoaded()) {
+ formLoaderF.load();
+ }
+ lastItem = (short) (1 - lastItem);
+ ps.setPropertyValue(ChangePropertyName, new short[] { lastItem });
+ }
+
+ public void commit() throws SQLException {
+ XBoundComponent bound = UnoRuntime.queryInterface(
+ XBoundComponent.class, ctrl);
+ XResultSetUpdate update = UnoRuntime.queryInterface(
+ XResultSetUpdate.class,
+ formLoaderF);
+
+ bound.commit();
+ update.updateRow();
+ }
+
+ public boolean wasCommited() throws com.sun.star.uno.Exception {
+ formLoaderF.reload();
+
+ short[] getS = (short[]) ps.getPropertyValue(ChangePropertyName);
+
+ return (getS.length > 0) && (lastItem == getS[0]);
+ }
+ }
+
+} // finish class OListBoxModel
diff --git a/qadevOOo/tests/java/mod/_forms/ONavigationBarControl.java b/qadevOOo/tests/java/mod/_forms/ONavigationBarControl.java
new file mode 100644
index 000000000..cec4696cd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ONavigationBarControl.java
@@ -0,0 +1,159 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+import util.DesktopTools;
+
+public class ONavigationBarControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.CommandButton</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "NavigationToolBar");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OButtonControl
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for ONavigationBarControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ONavigationBarControl
diff --git a/qadevOOo/tests/java/mod/_forms/ONavigationBarModel.java b/qadevOOo/tests/java/mod/_forms/ONavigationBarModel.java
new file mode 100644
index 000000000..030a9b011
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ONavigationBarModel.java
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._forms;
+
+import java.io.PrintWriter;
+import lib.TestParameters;
+
+public class ONavigationBarModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_kindOfControl="NavigationToolBar";
+ * super.m_ObjectName = "om.sun.star.form.component.NavigationToolBar";
+ * super.m_LCShape_Type = "NavigationToolBar";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_kindOfControl="NavigationToolBar";
+
+ super.m_ObjectName = "com.sun.star.form.component.NavigationToolBar";
+
+ super.m_LCShape_Type = "NavigationToolBar";
+
+ }
+
+} // finish class ONavigationBarModel
+
diff --git a/qadevOOo/tests/java/mod/_forms/ONumericControl.java b/qadevOOo/tests/java/mod/_forms/ONumericControl.java
new file mode 100644
index 000000000..843e5c8a9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ONumericControl.java
@@ -0,0 +1,224 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.NumericField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XNumericField</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XNumericField
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XNumericField
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class ONumericControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.NumericField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "NumericField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the ONumericControl
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for ONumericControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ tEnv.addObjRelation("XTextComponent.onlyNumbers", Boolean.TRUE);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ONumericControl
diff --git a/qadevOOo/tests/java/mod/_forms/ONumericModel.java b/qadevOOo/tests/java/mod/_forms/ONumericModel.java
new file mode 100644
index 000000000..23f26b0e5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ONumericModel.java
@@ -0,0 +1,133 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.for.component.NumericField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::component::NumericField</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::awt::UnoControlNumericFieldModel</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form.component.NumericField
+* @see com.sun.star.form
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.awt.UnoControlNumericFieldModel
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form.component._NumericField
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.awt._UnoControlNumericFieldModel
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class ONumericModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Time";
+ * super.m_kindOfControl="TimeField";
+ * super.m_ObjectName = "stardiv.one.form.component.TimeField";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_INT_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Value";
+
+ super.m_kindOfControl="NumericField";
+
+ super.m_ObjectName = "stardiv.one.form.component.NumericField";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_DOUBLE_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+
+} // finish class ONumericModel
diff --git a/qadevOOo/tests/java/mod/_forms/OPatternControl.java b/qadevOOo/tests/java/mod/_forms/OPatternControl.java
new file mode 100644
index 000000000..4c67dabd9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OPatternControl.java
@@ -0,0 +1,222 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.PatternField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::awt::XPatternField</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.awt.XPatternField
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.awt._XPatternField
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OPatternControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.PatternField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object anotherCtrl = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "PatternField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OPatternControl
+ oObj = the_access.getControl(the_Model);
+ anotherCtrl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for OPatternControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // Adding relation for XWindow
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ anotherCtrl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OPatternControl
diff --git a/qadevOOo/tests/java/mod/_forms/OPatternModel.java b/qadevOOo/tests/java/mod/_forms/OPatternModel.java
new file mode 100644
index 000000000..0bec8f499
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OPatternModel.java
@@ -0,0 +1,138 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.form.component.PatternField</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::io::XPersistObject</code></li>
+ * <li> <code>com::sun::star::form::XReset</code></li>
+ * <li> <code>com::sun::star::form::XBoundComponent</code></li>
+ * <li> <code>com::sun::star::form::FormComponent</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * <li> <code>com::sun::star::form::component::PatternField</code></li>
+ * <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+ * <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+ * <li> <code>com::sun::star::awt::UnoControlPatternFieldModel</code></li>
+ * <li> <code>com::sun::star::form::component::DatabasePatternField</code></li>
+ * <li> <code>com::sun::star::form::FormControlModel</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::form::XLoadListener</code></li>
+ * <li> <code>com::sun::star::container::XChild</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.io.XPersistObject
+ * @see com.sun.star.form.XReset
+ * @see com.sun.star.form.XBoundComponent
+ * @see com.sun.star.form.FormComponent
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see com.sun.star.form.component.PatternField
+ * @see com.sun.star.form.DataAwareControlModel
+ * @see com.sun.star.form.XUpdateBroadcaster
+ * @see com.sun.star.awt.UnoControlPatternFieldModel
+ * @see com.sun.star.form.component.DatabasePatternField
+ * @see com.sun.star.form
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XEventListener
+ * @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.form.XLoadListener
+ * @see com.sun.star.container.XChild
+ * @see ifc.io._XPersistObject
+ * @see ifc.form._XReset
+ * @see ifc.form._XBoundComponent
+ * @see ifc.form._FormComponent
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XMultiPropertySet
+ * @see ifc.form.component._PatternField
+ * @see ifc.form._DataAwareControlModel
+ * @see ifc.form._XUpdateBroadcaster
+ * @see ifc.awt._UnoControlPatternFieldModel
+ * @see ifc.form.component._DatabasePatternField
+ * @see ifc.form._FormControlModel
+ * @see ifc.beans._XPropertyState
+ * @see ifc.container._XNamed
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XEventListener
+ * @see ifc.beans._XPropertySet
+ * @see ifc.form._XLoadListener
+ * @see ifc.container._XChild
+ */
+public class OPatternModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Text";
+ * super.m_kindOfControl="PatternField";
+ * super.m_ObjectName = "stardiv.one.form.component.PatternField";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_STRING_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Text";
+
+ super.m_kindOfControl="PatternField";
+
+ super.m_ObjectName = "stardiv.one.form.component.PatternField";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+
+} // finish class OPatternModel
diff --git a/qadevOOo/tests/java/mod/_forms/ORadioButtonControl.java b/qadevOOo/tests/java/mod/_forms/ORadioButtonControl.java
new file mode 100644
index 000000000..0fd3ce626
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ORadioButtonControl.java
@@ -0,0 +1,201 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.RadioButton</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XRadioButton</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XRadioButton
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XView
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XWindow
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XRadioButton
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XView
+ */
+public class ORadioButtonControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.RadioButton</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "RadioButton");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the ORadioButtonControl
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for ORadioButtonControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ORadioButtonControl
diff --git a/qadevOOo/tests/java/mod/_forms/ORadioButtonModel.java b/qadevOOo/tests/java/mod/_forms/ORadioButtonModel.java
new file mode 100644
index 000000000..d65c07064
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/ORadioButtonModel.java
@@ -0,0 +1,157 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.PropertyValue;
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.RadioButton</code>. <p>
+*
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::component::RadioButton</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::awt::UnoControlRadioButtonModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.component.RadioButton
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.awt.UnoControlRadioButtonModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.io._XPersistObject
+* @see ifc.form.component._RadioButton
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.awt._UnoControlRadioButtonModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class ORadioButtonModel extends GenericModelTest {
+
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName</CODE> = "State";
+ * super.m_kindOfControl</CODE>="RadioButton";
+ * super.m_ObjectName</CODE> = "RadioButton";
+ * NamedValue myProp = new NamedValue();
+ * myProp.Name = "DataField";
+ * myProp.Value = DBTools.TST_STRING_F;
+ * super.m_propertiesToSet.add(myProp);
+ * super.m_LCShape_Type = "GroupBox";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+ super.m_ChangePropertyName = "State";
+
+ super.m_kindOfControl="RadioButton";
+
+ super.m_ObjectName = "stardiv.one.form.component.RadioButton";
+
+ NamedValue myProp = new NamedValue();
+ myProp.Name = "DataField";
+ myProp.Value = DBTools.TST_STRING_F;
+ super.m_propertiesToSet.add(myProp);
+
+ super.m_LCShape_Type = "GroupBox";
+
+ }
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from its super class
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ TestEnvironment tEnv = super.createTestEnvironment(Param, log);
+ tEnv.addObjRelation("DataAwareControlModel.NewFieldName",
+ DBTools.TST_INT_F);
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "HelpText";
+ prop.Value = "new Help Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", prop);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "HelpText");
+
+ return tEnv;
+ }
+
+} // finish class ORadioButtonModel
diff --git a/qadevOOo/tests/java/mod/_forms/OScrollBarModel.java b/qadevOOo/tests/java/mod/_forms/OScrollBarModel.java
new file mode 100644
index 000000000..cd6c24161
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OScrollBarModel.java
@@ -0,0 +1,93 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._forms;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.WriterTools;
+
+public class OScrollBarModel extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates Writer document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ log.println( "creating a textdocument" );
+ xTextDoc = WriterTools.createTextDoc(tParam.getMSF());
+ }
+
+ /**
+ * Disposes the Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log)
+ throws com.sun.star.uno.Exception
+ {
+
+ XInterface oObj = null;
+
+ XControlShape aShape = FormTools.createControlShape(
+ xTextDoc,3000,4500,15000,10000,"ScrollBar");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+ oObj = aShape.getControl();
+ log.println( "creating a new environment for OScrollBarModel object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ System.out.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ String objName = "ScrollBar";
+ tEnv.addObjRelation("OBJNAME", "com.sun.star.form.component." + objName);
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "HelpText";
+ prop.Value = "new Help Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", prop);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "HelpText");
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_forms/OSpinButtonModel.java b/qadevOOo/tests/java/mod/_forms/OSpinButtonModel.java
new file mode 100644
index 000000000..d4864f285
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OSpinButtonModel.java
@@ -0,0 +1,95 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._forms;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.WriterTools;
+
+public class OSpinButtonModel extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a Writer document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ log.println( "creating a textdocument" );
+ xTextDoc = WriterTools.createTextDoc(tParam.getMSF());
+ }
+
+ /**
+ * Disposes the Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Adds spin button into text and retrieves it's control model.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log)
+ throws com.sun.star.uno.Exception
+ {
+ XInterface oObj = null;
+
+ XControlShape aShape = FormTools.createControlShape(
+ xTextDoc,3000,4500,15000,10000,"SpinButton");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+ oObj = aShape.getControl();
+ log.println( "creating a new environment for OButtonModel object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ tEnv.addObjRelation("OBJNAME", "com.sun.star.form.component.SpinButton");
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "HelpText";
+ prop.Value = "new Help Text since XPropertyAccess";
+ tEnv.addObjRelation("XPropertyAccess.propertyToChange", prop);
+ tEnv.addObjRelation("XPropertyContainer.propertyNotRemovable", "HelpText");
+
+ System.out.println("Implementation name: "+util.utils.getImplName(oObj));
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_forms/OTimeControl.java b/qadevOOo/tests/java/mod/_forms/OTimeControl.java
new file mode 100644
index 000000000..01c8f17b4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OTimeControl.java
@@ -0,0 +1,224 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+/**
+ * Test for object which is represented by default controller
+ * of the <code>com.sun.star.form.component.TimeField</code>
+ * component. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::awt::XView</code></li>
+ * <li> <code>com::sun::star::form::XBoundControl</code></li>
+ * <li> <code>com::sun::star::awt::XControl</code></li>
+ * <li> <code>com::sun::star::awt::XTextComponent</code></li>
+ * <li> <code>com::sun::star::awt::XLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::awt::XTimeField</code></li>
+ * <li> <code>com::sun::star::awt::XTextListener</code></li>
+ * <li> <code>com::sun::star::awt::XWindow</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::awt::XTextLayoutConstrains</code></li>
+ * <li> <code>com::sun::star::lang::XEventListener</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.awt.XView
+ * @see com.sun.star.form.XBoundControl
+ * @see com.sun.star.awt.XControl
+ * @see com.sun.star.awt.XTextComponent
+ * @see com.sun.star.awt.XLayoutConstrains
+ * @see com.sun.star.awt.XTimeField
+ * @see com.sun.star.awt.XTextListener
+ * @see com.sun.star.awt.XWindow
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.awt.XTextLayoutConstrains
+ * @see com.sun.star.lang.XEventListener
+ * @see ifc.awt._XView
+ * @see ifc.form._XBoundControl
+ * @see ifc.awt._XControl
+ * @see ifc.awt._XTextComponent
+ * @see ifc.awt._XLayoutConstrains
+ * @see ifc.awt._XTimeField
+ * @see ifc.awt._XTextListener
+ * @see ifc.awt._XWindow
+ * @see ifc.lang._XComponent
+ * @see ifc.awt._XTextLayoutConstrains
+ * @see ifc.lang._XEventListener
+ */
+public class OTimeControl extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates a new text document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes the text document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Creates two components and inserts them to the form of
+ * text document. One component
+ * (<code>com.sun.star.form.component.TimeField</code>) is created
+ * for testing, another to be passed as relation. Using a controller
+ * of the text document the controller of the first component is
+ * obtained and returned in environment as a test object. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'GRAPHICS'</code> for
+ * {@link ifc.awt._XView} : a graphics component
+ * created using screen device of the window peer of
+ * the controller tested. </li>
+ * <li> <code>'CONTEXT'</code> for
+ * {@link ifc.awt._XControl} : the text document
+ * where the component is inserted. </li>
+ * <li> <code>'WINPEER'</code> for
+ * {@link ifc.awt._XControl} : Window peer of the
+ * controller tested. </li>
+ * <li> <code>'TOOLKIT'</code> for
+ * {@link ifc.awt._XControl} : toolkit of the component.</li>
+ * <li> <code>'MODEL'</code> for
+ * {@link ifc.awt._XControl} : the model of the controller.</li>
+ * <li> <code>'XWindow.AnotherWindow'</code> for
+ * {@link ifc.awt._XWindow} : the controller of another
+ * component. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "TimeField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //now get the OTimeControl
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for OTimeControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ FormTools.switchDesignOf(Param.getMSF(), xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class OTimeControl
diff --git a/qadevOOo/tests/java/mod/_forms/OTimeModel.java b/qadevOOo/tests/java/mod/_forms/OTimeModel.java
new file mode 100644
index 000000000..7ceb1510d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/OTimeModel.java
@@ -0,0 +1,213 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._forms;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.form.XBoundComponent;
+import com.sun.star.form.XLoadable;
+import com.sun.star.sdbc.XResultSetUpdate;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import ifc.form._XUpdateBroadcaster.UpdateChecker;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.form.component.TimeField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::awt::UnoControlTimeFieldModel</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::form::component::TimeField</code></li>
+* <li> <code>com::sun::star::form::XReset</code></li>
+* <li> <code>com::sun::star::form::XBoundComponent</code></li>
+* <li> <code>com::sun::star::form::FormComponent</code></li>
+* <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* <li> <code>com::sun::star::form::XUpdateBroadcaster</code></li>
+* <li> <code>com::sun::star::form::DataAwareControlModel</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::form::FormControlModel</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XEventListener</code></li>
+* <li> <code>com::sun::star::beans::XPropertyAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::form::XLoadListener</code></li>
+* <li> <code>com::sun::star::container::XChild</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TestDB </b> (directory) : directory with test database </li>
+* <li><b> TestDB/TestDB.dbf </b> : table file. See
+* {@link util.DBTools DBTools} class for more information.</li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.awt.UnoControlTimeFieldModel
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.form.component.TimeField
+* @see com.sun.star.form.XReset
+* @see com.sun.star.form.XBoundComponent
+* @see com.sun.star.form.FormComponent
+* @see com.sun.star.beans.XFastPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see com.sun.star.form.XUpdateBroadcaster
+* @see com.sun.star.form.DataAwareControlModel
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.form
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XEventListener
+* @see com.sun.star.beans.XPropertyAccess
+* @see com.sun.star.beans.XPropertyContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.form.XLoadListener
+* @see com.sun.star.container.XChild
+* @see ifc.awt._UnoControlTimeFieldModel
+* @see ifc.io._XPersistObject
+* @see ifc.form.component._TimeField
+* @see ifc.form._XReset
+* @see ifc.form._XBoundComponent
+* @see ifc.form._FormComponent
+* @see ifc.beans._XFastPropertySet
+* @see ifc.beans._XMultiPropertySet
+* @see ifc.form._XUpdateBroadcaster
+* @see ifc.form._DataAwareControlModel
+* @see ifc.beans._XPropertyState
+* @see ifc.form._FormControlModel
+* @see ifc.container._XNamed
+* @see ifc.lang._XComponent
+* @see ifc.lang._XEventListener
+* @see ifc.beans._XPropertySet
+* @see ifc.form._XLoadListener
+* @see ifc.container._XChild
+*/
+public class OTimeModel extends GenericModelTest {
+ /**
+ * Set some member variable of the super class <CODE>GenericModelTest</CODE>:
+ * <pre>
+ * super.m_ChangePropertyName = "Time";
+ * super.m_kindOfControl="TimeField";
+ * super.m_ObjectName = "stardiv.one.form.component.TimeField";
+ * NamedValue DataField = new NamedValue();
+ * DataField.Name = "DataField";
+ * DataField.Value = DBTools.TST_INT_F;
+ * super.m_propertiesToSet.add(DataField);
+ *
+ * super.m_LCShape_Type = "FixedText";
+ * </pre>
+ * Then <CODE>super.initialize()</CODE> was called.
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+
+ super.initialize(tParam, log);
+
+ super.m_ChangePropertyName = "Time";
+
+ super.m_kindOfControl="TimeField";
+
+ super.m_ObjectName = "stardiv.one.form.component.TimeField";
+
+ NamedValue DataField = new NamedValue();
+ DataField.Name = "DataField";
+ DataField.Value = DBTools.TST_INT_F;
+ super.m_propertiesToSet.add(DataField);
+
+ super.m_LCShape_Type = "FixedText";
+
+ }
+
+ /**
+ * calls <CODE>createTestEnvironment()</CODE> from its super class
+ * This test uses not the generic implementation of <CODE>checker()</CODE> of its
+ * super class. This tests uses its own implementation of <CODE>checker()</CODE>
+ * to test <CODE>com::sun::star::form::XUpdateBroadcaster</CODE>
+ * @param Param the test parameter
+ * @param log the log writer
+ * @return lib.TestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ TestEnvironment tEnv = super.createTestEnvironment(Param, log);
+
+ tEnv.addObjRelation("XUpdateBroadcaster.Checker",
+ new Checker(m_XFormLoader, m_XPS, m_XCtrl));
+ return tEnv;
+ }
+
+ private static class Checker implements UpdateChecker {
+ private XLoadable formLoaderF = null;
+ private XPropertySet ps = null;
+ private XInterface ctrl = null;
+
+ public Checker(XLoadable xl, XPropertySet ps, XInterface ctrl) {
+ formLoaderF = xl;
+ this.ps = ps;
+ this.ctrl = ctrl;
+ }
+
+ private int lastTime = 0;
+
+ public void update() throws com.sun.star.uno.Exception {
+ if (!formLoaderF.isLoaded()) {
+ formLoaderF.load();
+ }
+
+ Integer time = (Integer) ps.getPropertyValue("Time");
+
+ if (time != null) {
+ lastTime = time.intValue() + 150000;
+ }
+
+ ps.setPropertyValue("Time", Integer.valueOf(lastTime));
+ }
+
+ public void commit() throws com.sun.star.sdbc.SQLException {
+ XBoundComponent bound = UnoRuntime.queryInterface(
+ XBoundComponent.class, ctrl);
+ XResultSetUpdate update = UnoRuntime.queryInterface(
+ XResultSetUpdate.class,
+ formLoaderF);
+
+ bound.commit();
+ update.updateRow();
+ }
+
+ public boolean wasCommited() throws com.sun.star.uno.Exception {
+ formLoaderF.reload();
+
+ Integer getT = (Integer) ps.getPropertyValue("Time");
+
+ return (getT != null) &&
+ (Math.abs(getT.intValue() - lastTime) < 100);
+ }
+ }
+} // finish class OTimeModel
diff --git a/qadevOOo/tests/java/mod/_forms/package.html b/qadevOOo/tests/java/mod/_forms/package.html
new file mode 100644
index 000000000..895d60e46
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_forms/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'forms'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_fps/FilePicker.java b/qadevOOo/tests/java/mod/_fps/FilePicker.java
new file mode 100644
index 000000000..885bef0ef
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fps/FilePicker.java
@@ -0,0 +1,119 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fps;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ui.FilePicker</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ui::XFilePicker</code></li>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+* <li> <code>com::sun::star::ui::XExecutableDialog</code></li>
+* <li> <code>com::sun::star::ui::XFilePickerControlAccess</code></li>
+* <li> <code>com::sun::star::ui::XFilterManager</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::ui::XFilePickerNotifier</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.ui.XFilePicker
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.lang.XTypeProvider
+* @see com.sun.star.ui.XExecutableDialog
+* @see com.sun.star.ui.XFilePickerControlAccess
+* @see com.sun.star.ui.XFilterManager
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.ui.XFilePickerNotifier
+* @see com.sun.star.ui.XFilePicker
+* @see ifc.ui.dialogs._XFilePicker
+* @see ifc.lang._XInitialization
+* @see ifc.lang._XServiceInfo
+* @see ifc.lang._XTypeProvider
+* @see ifc.ui.dialogs._XExecutableDialog
+* @see ifc.ui.dialogs._XFilePickerControlAccess
+* @see ifc.ui.dialogs._XFilterManager
+* @see ifc.lang._XComponent
+* @see ifc.ui.dialogs._XFilePickerNotifier
+*/
+public class FilePicker extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ui.FilePicker</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XInitialization.args'</code> for
+ * {@link ifc.lang._XInitialization} : argument
+ * for creating dialog from template. </li>
+ * <li> <code>'XFilePickerControlAccess.ControlID'</code> for
+ * {@link ifc.ui.dialogs._XFilePickerControlAccess} : here
+ * it is identifier of check box.</li>
+ * <li> <code>'XFilePickerControlAccess.ControlValue'</code> for
+ * {@link ifc.ui.dialogs._XFilePickerControlAccess} :
+ * The value for control to set (since the initial value
+ * of the control is empty) .</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = Param.getMSF();
+
+ Object[] iniArgs = new Object[] { Short.valueOf
+ (com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_READONLY_VERSION)};
+ short ctrlId =
+ com.sun.star.ui.dialogs.ExtendedFilePickerElementIds.CHECKBOX_READONLY;
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ui.dialogs.FilePicker" );
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XInitialization
+ tEnv.addObjRelation("XInitialization.args", iniArgs) ;
+
+ // adding relation for XFilePickerControlAccess
+ tEnv.addObjRelation("XFilePickerControlAccess.ControlID",
+ Short.valueOf(ctrlId)) ;
+ tEnv.addObjRelation("XFilePickerControlAccess.ControlValue",
+ Boolean.FALSE) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_ftransl/DataFormatTranslator.java b/qadevOOo/tests/java/mod/_ftransl/DataFormatTranslator.java
new file mode 100644
index 000000000..75f81b222
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ftransl/DataFormatTranslator.java
@@ -0,0 +1,83 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ftransl;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.datatransfer.DataFormatTranslator</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::datatransfer::XDataFormatTranslator</code></li>
+ * <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.datatransfer.XDataFormatTranslator
+ * @see com.sun.star.lang.XTypeProvider
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.datatransfer._XDataFormatTranslator
+ * @see ifc.lang._XTypeProvider
+ */
+public class DataFormatTranslator extends TestCase {
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.datatransfer.DataFormatTranslator</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.datatransfer.DataFormatTranslator" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("DataFormatTranslator Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+ log.println( "creating a new environment for DataFormatTranslator object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class DataFormatTranslator
+
diff --git a/qadevOOo/tests/java/mod/_fwk/ControlMenuController.java b/qadevOOo/tests/java/mod/_fwk/ControlMenuController.java
new file mode 100644
index 000000000..9863c4cc3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ControlMenuController.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+
+/**
+ */
+public class ControlMenuController extends TestCase {
+ XInterface oObj = null;
+
+ /**
+ * Create test environment.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.ControlMenuController");
+ log.println("TestObject: " + utils.getImplName(oObj));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/Desktop.java b/qadevOOo/tests/java/mod/_fwk/Desktop.java
new file mode 100644
index 000000000..89a2ab451
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/Desktop.java
@@ -0,0 +1,112 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.frame.XDesktop;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.frame.Desktop</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::beans::XPropertySet</code></li>
+* <li><code>com::sun::star::frame::XComponentLoader</code></li>
+* <li><code>com::sun::star::frame::XDesktop</code></li>
+* <li><code>com::sun::star::frame::XDispatchProvider</code></li>
+* <li><code>com::sun::star::frame::XFrame</code></li>
+* <li><code>com::sun::star::frame::XFramesSupplier</code></li>
+* <li><code>com::sun::star::frame::XTasksSupplier</code></li>
+* <li><code>com::sun::star::lang::XComponent</code></li>
+* <li><code>com::sun::star::task::XStatusIndicatorFactory</code></li>
+* </ul><p>
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.frame.XComponentLoader
+* @see com.sun.star.frame.XDesktop
+* @see com.sun.star.frame.XDispatchProvider
+* @see com.sun.star.frame.XFrame
+* @see com.sun.star.frame.XFramesSupplier
+* @see com.sun.star.frame.XTasksSupplier
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.task.XStatusIndicatorFactory
+* @see ifc.beans._XPropertySet
+* @see ifc.frame._XComponentLoader
+* @see ifc.frame._XDesktop
+* @see ifc.frame._XDispatchProvider
+* @see ifc.frame._XFrame
+* @see ifc.frame._XFramesSupplier
+* @see ifc.frame._XTasksSupplier
+* @see ifc.lang._XComponent
+* @see ifc.task._XStatusIndicatorFactory
+*/
+public class Desktop extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ try {
+ xTextDoc.dispose();
+ } catch (com.sun.star.lang.DisposedException de) {}
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.frame.Desktop</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.framework.Desktop");
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XDispatchProvider.URL", ".uno:Open");
+
+ tEnv.addObjRelation("Desktop",UnoRuntime.queryInterface(XDesktop.class,oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/DispatchRecorder.java b/qadevOOo/tests/java/mod/_fwk/DispatchRecorder.java
new file mode 100644
index 000000000..25c31fdff
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/DispatchRecorder.java
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XModel;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.DispatchStatement;
+import com.sun.star.frame.XDispatchRecorder;
+import com.sun.star.frame.XDispatchRecorderSupplier;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.util.URL;
+import util.utils;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::container::XElementAccess</code></li>
+* <li><code>com::sun::star::container::XIndexAccess</code></li>
+* <li><code>com::sun::star::container::XIndexReplace</code></li>
+* <li><code>com::sun::star::frame::XDispatchRecorder</code></li>
+* </ul><p>
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XIndexReplace
+* @see com.sun.star.frame.XDispatchRecorder
+* @see ifc.container._XElementAccess
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XIndexReplace
+* @see ifc.frame._XDispatchRecorder
+*/
+public class DispatchRecorder extends TestCase {
+ XComponent oDoc = null;
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.frame.Desktop</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ XFrame xFrame = null;
+ XDispatchRecorder xDR = null;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+ oDoc = SOF.createTextDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel model = UnoRuntime.queryInterface(XModel.class, oDoc);
+ xFrame = model.getCurrentController().getFrame();
+
+ XPropertySet xFramePS = UnoRuntime.queryInterface
+ (XPropertySet.class, xFrame);
+ XDispatchRecorderSupplier xDRS = null;
+ xDRS = (XDispatchRecorderSupplier) AnyConverter.toObject(
+ new Type(XDispatchRecorderSupplier.class),
+ xFramePS.getPropertyValue("DispatchRecorderSupplier"));
+ if (xDRS == null) {
+
+ Object oDRS = Param.getMSF().createInstance(
+ "com.sun.star.comp.framework.DispatchRecorderSupplier");
+ xFramePS.setPropertyValue("DispatchRecorderSupplier", oDRS);
+ xDRS = UnoRuntime.queryInterface(XDispatchRecorderSupplier.class,oDRS);
+ }
+
+ xDR = xDRS.getDispatchRecorder();
+ if (xDR != null) {
+ oObj = xDR;
+ } else {
+ oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.framework.DispatchRecorder");
+ xDR = UnoRuntime.queryInterface
+ (XDispatchRecorder.class, oObj);
+ xDRS.setDispatchRecorder(xDR);
+ }
+
+
+ // fill recorder with content. It's needed for XIndexReplace
+ URL dispURL = utils.parseURL(Param.getMSF(), ".uno:InsertDateField");
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "Text";
+ prop.Value = "XDispatchRecorder.recordDispatch()";
+ PropertyValue[] dispArgs = new PropertyValue[] {prop};
+ xDR.recordDispatch(dispURL, dispArgs);
+
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // INSTANCEn : _XIndexReplace
+ log.println("adding INSTANCEn as obj relation to environment");
+
+ int THRCNT = 1;
+ if (Param.get("THRCNT")!= null) {
+ THRCNT = Integer.parseInt((String) Param.get("THRCNT"));
+ }
+
+ URL instanceURL = null;
+ DispatchStatement instance = new DispatchStatement();
+ PropertyValue dispProp = new PropertyValue();
+
+ for (int n = 1; n < (THRCNT + 1); n++) {
+ log.println("adding INSTANCE" + n +
+ " as obj relation to environment");
+ instanceURL = utils.parseURL(Param.getMSF(), ".uno:InsertText");
+ dispProp.Name = "Text";
+ dispProp.Value = "Instance " + n;
+ dispArgs = new PropertyValue[] {dispProp};
+ instance.aCommand = instanceURL.Complete;
+ instance.aArgs = dispArgs;
+ instance.aTarget = "_top";
+ instance.nFlags = com.sun.star.frame.FrameSearchFlag.ALL;
+
+ tEnv.addObjRelation("INSTANCE" + n, instance);
+ }
+
+ tEnv.addObjRelation("XDispatchRecorder.Frame", xFrame);
+ log.println("Object created: TRUE");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(oDoc);
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/DispatchRecorderSupplier.java b/qadevOOo/tests/java/mod/_fwk/DispatchRecorderSupplier.java
new file mode 100644
index 000000000..0d2b2d0b4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/DispatchRecorderSupplier.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::frame::XDispatchRecorderSupplier</code></li>
+* </ul><p>
+* @see com.sun.star.frame.XDispatchRecorderSupplier
+* @see ifc.frame._XDispatchRecorderSupplier
+*/
+public class DispatchRecorderSupplier extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates instance of
+ * <code>com.sun.star.comp.framework.DispatchRecorderSupplier</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.framework.DispatchRecorderSupplier");
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/FontMenuController.java b/qadevOOo/tests/java/mod/_fwk/FontMenuController.java
new file mode 100644
index 000000000..3f8d1a687
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/FontMenuController.java
@@ -0,0 +1,44 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ */
+public class FontMenuController extends TestCase {
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.FontMenuController");
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/FontSizeMenuController.java b/qadevOOo/tests/java/mod/_fwk/FontSizeMenuController.java
new file mode 100644
index 000000000..b662b5f07
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/FontSizeMenuController.java
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+public class FontSizeMenuController extends TestCase {
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.FontSizeMenuController");
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/FooterMenuController.java b/qadevOOo/tests/java/mod/_fwk/FooterMenuController.java
new file mode 100644
index 000000000..99e9207bd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/FooterMenuController.java
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+public class FooterMenuController extends TestCase {
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.FooterMenuController");
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/FormatMenuController.java b/qadevOOo/tests/java/mod/_fwk/FormatMenuController.java
new file mode 100644
index 000000000..be3cb17d4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/FormatMenuController.java
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+public class FormatMenuController extends TestCase {
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.FormatMenuController");
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/Frame.java b/qadevOOo/tests/java/mod/_fwk/Frame.java
new file mode 100644
index 000000000..cb18c9659
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/Frame.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.frame.XFrame;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::frame::XDispatchProvider</code></li>
+* <li><code>com::sun::star::frame::XFrame</code></li>
+* <li><code>com::sun::star::frame::XFramesSupplier</code></li>
+* <li><code>com::sun::star::task::XStatusIndicatorFactory</code></li>
+* <li><code>com::sun::star::lang::XComponent</code></li>
+* </ul><p>
+* @see com.sun.star.frame.XDispatchProvider
+* @see com.sun.star.frame.XFrame
+* @see com.sun.star.frame.XFramesSupplier
+* @see com.sun.star.task.XStatusIndicatorFactory
+* @see com.sun.star.lang.XComponent
+* @see ifc.frame._XDispatchProvider
+* @see ifc.frame._XFrame
+* @see ifc.frame._XFramesSupplier
+* @see ifc.task._XStatusIndicatorFactory
+* @see ifc.lang._XComponent
+*/
+public class Frame extends TestCase {
+
+ XTextDocument xTextDoc;
+ XFrame frame = null;
+
+
+ /**
+ * Creates a text document and obtains a frame of current controller.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+
+ frame = xTextDoc.getCurrentController().getFrame();
+ oObj = UnoRuntime.queryInterface(XInterface.class, frame);
+
+ log.println(util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ ".uno:SwitchControlDesignMode");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+ /**
+ * Disposes the document created and finally disposes
+ * the frame containing the document (for case when the frame
+ * contains no model after some interface manipulations).
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ try {
+ XCloseable xTextClose = UnoRuntime.queryInterface(XCloseable.class, xTextDoc);
+ xTextClose.close(true);
+ } catch(Exception e){}
+
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/HeaderMenuController.java b/qadevOOo/tests/java/mod/_fwk/HeaderMenuController.java
new file mode 100644
index 000000000..16342de71
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/HeaderMenuController.java
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+public class HeaderMenuController extends TestCase {
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.HeaderMenuController");
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/JobExecutor.java b/qadevOOo/tests/java/mod/_fwk/JobExecutor.java
new file mode 100644
index 000000000..61dee42e9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/JobExecutor.java
@@ -0,0 +1,273 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XHierarchicalNameAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.container.XNameReplace;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.task.XJob;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XChangesBatch;
+import com.sun.star.uno.AnyConverter;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::task::XJobExecutor</code></li>
+ * </ul><p>
+ * The following files are needed for testcase creation :
+ * <ul>
+ * <li> <code>qadevlibs/JobExecutor.jar</code> :
+ * this is java component <code>test.Job</code> which
+ * should be registered before or during this testcase
+ * creation. This component must implement
+ * <code>com.sun.star.task.XJob</code> interface and count
+ * <code>execute</code> method calls. It also should
+ * implement <code>container.XNamed</code> interface and
+ * <code>getName</code> method must return string with number
+ * of calls.</li>
+ * <ul> <p>
+ *
+ * Also <b>important prerequicity</b>: if Job and Event is not yet
+ * added to configuration or <code>test.Job</code> component is
+ * not yet registered, the SOffice <b>must be destroyed</b> during
+ * testcase initialization. <p>
+ *
+ * @see com.sun.star.task.XJobExecutor
+ * @see ifc.task._XJobExecutor
+ */
+public class JobExecutor extends TestCase {
+
+ static Job job = new Job();
+ XNamed xNamed = null;
+ Object oRootCfg = null;
+
+ /**
+ * For testcase initializing :
+ * <ol>
+ * <li> Implementation <code>test.Job</code> must be registered in
+ * SOffice registry. </li>
+ * <li> Configuration in package <code>org.OpenOffice.Office.Jobs</code>
+ * must be updated. <code>TestJob</code> must be registered for
+ * service <code>test.Job</code> and event for this job named
+ * <code>TextEvent</code> must be registered. </li>
+ * </ol>. <p>
+ *
+ * First these two conditions are checked. If job and event are not
+ * registered they are inserted into configuration and committed.
+ * After what SOffice must be destroyed for proper initialization
+ * of <code>JobExecutor</code> after startup. <p>
+ *
+ * Then if the implementation was not registered before it is
+ * registered in soffice <code>applicat.rbd</code> file (registering
+ * the component in currently running Java environment has no effect
+ * for <code>JobExecutor</code> in some reasons). <p>
+ *
+ * Note: SOffice is started again while the next
+ * <code>(XMultiServiceFactory)SOLink.getMSF()</code> call.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ boolean configured = false;
+
+ try {
+ Param.getMSF().createInstance("test.Job");
+ } catch(com.sun.star.uno.Exception e) {
+ log.println("Service test.Job is not yet registered.");
+ String message = "You have to register 'test.Job' before office is started.\n";
+ message += "Please run '$OFFICEPATH/program/pkgchk $DOCPTH/qadevlibs/JobExecutor.jar'";
+ throw new StatusException(message, e);
+ }
+
+
+
+ XNameAccess jobs = null;
+ XNameAccess events = null;
+ Object obj = Param.getMSF().createInstance
+ ("com.sun.star.configuration.ConfigurationProvider");
+ XMultiServiceFactory xConfigMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, obj);
+ PropertyValue[] args = new PropertyValue[1];
+ args[0] = new PropertyValue();
+ args[0].Name = "nodepath";
+ args[0].Value = "org.openoffice.Office.Jobs";
+ oRootCfg = xConfigMSF.createInstanceWithArguments(
+ "com.sun.star.configuration.ConfigurationUpdateAccess", args);
+ XHierarchicalNameAccess xHNA = UnoRuntime.queryInterface(XHierarchicalNameAccess.class, oRootCfg);
+ obj = xHNA.getByHierarchicalName("Jobs");
+ jobs = UnoRuntime.queryInterface
+ (XNameAccess.class, obj);
+ obj = xHNA.getByHierarchicalName("Events");
+ events = UnoRuntime.queryInterface
+ (XNameAccess.class, obj);
+
+ configured = jobs.hasByName("TestJob") && events.hasByName("TestEvent");
+
+ log.println("Test job and event is "
+ + (configured ? "already" : "not yet") + " configured.");
+
+ if (!configured) {
+ log.println("Adding configuration to Jobs ...");
+ XSingleServiceFactory jobsFac = UnoRuntime.queryInterface(XSingleServiceFactory.class, jobs);
+ Object oNewJob = jobsFac.createInstance();
+ XNameReplace xNewJobNR = UnoRuntime.queryInterface(XNameReplace.class, oNewJob);
+ xNewJobNR.replaceByName("Service", "test.Job");
+ XNameContainer xJobsNC = UnoRuntime.queryInterface(XNameContainer.class, jobs);
+ xJobsNC.insertByName("TestJob", oNewJob);
+
+ log.println("Adding configuration to Events ...");
+ XSingleServiceFactory eventsFac = UnoRuntime.queryInterface(XSingleServiceFactory.class, events);
+ Object oNewEvent = eventsFac.createInstance();
+
+ XNameAccess xNewEventNA = UnoRuntime.queryInterface(XNameAccess.class, oNewEvent);
+ Object oJobList = xNewEventNA.getByName("JobList");
+ XSingleServiceFactory jobListFac = (XSingleServiceFactory)
+ AnyConverter.toObject(new Type(XSingleServiceFactory.class),
+ oJobList);
+ XNameContainer jobListNC = (XNameContainer)
+ AnyConverter.toObject(new Type(XNameContainer.class),
+ oJobList);
+ log.println("\tAdding TimeStamps to Events ...");
+ Object oNewJobTimeStamps = jobListFac.createInstance();
+
+ jobListNC.insertByName("TestJob", oNewJobTimeStamps);
+
+ XNameContainer xEventsNC = UnoRuntime.queryInterface(XNameContainer.class, events);
+ xEventsNC.insertByName("TestEvent", oNewEvent);
+
+ XChangesBatch xCB = UnoRuntime.queryInterface(XChangesBatch.class, oRootCfg);
+ xCB.commitChanges();
+
+ util.utils.waitForEventIdle(Param.getMSF());
+ }
+
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ *
+ * Service <code>com.sun.star.comp.framework.JobExecutor</code>
+ * is created.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.framework.JobExecutor");
+ Object job = Param.getMSF().createInstance("test.Job");
+
+ xNamed = UnoRuntime.queryInterface(XNamed.class, job);
+ log.println("Count = " + xNamed.getName());
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("CallCounter", xNamed);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ }
+}
+
+/**
+ * Currently not used.
+ */
+class Job implements
+ XServiceInfo, XSingleServiceFactory {
+
+ private static class Impl implements XServiceInfo, XTypeProvider, XJob, XNamed {
+ int callCount = 0;
+
+ public byte[] getImplementationId() {
+ return new byte[0];
+ }
+
+ public Type[] getTypes() {
+ Class<?> interfaces[] = getClass().getInterfaces();
+ Type types[] = new Type[interfaces.length];
+ for(int i = 0; i < interfaces.length; ++ i)
+ types[i] = new Type(interfaces[i]);
+ return types;
+ }
+
+ public Object execute(NamedValue[] param) {
+ callCount++;
+
+ return null;
+ }
+
+ public String getName() {
+ return String.valueOf(callCount);
+ }
+
+ public void setName(String n) {}
+
+ public boolean supportsService(String name) {
+ return __serviceName.equals(name);
+ }
+
+ public String[] getSupportedServiceNames() {
+ return new String[] {__serviceName};
+ }
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+ }
+
+ private static final String __serviceName = "test.Job";
+ private static Impl impl = new Impl();
+
+ public Object createInstanceWithArguments(Object[] args) {
+ return impl;
+ }
+
+ public Object createInstance() {
+ return createInstanceWithArguments(null);
+ }
+
+ public boolean supportsService(String name) {
+ return __serviceName.equals(name);
+ }
+
+ public String[] getSupportedServiceNames() {
+ return new String[] {__serviceName};
+ }
+
+ public String getImplementationName() {
+ return getClass().getName();
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/JobHandler.java b/qadevOOo/tests/java/mod/_fwk/JobHandler.java
new file mode 100644
index 000000000..ed86cfb73
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/JobHandler.java
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::frame::XDispatchProvider</code></li>
+* <li><code>com::sun::star::lang::XInitialization</code></li>
+* </ul><p>
+* @see com.sun.star.frame.XDispatchProvider
+* @see com.sun.star.lang.XInitialization
+* @see ifc.frame._XDispatchProvider
+* @see ifc.lang._XInitialization
+*/
+public class JobHandler extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws Exception {
+ boolean serviceRegistered = false;
+
+ try {
+ Object obj = Param.getMSF().createInstance("test.Job");
+ serviceRegistered = obj != null;
+ } catch(com.sun.star.uno.Exception e) {}
+
+ log.println("Service test.Job is "
+ + (serviceRegistered ? "already" : "not yet") + " registered.");
+ if (! serviceRegistered){
+ String message = "You have to register 'test.Job' before office is started.\n";
+ message += "Please run '$OFFICEPATH/program/pkgchk $DOCPTH/qadevlibs/JobExecutor.jar'";
+ throw new StatusException(message, new Exception());
+ }
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.framework.jobs.JobDispatch");
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XDispatchProvider.URL", "vnd.sun.star.job:alias=TestJob");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/LayoutManager.java b/qadevOOo/tests/java/mod/_fwk/LayoutManager.java
new file mode 100644
index 000000000..9193fca43
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/LayoutManager.java
@@ -0,0 +1,105 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.util.XCloseable;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.WriterTools;
+
+/**
+ */
+public class LayoutManager extends TestCase {
+ XInterface xManager = null;
+ XTextDocument xTextDoc;
+
+ /**
+ * Cleanup: close the created document
+ * @param tParam The test parameters.
+ * @param log The log writer.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Create test environment:
+ * <ul>
+ * <li>Create test doc</li>
+ * <li>Get the frame</li>
+ * <li>Get the LayoutManager from the frame</li>
+ * </ul>
+ * @param tParam The test parameters.
+ * @param log The log writer.
+ * @return The test environment.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ log.println("Creating instance...");
+
+ xTextDoc = WriterTools.createTextDoc(xMSF);
+
+ XText xText = xTextDoc.getText();
+ XTextCursor xTextCursor = xText.createTextCursor();
+
+ for (int i = 0; i < 11; i++) {
+ xText.insertString(xTextCursor, "A sample text and why not? ", false);
+ }
+
+ XFrame xFrame = xTextDoc.getCurrentController().getFrame();
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, xFrame);
+ Object any = xProp.getPropertyValue("LayoutManager");
+ xManager = UnoRuntime.queryInterface(XInterface.class, any);
+
+ // just to make sure, it's the right one.
+ log.println("TestObject: " + util.utils.getImplName(xManager));
+ tEnv = new TestEnvironment(xManager);
+
+ tEnv.addObjRelation("XLayoutManager.TextDoc", xTextDoc);
+ tEnv.addObjRelation("XLayoutManager.Frame",xFrame);
+
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/MacrosMenuController.java b/qadevOOo/tests/java/mod/_fwk/MacrosMenuController.java
new file mode 100644
index 000000000..e68494417
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/MacrosMenuController.java
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+public class MacrosMenuController extends TestCase{
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.MacrosMenuController");
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/MailToDispatcher.java b/qadevOOo/tests/java/mod/_fwk/MailToDispatcher.java
new file mode 100644
index 000000000..ac04229aa
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/MailToDispatcher.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::lang::XInitialization</code></li>
+* <li><code>com::sun::star::frame::XDispatchProvider</code></li>
+* </ul><p>
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.frame.XDispatchProvider
+* @see ifc.lang._XInitialization
+* @see ifc.frame._XDispatchProvider
+*/
+public class MailToDispatcher extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.framework.MailToDispatcher</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.framework.MailToDispatcher");
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "mailto:soffice@sparc.spb.su");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/MenuBarFactory.java b/qadevOOo/tests/java/mod/_fwk/MenuBarFactory.java
new file mode 100644
index 000000000..ff75db88d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/MenuBarFactory.java
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+public class MenuBarFactory extends TestCase {
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.MenuBarFactory");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/ModuleManager.java b/qadevOOo/tests/java/mod/_fwk/ModuleManager.java
new file mode 100644
index 000000000..a700bffaf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ModuleManager.java
@@ -0,0 +1,227 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import lib.*;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.text.XTextDocument;
+
+/** Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::frame::XModuleManager</code></li>
+ * <li><code>com::sun::star::container::XNameAccess</code></li>
+ * <li><code>com::sun::star::container::XElementAccess</code></li>
+ * </ul><p>
+ * @see com.sun.star.frame.XModuleManager
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.frame._XModuleManager
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ */
+public class ModuleManager extends TestCase {
+
+ XTextDocument xTextDoc = null;
+ XComponent xWebDoc = null;
+ XComponent xGlobalDoc = null;
+ XSpreadsheetDocument xSheetDoc = null;
+ XComponent xDrawDoc = null;
+ XComponent xImpressDoc = null;
+ XComponent xMathDoc = null;
+
+ /** Creating a TestEnvironment for the interfaces to be tested.
+ * @param Param test parameters
+ * @param log simple logger
+ * @throws StatusException was thrown on error
+ * @return the test environment
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.framework.ModuleManager");
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ // get text document interfaces
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ XModel xTextMode1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+ XController xTextController = xTextMode1.getCurrentController();
+ XFrame xTextFrame = xTextController.getFrame();
+
+
+ // get webdoc interfaces
+ log.println("creating a web document");
+ xWebDoc = SOF.loadDocument("private:factory/swriter/web");
+ XModel xWebMode1 = UnoRuntime.queryInterface(XModel.class,
+ xWebDoc);
+ XController xWebController = xWebMode1.getCurrentController();
+ XFrame xWebFrame = xWebController.getFrame();
+
+ // get global document interfaces
+ log.println("creating a global document");
+ xGlobalDoc = SOF.loadDocument("private:factory/swriter/GlobalDocument");
+ XModel xGlobalMode1 = UnoRuntime.queryInterface(XModel.class,
+ xGlobalDoc);
+ XController xGlobalController = xGlobalMode1.getCurrentController();
+ XFrame xGlobalFrame = xGlobalController.getFrame();
+
+ // get clac interfaces
+ log.println("creating a spreadsheetdocument");
+ xSheetDoc = SOF.createCalcDoc(null);
+ XModel xSheetMode1 = UnoRuntime.queryInterface(XModel.class,
+ xSheetDoc);
+
+ XController xSheetController = xSheetMode1.getCurrentController();
+ XFrame xSheetFrame = xSheetController.getFrame();
+ // get draw interfaces
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ XModel xDrawMode1 = UnoRuntime.queryInterface(XModel.class,
+ xDrawDoc);
+ XController xDrawController = xDrawMode1.getCurrentController();
+ XFrame xDrawFrame = xDrawController.getFrame();
+
+ // get impress interfaces
+ log.println("creating an impress document");
+ xImpressDoc = SOF.createImpressDoc(null);
+ XModel xImpressMode1 = UnoRuntime.queryInterface(XModel.class,
+ xImpressDoc);
+ XController xImpressController = xImpressMode1.getCurrentController();
+ XFrame xImpressFrame = xImpressController.getFrame();
+
+ // get math interfaces
+ log.println("creating a math document");
+ xMathDoc = SOF.createMathDoc(null);
+ XModel xMathMode1 = UnoRuntime.queryInterface(XModel.class,
+ xMathDoc);
+ XController xMathController = xMathMode1.getCurrentController();
+ XFrame xMathFrame = xMathController.getFrame();
+
+ PropertyValue[] xFrameSeq = new PropertyValue[7];
+ xFrameSeq[0] = new PropertyValue();
+ xFrameSeq[0].Name = "com.sun.star.text.TextDocument";
+ xFrameSeq[0].Value = xTextFrame;
+ xFrameSeq[1] = new PropertyValue();
+ xFrameSeq[1].Name = "com.sun.star.text.WebDocument";
+ xFrameSeq[1].Value = xWebFrame;
+ xFrameSeq[2] = new PropertyValue();
+ xFrameSeq[2].Name = "com.sun.star.text.GlobalDocument";
+ xFrameSeq[2].Value = xGlobalFrame;
+ xFrameSeq[3] = new PropertyValue();
+ xFrameSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument";
+ xFrameSeq[3].Value = xSheetFrame;
+ xFrameSeq[4] = new PropertyValue();
+ xFrameSeq[4].Name = "com.sun.star.drawing.DrawingDocument";
+ xFrameSeq[4].Value = xDrawFrame;
+ xFrameSeq[5] = new PropertyValue();
+ xFrameSeq[5].Name = "com.sun.star.formula.FormulaProperties";
+ xFrameSeq[5].Value = xMathFrame;
+ xFrameSeq[6] = new PropertyValue();
+ xFrameSeq[6].Name = "com.sun.star.presentation.PresentationDocument";
+ xFrameSeq[6].Value = xImpressFrame;
+
+ PropertyValue[] xControllerSeq = new PropertyValue[7];
+ xControllerSeq[0] = new PropertyValue();
+ xControllerSeq[0].Name = "com.sun.star.text.TextDocument";
+ xControllerSeq[0].Value = xTextController;
+ xControllerSeq[1] = new PropertyValue();
+ xControllerSeq[1].Name = "com.sun.star.text.WebDocument";
+ xControllerSeq[1].Value = xWebController;
+ xControllerSeq[2] = new PropertyValue();
+ xControllerSeq[2].Name = "com.sun.star.text.GlobalDocument";
+ xControllerSeq[2].Value = xGlobalController;
+ xControllerSeq[3] = new PropertyValue();
+ xControllerSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument";
+ xControllerSeq[3].Value = xSheetController;
+ xControllerSeq[4] = new PropertyValue();
+ xControllerSeq[4].Name = "com.sun.star.drawing.DrawingDocument";
+ xControllerSeq[4].Value = xDrawController;
+ xControllerSeq[5] = new PropertyValue();
+ xControllerSeq[5].Name = "com.sun.star.formula.FormulaProperties";
+ xControllerSeq[5].Value = xMathController;
+ xControllerSeq[6] = new PropertyValue();
+ xControllerSeq[6].Name = "com.sun.star.presentation.PresentationDocument";
+ xControllerSeq[6].Value = xImpressController;
+
+ PropertyValue[] xModelSeq = new PropertyValue[7];
+ xModelSeq[0] = new PropertyValue();
+ xModelSeq[0].Name = "com.sun.star.text.TextDocument";
+ xModelSeq[0].Value = xTextMode1;
+ xModelSeq[1] = new PropertyValue();
+ xModelSeq[1].Name = "com.sun.star.text.WebDocument";
+ xModelSeq[1].Value = xWebMode1;
+ xModelSeq[2] = new PropertyValue();
+ xModelSeq[2].Name = "com.sun.star.text.GlobalDocument";
+ xModelSeq[2].Value = xGlobalMode1;
+ xModelSeq[3] = new PropertyValue();
+ xModelSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument";
+ xModelSeq[3].Value = xSheetMode1;
+ xModelSeq[4] = new PropertyValue();
+ xModelSeq[4].Name = "com.sun.star.drawing.DrawingDocument";
+ xModelSeq[4].Value = xDrawMode1;
+ xModelSeq[5] = new PropertyValue();
+ xModelSeq[5].Name = "com.sun.star.presentation.PresentationDocument";
+ xModelSeq[5].Value = xImpressMode1;
+ xModelSeq[6] = new PropertyValue();
+ xModelSeq[6].Name = "com.sun.star.formula.FormulaProperties";
+ xModelSeq[6].Value = xMathMode1;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ tEnv.addObjRelation("XModuleManager.XFrame", xFrameSeq);
+ tEnv.addObjRelation("XModuleManager.XController", xControllerSeq);
+ tEnv.addObjRelation("XModuleManager.XModel", xModelSeq);
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /** Disposes text document.
+ * @param tParam test parameters
+ * @param log simple logger
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " closing all documents " );
+ DesktopTools.closeDoc(xTextDoc);
+ DesktopTools.closeDoc(xWebDoc);
+ DesktopTools.closeDoc(xGlobalDoc);
+ DesktopTools.closeDoc(xSheetDoc);
+ DesktopTools.closeDoc(xDrawDoc);
+ DesktopTools.closeDoc(xImpressDoc);
+ DesktopTools.closeDoc(xMathDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManager.java b/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManager.java
new file mode 100644
index 000000000..c4a826b49
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManager.java
@@ -0,0 +1,188 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.ui.XModuleUIConfigurationManagerSupplier;
+import ifc.ui._XUIConfiguration;
+import java.io.PrintWriter;
+import com.sun.star.lang.EventObject;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.util.XCloseable;
+import com.sun.star.ui.ConfigurationEvent;
+import com.sun.star.ui.XUIConfigurationManager;
+import ifc.ui._XUIConfigurationManager;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.WriterTools;
+import util.utils;
+
+/**
+ */
+public class ModuleUIConfigurationManager extends TestCase {
+ XInterface oObj = null;
+ XMultiServiceFactory xMSF = null;
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Cleanup: close the created document
+ * @param tParam The test parameters.
+ * @param log The log writer.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ if (xTextDoc != null) {
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+ log.println(" disposing storage");
+ }
+
+ /**
+ * Create environment.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ TestEnvironment tEnv = null;
+
+ xMSF = tParam.getMSF();
+
+ log.println("Creating instance...");
+ xTextDoc = WriterTools.createTextDoc(xMSF);
+
+ Object o = xMSF.createInstance("com.sun.star.ui.ModuleUIConfigurationManagerSupplier");
+ XModuleUIConfigurationManagerSupplier xMUICMS = UnoRuntime.queryInterface(XModuleUIConfigurationManagerSupplier.class, o);
+
+ util.dbg.printInterfaces(xMUICMS);
+ oObj = xMUICMS.getUIConfigurationManager("com.sun.star.text.TextDocument");
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ tEnv = new TestEnvironment(oObj);
+
+ XNameAccess xMM = UnoRuntime.queryInterface(XNameAccess.class, xMSF.createInstance("com.sun.star.comp.framework.ModuleManager"));
+ xMM.getElementNames();
+
+ // the short cut manager service name
+ // 2do: correct the service name when it's no longer in
+ tEnv.addObjRelation("XConfigurationManager.ShortCutManager",
+ "com.sun.star.ui.ModuleAcceleratorConfiguration");
+
+ // the resourceURL
+ tEnv.addObjRelation("XModuleUIConfigurationManager.ResourceURL",
+ "private:resource/menubar/menubar");
+ tEnv.addObjRelation("XUIConfiguration.XUIConfigurationListenerImpl",
+ new ConfigurationListener(log,
+ UnoRuntime.queryInterface(
+ XUIConfigurationManager.class, oObj), xMSF));
+ tEnv.addObjRelation("XModuleUIConfigurationManagerSupplier.ConfigManagerImplementationName",
+ "com.sun.star.comp.framework.ModuleUIConfigurationManager");
+ return tEnv;
+ }
+
+ /**
+ * An implementation of the _XUIConfiguration.XUIConfigurationListenerImpl
+ * interface to trigger the event for a listener call.
+ * @see ifc.ui._XUIConfiguration
+ */
+ private static class ConfigurationListener implements _XUIConfiguration.XUIConfigurationListenerImpl {
+ private boolean triggered = false;
+ private final PrintWriter log;
+ private final XUIConfigurationManager xUIManager;
+ private final XMultiServiceFactory xMSF;
+
+ private ConfigurationListener(PrintWriter _log, XUIConfigurationManager xUIManager, XMultiServiceFactory xMSF) {
+ log = _log;
+ this.xUIManager = xUIManager;
+ this.xMSF = xMSF;
+ }
+ public void reset(){
+ triggered = false;
+ }
+ public void fireEvent() {
+ try {
+ XIndexAccess xMenuBarSettings = xUIManager.getSettings(
+ "private:resource/menubar/menubar", true);
+
+ PropertyValue[]prop = _XUIConfigurationManager.createMenuBarEntry(
+ "Trigger Event", xMenuBarSettings, xMSF, log);
+ _XUIConfigurationManager.createMenuBarItem("Click for Macro",
+ UnoRuntime.queryInterface(
+ XIndexContainer.class, prop[3].Value), log);
+ XIndexContainer x = UnoRuntime.queryInterface(XIndexContainer.class, xMenuBarSettings);
+ x.insertByIndex(x.getCount(), prop);
+ xUIManager.replaceSettings("private:resource/menubar/menubar", xMenuBarSettings);
+ xUIManager.reset();
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalAccessException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ }
+ public boolean actionWasTriggered(){
+ return triggered;
+ }
+ public void disposing(EventObject e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.disposing the listener.");
+ }
+ public void elementInserted(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementInserted.");
+ }
+ public void elementRemoved(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementRemoved.");
+ }
+ public void elementReplaced(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementReplaced.");
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManagerSupplier.java b/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManagerSupplier.java
new file mode 100644
index 000000000..a43f4d924
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ModuleUIConfigurationManagerSupplier.java
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+public class ModuleUIConfigurationManagerSupplier extends TestCase{
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.ui.ModuleUIConfigurationManagerSupplier");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("XModuleUIConfigurationManagerSupplier.ConfigurationManager",
+ "com.sun.star.frame.StartModule");
+ tEnv.addObjRelation("XModuleUIConfigurationManagerSupplier.ConfigManagerImplementationName", "com.sun.star.comp.framework.ModuleUIConfigurationManager");
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/PopupMenuControllerFactory.java b/qadevOOo/tests/java/mod/_fwk/PopupMenuControllerFactory.java
new file mode 100644
index 000000000..60dee1adf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/PopupMenuControllerFactory.java
@@ -0,0 +1,99 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.XCloseable;
+import com.sun.star.frame.XUIControllerRegistration;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.WriterTools;
+
+/**
+ */
+public class PopupMenuControllerFactory extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Cleanup: close the created document
+ * @param tParam The test parameters.
+ * @param log The log writer.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+
+ /**
+ * Create test environment:
+ * @param tParam The test parameters.
+ * @param log The log writer.
+ * @return The test environment.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ XInterface xInst = null;
+
+ log.println("Creating instance...");
+
+ xTextDoc = WriterTools.createTextDoc(xMSF);
+ util.dbg.printInterfaces(xTextDoc);
+
+ xInst = (XInterface)xMSF.createInstance(
+ "com.sun.star.comp.framework.PopupMenuControllerFactory");
+
+ log.println("TestObject: " + util.utils.getImplName(xInst));
+ tEnv = new TestEnvironment(xInst);
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ Object o = xProp.getPropertyValue("DefaultContext");
+ XComponentContext xContext = UnoRuntime.queryInterface(XComponentContext.class, o);
+ tEnv.addObjRelation("DC", xContext);
+
+ // register one controller, so it can be instantiated
+ XUIControllerRegistration xReg = UnoRuntime.queryInterface(XUIControllerRegistration.class, xInst);
+
+ xReg.registerController(".uno:MyCommandUrl", "", "com.sun.star.comp.framework.FooterMenuController");
+ tEnv.addObjRelation("XUIControllerRegistration.RegisteredController", ".uno:MyCommandUrl");
+ tEnv.addObjRelation("XMultiComponentFactory.ServiceNames", new String[]{".uno:MyCommandUrl"});
+
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/ServiceHandler.java b/qadevOOo/tests/java/mod/_fwk/ServiceHandler.java
new file mode 100644
index 000000000..fdf637161
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ServiceHandler.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::lang::XInitialization</code></li>
+* <li><code>com::sun::star::frame::XDispatchProvider</code></li>
+* </ul><p>
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.frame.XDispatchProvider
+* @see ifc.lang._XInitialization
+* @see ifc.frame._XDispatchProvider
+*/
+public class ServiceHandler extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.framework.ServiceHandler</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.framework.ServiceHandler");
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "service:com.sun.star.io.Pipe");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/SoundHandler.java b/qadevOOo/tests/java/mod/_fwk/SoundHandler.java
new file mode 100644
index 000000000..04f1fce1d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/SoundHandler.java
@@ -0,0 +1,62 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import util.utils;
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::frame::XDispatch</code></li>
+* <li><code>com::sun::star::frame::XNotifyingDispatch</code></li>
+* </ul><p>
+* @see com.sun.star.frame.XDispatch
+* @see com.sun.star.frame.XNotifyingDispatch
+* @see ifc.frame._XDispatch
+* @see ifc.frame._XNotifyingDispatch
+*/
+public class SoundHandler extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.frame.ContentHandler");
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ URL dispURL = utils.parseURL(Param.getMSF(),
+ utils.getFullTestURL("ok.wav"));
+ System.out.println("DISPATCHURL: "+ dispURL.Complete);
+
+ tEnv.addObjRelation("XDispatch.URL", dispURL);
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/StatusBarControllerFactory.java b/qadevOOo/tests/java/mod/_fwk/StatusBarControllerFactory.java
new file mode 100644
index 000000000..c3451125e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/StatusBarControllerFactory.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+public class StatusBarControllerFactory extends TestCase {
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.StatusBarControllerFactory");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ Object o = xProp.getPropertyValue("DefaultContext");
+ XComponentContext xContext = UnoRuntime.queryInterface(XComponentContext.class, o);
+ tEnv.addObjRelation("DC", xContext);
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/ToolBarsMenuController.java b/qadevOOo/tests/java/mod/_fwk/ToolBarsMenuController.java
new file mode 100644
index 000000000..1c88d936c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/ToolBarsMenuController.java
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+public class ToolBarsMenuController extends TestCase {
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.ToolBarsMenuController");
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/UICategoryDescription.java b/qadevOOo/tests/java/mod/_fwk/UICategoryDescription.java
new file mode 100644
index 000000000..fab3759cb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/UICategoryDescription.java
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+public class UICategoryDescription extends TestCase {
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.comp.framework.UICategoryDescription");
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/UICommandDescription.java b/qadevOOo/tests/java/mod/_fwk/UICommandDescription.java
new file mode 100644
index 000000000..15e64baf8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/UICommandDescription.java
@@ -0,0 +1,41 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+public class UICommandDescription extends TestCase {
+ XInterface oObj = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oObj = (XInterface)xMSF.createInstance("com.sun.star.frame.UICommandDescription");
+
+ log.println("TestObject: " + utils.getImplName(oObj));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwk/UIConfigurationManager.java b/qadevOOo/tests/java/mod/_fwk/UIConfigurationManager.java
new file mode 100644
index 000000000..d32fb8d23
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/UIConfigurationManager.java
@@ -0,0 +1,196 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.embed.ElementModes;
+import com.sun.star.embed.XStorage;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import ifc.ui._XUIConfiguration;
+import java.io.PrintWriter;
+import com.sun.star.lang.EventObject;
+import com.sun.star.ui.ConfigurationEvent;
+import com.sun.star.ui.UIElementType;
+import com.sun.star.ui.XUIConfigurationManager;
+import com.sun.star.ui.XUIConfigurationStorage;
+import ifc.ui._XUIConfigurationManager;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ */
+public class UIConfigurationManager extends TestCase {
+ XUIConfigurationManager xManager = null;
+
+
+ /**
+ * Create test environment:
+ * <ul>
+ * <li>create a text doc</li>
+ * <li>get the model from the text doc</li>
+ * <li>query model for XUIConfigurationManagerSupplier interface</li>
+ * <li>get the manager from the supplier</li>
+ * </ul>
+ * @param tParam The test parameters.
+ * @param log The log writer.
+ * @return The test environment.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ TestEnvironment tEnv = null;
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ log.println("Creating instance...");
+
+ try {
+ xManager = UnoRuntime.queryInterface(
+ XUIConfigurationManager.class, xMSF.createInstance(
+ "com.sun.star.comp.framework.UIConfigurationManager"));
+ }
+ catch(com.sun.star.uno.Exception e) {
+ }
+ // just to make sure, it's the right one.
+ log.println("TestObject: " + utils.getImplName(xManager));
+ tEnv = new TestEnvironment(xManager);
+
+ // create a configuration storage
+ try {
+ String sourceDeleteCfg = util.utils.getFullTestURL("delete.cfg");
+ String deleteCfg = util.utils.getFullURL(util.utils.getOfficeTemp(xMSF) + "delete.cfg");
+ util.utils.copyFile(xMSF, sourceDeleteCfg, deleteCfg);
+ XStorage xSubStorage = null;
+ Object o = xMSF.createInstance("com.sun.star.embed.StorageFactory");
+ XSingleServiceFactory xSSF = UnoRuntime.queryInterface(
+ XSingleServiceFactory.class, o);
+ Object[] props = new Object[2];
+ props[0] = deleteCfg;
+ props[1] = Integer.valueOf(ElementModes.READWRITE);
+ XStorage xRootStorage = UnoRuntime.queryInterface(XStorage.class, xSSF.createInstanceWithArguments(props));
+ xSubStorage = xRootStorage.openStorageElement("Configurations2", ElementModes.READWRITE);
+
+ XUIConfigurationStorage xConfigStorage =UnoRuntime.queryInterface(XUIConfigurationStorage.class, xManager);
+ xConfigStorage.setStorage(xSubStorage);
+ tEnv.addObjRelation("XUIConfigurationStorage.Storage", xSubStorage);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ log.println("Could not create storage: " + e.toString());
+ }
+ util.dbg.printInterfaces(xManager);
+
+ tEnv.addObjRelation("XUIConfiguration.XUIConfigurationListenerImpl",
+ new ConfigurationListener(log, xManager, xMSF));
+
+ // the short cut manager service name
+ // 2do: correct the service name when it's no longer in
+ tEnv.addObjRelation("XConfigurationManager.ShortCutManager",
+ "com.sun.star.ui.DocumentAcceleratorConfiguration");
+ return tEnv;
+ }
+
+ /**
+ * An implementation of the _XUIConfiguration.XUIConfigurationListenerImpl
+ * interface to trigger the event for a listener call.
+ * @see ifc.ui._XUIConfiguration
+ */
+ private static class ConfigurationListener implements _XUIConfiguration.XUIConfigurationListenerImpl {
+ private boolean triggered = false;
+ private final PrintWriter log;
+ private final XUIConfigurationManager xUIManager;
+ private final XMultiServiceFactory xMSF;
+ private static int iUniqueCounter;
+
+ private ConfigurationListener(PrintWriter _log, XUIConfigurationManager xUIManager, XMultiServiceFactory xMSF) {
+ log = _log;
+ this.xUIManager = xUIManager;
+ this.xMSF = xMSF;
+ iUniqueCounter = 0;
+ }
+ public void reset(){
+ triggered = false;
+ }
+ public void fireEvent() {
+ try {
+ if (iUniqueCounter == 0) {
+ iUniqueCounter++;
+ xUIManager.getUIElementsInfo(UIElementType.UNKNOWN);
+ XIndexAccess xMenuBarSettings = xUIManager.getSettings(
+ "private:resource/menubar/menubar", true);
+
+ PropertyValue[]prop = _XUIConfigurationManager.createMenuBarEntry(
+ "Trigger Event", xMenuBarSettings, xMSF, log);
+ _XUIConfigurationManager.createMenuBarItem("Click for Macro",
+ UnoRuntime.queryInterface(
+ XIndexContainer.class, prop[3].Value), log);
+ XIndexContainer x = UnoRuntime.queryInterface(XIndexContainer.class, xMenuBarSettings);
+ x.insertByIndex(x.getCount(), prop);
+ xUIManager.replaceSettings("private:resource/menubar/menubar", xMenuBarSettings);
+ xUIManager.reset();
+ }
+ }
+ catch(com.sun.star.container.NoSuchElementException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IllegalAccessException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception.");
+ e.printStackTrace(log);
+ }
+ }
+ public boolean actionWasTriggered(){
+ return triggered;
+ }
+ public void disposing(EventObject e) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.disposing the listener.");
+ }
+ public void elementInserted(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementInserted.");
+ }
+ public void elementRemoved(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementRemoved.");
+ }
+ public void elementReplaced(ConfigurationEvent configEvent) {
+ triggered = true;
+ log.println("_XUIConfiguration.XUIConfigurationListenerImpl.elementReplaced.");
+ }
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/UIElementFactoryManager.java b/qadevOOo/tests/java/mod/_fwk/UIElementFactoryManager.java
new file mode 100644
index 000000000..744b979b1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/UIElementFactoryManager.java
@@ -0,0 +1,84 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.util.XCloseable;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.WriterTools;
+
+/**
+ */
+public class UIElementFactoryManager extends TestCase {
+ Object oObj = null;
+ XTextDocument xTextDoc;
+
+ /**
+ * Cleanup: close the created document
+ * @param tParam The test parameters.
+ * @param log The log writer.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * Create test environment:
+ * <ul>
+ * <li>create a text doc</li>
+ * <li>get the model from the text doc</li>
+ * <li>query model for XUIConfigurationManagerSupplier interface</li>
+ * <li>get the manager from the supplier</li>
+ * </ul>
+ * @param tParam The test parameters.
+ * @param log The log writer.
+ * @return The test environment.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ log.println("Creating instance...");
+ xTextDoc = WriterTools.createTextDoc(xMSF);
+ oObj = xMSF.createInstance("com.sun.star.ui.UIElementFactoryManager");
+ log.println("TestObject: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment((XInterface)oObj);
+ return tEnv;
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_fwk/URLTransformer.java b/qadevOOo/tests/java/mod/_fwk/URLTransformer.java
new file mode 100644
index 000000000..b46f9f89d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwk/URLTransformer.java
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwk;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object that implements the following interfaces :
+* <ul>
+* <li><code>com::sun::star::util::XURLTransformer</code></li>
+* </ul><p>
+* @see com.sun.star.util.XURLTransformer
+* @see ifc.util._XURLTransformer
+*/
+public class URLTransformer extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log ) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.framework.URLTransformer");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_fwl/ContentHandlerFactory.java b/qadevOOo/tests/java/mod/_fwl/ContentHandlerFactory.java
new file mode 100644
index 000000000..41cbd39ab
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/ContentHandlerFactory.java
@@ -0,0 +1,93 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwl;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.frame.FrameLoaderFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.lang._XMultiServiceFactory
+ */
+public class ContentHandlerFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.frame.ContentHandlerFactory</code>. <p>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ //now get the OButtonControl
+ oInterface = Param.getMSF().createInstance
+ ("com.sun.star.frame.ContentHandlerFactory") ;
+
+ oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XNameAccess xNA = UnoRuntime.queryInterface
+ (XNameAccess.class, oObj);
+ tEnv.addObjRelation("XMSF.serviceNames", xNA.getElementNames());
+ xNA.getElementNames();
+
+ // com.sun.star.container.XContainerQuery
+ NamedValue[] querySequenze = new NamedValue[1];
+ NamedValue query = new NamedValue();
+ query.Name = "Name";
+ query.Value = "com.sun.star.comp.framework.SoundHandler";
+ querySequenze[0] = query;
+
+ tEnv.addObjRelation("XContainerQuery.createSubSetEnumerationByProperties",
+ querySequenze);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_fwl/FilterFactory.java b/qadevOOo/tests/java/mod/_fwl/FilterFactory.java
new file mode 100644
index 000000000..1ed9869b1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/FilterFactory.java
@@ -0,0 +1,160 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwl;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.framework.FilterFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.lang._XMultiServiceFactory
+ */
+public class FilterFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.framework.FilterFactory</code>.
+ * Prepares relation for
+ * <code>XMultiServiceFactory.createInstanceWithArguments</code> method
+ * test. Only filters which have their service names can be instantiated
+ * in some reasons (?). For instantiation used filter type as service
+ * name and its name as a parameter. <p>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+ Object oInterface = Param.getMSF().createInstance
+ ("com.sun.star.document.FilterFactory") ;
+ XInterface oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XNameAccess xNA = UnoRuntime.queryInterface
+ (XNameAccess.class, oObj);
+ String[] filterNames = xNA.getElementNames();
+
+ // XNameContainer; XNameReplace
+ String filterName = filterNames[0];
+ Object[] instance = (Object[]) xNA.getByName(filterName);
+
+ log.println("adding INSTANCE 1 as obj relation to environment");
+
+ log.println("fill property 'TemplateName' with 'INSTANCE1'");
+ setPropertyValueValue((PropertyValue[])instance, "TemplateName", "INSTANCE1");
+ tEnv.addObjRelation("INSTANCE" +1, instance);
+
+
+ // XMSF
+ ArrayList<String> vFTypes = new ArrayList<String>();
+ ArrayList<Object[]> vFArgs = new ArrayList<Object[]>();
+ for (int i = 0; i < filterNames.length; i++) {
+ PropertyValue[] filterProps = null;
+ System.out.println(filterNames[i]);
+ filterProps = (PropertyValue[])
+ xNA.getByName(filterNames[i]);
+ String filterImpl = (String) getPropertyValueValue
+ (filterProps, "FilterService");
+ if (filterImpl != null && filterImpl.length() > 0) {
+ String filterType = (String) getPropertyValueValue
+ (filterProps, "Type");
+ vFTypes.add(filterType);
+ PropertyValue prop = new PropertyValue();
+ prop.Name = "FilterName";
+ prop.Value = filterNames[i];
+ vFArgs.add(new Object[] {prop});
+
+ log.println("Found filter '" + filterNames[i] + "', type: " +
+ filterType + ", service name: '" + filterImpl + "'");
+ }
+ }
+
+ tEnv.addObjRelation("XMSF.serviceNamesWithArgs",
+ vFTypes.toArray(new String[vFTypes.size()]));
+ tEnv.addObjRelation("XMSF.Args",
+ vFArgs.toArray(new Object[vFArgs.size()][]));
+
+ // com.sun.star.container.XContainerQuery
+ NamedValue[] querySequenze = new NamedValue[1];
+ NamedValue query = new NamedValue();
+ query.Name = "Name";
+ query.Value = "Rich Text Format";
+ querySequenze[0] = query;
+
+ tEnv.addObjRelation("XContainerQuery.createSubSetEnumerationByProperties",
+ querySequenze);
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ protected Object getPropertyValueValue(PropertyValue[] props, String pName) {
+ int i = 0;
+ while (i < props.length && !props[i].Name.equals(pName)) {
+ i++;
+ }
+ return i < props.length ? props[i].Value : null;
+
+ }
+
+ protected void setPropertyValueValue(PropertyValue[] props, String pName, Object pValue) {
+ int i = 0;
+ while (i < props.length && !props[i].Name.equals(pName)) {
+ i++;
+ }
+ props[i].Value = pValue;
+ }
+
+ protected PropertyValue getPropertyValue(PropertyValue[] props, String pName) {
+ int i = 0;
+ while (i < props.length && !props[i].Name.equals(pName)) {
+ i++;
+ }
+ return i < props.length ? props[i] : null;
+
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_fwl/FrameLoaderFactory.java b/qadevOOo/tests/java/mod/_fwl/FrameLoaderFactory.java
new file mode 100644
index 000000000..5beaebdb5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/FrameLoaderFactory.java
@@ -0,0 +1,87 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwl;
+
+import com.sun.star.beans.NamedValue;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.frame.FrameLoaderFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.lang._XMultiServiceFactory
+ */
+public class FrameLoaderFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.frame.FrameLoaderFactory</code>. <p>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+ Object oInterface = Param.getMSF().createInstance
+ ("com.sun.star.frame.FrameLoaderFactory") ;
+ XInterface oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XNameAccess xNA = UnoRuntime.queryInterface
+ (XNameAccess.class, oObj);
+ tEnv.addObjRelation("XMSF.serviceNames", xNA.getElementNames());
+
+ // com.sun.star.container.XContainerQuery
+ NamedValue[] querySequenze = new NamedValue[1];
+ NamedValue query = new NamedValue();
+ query.Name = "Name";
+ query.Value = "com.sun.star.frame.Bibliography";
+ querySequenze[0] = query;
+
+ tEnv.addObjRelation("XContainerQuery.createSubSetEnumerationByProperties",
+ querySequenze);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_fwl/PathSettings.java b/qadevOOo/tests/java/mod/_fwl/PathSettings.java
new file mode 100644
index 000000000..8e05a6bfb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/PathSettings.java
@@ -0,0 +1,138 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwl;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyVetoException;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.uno.UnoRuntime;
+import java.io.PrintWriter;
+import java.util.HashSet;
+import java.util.Set;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.framework.PathSettings</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::util::PathSettings</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.util.PathSettings
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XMultiPropertySet
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.util._PathSettings
+ * @see ifc.beans._XPropertySet
+ * @see ifc.beans._XMultiPropertySet
+ */
+public class PathSettings extends TestCase {
+
+ private static NamedValue[] m_Properties;
+ private static XPropertySet xPS;
+
+ /**
+ * restores the old values of the path settings
+ * @param tParam the test parameter
+ * @param log the log writer
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println("restore old values of path settings...");
+
+ for (int i=0; i < m_Properties.length; i++){
+ try{
+
+ xPS.setPropertyValue(m_Properties[i].Name, m_Properties[i].Value);
+
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ } catch (PropertyVetoException e){
+ } catch (IllegalArgumentException e){
+ } catch (WrappedTargetException e){
+ }
+ }
+ }
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.framework.PathSettings</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ //now get the OButtonControl
+ Object oInterface = Param.getMSF().createInstance
+ ("com.sun.star.comp.framework.PathSettings") ;
+
+ oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ Set<String> exclProps = new HashSet<String>();
+ exclProps.add("UIConfig");
+ tEnv.addObjRelation("XFastPropertySet.ExcludeProps", exclProps);
+ tEnv.addObjRelation("XMultiPropertySet.ExcludeProps", exclProps);
+
+ saveAllPropertyValues(oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ private void saveAllPropertyValues(XInterface oObj){
+
+ xPS = UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+
+ XPropertySetInfo xPSI = xPS.getPropertySetInfo();
+
+ Property[] allProperties = xPSI.getProperties();
+ m_Properties = new NamedValue[allProperties.length];
+
+ for (int i=0; i < allProperties.length; i++){
+ try{
+ m_Properties[i] = new NamedValue(allProperties[i].Name,
+ xPS.getPropertyValue(allProperties[i].Name));
+
+ } catch (com.sun.star.beans.UnknownPropertyException e){
+ } catch (WrappedTargetException e){
+ }
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_fwl/SubstituteVariables.java b/qadevOOo/tests/java/mod/_fwl/SubstituteVariables.java
new file mode 100644
index 000000000..f55b33a45
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/SubstituteVariables.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwl;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.frame.FrameLoaderFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.util.XStringSubstitution
+ * @see ifc.util._XStringSubstitution
+ */
+public class SubstituteVariables extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.util.PathSubstitution</code>. <p>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+ //now get the OButtonControl
+ Object oInterface = Param.getMSF().createInstance
+ ("com.sun.star.util.PathSubstitution") ;
+ XInterface oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_fwl/TypeDetection.java b/qadevOOo/tests/java/mod/_fwl/TypeDetection.java
new file mode 100644
index 000000000..74af3b352
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_fwl/TypeDetection.java
@@ -0,0 +1,152 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._fwl;
+
+import com.sun.star.beans.NamedValue;
+import com.sun.star.container.XNameAccess;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XStorable;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import util.SOfficeFactory;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.document.TypeDetection</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XContainerQuery</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XNameContainer</code></li>
+ * <li> <code>com::sun::star::container::XNameReplace</code></li>
+ * <li> <code>com::sun::star::document::XTypeDetection</code></li>
+ * <li> <code>com::sun::star::util::XFlushable</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.container.XContainerQuery
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XNameContainer
+ * @see com.sun.star.container.XNameReplace
+ * @see com.sun.star.document.XTypeDetection
+ * @see com.sun.star.util.XFlushable
+ * @see ifc.container._XContainerQuery
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XNameContainer
+ * @see ifc.container._XNameReplace
+ * @see ifc.document._XTypeDetection
+ * @see ifc.util._XFlushable
+ */
+public class TypeDetection extends TestCase {
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.document.TypeDetection</code>. <p>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ oInterface = Param.getMSF().createInstance
+ ("com.sun.star.document.TypeDetection") ;
+
+ oObj = (XInterface) oInterface ;
+ log.println("ImplName: "+utils.getImplName(oObj));
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XNameAccess xNA = UnoRuntime.queryInterface
+ (XNameAccess.class, oObj);
+ String[] elementNames = xNA.getElementNames();
+ String elementName = elementNames[0];
+ Object[] instance = null;
+ instance = (Object[]) xNA.getByName(elementName);
+
+ log.println("adding INSTANCE 1 as obj relation to environment");
+
+ setPropertyValueValue((PropertyValue[])instance, "Preferred", "INSTANCE1");
+ tEnv.addObjRelation("INSTANCE" +1, instance);
+
+ // com.sun.star.container.XContainerQuery
+ NamedValue[] querySequenze = new NamedValue[1];
+ NamedValue query = new NamedValue();
+ query.Name = "Name";
+ query.Value = "generic_Text";
+ querySequenze[0] = query;
+
+
+ log.println("create text document with bookmarks");
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ String fileURL = null;
+ xTextDoc = SOF.createTextDoc( null );
+ XInterface xBookMark = SOfficeFactory.createBookmark( xTextDoc );
+ SOfficeFactory.insertTextContent( xTextDoc, (XTextContent) xBookMark );
+
+ fileURL = utils.getOfficeTemp(Param.getMSF() );
+ fileURL = fileURL + "bookmarks.oot";
+
+ XStorable store = UnoRuntime.queryInterface(XStorable.class, xTextDoc);
+ System.out.println(fileURL);
+ store.storeToURL(fileURL, new PropertyValue[0]);
+
+ tEnv.addObjRelation("XContainerQuery.createSubSetEnumerationByProperties",
+ querySequenze);
+ tEnv.addObjRelation("XTypeDetection.bookmarkDoc", fileURL+"#bookmark");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+ protected void setPropertyValueValue(PropertyValue[] props, String pName, Object pValue) {
+ int i = 0;
+ while (i < props.length && !props[i].Name.equals(pName)) {
+ i++;
+ }
+ props[i].Value = pValue;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_i18n/BreakIterator.java b/qadevOOo/tests/java/mod/_i18n/BreakIterator.java
new file mode 100644
index 000000000..b7d0491d6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/BreakIterator.java
@@ -0,0 +1,98 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.i18n.BreakIterator</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::i18n::XBreakIterator</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see ifc.i18n._XBreakIterator
+*/
+public class BreakIterator extends TestCase {
+
+ XComponent xTextDoc;
+
+ /**
+ * Loads a Text document with name 'Iterator.sxw' from test
+ * documents directory
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a drawdoc" );
+ xTextDoc = SOF.loadDocument(utils.getFullTestURL("Iterator.sxw"));
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.BreakIterator</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance( "com.sun.star.i18n.BreakIterator" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("Locale", new Locale("en", "US", ""));
+
+ XTextDocument xDoc = UnoRuntime.queryInterface
+ (XTextDocument.class, xTextDoc);
+ XTextRange xTextRange = xDoc.getText();
+ tEnv.addObjRelation("UnicodeString", xTextRange.getString());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Disposes the Text document loaded before.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ xTextDoc.dispose();
+ }
+
+} // finish class BreakIterator
+
diff --git a/qadevOOo/tests/java/mod/_i18n/CalendarImpl.java b/qadevOOo/tests/java/mod/_i18n/CalendarImpl.java
new file mode 100644
index 000000000..3c7fdee7b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/CalendarImpl.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.i18n.Calendar</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::i18n::Calendar</code></li>
+* </ul>
+* @see ifc.i18n._XCalendar
+*/
+public class CalendarImpl extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.Calendar</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.i18n.LocaleCalendar" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_i18n/ChapterCollator.java b/qadevOOo/tests/java/mod/_i18n/ChapterCollator.java
new file mode 100644
index 000000000..4a8ecb338
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/ChapterCollator.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.i18n.ChapterCollator</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::i18n::XCollator</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see ifc.i18n._XCollator
+* @see ifc.lang._XServiceInfo
+*/
+public class ChapterCollator extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.ChapterCollator</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.i18n.ChapterCollator" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_i18n/CharacterClassification.java b/qadevOOo/tests/java/mod/_i18n/CharacterClassification.java
new file mode 100644
index 000000000..a2c8b8b6c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/CharacterClassification.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.i18n.CharacterClassification</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::i18n::XCharacterClassification</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.i18n.XCharacterClassification
+ * @see ifc.i18n._XCharacterClassification
+ */
+public class CharacterClassification extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.CharacterClassification</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.i18n.CharacterClassification" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for CharacterClassification object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class CharacterClassification
+
diff --git a/qadevOOo/tests/java/mod/_i18n/Collator.java b/qadevOOo/tests/java/mod/_i18n/Collator.java
new file mode 100644
index 000000000..6738f8072
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/Collator.java
@@ -0,0 +1,62 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.i18n.Collator</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::i18n::XCollator</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see ifc.i18n._XCollator
+*/
+public class Collator extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.Collator</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance( "com.sun.star.i18n.Collator" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_i18n/IndexEntrySupplier.java b/qadevOOo/tests/java/mod/_i18n/IndexEntrySupplier.java
new file mode 100644
index 000000000..f27ed3e43
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/IndexEntrySupplier.java
@@ -0,0 +1,67 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.i18n.IndexEntrySupplier</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::i18n::XIndexEntrySupplier</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.i18n.XIndexEntrySupplier
+ * @see ifc.i18n._XIndexEntrySupplier
+ */
+public class IndexEntrySupplier extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.IndexEntrySupplier</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.i18n.IndexEntrySupplier" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_i18n/LocaleData.java b/qadevOOo/tests/java/mod/_i18n/LocaleData.java
new file mode 100644
index 000000000..a99fc17a2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/LocaleData.java
@@ -0,0 +1,67 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.i18n.LocaleData</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::i18n::XLocaleData</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.i18n.XLocaleData
+ * @see ifc.i18n._XLocaleData
+ */
+public class LocaleData extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.LocaleData</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance( "com.sun.star.i18n.LocaleData" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for LocaleData object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class LocaleData
+
diff --git a/qadevOOo/tests/java/mod/_i18n/NumberFormatCodeMapper.java b/qadevOOo/tests/java/mod/_i18n/NumberFormatCodeMapper.java
new file mode 100644
index 000000000..92c42ac06
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/NumberFormatCodeMapper.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.i18n.NumberFormatCodeMapper</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::i18n::XNumberFormatCode</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.i18n.XNumberFormatCode
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.i18n._XNumberFormatCode
+ */
+public class NumberFormatCodeMapper extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.NumberFormatCodeMapper</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.i18n.NumberFormatCodeMapper" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for NumberFormatCodeMapper object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class NumberFormatCodeMapper
+
diff --git a/qadevOOo/tests/java/mod/_i18n/Transliteration.java b/qadevOOo/tests/java/mod/_i18n/Transliteration.java
new file mode 100644
index 000000000..64a588c43
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_i18n/Transliteration.java
@@ -0,0 +1,62 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._i18n;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.i18n.Transliteration</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::i18n::XTransliteration</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see ifc.i18n._XTransliteration
+*/
+public class Transliteration extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.i18n.Transliteration</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance( "com.sun.star.i18n.Transliteration" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_implreg/uno/ImplementationRegistration.java b/qadevOOo/tests/java/mod/_implreg/uno/ImplementationRegistration.java
new file mode 100644
index 000000000..4ebdb8ac9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_implreg/uno/ImplementationRegistration.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._implreg.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.registry.ImplementationRegistration</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::registry::XImplementationRegistration</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.registry.XImplementationRegistration
+* @see com.sun.star.registry.ImplementationRegistration
+* @see ifc.registry._XImplementationRegistration
+*/
+public class ImplementationRegistration extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service
+ * <code>com.sun.star.registry.ImplementationRegistration</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.registry.ImplementationRegistration" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class NestedRegistry \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_implreg/uno/package.html b/qadevOOo/tests/java/mod/_implreg/uno/package.html
new file mode 100644
index 000000000..a007b5cb1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_implreg/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'impreg'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_impreg/ImplementationRegistration.java b/qadevOOo/tests/java/mod/_impreg/ImplementationRegistration.java
new file mode 100644
index 000000000..29f843bc9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_impreg/ImplementationRegistration.java
@@ -0,0 +1,66 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._impreg;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.registry.ImplementationRegistration</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::registry::XImplementationRegistration</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.registry.XImplementationRegistration
+* @see com.sun.star.registry.ImplementationRegistration
+* @see ifc.registry._XImplementationRegistration
+*/
+public class ImplementationRegistration extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service
+ * <code>com.sun.star.registry.ImplementationRegistration</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.registry.ImplementationRegistration" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class NestedRegistry
+
diff --git a/qadevOOo/tests/java/mod/_impreg/package.html b/qadevOOo/tests/java/mod/_impreg/package.html
new file mode 100644
index 000000000..a007b5cb1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_impreg/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'impreg'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_insp/Introspection.java b/qadevOOo/tests/java/mod/_insp/Introspection.java
new file mode 100644
index 000000000..de99047ae
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_insp/Introspection.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._insp;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.beans.Introspection</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::beans::XIntrospection</code></li>
+* </ul>
+* This object test can be run in several
+* threads concurrently.
+* @see com.sun.star.beans.XIntrospection
+* @see com.sun.star.beans.Introspection
+* @see ifc.beans._XIntrospection
+*/
+public class Introspection extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.comp.stoc.Introspection</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.Introspection" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class Introspection
+
diff --git a/qadevOOo/tests/java/mod/_insp/package.html b/qadevOOo/tests/java/mod/_insp/package.html
new file mode 100644
index 000000000..617c082e4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_insp/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'insp'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_introspection/uno/Introspection.java b/qadevOOo/tests/java/mod/_introspection/uno/Introspection.java
new file mode 100644
index 000000000..3a5e9ae24
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_introspection/uno/Introspection.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._introspection.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.beans.Introspection</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::beans::XIntrospection</code></li>
+* </ul>
+* This object test can be run in several
+* threads concurrently.
+* @see com.sun.star.beans.XIntrospection
+* @see com.sun.star.beans.Introspection
+* @see ifc.beans._XIntrospection
+*/
+public class Introspection extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.comp.stoc.Introspection</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.Introspection" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class Introspection
+
diff --git a/qadevOOo/tests/java/mod/_introspection/uno/package.html b/qadevOOo/tests/java/mod/_introspection/uno/package.html
new file mode 100644
index 000000000..617c082e4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_introspection/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'insp'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_inv/Invocation.java b/qadevOOo/tests/java/mod/_inv/Invocation.java
new file mode 100644
index 000000000..0264fef40
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_inv/Invocation.java
@@ -0,0 +1,92 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._inv;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.script.Invocation</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XSingleServiceFactory</code></li>
+* </ul>
+* @see com.sun.star.script.Invocation
+* @see com.sun.star.lang.XSingleServiceFactory
+* @see ifc.lang._XSingleServiceFactory
+*/
+public class Invocation extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.script.Invocation</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XSingleServiceFactory.createInstance.negative'</code> :
+ * for interface {@link ifc.lang._XSingleServiceFactory} ;
+ * <code>String</code> relation; If its value 'true' then
+ * <code>createInstance</code> method for the object isn't
+ * supported. In this case object doesn't support this method.</li>
+ * <li> <code>'XSingleServiceFactory.arguments'</code> :
+ * for interface {@link ifc.lang._XSingleServiceFactory} ;
+ * has <code>Object[]</code> type. This relation is used as
+ * a parameter for <code>createInstanceWithArguments</code>
+ * method call. If this relation doesn't exist test pass
+ * zero length array as argument. Here
+ * <code>com.sun.star.io.Pipe</code> instance is passed.</li>
+ * <li> <code>'XSingleServiceFactory.MustSupport'</code> :
+ * for interface {@link ifc.lang._XSingleServiceFactory}.
+ * Specifies that created instance must support
+ * <code>com.sun.star.script.XInvocation</code> interface.
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.script.Invocation");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ // the createInstance should fail according to the documentation
+ tEnv.addObjRelation(
+ "XSingleServiceFactory.createInstance.negative", "true");
+
+ // creating parameters to createInstanceWithArguments
+ Object[] args = new Object[1];
+
+ args[0] = xMSF.createInstance("com.suns.star.io.Pipe");
+
+ tEnv.addObjRelation(
+ "XSingleServiceFactory.arguments", args);
+
+ tEnv.addObjRelation("XSingleServiceFactory.MustSupport",
+ new Class[] {com.sun.star.script.XInvocation.class});
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_inv/package.html b/qadevOOo/tests/java/mod/_inv/package.html
new file mode 100644
index 000000000..ee1fd4a02
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_inv/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'inv'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_invadp/InvocationAdapterFactory.java b/qadevOOo/tests/java/mod/_invadp/InvocationAdapterFactory.java
new file mode 100644
index 000000000..2817acce1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invadp/InvocationAdapterFactory.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._invadp;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.script.InvocationAdapterFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::script::XInvocationAdapterFactory</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.script.XInvocationAdapterFactory
+* @see com.sun.star.script.InvocationAdapterFactory
+* @see ifc.script._XInvocationAdapterFactory
+*/
+public class InvocationAdapterFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.script.InvocationAdapterFactory</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.script.InvocationAdapterFactory");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_invadp/package.html b/qadevOOo/tests/java/mod/_invadp/package.html
new file mode 100644
index 000000000..9d1509fca
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invadp/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'invadp'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_invocadapt/uno/InvocationAdapterFactory.java b/qadevOOo/tests/java/mod/_invocadapt/uno/InvocationAdapterFactory.java
new file mode 100644
index 000000000..dd9753782
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invocadapt/uno/InvocationAdapterFactory.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._invocadapt.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.script.InvocationAdapterFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::script::XInvocationAdapterFactory</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.script.XInvocationAdapterFactory
+* @see com.sun.star.script.InvocationAdapterFactory
+* @see ifc.script._XInvocationAdapterFactory
+*/
+public class InvocationAdapterFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.script.InvocationAdapterFactory</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.script.InvocationAdapterFactory");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_invocadapt/uno/package.html b/qadevOOo/tests/java/mod/_invocadapt/uno/package.html
new file mode 100644
index 000000000..9d1509fca
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invocadapt/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'invadp'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_invocation/uno/Invocation.java b/qadevOOo/tests/java/mod/_invocation/uno/Invocation.java
new file mode 100644
index 000000000..d83a2f927
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invocation/uno/Invocation.java
@@ -0,0 +1,90 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._invocation.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.script.Invocation</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XSingleServiceFactory</code></li>
+* </ul>
+* @see com.sun.star.script.Invocation
+* @see com.sun.star.lang.XSingleServiceFactory
+* @see ifc.lang._XSingleServiceFactory
+*/
+public class Invocation extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates service <code>com.sun.star.script.Invocation</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XSingleServiceFactory.createInstance.negative'</code> :
+ * for interface {@link _ifc.lang.XSingleServiceFactory} ;
+ * <code>String</code> relation; If its value 'true' then
+ * <code>createInstance</code> method for the object isn't
+ * supported. In this case object doesn't support this method.</li>
+ * <li> <code>'XSingleServiceFactory.arguments'</code> :
+ * for interface {@link _ifc.lang.XSingleServiceFactory} ;
+ * has <code>Object[]</code> type. This relation is used as
+ * a parameter for <code>createInstanceWithArguments</code>
+ * method call. If this relation doesn't exist test pass
+ * zero length array as argument. Here
+ * <code>com.sun.star.io.Pipe</code> instance is passed.</li>
+ * <li> <code>'XSingleServiceFactory.MustSupport'</code> :
+ * for interface {@link _ifc.lang.XSingleServiceFactory}.
+ * Specifies that created instance must support
+ * <code>com.sun.star.script.XInvocation</code> interface.
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.script.Invocation");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ // the createInstance should fail according to the documentation
+ tEnv.addObjRelation(
+ "XSingleServiceFactory.createInstance.negative", "true");
+
+ // creating parameters to createInstanceWithArguments
+ Object[] args = new Object[1];
+
+ args[0] = xMSF.createInstance("com.suns.star.io.Pipe");
+
+ tEnv.addObjRelation(
+ "XSingleServiceFactory.arguments", args);
+
+ tEnv.addObjRelation("XSingleServiceFactory.MustSupport",
+ new Class[] {com.sun.star.script.XInvocation.class});
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_invocation/uno/package.html b/qadevOOo/tests/java/mod/_invocation/uno/package.html
new file mode 100644
index 000000000..ee1fd4a02
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_invocation/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'inv'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_javaloader/JavaComponentLoader.java b/qadevOOo/tests/java/mod/_javaloader/JavaComponentLoader.java
new file mode 100644
index 000000000..0a40e58ca
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_javaloader/JavaComponentLoader.java
@@ -0,0 +1,83 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._javaloader;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for <code>com.sun.star.comp.stoc.Java2</code> service <p>
+* Files which are used :
+* <ul>
+* <li> <code>MyPersistObjectImpl.jar</code> : jar which will be loaded in
+* <code>XImplementationLoader</code> interface test. </li>
+* <ul>
+* Multithread testing compliant.
+* @see com.sun.star.loader.XImplementationLoader
+* @see com.sun.star.lang.XServiceInfo
+* @see ifc.loader._XImplementationLoader
+* @see ifc.lang._XServiceInfo
+*/
+public class JavaComponentLoader extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.comp.stoc.Java2</code>
+ * service. <p>
+ * The following object relations created :
+ * <ul>
+ * <li> <code>'ImplementationLoader'</code> : service which is
+ * responsible for loading jar implementations. </li>
+ * <li> <code>'ImplementationUrl'</code> : jar file location. </li>
+ * <li> <code>'ImplementationName'</code> : Name of the implementation.</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance(
+ "com.sun.star.comp.stoc.JavaComponentLoader" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for JavaComponentLoader object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding object relation for XImplementationLoader ifc test
+ tEnv.addObjRelation("ImplementationLoader",
+ "com.sun.star.loader.JavaComponentLoader") ;
+
+ String implURL = utils.getFullTestURL("qadevlibs/MyPersistObjectImpl.jar");
+ tEnv.addObjRelation("ImplementationUrl", implURL) ;
+ log.println("looking for shared lib: " + implURL);
+ tEnv.addObjRelation("ImplementationName",
+ "com.sun.star.cmp.MyPersistObject") ;
+
+ return tEnv;
+ } // finish method createTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_javaloader/uno/JavaComponentLoader.java b/qadevOOo/tests/java/mod/_javaloader/uno/JavaComponentLoader.java
new file mode 100644
index 000000000..99bdeb76a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_javaloader/uno/JavaComponentLoader.java
@@ -0,0 +1,80 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._javaloader.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+* Test for <code>com.sun.star.comp.stoc.Java2</code> service <p>
+* Files which are used :
+* <ul>
+* <li> <code>MyPersistObjectImpl.jar</code> : jar which will be loaded in
+* <code>XImplementationLoader</code> interface test. </li>
+* <ul>
+* Multithread testing compliant.
+* @see com.sun.star.loader.XImplementationLoader
+* @see com.sun.star.lang.XServiceInfo
+* @see ifc.loader._XImplementationLoader
+* @see ifc.lang._XServiceInfo
+*/
+public class JavaComponentLoader extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.comp.stoc.Java2</code>
+ * service. <p>
+ * The following object relations created :
+ * <ul>
+ * <li> <code>'ImplementationLoader'</code> : service which is
+ * responsible for loading jar implementations. </li>
+ * <li> <code>'ImplementationUrl'</code> : jar file location. </li>
+ * <li> <code>'ImplementationName'</code> : Name of the implementation.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance(
+ "com.sun.star.comp.stoc.JavaComponentLoader" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for JavaComponentLoader object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding object relation for XImplementationLoader ifc test
+ tEnv.addObjRelation("ImplementationLoader",
+ "com.sun.star.loader.JavaComponentLoader") ;
+
+ String implURL = utils.getFullTestURL("qadevlibs/MyPersistObjectImpl.jar");
+ tEnv.addObjRelation("ImplementationUrl", implURL) ;
+ log.println("looking for shared lib: " + implURL);
+ tEnv.addObjRelation("ImplementationName",
+ "com.sun.star.cmp.MyPersistObject") ;
+
+ return tEnv;
+ } // finish method createTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_javavm/uno/JavaVirtualMachine.java b/qadevOOo/tests/java/mod/_javavm/uno/JavaVirtualMachine.java
new file mode 100644
index 000000000..b45447636
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_javavm/uno/JavaVirtualMachine.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._javavm.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.java.JavaVirtualMachine</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::java::XJavaThreadRegister_11</code></li>
+* <li> <code>com::sun::star::java::XJavaVM</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.java.XJavaThreadRegister_11
+* @see com.sun.star.java.XJavaVM
+* @see com.sun.star.java.XJavaVirtualMachine
+* @see ifc.java._XJavaThreadRegister_11
+* @see ifc.java._XJavaVM
+*/
+public class JavaVirtualMachine extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.java.JavaVirtualMachine</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.java.JavaVirtualMachine");
+
+ return new TestEnvironment(xInt);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_javavm/uno/package.html b/qadevOOo/tests/java/mod/_javavm/uno/package.html
new file mode 100644
index 000000000..a54ca6e09
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_javavm/uno/package.html
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'jen'.</P>
+</BODY>
+</HTML> \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_jdbc/JDBCDriver.java b/qadevOOo/tests/java/mod/_jdbc/JDBCDriver.java
new file mode 100644
index 000000000..e0e6b5913
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_jdbc/JDBCDriver.java
@@ -0,0 +1,107 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._jdbc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DBTools;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+* Test allows to run object tests in several threads concurrently.
+* @see com.sun.star.sdbc.Driver
+* @see com.sun.star.sdbc.XDriver
+* @see ifc.sdbc._XDriver
+*/
+public class JDBCDriver extends TestCase {
+ /**
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>flat.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments.
+ * The values for list are obtained from the parameter
+ * <code>jdbc.user</code> and <code>jdbc.password</code>.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.sdbc.JDBCDriver");
+
+ log.println("creating a new environment for JDBCDriver object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String jdbcURL = (String) Param.get("jdbc.url");
+ if (jdbcURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "jdbc:" + jdbcURL);
+
+ String user = (String) Param.get("jdbc.user");
+ String password = (String) Param.get("jdbc.password");
+ if (user == null || password == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.user' or 'jdbc.password' from ini-file"));
+ }
+ PropertyValue[] info = new PropertyValue[4];
+ info[0] = new PropertyValue();
+ info[0].Name = "JavaDriverClass";
+ info[0].Value = DBTools.TST_JDBC_DRIVER;
+ info[1] = new PropertyValue();
+ info[1].Name = "user";
+ info[1].Value = user;
+ info[2] = new PropertyValue();
+ info[2].Name = "password";
+ info[2].Value = password;
+ info[3] = new PropertyValue();
+ info[3].Name = "isPasswordRequired";
+ info[3].Value = Boolean.TRUE;
+
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String flatUrl = (String) Param.get("flat.url");
+ if (flatUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'flat.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "sdbc:flat:" + flatUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_jen/JavaVirtualMachine.java b/qadevOOo/tests/java/mod/_jen/JavaVirtualMachine.java
new file mode 100644
index 000000000..2a27fda8c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_jen/JavaVirtualMachine.java
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._jen;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.java.JavaVirtualMachine</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::java::XJavaThreadRegister_11</code></li>
+* <li> <code>com::sun::star::java::XJavaVM</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.java.XJavaThreadRegister_11
+* @see com.sun.star.java.XJavaVM
+* @see com.sun.star.java.XJavaVirtualMachine
+* @see ifc.java._XJavaThreadRegister_11
+* @see ifc.java._XJavaVM
+*/
+public class JavaVirtualMachine extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.java.JavaVirtualMachine</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.java.JavaVirtualMachine");
+
+ return new TestEnvironment(xInt);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_jen/package.html b/qadevOOo/tests/java/mod/_jen/package.html
new file mode 100644
index 000000000..639ba6ade
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_jen/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'jen'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_lng/DicList.java b/qadevOOo/tests/java/mod/_lng/DicList.java
new file mode 100644
index 000000000..a787d79bc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lng/DicList.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._lng;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.Locale;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.linguistic2.XDictionary;
+import com.sun.star.linguistic2.XDictionaryList;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.lingu2.DicList</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::linguistic2::XSearchableDictionaryList</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::linguistic2::XDictionaryList</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.linguistic2.XSearchableDictionaryList
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.linguistic2.XDictionaryList
+ * @see ifc.linguistic2._XSearchableDictionaryList
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.linguistic2._XDictionaryList
+ */
+public class DicList extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.lingu2.DicList</code>. Then two dictionaries
+ * are created (positive and negative) and added to the list, one
+ * entry is added to each of dictionaries and they both are activated.
+ * The dictionary list is returned as a component for testing.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param, PrintWriter log )
+ throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oObj = (XInterface)xMSF.createInstance("com.sun.star.lingu2.DicList");
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //creating a user defined dictionary for XSearchableDictionaryList
+ XDictionaryList xDicList = UnoRuntime.queryInterface(
+ XDictionaryList.class, oObj);
+ xDicList.removeDictionary(xDicList.getDictionaryByName("MyDictionary"));
+ XDictionary xDic = xDicList.createDictionary("NegativDic",new Locale(
+ "en","US","WIN"),com.sun.star.linguistic2.DictionaryType.NEGATIVE,"");
+ XDictionary xDic2 = xDicList.createDictionary("PositivDic",new Locale(
+ "en","US","WIN"),com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
+ xDic2.add("Positive",false,"");
+ xDic.add("Negative",true,"");
+ xDicList.addDictionary(xDic);
+ xDicList.addDictionary(xDic2);
+ xDic.setActive(true);
+ xDic2.setActive(true);
+
+ return tEnv;
+ }
+
+} // finish class DicList
+
diff --git a/qadevOOo/tests/java/mod/_lng/LinguProps.java b/qadevOOo/tests/java/mod/_lng/LinguProps.java
new file mode 100644
index 000000000..f5097cba4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lng/LinguProps.java
@@ -0,0 +1,82 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._lng;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.linguistic2.LinguProperties</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::beans::XFastPropertySet</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::linguistic2::LinguProperties</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.beans.XFastPropertySet
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.linguistic2.LinguProperties
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.beans._XFastPropertySet
+ * @see ifc.beans._XPropertySet
+ * @see ifc.linguistic2._LinguProperties
+ */
+public class LinguProps extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.linguistic2.LinguProperties</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.linguistic2.LinguProperties");
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+
+} // finish class LinguProps
+
diff --git a/qadevOOo/tests/java/mod/_lng/LngSvcMgr.java b/qadevOOo/tests/java/mod/_lng/LngSvcMgr.java
new file mode 100644
index 000000000..ff234d823
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lng/LngSvcMgr.java
@@ -0,0 +1,76 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._lng;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.linguistic2.LinguServiceManager</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::linguistic2::XLinguServiceManager</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.linguistic2.XLinguServiceManager
+ * @see ifc.lang._XComponent
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.linguistic2._XLinguServiceManager
+ */
+public class LngSvcMgr extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.linguistic2.LinguServiceManager</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.linguistic2.LinguServiceManager");
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+
+} // finish class LngSvcMgr
+
diff --git a/qadevOOo/tests/java/mod/_lnn/Hyphenator.java b/qadevOOo/tests/java/mod/_lnn/Hyphenator.java
new file mode 100644
index 000000000..40577a211
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lnn/Hyphenator.java
@@ -0,0 +1,94 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._lnn;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.linguistic2.Hyphenator</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * <li> <code>com::sun::star::linguistic2::XHyphenator</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::linguistic2::XSupportedLocales</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::lang::XServiceDisplayName</code></li>
+ * <li> <code>com::sun::star::linguistic2::XLinguServiceEventBroadcaster</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.linguistic2.XHyphenator
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.linguistic2.XSupportedLocales
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.lang.XServiceDisplayName
+ * @see com.sun.star.linguistic2.XLinguServiceEventBroadcaster
+ * @see ifc.lang._XInitialization
+ * @see ifc.linguistic2._XHyphenator
+ * @see ifc.lang._XComponent
+ * @see ifc.linguistic2._XSupportedLocales
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.lang._XServiceDisplayName
+ * @see ifc.linguistic2._XLinguServiceEventBroadcaster
+ */
+public class Hyphenator extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.linguistic2.Hyphenator</code>.
+ * Then a property for using new German rules for hyphenation
+ * is set.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.linguistic2.Hyphenator");
+ Object LP = xMSF.createInstance
+ ("com.sun.star.linguistic2.LinguProperties");
+ XPropertySet LProps = UnoRuntime.queryInterface(XPropertySet.class,LP);
+ LProps.setPropertyValue("IsGermanPreReform",Boolean.TRUE);
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+
+} // finish class Hyphenator
+
diff --git a/qadevOOo/tests/java/mod/_lnn/SpellChecker.java b/qadevOOo/tests/java/mod/_lnn/SpellChecker.java
new file mode 100644
index 000000000..2c16edb8e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lnn/SpellChecker.java
@@ -0,0 +1,92 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._lnn;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.linguistic2.XLinguServiceManager;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.linguistic2.SpellChecker</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::linguistic2::XSupportedLocales</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::linguistic2::XSpellChecker</code></li>
+ * <li> <code>com::sun::star::lang::XServiceDisplayName</code></li>
+ * <li> <code>com::sun::star::linguistic2::XLinguServiceEventBroadcaster</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.linguistic2.XSupportedLocales
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.linguistic2.XSpellChecker
+ * @see com.sun.star.lang.XServiceDisplayName
+ * @see com.sun.star.linguistic2.XLinguServiceEventBroadcaster
+ * @see ifc.lang._XInitialization
+ * @see ifc.lang._XComponent
+ * @see ifc.linguistic2._XSupportedLocales
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.linguistic2._XSpellChecker
+ * @see ifc.lang._XServiceDisplayName
+ * @see ifc.linguistic2._XLinguServiceEventBroadcaster
+ */
+public class SpellChecker extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.linguistic2.SpellChecker</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ XInterface oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.lingu2.SpellChecker");
+ Object LinguServiceManager = xMSF.createInstance
+ ("com.sun.star.linguistic2.LinguServiceManager");
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XLinguServiceManager xLinguServiceManager = UnoRuntime.queryInterface(XLinguServiceManager.class, LinguServiceManager);
+ tEnv.addObjRelation("AlternativeChecker",xLinguServiceManager.getSpellChecker());
+
+ return tEnv;
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_lnn/Thesaurus.java b/qadevOOo/tests/java/mod/_lnn/Thesaurus.java
new file mode 100644
index 000000000..c41d2f169
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_lnn/Thesaurus.java
@@ -0,0 +1,82 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._lnn;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.linguistic2.Thesaurus</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::linguistic2::XSupportedLocales</code></li>
+ * <li> <code>com::sun::star::linguistic2::XThesaurus</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::lang::XServiceDisplayName</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.linguistic2.XSupportedLocales
+ * @see com.sun.star.linguistic2.XThesaurus
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.lang.XServiceDisplayName
+ * @see ifc.lang._XInitialization
+ * @see ifc.lang._XComponent
+ * @see ifc.linguistic2._XSupportedLocales
+ * @see ifc.linguistic2._XThesaurus
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.lang._XServiceDisplayName
+ */
+public class Thesaurus extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.linguistic2.Thesaurus</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ XInterface oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.linguistic2.Thesaurus");
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_mcnttype/MimeContentTypeFactory.java b/qadevOOo/tests/java/mod/_mcnttype/MimeContentTypeFactory.java
new file mode 100644
index 000000000..771f3e9e2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_mcnttype/MimeContentTypeFactory.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._mcnttype;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.mcnttype.MimeContentTypeFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::datatransfer::XMimeContentTypeFactory</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.datatransfer.XMimeContentTypeFactory
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.lang.XTypeProvider
+* @see com.sun.star.mcnttype.MimeContentTypeFactory
+* @see ifc.datatransfer._XMimeContentTypeFactory
+* @see ifc.lang._XServiceInfo
+* @see ifc.lang._XTypeProvider
+*/
+public class MimeContentTypeFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.datatransfer.MimeContentTypeFactory</code>. <p>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.datatransfer.MimeContentTypeFactory" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_namingservice/NamingService.java b/qadevOOo/tests/java/mod/_namingservice/NamingService.java
new file mode 100644
index 000000000..5e2d70550
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_namingservice/NamingService.java
@@ -0,0 +1,88 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._namingservice;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.uno.NamingService</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::uno::XNamingService</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.uno.XNamingService
+* @see com.sun.star.uno.NamingService
+* @see ifc.uno._XNamingService
+*/
+public class NamingService extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.uno.NamingService</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XNamingService.RegisterObject'</code> for
+ * {@link ifc.uno._XNamingService} : an object
+ * which can be registered. Here it is an instance
+ * of <code>com.sun.star.lang.ServiceManager</code>
+ * service.</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.uno.NamingService" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // objRelation for XNamingService as object to be registered
+ tEnv.addObjRelation("XNamingService.RegisterObject",
+ Param.getMSF().createInstance
+ ("com.sun.star.lang.ServiceManager")) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_namingservice/package.html b/qadevOOo/tests/java/mod/_namingservice/package.html
new file mode 100644
index 000000000..3ac1e50ad
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_namingservice/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'namingservice'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_namingservice/uno/NamingService.java b/qadevOOo/tests/java/mod/_namingservice/uno/NamingService.java
new file mode 100644
index 000000000..3c33d8272
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_namingservice/uno/NamingService.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._namingservice.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.uno.NamingService</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::uno::XNamingService</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.uno.XNamingService
+* @see com.sun.star.uno.NamingService
+* @see ifc.uno._XNamingService
+*/
+public class NamingService extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.uno.NamingService</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XNamingService.RegisterObject'</code> for
+ * {@link ifc.uno._XNamingService} : an object
+ * which can be registered. Here it is an instance
+ * of <code>com.sun.star.lang.ServiceManager</code>
+ * service.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = null;
+
+ try {
+ xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.uno.NamingService" );
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // objRelation for XNamingService as object to be registered
+ tEnv.addObjRelation("XNamingService.RegisterObject",
+ xMSF.createInstance
+ ("com.sun.star.lang.ServiceManager")) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_nestedreg/uno/NestedRegistry.java b/qadevOOo/tests/java/mod/_nestedreg/uno/NestedRegistry.java
new file mode 100644
index 000000000..b546d56d4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_nestedreg/uno/NestedRegistry.java
@@ -0,0 +1,197 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._nestedreg.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.XInterface;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.RegistryTools;
+import util.utils;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.registry.NestedRegistry</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::registry::XSimpleRegistry</code></li>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> XSimpleRegistry.rdb </b> : Registry file created before. </li>
+* <li><b> XSimpleRegistry_open#.rdb </b> : Temporary registry file as copy of
+* <b> XSimpleRegistry.rdb </b> in the SOffice temp directory.
+* ('#' - is an ordinary number) </li>
+* <li><b> XSimpleRegistry_merge#.rdb </b> : Temporary registry file as copy of
+* <b> XSimpleRegistry.rdb </b> in the SOffice temp directory.
+* ('#' - is an ordinary number) </li>
+* </ul> <p>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.registry.XSimpleRegistry
+* @see com.sun.star.lang.XInitialization
+* @see ifc.registry._XSimpleRegistry
+* @see ifc.lang._XInitialization
+*/
+public class NestedRegistry extends TestCase {
+
+ protected static int uniq = 0 ;
+ XSimpleRegistry reg1;
+ XSimpleRegistry reg2;
+
+ @Override
+ public synchronized void disposeTestEnvironment( TestEnvironment tEnv,
+ TestParameters tParam ) {
+ try {
+ reg1.destroy();
+ reg2.destroy();
+ }
+ catch (com.sun.star.registry.InvalidRegistryException e) {
+ System.out.println("caught exception: " + e);
+ }
+ }
+
+ /**
+ * Creates a temporary copy of file, which is deleted when VM exits.
+ * @param src Source file path.
+ * @param dst Destination file path.
+ * @throws java.io.IOException If any problems occur during copying.
+ */
+ protected void copyFile(String src, String dst)
+ throws java.io.IOException {
+ File srcF = new File(src) ;
+ File dstF = new File(dst) ;
+
+ if (dstF.exists()) {
+ boolean bDeleteOk = dstF.delete();
+ if (!bDeleteOk) {
+ System.out.println("delete failed");
+ }
+ }
+
+ boolean bCreateOk = dstF.createNewFile() ;
+ if (!bCreateOk) {
+ System.out.println("create failed");
+ }
+
+ dstF.deleteOnExit() ;
+
+ FileInputStream fIn = new FileInputStream(srcF) ;
+ FileOutputStream fOut = new FileOutputStream(dstF) ;
+
+ byte[] buf = new byte[1024] ;
+ int bytesRead = 0 ;
+ while ((bytesRead = fIn.read(buf)) > 0) {
+ fOut.write(buf, 0, bytesRead) ;
+ }
+
+ fIn.close() ;
+ fOut.close() ;
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates two temporary copies of registry file created before, opens
+ * them, and creates service <code>com.sun.star.comp.stoc.NestedRegistry</code>
+ * with these two registries. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'NR'</code> for {@link ifc.registry._XSimpleRegistry} :
+ * Just informs interface test that <code>NestedRegistry</code>
+ * service is tested. If this relation exists, then some methods
+ * are not supported. The relation is a <code>String</code> with
+ * object name.</li>
+ * <li> <code>'XSimpleRegistry.open'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * <li> <code>'XSimpleRegistry.destroy'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * <li> <code>'XSimpleRegistry.merge'</code> for
+ * {@link ifc.registry._XSimpleRegistry}
+ * </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ final String tmpDir = utils.getOfficeTempDirSys(
+ Param.getMSF()) ;
+ final String openF = tmpDir + "XSimpleRegistry_open" + uniq + ".rdb" ;
+ final String destroyF = tmpDir
+ + "XSimpleRegistry_destroy" + uniq + ".rdb" ;
+ final String mergeF = tmpDir + "XSimpleRegistry_merge" + uniq + ".rdb" ;
+ uniq++ ;
+
+ log.println("creating copies of the registry for XSimpleRegistry");
+ String source = utils.getFullTestDocName("XSimpleRegistry.rdb");
+ copyFile(source, openF) ;
+ copyFile(source, mergeF) ;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ reg1 = RegistryTools.
+ createRegistryService(xMSF) ;
+ reg1.open(mergeF, false, true) ;
+ reg2 = RegistryTools.
+ createRegistryService(xMSF) ;
+ reg2.open(openF, false, true) ;
+ XSimpleRegistry[] arg = new XSimpleRegistry[2];
+ arg[0]=reg1;
+ arg[1]=reg2;
+ oInterface = xMSF.createInstanceWithArguments
+ ( "com.sun.star.comp.stoc.NestedRegistry", arg );
+ }
+ catch( Exception e ) {
+ log.println("Introspection Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("NR","NestedRegistry");
+
+ tEnv.addObjRelation("XSimpleRegistry.open", openF) ;
+ tEnv.addObjRelation("XSimpleRegistry.merge", mergeF) ;
+ tEnv.addObjRelation("XSimpleRegistry.destroy", destroyF) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+
+ }
+
+} // finish class NestedRegistry
+
diff --git a/qadevOOo/tests/java/mod/_nestedreg/uno/package.html b/qadevOOo/tests/java/mod/_nestedreg/uno/package.html
new file mode 100644
index 000000000..bee4740a1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_nestedreg/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'defreg'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_odbc/ODBCDriver.java b/qadevOOo/tests/java/mod/_odbc/ODBCDriver.java
new file mode 100644
index 000000000..03a2108e1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_odbc/ODBCDriver.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._odbc;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Here <code>com.sun.star.sdbc.Driver</code> service is tested.<p>
+ * Test allows to run object tests in several threads concurrently.
+ * @see com.sun.star.sdbc.Driver
+ * @see com.sun.star.sdbc.XDriver
+ * @see ifc.sdbc._XDriver
+ */
+public class ODBCDriver extends TestCase {
+ /**
+ * Creates an instance of the service
+ * <code>com.sun.star.sdbc.Driver</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDriver.URL'</code> for {@link ifc.sdbc._XDriver}:
+ * is the URL of the database to which to connect.
+ * The URL is obtained from the parameter <code>odbc.url</code></li>
+ * <li> <code>'XDriver.UNSUITABLE_URL'</code> for {@link ifc.sdbc._XDriver}:
+ * the wrong kind of URL to connect using given driver.
+ * The URL is obtained from the parameter <code>jdbc.url</code></li>
+ * <li> <code>'XDriver.INFO'</code> for {@link ifc.sdbc._XDriver}:
+ * a list of arbitrary string tag/value pairs as connection arguments.
+ * </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = (XInterface)Param.getMSF().createInstance(
+ "com.sun.star.comp.sdbc.ODBCDriver");
+
+ log.println("creating a new environment for ODBCDriver object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding relation for sdbc.XDriver
+ String odbcURL = (String) Param.get("odbc.url");
+ if (odbcURL == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'odbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.URL", "sdbc:odbc:" + odbcURL);
+
+ PropertyValue[] info = new PropertyValue[0];
+ tEnv.addObjRelation("XDriver.INFO", info);
+
+ String jdbcUrl = (String) Param.get("jdbc.url");
+ if (jdbcUrl == null) {
+ throw new StatusException(Status.failed(
+ "Couldn't get 'jdbc.url' from ini-file"));
+ }
+ tEnv.addObjRelation("XDriver.UNSUITABLE_URL", "jdbc:" + jdbcUrl);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_pcr/ObjectInspector.java b/qadevOOo/tests/java/mod/_pcr/ObjectInspector.java
new file mode 100644
index 000000000..d226e6bb3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_pcr/ObjectInspector.java
@@ -0,0 +1,191 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._pcr;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XFrames;
+import com.sun.star.frame.XFramesSupplier;
+import com.sun.star.inspection.XObjectInspector;
+import com.sun.star.inspection.XObjectInspectorModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.CloseVetoException;
+import com.sun.star.util.XCloseable;
+import helper.PropertyHandlerImpl;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import util.DesktopTools;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.reflection.ObjectInspector</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::inspection::XObjectInspector</code></li>
+ * <li> <code>com::sun::star::frame::XController</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.inspection.XObjectInspector
+ * @see com.sun.star.frame.XController
+ */
+public class ObjectInspector extends TestCase {
+
+ /**
+ * module variable which holds the Desktop
+ * @see com.sun.star.frame.Desktop
+ */
+ protected static XDesktop xDesktop = null;
+
+ /**
+ * assign to the module variable <CODE>xDesktop</CODE> the desktop
+ * @param Param the test parameters
+ * @param log the log writer
+ * @see lib.TestParameters
+ * @see share.LogWriter
+ * @see com.sun.star.frame.Desktop
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println("create a desktop...");
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.inspection.ObjectInspector</code> and adds it to
+ * a floating frame.<br>
+ * To test <CODE>com.sun.star.inspection.XObjectInspector.inspect()</CODE>
+ * an own implementation of
+ * <CODE>com.sun.star.inspection.XPropertyHandler</CODE> was used.
+ * @param tParam the tests parameter
+ * @param log the logger
+ * @return the test environment
+ * @see util.DesktopTools
+ * @see helper.PropertyHandlerImpl
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ this.cleanup(tParam, log);
+
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface oInspector = (XInterface) xMSF.createInstance("com.sun.star.inspection.ObjectInspector");
+
+ XObjectInspector xInspector = UnoRuntime.queryInterface(XObjectInspector.class, oInspector);
+
+ log.println("ImplementationName '" + utils.getImplName(xInspector) + "'");
+
+ XInterface oInspectorModel = (XInterface) xMSF.createInstance("com.sun.star.inspection.ObjectInspectorModel");
+
+ XObjectInspectorModel xInspectorModel = UnoRuntime.queryInterface(XObjectInspectorModel.class, oInspectorModel);
+
+ XInterface oInspectorModelToSet = (XInterface) xMSF.createInstance("com.sun.star.inspection.ObjectInspectorModel");
+
+ XObjectInspectorModel xInspectorModelToSet = UnoRuntime.queryInterface(XObjectInspectorModel.class, oInspectorModelToSet);
+
+
+ log.println("create a floating frame...");
+
+ XWindowPeer xWindowPeer = DesktopTools.createFloatingWindow(xMSF);
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class, xWindowPeer);
+
+ XInterface oFrame = (XInterface) xMSF.createInstance("com.sun.star.frame.Frame");
+
+ XFrame xFrame = UnoRuntime.queryInterface(XFrame.class, oFrame);
+
+ xFrame.setName("ObjectInspector");
+ xFrame.initialize(xWindow);
+
+ XFramesSupplier xFramesSup = UnoRuntime.queryInterface(XFramesSupplier.class, xDesktop);
+
+ XFrames xFrames = xFramesSup.getFrames();
+ xFrames.append(xFrame);
+
+
+ log.println("attach ObjectInspector to floating frame...");
+
+ XInitialization xOII = UnoRuntime.queryInterface(XInitialization.class, xInspectorModel);
+
+ xOII.initialize(new Object[0]);
+
+ xInspector.setInspectorModel(xInspectorModel);
+
+ // for debug purposes the following lines could commented out. But in
+ // this case the com.sun.star.frame.XController would be failed!
+ //xInspector.attachFrame(xFrame);
+ //xWindow.setVisible(true);
+
+ Object[] oInspect = new Object[1];
+ oInspect[0] = new PropertyHandlerImpl();
+
+ TestEnvironment tEnv = new TestEnvironment(xInspector);
+
+ // com.sun.star.frame.XController
+ tEnv.addObjRelation("Frame",xFrame);
+
+ tEnv.addObjRelation("XObjectInspector.toInspect", oInspect);
+
+ tEnv.addObjRelation("XObjectInspector.InspectorModelToSet", xInspectorModelToSet);
+
+ return tEnv;
+ }
+
+ /**
+ * Closes the ObjectOnspector using <CODE>XCloseable</CODE>
+ * @see com.sun.star.util.XCloseable
+ * @param Param the test parameter
+ * @param log the logger
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog if one exists ... ");
+
+ XFrame existentInspector = null;
+
+ XFrame xFrame = UnoRuntime.queryInterface(XFrame.class, xDesktop);
+
+ existentInspector = xFrame.findFrame( "ObjectInspector", 255 );
+
+ if ( existentInspector != null ){
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, existentInspector);
+ try{
+ closer.close(true);
+ } catch (CloseVetoException e){
+ log.println("Could not close inspector: " + e.toString());
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_pcr/ObjectInspectorModel.java b/qadevOOo/tests/java/mod/_pcr/ObjectInspectorModel.java
new file mode 100644
index 000000000..a87d0d740
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_pcr/ObjectInspectorModel.java
@@ -0,0 +1,147 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._pcr;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.inspection.XObjectInspectorModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.util.CloseVetoException;
+import com.sun.star.util.XCloseable;
+import helper.PropertyHandlerFactroy;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import util.DesktopTools;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.reflection.ObjectInspectorModel</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::inspection::XObjectInspectorModel</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.inspection.XObjectInspectorModel
+ */
+public class ObjectInspectorModel extends TestCase {
+
+ /**
+ * module variable which holds the Desktop
+ * @see com.sun.star.frame.Desktop
+ */
+ protected static XDesktop xDesktop = null;
+
+ /**
+ * assign to the module variable <CODE>xDesktop</CODE> the desktop
+ * @param Param the test parameters
+ * @param log the log writer
+ * @see lib.TestParameters
+ * @see share.LogWriter
+ * @see com.sun.star.frame.Desktop
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println("create a desktop...");
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.inspection.ObjectInspectorModel</code> with a <code>DefaultContext</code> and
+ * <code>PropertyHandlerFactroy[]</code> as parameter
+ *
+ * @param tParam the tests parameter
+ * @param log the logger
+ * @return the test environment
+ * @see util.DesktopTools
+ * @see helper.PropertyHandlerImpl
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ this.cleanup(tParam, log);
+
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XPropertySet xMSFProp = UnoRuntime.queryInterface(XPropertySet.class, xMSF);
+ XComponentContext xDefaultContext = null;
+ // Get the default context from the office server.
+ Object oDefaultContext = xMSFProp.getPropertyValue("DefaultContext");
+
+ // Query for the interface XComponentContext.
+ xDefaultContext = UnoRuntime.queryInterface(
+ XComponentContext.class, oDefaultContext);
+
+ Object[] oHandlerFactories = new Object[1];
+ oHandlerFactories[0] = new PropertyHandlerFactroy();
+
+ int minHelpTextLines = 200;
+ int maxHelpTextLines = 400;
+
+ XObjectInspectorModel oInspectorModel = com.sun.star.inspection.ObjectInspectorModel.
+ createWithHandlerFactoriesAndHelpSection(xDefaultContext, oHandlerFactories,
+ minHelpTextLines, maxHelpTextLines);
+
+ log.println("ImplementationName '" + utils.getImplName(oInspectorModel) + "'");
+
+ TestEnvironment tEnv = new TestEnvironment(oInspectorModel);
+
+ // com.sun.star.inspection.XObjectInspectorModel
+ tEnv.addObjRelation("minHelpTextLines", Integer.valueOf(minHelpTextLines));
+ tEnv.addObjRelation("maxHelpTextLines", Integer.valueOf(maxHelpTextLines));
+
+ return tEnv;
+ }
+
+ /**
+ * Closes the ObjectOnspector using <CODE>XCloseable</CODE>
+ * @see com.sun.star.util.XCloseable
+ * @param Param the test parameter
+ * @param log the logger
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog if one exists ... ");
+
+ XFrame existentInspector = null;
+
+ XFrame xFrame = UnoRuntime.queryInterface(XFrame.class, xDesktop);
+
+ existentInspector = xFrame.findFrame( "ObjectInspector", 255 );
+
+ if ( existentInspector != null ){
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, existentInspector);
+ try{
+ closer.close(true);
+ } catch (CloseVetoException e){
+ log.println("Could not close inspector: " + e.toString());
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_proxyfac/ProxyFactory.java b/qadevOOo/tests/java/mod/_proxyfac/ProxyFactory.java
new file mode 100644
index 000000000..c04679c90
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_proxyfac/ProxyFactory.java
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._proxyfac;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.ProxyFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::reflection::XProxyFactory</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.reflection.XProxyFactory
+* @see com.sun.star.reflection.ProxyFactory
+* @see ifc.reflection._XProxyFactory
+*/
+public class ProxyFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.reflection.ProxyFactory</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.reflection.ProxyFactory");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_proxyfac/package.html b/qadevOOo/tests/java/mod/_proxyfac/package.html
new file mode 100644
index 000000000..c563073c0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_proxyfac/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'proxyfac'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_proxyfac/uno/ProxyFactory.java b/qadevOOo/tests/java/mod/_proxyfac/uno/ProxyFactory.java
new file mode 100644
index 000000000..f9fdb4e9a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_proxyfac/uno/ProxyFactory.java
@@ -0,0 +1,61 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._proxyfac.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.ProxyFactory</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::reflection::XProxyFactory</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.reflection.XProxyFactory
+* @see com.sun.star.reflection.ProxyFactory
+* @see ifc.reflection._XProxyFactory
+*/
+public class ProxyFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.reflection.ProxyFactory</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.reflection.ProxyFactory");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_rdbtdp/RegistryTypeDescriptionProvider.java b/qadevOOo/tests/java/mod/_rdbtdp/RegistryTypeDescriptionProvider.java
new file mode 100644
index 000000000..3c1e5a7cb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_rdbtdp/RegistryTypeDescriptionProvider.java
@@ -0,0 +1,115 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._rdbtdp;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.TypeDescriptionProvider</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XHierarchicalNameAccess</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.container.XHierarchicalNameAccess
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.reflection.TypeDescriptionProvider
+* @see ifc.container._XHierarchicalNameAccess
+* @see ifc.lang._XComponent
+*/
+public class RegistryTypeDescriptionProvider extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.reflection.TypeDescriptionProvider</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ElementName'</code> for
+ * {@link ifc.container._XHierarchicalNameAccess} :
+ * name of the existing element. Here it type name for
+ * <code>com.sun.star.uno.XInterface</code> interface.</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XPropertySet xProp = UnoRuntime.queryInterface(
+ XPropertySet.class, xMSF);
+ // get context
+ XComponentContext xContext = UnoRuntime.queryInterface(XComponentContext.class,
+ xProp.getPropertyValue("DefaultContext"));
+ // get the type description manager
+ Object o = xContext.getValueByName("/singletons/" +
+ "com.sun.star.reflection.theTypeDescriptionManager");
+ // the manager contains all providers
+ XEnumerationAccess aProviderAccess = UnoRuntime.queryInterface(XEnumerationAccess.class, o);
+ // collect enumeration
+ XEnumeration xProviderEnum;
+ if (aProviderAccess.hasElements())
+ xProviderEnum = aProviderAccess.createEnumeration();
+ else
+ throw new lib.StatusException(Status.failed(
+ "No TypeDescriptionProvider given"));
+ // take the first registry type description provider
+ oInterface = xProviderEnum.nextElement();
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oInterface);
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XHierarchicalNameAccess
+ tEnv.addObjRelation("ElementName", "com.sun.star.uno.XInterface") ;
+ tEnv.addObjRelation("SearchString", "com.sun.star.loader");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_rdbtdp/package.html b/qadevOOo/tests/java/mod/_rdbtdp/package.html
new file mode 100644
index 000000000..19cdd22c6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_rdbtdp/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'rdbtdp'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_regtypeprov/uno/RegistryTypeDescriptionProvider.java b/qadevOOo/tests/java/mod/_regtypeprov/uno/RegistryTypeDescriptionProvider.java
new file mode 100644
index 000000000..553578d00
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_regtypeprov/uno/RegistryTypeDescriptionProvider.java
@@ -0,0 +1,110 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._regtypeprov.uno;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import java.io.PrintWriter;
+import lib.Status;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.reflection.TypeDescriptionProvider</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XHierarchicalNameAccess</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.container.XHierarchicalNameAccess
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.reflection.TypeDescriptionProvider
+* @see ifc.container._XHierarchicalNameAccess
+* @see ifc.lang._XComponent
+*/
+public class RegistryTypeDescriptionProvider extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.reflection.TypeDescriptionProvider</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ElementName'</code> for
+ * {@link ifc.container._XHierarchicalNameAccess} :
+ * name of the existing element. Here it type name for
+ * <code>com.sun.star.uno.XInterface</code> interface.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XPropertySet xProp = UnoRuntime.queryInterface(
+ XPropertySet.class, xMSF);
+ // get context
+ XComponentContext xContext = UnoRuntime.queryInterface(XComponentContext.class,
+ xProp.getPropertyValue("DefaultContext"));
+ // get the type description manager
+ Object o = xContext.getValueByName("/singletons/" +
+ "com.sun.star.reflection.theTypeDescriptionManager");
+ // the manager contains all providers
+ XEnumerationAccess aProviderAccess = UnoRuntime.queryInterface(XEnumerationAccess.class, o);
+ // collect enumeration
+ XEnumeration xProviderEnum;
+ if (aProviderAccess.hasElements())
+ xProviderEnum = aProviderAccess.createEnumeration();
+ else
+ throw new lib.StatusException(Status.failed(
+ "No TypeDescriptionProvider given"));
+ // take the first registry type description provider
+ oInterface = xProviderEnum.nextElement();
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oInterface);
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XHierarchicalNameAccess
+ tEnv.addObjRelation("ElementName", "com.sun.star.uno.XInterface") ;
+ tEnv.addObjRelation("SearchString", "com.sun.star.loader");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_remotebridge/package.html b/qadevOOo/tests/java/mod/_remotebridge/package.html
new file mode 100644
index 000000000..0663f0cb2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_remotebridge/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'remotebridge'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_remotebridge/uno/various.java b/qadevOOo/tests/java/mod/_remotebridge/uno/various.java
new file mode 100644
index 000000000..b9bc78696
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_remotebridge/uno/various.java
@@ -0,0 +1,266 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._remotebridge.uno;
+
+import com.sun.star.bridge.XBridgeFactory;
+import com.sun.star.bridge.XInstanceProvider;
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.connection.XConnector;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.bridge.Bridge</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::bridge::XBridge</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.bridge.XBridge
+* @see com.sun.star.bridge.Bridge
+* @see ifc.lang._XInitialization
+* @see ifc.lang._XComponent
+* @see ifc.bridge._XBridge
+*/
+public class various extends TestCase {
+
+ /**
+ * String for establishing a connection
+ */
+ protected String connectString = null ;
+
+ /**
+ * Choose the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 50000;
+ private static final int curPort = 50000;
+
+ private XAcceptor xAcctr;
+ private XConnector xCntr;
+ private XBridgeFactory xBrdgFctr;
+ private AcceptorThread accThread;
+
+ public XInterface bridge = null;
+
+ /**
+ * Implementation of interface XInstanceProvider
+ *
+ * @see com.sun.star.bridge.XInstanceProvider
+ */
+ private static class MyInstanceProvider implements XInstanceProvider {
+ /**
+ * a MultiServiceFactory for creating instances
+ *
+ * @see com.sun.star.lang.MultiServiceFactory
+ */
+ private final XMultiServiceFactory xMSF;
+
+ /**
+ * Construct object with a MultiServiceFactory
+ *
+ * @see com.sun.star.lang.MultiServiceFactory
+ */
+ private MyInstanceProvider(XMultiServiceFactory xMSF) {
+ this.xMSF = xMSF;
+ }
+
+ /**
+ * get an instance by name
+ */
+ public Object getInstance(String aInstanceName)
+ throws com.sun.star.container.NoSuchElementException
+ {
+ System.out.println("######## Try to get "+aInstanceName);
+ try {
+ return xMSF.createInstance(aInstanceName);
+ }
+ catch(com.sun.star.uno.Exception e) {
+ throw new StatusException("Unexpected exception", e);
+ }
+ }
+ }
+
+ /**
+ * Calls <code>accept()</code> method in a separate thread.
+ * Then stores exception thrown by call if it occurred, or
+ * return value.
+ */
+ private class AcceptorThread extends Thread {
+ private final XAcceptor acc;
+ private final XInstanceProvider xInstProv;
+ private final XBridgeFactory xBrdgFctr;
+ /**
+ * If method call returns some value it stores in this field.
+ */
+ private XConnection acceptedCall = null ;
+
+ /**
+ * Creates object which can call <code>accept</code> method
+ * of the Acceptor object specified.
+ */
+ private AcceptorThread(XAcceptor acc, XInstanceProvider xInstProv,
+ XBridgeFactory xBrdgFctr) {
+ this.acc = acc ;
+ this.xInstProv = xInstProv;
+ this.xBrdgFctr = xBrdgFctr;
+ }
+
+ /**
+ * Call <code>accept()</code> method and establish a bridge with an
+ * instance provider
+ */
+ @Override
+ public void run() {
+ try {
+ acceptedCall = acc.accept(connectString) ;
+ xBrdgFctr.createBridge("MyBridge", "urp",
+ acceptedCall, xInstProv);
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ } catch (com.sun.star.bridge.BridgeExistsException e) {
+ }
+ }
+ }
+
+ private final boolean[] bridgeDisposed = new boolean[1] ;
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.bridge.Bridge</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XInitialization.args'</code> for
+ * {@link ifc.lang._XInitialization} and
+ * {@link ifc.bridge._XBridge} : contains arguments
+ * for <code>initialize()</code> method test.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.Bridge");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+ // creating arguments for XInitialization
+ // first, creating a connection
+ // connection string
+ String cncstr = (String) tParam.get("CONNECTION_STRING") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+
+ // select the port
+ log.println("Choose Port nr: " + curPort);
+
+ connectString = "socket,host=" +
+ cncstr.substring(idx, cncstr.indexOf(",", idx)) +
+ ",port=" + curPort;
+
+ // create acceptor
+ XInterface oAcctr = (XInterface)xMSF.createInstance(
+ "com.sun.star.connection.Acceptor") ;
+
+ xAcctr = UnoRuntime.queryInterface(
+ XAcceptor.class, oAcctr);
+ // create connector
+ XInterface oCntr = (XInterface)xMSF.createInstance(
+ "com.sun.star.connection.Connector") ;
+ xCntr = UnoRuntime.queryInterface(
+ XConnector.class, oCntr);
+
+ // create bridge factory
+ XInterface oBrdg = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.BridgeFactory") ;
+ xBrdgFctr = UnoRuntime.queryInterface(XBridgeFactory.class, oBrdg);
+
+ // create own implementation of XInstanceProvider
+ XInstanceProvider xInstProv = new MyInstanceProvider(xMSF);
+ // create waiting acceptor thread
+ accThread = new AcceptorThread(xAcctr, xInstProv, xBrdgFctr);
+ accThread.start();
+ // let the thread sleep
+ util.utils.pause(500);
+
+ // establish the connection
+ XConnection xConnection = xCntr.connect(connectString);
+
+ String protocol = "urp";
+ String bridgeName = protocol + ":" + connectString;
+
+ tEnv.addObjRelation("XInitialization.args", new Object[] {
+ bridgeName, protocol, xConnection, null});
+
+ bridge = tEnv.getTestObject();
+
+ return tEnv;
+ }
+
+ /**
+ * Stop the acceptor thread and dispose the bridge
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+
+ System.out.println("++++++++ cleanup");
+ xAcctr.stopAccepting();
+ if (accThread.isAlive()) {
+ accThread.interrupt();
+ }
+ XComponent xComp = UnoRuntime.queryInterface(
+ XComponent.class, xAcctr);
+ if (xComp != null)
+ xComp.dispose();
+ xComp = UnoRuntime.queryInterface(
+ XComponent.class, xCntr);
+ if (xComp != null)
+ xComp.dispose();
+ xComp = UnoRuntime.queryInterface(
+ XComponent.class, xBrdgFctr);
+ if (xComp != null)
+ xComp.dispose();
+
+ xComp = UnoRuntime.queryInterface(
+ XComponent.class, bridge);
+ if (xComp != null) {
+ System.out.println("######## Dispose bridge");
+ bridgeDisposed[0] = true;
+ xComp.dispose();
+ // wait for dispose
+ util.utils.pause(5000);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_remotebridge/various.java b/qadevOOo/tests/java/mod/_remotebridge/various.java
new file mode 100644
index 000000000..6e11c46ba
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_remotebridge/various.java
@@ -0,0 +1,213 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._remotebridge;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.bridge.XBridgeFactory;
+import com.sun.star.connection.XAcceptor;
+import com.sun.star.connection.XConnection;
+import com.sun.star.connection.XConnector;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.bridge.Bridge</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XInitialization</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::bridge::XBridge</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.lang.XInitialization
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.bridge.XBridge
+* @see com.sun.star.bridge.Bridge
+* @see ifc.lang._XInitialization
+* @see ifc.lang._XComponent
+* @see ifc.bridge._XBridge
+*/
+public class various extends TestCase {
+
+ /**
+ * String for establishing a connection
+ */
+ protected String connectString = null ;
+
+ /**
+ * Choose the first port after <code>basePort</code>
+ * which is free.
+ */
+ protected static final int basePort = 50000;
+ private static final int curPort = 50000;
+
+ private XAcceptor xAcctr;
+ private XConnector xCntr;
+ private XBridgeFactory xBrdgFctr;
+ private AcceptorThread accThread;
+
+ public XInterface bridge = null;
+
+ /**
+ * Calls <code>accept()</code> method in a separate thread.
+ * Then stores exception thrown by call if it occurred, or
+ * return value.
+ */
+ private class AcceptorThread extends Thread {
+ private final XAcceptor acc;
+
+ /**
+ * Creates object which can call <code>accept</code> method
+ * of the Acceptor object specified.
+ */
+ private AcceptorThread(XAcceptor acc) {
+ this.acc = acc ;
+ }
+
+ /**
+ * Call <code>accept()</code> method and establish a bridge with an
+ * instance provider
+ */
+ @Override
+ public void run() {
+ try {
+ acc.accept(connectString) ;
+ } catch (com.sun.star.connection.ConnectionSetupException e) {
+ } catch (com.sun.star.connection.AlreadyAcceptingException e) {
+ }
+ }
+ }
+
+ private final boolean[] bridgeDisposed = new boolean[1] ;
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.bridge.Bridge</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XInitialization.args'</code> for
+ * {@link ifc.lang._XInitialization} and
+ * {@link ifc.bridge._XBridge} : contains arguments
+ * for <code>initialize()</code> method test.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.Bridge");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+ // creating arguments for XInitialization
+ // first, creating a connection
+ // connection string
+ String cncstr = (String) tParam.get("CONNECTION_STRING") ;
+ int idx = cncstr.indexOf("host=") + 5 ;
+
+ // select the port
+ log.println("Choose Port nr: " + curPort);
+
+ connectString = "socket,host=" +
+ cncstr.substring(idx, cncstr.indexOf(",", idx)) +
+ ",port=" + curPort;
+
+ // create acceptor
+ XInterface oAcctr = (XInterface)xMSF.createInstance(
+ "com.sun.star.connection.Acceptor") ;
+
+ xAcctr = UnoRuntime.queryInterface(
+ XAcceptor.class, oAcctr);
+ // create connector
+ XInterface oCntr = (XInterface)xMSF.createInstance(
+ "com.sun.star.connection.Connector") ;
+ xCntr = UnoRuntime.queryInterface(
+ XConnector.class, oCntr);
+
+ // create bridge factory
+ XInterface oBrdg = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.BridgeFactory") ;
+ xBrdgFctr = UnoRuntime.queryInterface(XBridgeFactory.class, oBrdg);
+
+ // create waiting acceptor thread
+ accThread = new AcceptorThread(xAcctr);
+ accThread.start();
+ // let the thread sleep
+ util.utils.pause(500);
+
+ // establish the connection
+ XConnection xConnection = xCntr.connect(connectString);
+
+ String protocol = "urp";
+ String bridgeName = protocol + ":" + connectString;
+
+ tEnv.addObjRelation("XInitialization.args", new Object[] {
+ bridgeName, protocol, xConnection, null});
+
+ bridge = tEnv.getTestObject();
+
+ return tEnv;
+ }
+
+ /**
+ * Stop the acceptor thread and dispose the bridge
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+
+ System.out.println("++++++++ cleanup");
+ xAcctr.stopAccepting();
+ if (accThread.isAlive()) {
+ accThread.interrupt();
+ }
+ XComponent xComp = UnoRuntime.queryInterface(
+ XComponent.class, xAcctr);
+ if (xComp != null)
+ xComp.dispose();
+ xComp = UnoRuntime.queryInterface(
+ XComponent.class, xCntr);
+ if (xComp != null)
+ xComp.dispose();
+ xComp = UnoRuntime.queryInterface(
+ XComponent.class, xBrdgFctr);
+ if (xComp != null)
+ xComp.dispose();
+
+ xComp = UnoRuntime.queryInterface(
+ XComponent.class, bridge);
+ if (xComp != null) {
+ System.out.println("######## Dispose bridge");
+ bridgeDisposed[0] = true;
+ xComp.dispose();
+ // wait for dispose
+ util.utils.pause(5000);
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_HeaderFooter.java b/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_HeaderFooter.java
new file mode 100644
index 000000000..ed9e5da9a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_HeaderFooter.java
@@ -0,0 +1,202 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleEditableText;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+
+public class AccessibleEditableTextPara_HeaderFooter extends TestCase {
+ protected static XComponent xCalcDoc = null;
+ protected static XMultiServiceFactory msf = null;
+ protected static XAccessibleAction action = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XAccessibleContext oObj = null;
+ Object toolkit = msf.createInstance("com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ DiagThread psDiag = new DiagThread(xCalcDoc, msf);
+ psDiag.start();
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ Object atw = tk.getActiveTopWindow();
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ atw);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XAccessibleContext ok_button = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON,
+ "Cancel");
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PARAGRAPH);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + oObj.getAccessibleName());
+ log.println("ParentDescription " +
+ oObj.getAccessibleParent().getAccessibleContext()
+ .getAccessibleDescription());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ action = UnoRuntime.queryInterface(
+ XAccessibleAction.class, ok_button);
+
+ XAccessibleText text = UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ XAccessibleEditableText eText = UnoRuntime.queryInterface(
+ XAccessibleEditableText.class,
+ oObj);
+
+ eText.setText("LEFT");
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("Destroy", "AccessibleEditableTextPara_PreviewCell");
+
+ final XAccessibleEditableText editText = eText;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ editText.setText("LEFT_EVENT");
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Closes the dialog using accessible button 'OK' found in
+ * <code>createTestEnvironment()</code>.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" disposing xCalcDoc ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xCalcDoc);
+ }
+
+ /**
+ * Opens new writer document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ msf = Param.getMSF();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xCalcDoc = UnoRuntime.queryInterface(XComponent.class,
+ SOF.createCalcDoc(
+ null));
+ }
+
+
+ /**
+ * Thread for opening modal dialog 'Print Settings'.
+ */
+ private class DiagThread extends Thread {
+ private XComponent xCalcDoc = null;
+ private XMultiServiceFactory msf = null;
+
+ private DiagThread(XComponent xCalcDoc, XMultiServiceFactory msf) {
+ this.xCalcDoc = xCalcDoc;
+ this.msf = msf;
+ }
+
+ @Override
+ public void run() {
+ XModel aModel = UnoRuntime.queryInterface(XModel.class,
+ xCalcDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ //Opening HeaderFooterDialog
+ try {
+ String aSlotID = ".uno:EditHeaderAndFooter";
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ msf.createInstance(
+ "com.sun.star.util.URLTransformer"));
+
+ // Because it's an in/out parameter
+ // we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+
+ if (xDispatcher != null) {
+ xDispatcher.dispatch(aURL, null);
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't open dialog");
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_PreviewCell.java b/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_PreviewCell.java
new file mode 100644
index 000000000..b8ecfbfc2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/AccessibleEditableTextPara_PreviewCell.java
@@ -0,0 +1,161 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.DisposedException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+
+public class AccessibleEditableTextPara_PreviewCell extends TestCase {
+ XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Obtains the accessible object for a one of cell in preview mode.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XCell xCell = null;
+
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet") ;
+ xCell = oSheet.getCellByPosition(0, 0);
+
+ xCell.setFormula("Value");
+
+ XModel xModel = UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+
+ XController xController = xModel.getCurrentController();
+
+ //switch to 'Print Preview' mode
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+
+ XAccessibleContext oObj = null;
+ for (int i = 0;; ++i) {
+ Thread.sleep(500);
+ try {
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(
+ AccessibilityTools.getCurrentWindow(
+ xModel));
+ if (xRoot != null) {
+ AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.TABLE_CELL, true);
+ xRoot = AccessibilityTools.SearchedAccessible;
+ if (xRoot != null) {
+ oObj = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.PARAGRAPH);
+ if (oObj != null) {
+ break;
+ }
+ }
+ }
+ } catch (DisposedException e) {
+ log.println("Ignoring DisposedException");
+ }
+ if (i == 20) { // give up after 10 sec
+ throw new RuntimeException(
+ "Couldn't get AccessibleRoot.HEADER object");
+ }
+ log.println("No TABLE_CELL/PARAGRAPH found yet, retrying");
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + oObj.getAccessibleName());
+ log.println("Parent " + utils.getImplName(oObj.getAccessibleParent()));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EditOnly", "AccessibleEditableTextPara_PreviewCell");
+ tEnv.addObjRelation("Destroy", "AccessibleEditableTextPara_PreviewCell");
+
+ final XCell cell_to_change = xCell;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ cell_to_change.setFormula("NewString");
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleCell.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleCell.java
new file mode 100644
index 000000000..1ec596a09
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleCell.java
@@ -0,0 +1,175 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XColumnRowRange;
+import com.sun.star.table.XTableColumns;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by accessible component of
+ * a cell in the spreadsheet. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleTable</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleTable
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleTable
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class ScAccessibleCell extends TestCase {
+
+ private XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switches the document to Print Preview mode.
+ * Obtains accessible object for the page view.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.TABLE_CELL, "B1");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // relation for XAccessibleEventBroadcaster
+ XCell xCell = null;
+ final String text = "XAccessibleText";
+ try {
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ xCell = oSheet.getCellByPosition(1, 0) ;
+ xCell.setFormula(text);
+ XColumnRowRange oColumnRowRange = UnoRuntime.queryInterface(XColumnRowRange.class, oSheet);
+ XTableColumns oColumns = oColumnRowRange.getColumns();
+ XIndexAccess oIndexAccess = UnoRuntime.queryInterface(XIndexAccess.class, oColumns);
+ XPropertySet column = UnoRuntime.queryInterface(
+ XPropertySet.class,oIndexAccess.getByIndex(1));
+ column.setPropertyValue("OptimalWidth", Boolean.TRUE);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception creating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception creating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ log.println("Exception creating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ log.println("Exception creating relation :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception creating relation :");
+ e.printStackTrace(log);
+ }
+
+ tEnv.addObjRelation("EditOnly",
+ "This method is only supported if the Cell is in edit mode");
+
+ final XCell fCell = xCell ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ fCell.setFormula("firing event");
+ fCell.setFormula(text);
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleText.Text", text);
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvCell.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvCell.java
new file mode 100644
index 000000000..3e4be0a8f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvCell.java
@@ -0,0 +1,145 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScAccessibleCsvCell extends TestCase {
+
+ static XAccessibleAction accAction = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = (XInterface) tParam.getMSF().createInstance
+ ("com.sun.star.awt.Toolkit") ;
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class,oObj);
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.PUSH_BUTTON, "Cancel");
+
+ accAction = UnoRuntime.queryInterface(XAccessibleAction.class, oObj);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.TABLE, true);
+
+ XAccessibleContext cont = UnoRuntime.queryInterface(XAccessibleContext.class, oObj);
+
+ String name = "";
+ try {
+ XAccessible acc = cont.getAccessibleChild(3);
+ name = acc.getAccessibleContext().getAccessibleName();
+ log.println("Child: "+ name);
+ log.println("ImplementationName " + utils.getImplName(acc));
+ oObj = acc;
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e) {}
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this dialog");
+
+ tEnv.addObjRelation("XAccessibleText.Text", name);
+
+ return tEnv;
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " closing Dialog " );
+ try {
+ accAction.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iae) {
+ log.println("Couldn't close dialog");
+ }
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("opening dialog");
+
+ PropertyValue[] args = new PropertyValue[1];
+ try {
+ args[0] = new PropertyValue();
+ args[0].Name = "InteractionHandler";
+ args[0].Value = Param.getMSF().createInstance(
+ "com.sun.star.comp.uui.UUIInteractionHandler");
+ } catch(com.sun.star.uno.Exception e) {
+ }
+
+ String url= utils.getFullTestURL("10test.csv");
+ log.println("loading "+url);
+ SOF.loadDocument(url,args);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvGrid.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvGrid.java
new file mode 100644
index 000000000..0e7aefc2b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvGrid.java
@@ -0,0 +1,129 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScAccessibleCsvGrid extends TestCase {
+
+ static XAccessibleAction accAction = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = (XInterface) Param.getMSF().createInstance
+ ("com.sun.star.awt.Toolkit") ;
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class,oObj);
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.PUSH_BUTTON, "Cancel");
+
+ accAction = UnoRuntime.queryInterface(XAccessibleAction.class, oObj);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.TABLE, true);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " closing Dialog " );
+ try {
+ accAction.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iae) {
+ log.println("Couldn't close dialog");
+ }
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("opening dialog");
+
+ PropertyValue[] args = new PropertyValue[1];
+ try {
+ args[0] = new PropertyValue();
+ args[0].Name = "InteractionHandler";
+ args[0].Value = Param.getMSF().createInstance(
+ "com.sun.star.comp.uui.UUIInteractionHandler");
+ } catch(com.sun.star.uno.Exception e) {
+ }
+
+ String url= utils.getFullTestURL("10test.csv");
+ log.println("loading "+url);
+ SOF.loadDocument(url,args);
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvRuler.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvRuler.java
new file mode 100644
index 000000000..d3cd92464
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleCsvRuler.java
@@ -0,0 +1,166 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScAccessibleCsvRuler extends TestCase {
+
+ static XAccessibleAction accAction = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory msf = Param.getMSF();
+
+ XInterface oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Cancel");
+
+ accAction = UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ XAccessibleContext acc = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.RADIO_BUTTON);
+
+ log.println("Click on: " + acc.getAccessibleName());
+
+ XAccessibleAction accAction2 = UnoRuntime.queryInterface(
+ XAccessibleAction.class, acc);
+
+ try {
+ accAction2.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException iae) {
+ }
+
+
+ AccessibilityTools.printAccessibleTree(log, xRoot);
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TEXT,
+ "Ruler", true);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this dialog");
+
+ XAccessibleText text = UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ int lastone = 100;
+
+ for (int i = 0; i < 1000; i++) {
+ try {
+ text.getCharacterBounds(i);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ lastone = i - 1;
+
+ break;
+ }
+ }
+
+ tEnv.addObjRelation("LimitedBounds", Integer.valueOf(lastone));
+ tEnv.addObjRelation("PreviousUsed",new int[]{11,22,33,44,55,66,77,88,99});
+
+ return tEnv;
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("opening dialog");
+
+ PropertyValue[] args = new PropertyValue[1];
+ try {
+ args[0] = new PropertyValue();
+ args[0].Name = "InteractionHandler";
+ args[0].Value = Param.getMSF().createInstance(
+ "com.sun.star.comp.uui.UUIInteractionHandler");
+ } catch(com.sun.star.uno.Exception e) {
+ }
+
+ String url= utils.getFullTestURL("10test.csv");
+ log.println("loading "+url);
+ SOF.loadDocument(url,args);
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleDocument.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleDocument.java
new file mode 100644
index 000000000..348e8a6bc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleDocument.java
@@ -0,0 +1,143 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for object which is represented by accessible component of
+ * a spreadsheet document.
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class ScAccessibleDocument extends TestCase {
+
+ static XComponent xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Obtains accessible object for the spreadsheet document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpages" );
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT, "");
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XWindow xDocWin = xWindow;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle rect = xDocWin.getPosSize();
+ xDocWin.setPosSize(rect.X,rect.Y,rect.Height,rect.Width-10,com.sun.star.awt.PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ util.DesktopTools.closeDoc(xSpreadsheetDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("creating a spreadsheetdocument");
+ String url = utils.getFullTestURL("calcshapes.sxc");
+ log.println("loading document "+url);
+ xSpreadsheetDoc = SOF.loadDocument(url);
+ util.utils.waitForEventIdle(Param.getMSF());
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleDocumentPagePreview.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleDocumentPagePreview.java
new file mode 100644
index 000000000..6474f8d84
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleDocumentPagePreview.java
@@ -0,0 +1,198 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Test for object which is represented by accessible component of
+ * a spreadsheet page in 'Page Preview' mode.
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class ScAccessibleDocumentPagePreview extends TestCase {
+
+ private XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switches the document to Print Preview mode.
+ * Obtains accessible object for the page view.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ // inserting some content to have non-empty page preview
+ XCell xCell = null;
+ try {
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = null;
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(1));
+ xCell = oSheet.getCellByPosition(0, 0) ;
+ xCell.setFormula("ScAccessibleDocumentPagePreview - Page 2");
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(2));
+ xCell = oSheet.getCellByPosition(0, 0) ;
+ xCell.setFormula("ScAccessibleDocumentPagePreview - Page 3");
+
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ xCell = oSheet.getCellByPosition(0, 0) ;
+ xCell.setFormula("ScAccessibleDocumentPagePreview");
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception creating document page preview :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception creating document page preview :");
+ e.printStackTrace(log);
+ }
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ // switching to 'Page Preview' mode
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+
+ util.utils.shortWait();
+
+ XWindow xWindow = AccessibilityTools.getCurrentContainerWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.DOCUMENT, "");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XDesktop desk = util.DesktopTools.createDesktop(Param.getMSF());
+ final XWindow win = desk.getCurrentFrame().getComponentWindow();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle rec = win.getPosSize();
+ win.setPosSize(rec.X,rec.Y,rec.Height-10,rec.Width, com.sun.star.awt.PosSize.POSSIZE);
+ win.setPosSize(rec.X,rec.Y,rec.Height,rec.Width,com.sun.star.awt.PosSize.POSSIZE );
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("creating a spreadsheetdocument");
+ String url = utils.getFullTestURL("calcshapes.sxc");
+ log.println("loading document "+url);
+ xSpreadsheetDoc = UnoRuntime.queryInterface(
+ XSpreadsheetDocument.class,SOF.loadDocument(url));
+ util.utils.waitForEventIdle(Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java b/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java
new file mode 100644
index 000000000..74670742c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeader.java
@@ -0,0 +1,238 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.DisposedException;
+import com.sun.star.sheet.XHeaderFooterContent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XText;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Test for object which is represented by accessible component of
+ * a printed header in 'Page Preview' mode.
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class ScAccessiblePageHeader extends TestCase {
+
+ private XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switches the document to Print Preview mode.
+ * Obtains accessible object for the page view.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ // inserting some content to have non-empty page preview
+ XCell xCell = null;
+ try {
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ xCell = oSheet.getCellByPosition(0, 0) ;
+ xCell.setFormula("ScAccessiblePageHeader");
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception creating page header :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception creating page header :");
+ e.printStackTrace(log);
+ }
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ // switching to 'Page Preview' mode
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+
+ XInterface oObj = null;
+ for (int i = 0;; ++i) {
+ Thread.sleep(500);
+ try {
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+ if (xRoot != null) {
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.HEADER, "");
+ if (oObj != null) {
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ break;
+ }
+ }
+ } catch (DisposedException e) {
+ log.println("Ignoring DisposedException");
+ }
+ if (i == 20) { // give up after 10 sec
+ throw new RuntimeException(
+ "Couldn't get AccessibleRoot.HEADER object");
+ }
+ log.println("No HEADER found yet, retrying");
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XStyleFamiliesSupplier StyleFam = UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class,
+ xSpreadsheetDoc );
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+ XStyle StdStyle = null;
+
+ XNameAccess PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),
+ StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class), PageStyles.getByName("Default"));
+
+ //get the property-set
+ final XPropertySet PropSet = UnoRuntime.queryInterface(XPropertySet.class, StdStyle);
+
+ XHeaderFooterContent RPHC = null;
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ RPHC = (XHeaderFooterContent) AnyConverter.toObject(
+ new Type(XHeaderFooterContent.class),
+ PropSet.getPropertyValue("RightPageHeaderContent"));
+
+ final XHeaderFooterContent RPHC2 = RPHC;
+
+ final XText center = RPHC2.getCenterText();
+ final XText left = RPHC2.getLeftText();
+ final XText right = RPHC2.getRightText();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ center.setString("CENTER");
+ left.setString("LEFT");
+ right.setString("RIGHT");
+ try {
+ PropSet.setPropertyValue("RightPageHeaderContent",RPHC2);
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.lang.WrappedTargetException e) {}
+ }
+ });
+
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ try {
+ XCloseable oComp = UnoRuntime.queryInterface (XCloseable.class, xSpreadsheetDoc) ;
+ oComp.close(true);
+ } catch(com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document: "+e.getMessage());
+ }
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeaderArea.java b/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeaderArea.java
new file mode 100644
index 000000000..87f1c5a74
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessiblePageHeaderArea.java
@@ -0,0 +1,200 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleStateSet;
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Test for object which is represented by accessible component of
+ * a printed header in 'Page Preview' mode.
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class ScAccessiblePageHeaderArea extends TestCase {
+
+ private XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switches the document to Print Preview mode.
+ * Obtains accessible object for the page view.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ // inserting some content to have non-empty page preview
+ XCell xCell = null;
+ try {
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ xCell = oSheet.getCellByPosition(0, 0) ;
+ xCell.setFormula("ScAccessiblePageHeaderArea");
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception creating page header area :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception creating page header area :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception creating page header area :");
+ e.printStackTrace(log);
+ }
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ // switching to 'Page Preview' mode
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = AccessibilityTools.getCurrentContainerWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.HEADER, "").getAccessibleChild(0);
+ XAccessibleContext cont = UnoRuntime.queryInterface(XAccessibleContext.class, oObj);
+ XAccessibleStateSet StateSet = cont.getAccessibleStateSet();
+ if (StateSet.contains((short)27)) {
+ log.println("Object is transient");
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XAccessibleContext zoomIn =
+ AccessibilityTools.getAccessibleObjectForRole(xRoot,AccessibleRole.PUSH_BUTTON, "Zoom In");
+
+ final XAccessibleAction pressZoom = UnoRuntime.queryInterface(XAccessibleAction.class, zoomIn);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ pressZoom.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ibe) {
+ System.out.println("caught exception: " + ibe);
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes calc document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ try {
+ XCloseable oComp = UnoRuntime.queryInterface (XCloseable.class, xSpreadsheetDoc) ;
+ oComp.close(true);
+ }catch(com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document: "+e.getMessage());
+ }
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewCell.java b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewCell.java
new file mode 100644
index 000000000..d645c407a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewCell.java
@@ -0,0 +1,173 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.DisposedException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleValue</code>
+ * </li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul>
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleTable
+ */
+public class ScAccessiblePreviewCell extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Obtains the accessible object for a one of cell in preview mode.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XCell xCell = null;
+
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet") ;
+ xCell = oSheet.getCellByPosition(0, 0);
+
+ xCell.setFormula("Value");
+
+ XModel xModel = UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+
+ XController xController = xModel.getCurrentController();
+
+ //switch to 'Print Preview' mode
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+
+ XInterface oObj = null;
+ for (int i = 0;; ++i) {
+ Thread.sleep(500);
+ try {
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(
+ AccessibilityTools.getCurrentWindow(
+ xModel));
+ if (xRoot != null) {
+ oObj = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.TABLE_CELL, true);
+ if (oObj != null) {
+ break;
+ }
+ }
+ } catch (DisposedException e) {
+ log.println("Ignoring DisposedException");
+ }
+ if (i == 20) { // give up after 10 sec
+ throw new RuntimeException(
+ "Couldn't get AccessibleRole.TABLE_CELL object");
+ }
+ log.println("No TABLE_CELL found yet, retrying");
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ System.out.println("Fire Event");
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewHeaderCell.java b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewHeaderCell.java
new file mode 100644
index 000000000..911b65aec
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewHeaderCell.java
@@ -0,0 +1,232 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.DisposedException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+import com.sun.star.util.XURLTransformer;
+
+
+/**
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleValue</code>
+ * </li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul>
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleTable
+ */
+public class ScAccessiblePreviewHeaderCell extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ if (xSheetDoc != null) {
+ try {
+ XCloseable oComp = UnoRuntime.queryInterface(
+ XCloseable.class, xSheetDoc);
+ oComp.close(true);
+ xSheetDoc = null;
+ } catch (com.sun.star.util.CloseVetoException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("document already disposed");
+ xSheetDoc = null;
+ }
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Sets a value of the cell 'A1'. Sets the property 'PrintHeaders'
+ * of the style 'Default' of the family 'PageStyles' to true.
+ * Switch the document to preview mode and then obtains the
+ * accessible object for the header cell.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ if (xSheetDoc != null) {
+ XComponent oComp = UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+
+ XModel xModel = UnoRuntime.queryInterface(XModel.class,
+ xSheetDoc);
+
+ XController xController = xModel.getCurrentController();
+
+ //setting value of cell A1
+ XCell xCell = null;
+
+ log.println("Getting spreadsheet");
+
+ XSpreadsheets oSheets = xSheetDoc.getSheets();
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(
+ XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet");
+ xCell = oSheet.getCellByPosition(0, 0);
+
+ xCell.setFormula("Value");
+
+ //setting property 'PrintHeaders' of the style 'Default'
+ XStyleFamiliesSupplier xSFS = UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class,
+ xSheetDoc);
+ XNameAccess xNA = xSFS.getStyleFamilies();
+ XPropertySet xPropSet = null;
+
+ Object oPageStyles = xNA.getByName("PageStyles");
+ xNA = UnoRuntime.queryInterface(XNameAccess.class,
+ oPageStyles);
+
+ Object oDefStyle = xNA.getByName("Default");
+ xPropSet = UnoRuntime.queryInterface(
+ XPropertySet.class, oDefStyle);
+
+ xPropSet.setPropertyValue("PrintHeaders", Boolean.TRUE);
+
+ //switching to 'Print Preview' mode
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ Param.getMSF()
+ .createInstance("com.sun.star.util.URLTransformer"));
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+
+ if (xDispatcher != null) {
+ xDispatcher.dispatch(aURL, null);
+ }
+
+ XInterface oObj = null;
+ for (int i = 0;; ++i) {
+ Thread.sleep(500);
+ try {
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(
+ AccessibilityTools.getCurrentWindow(
+ xModel));
+ if (xRoot != null) {
+ oObj = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.TABLE, "A");
+ if (oObj == null) {
+ log.println("Version with a fixed #103863#?");
+ oObj = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.TABLE_CELL, true);
+ }
+ if (oObj != null) {
+ break;
+ }
+ }
+ } catch (DisposedException e) {
+ log.println("Ignoring DisposedException");
+ }
+ if (i == 20) { // give up after 10 sec
+ throw new RuntimeException(
+ "Couldn't get AccessibleRole.TABLE/TABLE_CELL object");
+ }
+ log.println("No TABLE/TABLE_CELL found yet, retrying");
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewTable.java b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewTable.java
new file mode 100644
index 000000000..fece4f3d1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessiblePreviewTable.java
@@ -0,0 +1,191 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.DisposedException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleTable</code>
+ * </li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul>
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleTable
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleTable
+ */
+public class ScAccessiblePreviewTable extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Obtains the accessible object for a table in preview mode.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(final TestParameters Param,
+ final PrintWriter log) throws Exception {
+
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet") ;
+ XCell xCell = oSheet.getCellByPosition(0, 0);
+ xCell.setFormula("Value");
+
+ XModel xModel = UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+
+ XController xController = xModel.getCurrentController();
+
+ //switch to 'Print Preview' mode
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+
+ XAccessible xRoot;
+ XInterface oObj;
+ for (int i = 0;; ++i) {
+ Thread.sleep(500);
+ try {
+ xRoot = AccessibilityTools.getAccessibleObject(
+ AccessibilityTools.getCurrentContainerWindow(
+ xModel));
+ if (xRoot != null) {
+ oObj = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.TABLE);
+ if (oObj != null) {
+ break;
+ }
+ }
+ } catch (DisposedException e) {
+ log.println("Ignoring DisposedException");
+ }
+ if (i == 20) { // give up after 10 sec
+ throw new RuntimeException(
+ "Couldn't get AccessibleRole.TABLE/PUSH_BUTTON object");
+ }
+ log.println("No TABLE/PUSH_BUTTON found yet, retrying");
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XAccessibleContext zoomIn =
+ AccessibilityTools.getAccessibleObjectForRole(xRoot,AccessibleRole.PUSH_BUTTON, "Zoom In");
+
+ log.println("Getting \"" + zoomIn.getAccessibleName() + "\" which is a \"" + UnoRuntime.queryInterface(com.sun.star.lang.XServiceInfo.class, zoomIn).getImplementationName() + "\"");
+
+ final XAccessibleAction pressZoom = UnoRuntime.queryInterface(XAccessibleAction.class, zoomIn);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ pressZoom.doAccessibleAction(0);
+ // the action is not triggered on the preview table
+ // but some toolbar button - this will indirectly
+ // trigger a table event but only from VCL main loop
+ utils.waitForEventIdle(Param.getMSF());
+ // sadly it turns out that idle is not enough...
+ Thread.sleep(500);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ibe) {
+ log.println("ScAccessiblePreviewTable: IndexOutOfBoundsException from pressZoom.doAccessibleAction(0)");
+ } catch (InterruptedException ex) {}
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAccessibleSpreadsheet.java b/qadevOOo/tests/java/mod/_sc/ScAccessibleSpreadsheet.java
new file mode 100644
index 000000000..dd177b7e3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAccessibleSpreadsheet.java
@@ -0,0 +1,149 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for accessible object of spreadsheet document.<p>
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code>
+ * </li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleTable</code>
+ * </li>
+ * </ul>
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleTable
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleTable
+ */
+public class ScAccessibleSpreadsheet extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Obtains the accessible object for the spreadsheet.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ XModel xModel = UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(xModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE );
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // relation for XAccessibleEventBroadcaster
+ XCell xCell = null;
+ final String text = "Text for testing of the interface XAccessibleText";
+ try {
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ xCell = oSheet.getCellByPosition(5, 5) ;
+ xCell.setFormula(text);
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ log.println("Exception creating accessible text :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Exception creating accessible text :");
+ e.printStackTrace(log);
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Exception creating accessible text :");
+ e.printStackTrace(log);
+ }
+
+ final XCell fCell = xCell ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ fCell.setFormula("firing event");
+ fCell.setFormula(text);
+ }
+ });
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScAnnotationShapeObj.java b/qadevOOo/tests/java/mod/_sc/ScAnnotationShapeObj.java
new file mode 100644
index 000000000..21cae1a41
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAnnotationShapeObj.java
@@ -0,0 +1,185 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSheetAnnotation;
+import com.sun.star.sheet.XSheetAnnotationAnchor;
+import com.sun.star.sheet.XSheetAnnotationShapeSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+import util.utils;
+
+import java.io.PrintWriter;
+import util.DefaultDsc;
+import util.InstCreator;
+
+
+/**
+* Test for object which represents some text annotation
+* anchored to some cell in spreadsheet (implement
+* <code>com.sun.star.sheet.CellAnnotation</code>).<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::text::XSimpleText</code></li>
+* <li> <code>com::sun::star::text::XTextRange</code></li>
+* <li> <code>com::sun::star::sheet::XSheetAnnotation</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.sheet.CellAnnotation
+* @see com.sun.star.text.XSimpleText
+* @see com.sun.star.text.XTextRange
+* @see com.sun.star.sheet.XSheetAnnotation
+* @see ifc.text._XSimpleText
+* @see ifc.text._XTextRange
+* @see ifc.sheet._XSheetAnnotation
+*/
+public class ScAnnotationShapeObj extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates a spreadsheet document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF =
+ SOfficeFactory.getFactory(tParam
+ .getMSF());
+
+ log.println("creating a Spreadsheet document");
+ log.println("Loading: "+utils.getFullTestURL(
+ "ScAnnotationShapeObj.sxc"));
+ xSheetDoc =
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class,
+ SOF.loadDocument(utils.getFullTestURL(
+ "ScAnnotationShapeObj.sxc")));
+ }
+
+ /**
+ * Disposes a spreadsheet document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp =
+ UnoRuntime.queryInterface(XComponent.class,
+ xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one them. Then a single cell is retrieved, and
+ * using its <code>com.sun.star.sheet.XSheetAnnotationAnchor</code>
+ * interface an annotation is got.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CELLPOS'</code> for
+ * {@link ifc.sheet._XSheetAnnotation} (of <code>
+ * com.sun.star.table.CellAddress</code> type) which
+ * contains the annotation cell address.</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ CellAddress cellPos = new CellAddress((short) 0, 1, 2);
+
+ log.println("Getting test object ");
+
+ XSpreadsheetDocument xArea =
+ UnoRuntime.queryInterface(XSpreadsheetDocument.class,
+ xSheetDoc);
+ XSpreadsheets oSheets = xArea.getSheets();
+
+ XIndexAccess XAccess =
+ UnoRuntime.queryInterface(XIndexAccess.class,
+ oSheets);
+ XCell oCell = null;
+
+ XSpreadsheet oSheet =
+ (XSpreadsheet) AnyConverter.toObject(new Type(
+ XSpreadsheet.class),
+ XAccess.getByIndex(cellPos.Sheet));
+ XCellRange oCRange =
+ UnoRuntime.queryInterface(XCellRange.class,
+ oSheet);
+ oCell =
+ oCRange.getCellByPosition(cellPos.Column, cellPos.Row);
+
+ XSheetAnnotationAnchor oAnnoA =
+ UnoRuntime.queryInterface(XSheetAnnotationAnchor.class,
+ oCell);
+ XSheetAnnotation oAnno = oAnnoA.getAnnotation();
+
+ XSimpleText xAnnoText =
+ UnoRuntime.queryInterface(XSimpleText.class,
+ oAnno);
+ xAnnoText.setString("ScAnnotationShapeObj");
+
+ XSheetAnnotationShapeSupplier xSheetAnnotationShapeSupplier =
+ UnoRuntime.queryInterface(XSheetAnnotationShapeSupplier.class,
+ oAnno);
+
+ oObj = xSheetAnnotationShapeSupplier.getAnnotationShape();
+
+ log.println("ImplementationName: "
+ + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //adding ObjRelation for RotationDescriptor
+ tEnv.addObjRelation("NoShear", Boolean.TRUE);
+
+ //adding ObjRelation for XText
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.DateTime");
+
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation(
+ "XTEXTINFO", new InstCreator( xSheetDoc, tDsc ) );
+
+ return tEnv;
+ }
+}
+ // finish class ScAnnotationShapeObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScAnnotationTextCursor.java b/qadevOOo/tests/java/mod/_sc/ScAnnotationTextCursor.java
new file mode 100644
index 000000000..caa2e2a91
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAnnotationTextCursor.java
@@ -0,0 +1,124 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSheetAnnotation;
+import com.sun.star.sheet.XSheetAnnotationAnchor;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.document.XDocumentInsertable
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XParagraphCursor
+ * @see com.sun.star.text.XSentenceCursor
+ * @see com.sun.star.text.XTextCursor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XWordCursor
+ * @see com.sun.star.util.XSortable
+ *
+ */
+public class ScAnnotationTextCursor extends TestCase {
+
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ CellAddress cellPos = new CellAddress((short)0, 1, 2);
+
+ log.println("Getting test object ") ;
+
+ XSpreadsheetDocument xArea = UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+
+ XSpreadsheets oSheets = xArea.getSheets();
+
+ XIndexAccess XAccess = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+
+ XSpreadsheet oSheet = (XSpreadsheet)XAccess.getByIndex(cellPos.Sheet);
+
+ XCellRange oCRange = UnoRuntime.queryInterface(XCellRange.class, oSheet);
+
+ XCell oCell = oCRange.getCellByPosition(cellPos.Column, cellPos.Row);
+
+ XSheetAnnotationAnchor oAnnoA = UnoRuntime.queryInterface(XSheetAnnotationAnchor.class, oCell);
+
+ XSheetAnnotation oAnno = oAnnoA.getAnnotation();
+ XSimpleText aText = UnoRuntime.queryInterface(XSimpleText.class,oAnno);
+ aText.setString("A nice little Test");
+ oObj = aText.createTextCursor();
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Other parameters required for interface tests
+
+ return tEnv;
+ }
+
+} // finish class ScAnnotationTextCursor
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScAutoFormatFieldObj.java b/qadevOOo/tests/java/mod/_sc/ScAutoFormatFieldObj.java
new file mode 100644
index 000000000..a97d3bbb4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScAutoFormatFieldObj.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.TableAutoFormatField</code>.
+* In StarCalc application there is a collection of autoformats
+* for tables (you can select a predefined format for a
+* table or create your own). Each autoformat has a number
+* of fields with definitions of font parameters, number
+* formats etc. for different parts of a table (column and
+* row names, footers, data). This object represents the
+* field of the same kind. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::TableAutoFormatField</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.sheet.TableAutoFormatField
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.sheet._TableAutoFormatField
+* @see ifc.beans._XPropertySet
+*/
+public class ScAutoFormatFieldObj extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Using SOffice ServiceManager an instance of
+ * <code>com.sun.star.sheet.TableAutoFormatField</code> service
+ * is created. From this collection one Format is retrieved
+ * and then from this format one of its compound fields is
+ * retrieved.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ try {
+
+ log.println ("create Object ...") ;
+ // creation of testobject here
+ XInterface formats = (XInterface)Param.getMSF().createInstance
+ ("com.sun.star.sheet.TableAutoFormats");
+ XIndexAccess formatsIndex = UnoRuntime.queryInterface
+ (XIndexAccess.class, formats);
+ XInterface format = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),formatsIndex.getByIndex(0));
+ XIndexAccess formatIndex = UnoRuntime.queryInterface
+ (XIndexAccess.class, format);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),formatIndex.getByIndex(0));
+
+ } catch (com.sun.star.uno.Exception e) {
+ log.println ("Exception occurred while creating test Object.") ;
+ e.printStackTrace(log) ;
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ return tEnv;
+ }
+
+} // finish class ScAutoFormatFieldObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellCursorObj.java b/qadevOOo/tests/java/mod/_sc/ScCellCursorObj.java
new file mode 100644
index 000000000..fe155bba8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellCursorObj.java
@@ -0,0 +1,294 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.ValueComparer;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSheetCellRange;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.sheet._XCellRangesQuery;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetCellCursor</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::sheet::XUsedAreaCursor</code></li>
+* <li> <code>com::sun::star::table::CellProperties</code></li>
+* <li> <code>com::sun::star::table::XCellRange</code></li>
+* <li> <code>com::sun::star::sheet::XCellRangeAddressable</code></li>
+* <li> <code>com::sun::star::table::XCellCursor</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCellCursor</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::sheet::XSheetOperation</code></li>
+* <li> <code>com::sun::star::sheet::XArrayFormulaRange</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCellRange</code></li>
+* <li> <code>com::sun::star::sheet::SheetCellRange</code></li>
+* <li> <code>com::sun::star::chart::XChartData</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::util::XMergeable</code></li>
+* <li> <code>com::sun::star::table::XColumnRowRange</code></li>
+* </ul>
+* @see com.sun.star.sheet.SheetCellCursor
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.sheet.XUsedAreaCursor
+* @see com.sun.star.table.CellProperties
+* @see com.sun.star.table.XCellRange
+* @see com.sun.star.sheet.XCellRangeAddressable
+* @see com.sun.star.table.XCellCursor
+* @see com.sun.star.sheet.XSheetCellCursor
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.sheet.XSheetOperation
+* @see com.sun.star.sheet.XArrayFormulaRange
+* @see com.sun.star.sheet.XSheetCellRange
+* @see com.sun.star.sheet.SheetCellRange
+* @see com.sun.star.chart.XChartData
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.util.XMergeable
+* @see com.sun.star.table.XColumnRowRange
+* @see ifc.style._ParagraphProperties
+* @see ifc.sheet._XUsedAreaCursor
+* @see ifc.table._CellProperties
+* @see ifc.table._XCellRange
+* @see ifc.sheet._XCellRangeAddressable
+* @see ifc.table._XCellCursor
+* @see ifc.sheet._XSheetCellCursor
+* @see ifc.style._CharacterProperties
+* @see ifc.sheet._XSheetOperation
+* @see ifc.sheet._XArrayFormulaRange
+* @see ifc.sheet._XSheetCellRange
+* @see ifc.sheet._SheetCellRange
+* @see ifc.chart._XChartData
+* @see ifc.beans._XPropertySet
+* @see ifc.util._XMergeable
+* @see ifc.table._XColumnRowRange
+*/
+public class ScCellCursorObj extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one of them, retrieves some cell range and creates cursor range
+ * that is instance of the service
+ * <code>com.sun.star.sheet.SheetCellCursor</code>,
+ * fills some cells in the cell range.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SHEET'</code> for
+ * {@link ifc.table._XCellCursor},
+ * {@link ifc.sheet._XArrayFormulaRange} (the spreadsheet that was
+ * retrieved from collection)</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ TestEnvironment tEnv = null;
+ XSpreadsheet oSheet = null;
+ XCellRange testRange = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ XSpreadsheets oSpreadsheets = UnoRuntime.queryInterface(
+ XSpreadsheetDocument.class,
+ xSheetDoc).getSheets();
+
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oSpreadsheets.getByName(
+ oSpreadsheets.getElementNames()[0]));
+
+ testRange = oSheet.getCellRangeByName("$A$1:$D$4");
+
+ XSheetCellRange testSheetRange = UnoRuntime.queryInterface(
+ XSheetCellRange.class,
+ testRange);
+ oObj = oSheet.createCursorByRange(testSheetRange);
+ oSheet.getCellByPosition(1, 1).setValue(1);
+ oSheet.getCellByPosition(4, 5).setValue(1);
+ oSheet.getCellByPosition(3, 2).setFormula("xTextDoc");
+ oSheet.getCellByPosition(3, 3).setFormula("xTextDoc");
+
+ log.println("Test object successfully created.");
+
+ tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("CRDESC",
+ "Column and RowDescriptions can't be changed for this Object");
+
+ tEnv.addObjRelation("SHEET", oSheet);
+ // add expected results for the XCellRangesQuery interface test
+ String[]expectedResults = new String[7];
+ expectedResults[_XCellRangesQuery.QUERYCOLUMNDIFFERENCES] = "Sheet1.B1";
+ expectedResults[_XCellRangesQuery.QUERYCONTENTCELLS] = "Sheet1.B2";
+ expectedResults[_XCellRangesQuery.QUERYEMPTYCELLS] = "Sheet1.A1 ... Sheet1.B1 ... Sheet1.B3 ... Sheet1.C1 ... Sheet1.D1";
+ expectedResults[_XCellRangesQuery.QUERYFORMULACELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYINTERSECTION] = "Sheet1.D4";
+ expectedResults[_XCellRangesQuery.QUERYROWDIFFERENCES] = "Sheet1.A2;Sheet1.C2";
+ expectedResults[_XCellRangesQuery.QUERYVISIBLECELLS] = "Sheet1.A2";
+ tEnv.addObjRelation("XCellRangesQuery.EXPECTEDRESULTS", expectedResults);
+
+ tEnv.addObjRelation("NewData",
+ new Object[][]
+ {
+ { "", "", "", "" },
+ { "", "2", "3", "4" },
+ { "", "2", "3", "4" },
+ { "", "2", "3", "4" }
+ });
+
+ XPropertySet PropSet = UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+ tEnv.addObjRelation("PropSet", PropSet);
+
+ //Adding relation for util.XSortable
+ final PrintWriter finalLog = log;
+ final XCellRange oTable = testRange;
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ try {
+ oTable.getCellByPosition(0, 0).setValue(4);
+ oTable.getCellByPosition(0, 1).setFormula("b");
+ oTable.getCellByPosition(0, 2).setValue(3);
+ oTable.getCellByPosition(0, 3).setValue(23);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ boolean res = false;
+ String[] value = new String[4];
+
+ for (int i = 0; i < 4; i++) {
+ try {
+ XCell cell = oTable.getCellByPosition(0, i);
+ value[i] = cell.getFormula();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ out.println("Sorting ascending");
+
+ String[] rightVal = { "3", "4", "23", "b" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ } else {
+ if (isSortAscending) {
+ String[] rightVal = { "3", "4", "23", "b" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ } else {
+ out.println("Sorted incorrectly");
+ }
+
+ return res;
+ }
+ });
+
+ return tEnv;
+ }
+} // finish class ScCellCursorObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellObj.java b/qadevOOo/tests/java/mod/_sc/ScCellObj.java
new file mode 100644
index 000000000..1c5e02d37
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellObj.java
@@ -0,0 +1,183 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.sheet._XCellRangesQuery;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetCell</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::table::CellProperties</code></li>
+* <li> <code>com::sun::star::text::XSimpleText</code></li>
+* <li> <code>com::sun::star::table::XCell</code></li>
+* <li> <code>com::sun::star::text::XTextRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::document::XActionLockable</code></li>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::text::XText</code></li>
+* <li> <code>com::sun::star::sheet::XCellAddressable</code></li>
+* </ul>
+* @see com.sun.star.sheet.SheetCell
+* @see com.sun.star.table.CellProperties
+* @see com.sun.star.text.XSimpleText
+* @see com.sun.star.table.XCell
+* @see com.sun.star.text.XTextRange
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.document.XActionLockable
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.text.XText
+* @see com.sun.star.sheet.XCellAddressable
+* @see ifc.table._CellProperties
+* @see ifc.text._XSimpleText
+* @see ifc.table._XCell
+* @see ifc.text._XTextRange
+* @see ifc.beans._XPropertySet
+* @see ifc.style._CharacterProperties
+* @see ifc.document._XActionLockable
+* @see ifc.style._ParagraphProperties
+* @see ifc.text._XText
+* @see ifc.sheet._XCellAddressable
+*/
+public class ScCellObj extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "Creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one of them. Retrieves some cell from the spreadsheet
+ * that is instance of the service <code>com.sun.star.sheet.SheetCell</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XTEXTINFO',</code> for
+ * {@link ifc.text._XText} </li>
+ * </ul>
+ * @see com.sun.star.sheet.SheetCell
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ XSpreadsheet oSheet = null;
+ XCell cell = null;
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet") ;
+ oObj = oSheet.getCellByPosition(2, 3) ;
+ cell = UnoRuntime.queryInterface(XCell.class, oObj);
+
+ log.println( "creating a new environment for ScCellObj object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Object relations for interface tests
+ DefaultDsc tDsc = new DefaultDsc(
+ "com.sun.star.text.XTextContent", "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xSheetDoc, tDsc ) );
+ // add the sheet
+ tEnv.addObjRelation("SHEET", oSheet);
+ // add expected results for the XCellRangesQuery interface test
+ String[]expectedResults = new String[7];
+
+ expectedResults[_XCellRangesQuery.QUERYCOLUMNDIFFERENCES] = "Sheet1.C4";
+ expectedResults[_XCellRangesQuery.QUERYCONTENTCELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYEMPTYCELLS] = "Sheet1.C4";
+ expectedResults[_XCellRangesQuery.QUERYFORMULACELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYINTERSECTION] = "";
+ expectedResults[_XCellRangesQuery.QUERYROWDIFFERENCES] = "Sheet1.C4";
+ expectedResults[_XCellRangesQuery.QUERYVISIBLECELLS] = "Sheet1.C4";
+ tEnv.addObjRelation("XCellRangesQuery.EXPECTEDRESULTS", expectedResults);
+ tEnv.addObjRelation("XCellRangesQuery.CREATEENTRIES", Boolean.TRUE);
+
+ // make entries in this cell at the interface test
+ tEnv.addObjRelation("XTextFieldsSupplier.MAKEENTRY", Boolean.TRUE);
+ tEnv.addObjRelation("MAKEENTRYINCELL", cell);
+
+ // for XSearchable and XReplaceable interface test
+ tEnv.addObjRelation("XSearchable.MAKEENTRYINCELL", cell);
+ tEnv.addObjRelation("EXCLUDEFINDNEXT", Boolean.TRUE);
+
+ // for XFormulaQuery interface test
+ tEnv.addObjRelation("EXPECTEDDEPENDENTVALUES", new int[]{2,2,3,3});
+ tEnv.addObjRelation("EXPECTEDPRECEDENTVALUES", new int[]{0,3,0,0});
+ tEnv.addObjRelation("RANGEINDICES", new int[]{0,0});
+
+ // XTextFieldsSupplier
+ tEnv.addObjRelation("SPREADSHEET", xSheetDoc);
+
+ XPropertySet PropSet = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ tEnv.addObjRelation("PropSet",PropSet);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ScCellObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellRangeObj.java b/qadevOOo/tests/java/mod/_sc/ScCellRangeObj.java
new file mode 100644
index 000000000..c37e04015
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellRangeObj.java
@@ -0,0 +1,279 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.ValueComparer;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.sheet._XCellRangesQuery;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetCellRange</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::table::CellProperties</code></li>
+* <li> <code>com::sun::star::util::XMergeable</code></li>
+* <li> <code>com::sun::star::sheet::XCellRangeAddressable</code></li>
+* <li> <code>com::sun::star::sheet::XArrayFormulaRange</code></li>
+* <li> <code>com::sun::star::chart::XChartData</code></li>
+* <li> <code>com::sun::star::table::XColumnRowRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::sheet::XSheetOperation</code></li>
+* <li> <code>com::sun::star::table::XCellRange</code></li>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::sheet::SheetCellRange</code></li>
+* </ul>
+* @see com.sun.star.sheet.SheetCellRange
+* @see com.sun.star.table.CellProperties
+* @see com.sun.star.util.XMergeable
+* @see com.sun.star.sheet.XCellRangeAddressable
+* @see com.sun.star.sheet.XArrayFormulaRange
+* @see com.sun.star.chart.XChartData
+* @see com.sun.star.table.XColumnRowRange
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.sheet.XSheetOperation
+* @see com.sun.star.table.XCellRange
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.sheet.SheetCellRange
+* @see ifc.table._CellProperties
+* @see ifc.util._XMergeable
+* @see ifc.sheet._XCellRangeAddressable
+* @see ifc.sheet._XArrayFormulaRange
+* @see ifc.chart._XChartData
+* @see ifc.table._XColumnRowRange
+* @see ifc.beans._XPropertySet
+* @see ifc.style._CharacterProperties
+* @see ifc.sheet._XSheetOperation
+* @see ifc.table._XCellRange
+* @see ifc.style._ParagraphProperties
+* @see ifc.sheet._SheetCellRange
+*/
+public class ScCellRangeObj extends TestCase {
+ XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document,
+ * and takes one of them. Retrieves some cell range from the spreadsheet.
+ * The retrieved cell range is instance of the service
+ * <code>com.sun.star.sheet.SheetCellRange</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SHEET'</code> for
+ * {@link ifc.sheet._XArrayFormulaRange} (the spreadsheet which the cell
+ * range was retrieved from)</li>
+ * </ul>
+ * @see com.sun.star.sheet.XSpreadsheet
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XCellRange testRange;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ XSpreadsheets oSpreadsheets = UnoRuntime.queryInterface(
+ XSpreadsheetDocument.class,
+ xSheetDoc).getSheets();
+ XNameAccess oNames = UnoRuntime.queryInterface(
+ XNameAccess.class, oSpreadsheets);
+
+ XSpreadsheet oSheet = null;
+
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oNames.getByName(oNames.getElementNames()[0]));
+
+ oObj = oSheet.getCellRangeByPosition(0, 0, 3, 4);
+ testRange = UnoRuntime.queryInterface(
+ XCellRange.class, oObj);
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("SHEET", oSheet);
+ // add expected results for the XCellRangesQuery interface test
+ String[]expectedResults = new String[7];
+ expectedResults[_XCellRangesQuery.QUERYCOLUMNDIFFERENCES] = "Sheet1.B1:C1;Sheet1.B3";
+ expectedResults[_XCellRangesQuery.QUERYCONTENTCELLS] = "Sheet1.B2:B3";
+ expectedResults[_XCellRangesQuery.QUERYEMPTYCELLS] = "Sheet1.A1 ... Sheet1.B1 ... Sheet1.B5 ... Sheet1.C3 ... Sheet1.D1";
+ expectedResults[_XCellRangesQuery.QUERYFORMULACELLS] = "Sheet1.C2";
+ expectedResults[_XCellRangesQuery.QUERYINTERSECTION] = "Sheet1.D4";
+ expectedResults[_XCellRangesQuery.QUERYROWDIFFERENCES] = "Sheet1.A2:A4;Sheet1.C2:D4";
+ expectedResults[_XCellRangesQuery.QUERYVISIBLECELLS] = "Sheet1.A2";
+ tEnv.addObjRelation("XCellRangesQuery.EXPECTEDRESULTS", expectedResults);
+ tEnv.addObjRelation("XCellRangesQuery.CREATEENTRIES", Boolean.TRUE);
+
+ XPropertySet PropSet = UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+ tEnv.addObjRelation("PropSet", PropSet);
+
+ // XSearchable: Add a cell to make a searchable entry
+ try {
+ tEnv.addObjRelation("XSearchable.MAKEENTRYINCELL", new XCell[] {
+ testRange.getCellByPosition(0,0), testRange.getCellByPosition(0,1)});
+ }
+ catch(com.sun.star.lang.IndexOutOfBoundsException e){
+ e.printStackTrace(log);
+ log.println("Cannot make required object relation 'XSearchable.MAKEENTRYINCELL'.");
+ }
+
+ // XCellRangeData
+/* Object[][] newData = new Object[5][4];
+ for (int i=0; i<newData.length; i++) {
+ for (int j=0; j<newData[i].length; j++) {
+ newData[i][j] = new Double(i*10+j);
+ }
+ }
+ tEnv.addObjRelation("NewData", newData); */
+
+ //Adding relation for util.XSortable
+ final PrintWriter finalLog = log;
+ final XCellRange oTable = testRange;
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ try {
+ oTable.getCellByPosition(0, 0).setValue(4);
+ oTable.getCellByPosition(0, 1).setFormula("b");
+ oTable.getCellByPosition(0, 2).setValue(3);
+ oTable.getCellByPosition(0, 3).setValue(23);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ boolean res = false;
+ String[] value = new String[4];
+
+ for (int i = 0; i < 4; i++) {
+ try {
+ XCell cell = oTable.getCellByPosition(0, i);
+ value[i] = cell.getFormula();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ out.println("Sorting ascending");
+
+ String[] rightVal = { "3", "4", "23", "b" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ } else {
+ if (isSortAscending) {
+ String[] rightVal = { "3", "4", "23", "b" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ } else {
+ out.println("Sorted incorrectly");
+ }
+
+ return res;
+ }
+ });
+
+ return tEnv;
+ }
+} // finish class ScCellRangeObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellRangesObj.java b/qadevOOo/tests/java/mod/_sc/ScCellRangesObj.java
new file mode 100644
index 000000000..1dfbcfc1e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellRangesObj.java
@@ -0,0 +1,224 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import ifc.sheet._XCellRangesQuery;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetCellRanges</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::table::CellProperties</code></li>
+* <li> <code>com::sun::star::container::XNameReplace</code></li>
+* <li> <code>com::sun::star::container::XNameContainer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCellRangeContainer</code></li>
+* <li> <code>com::sun::star::sheet::XSheetOperation</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCellRanges</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* </ul>
+* @see com.sun.star.sheet.SheetCellRanges
+* @see com.sun.star.table.CellProperties
+* @see com.sun.star.container.XNameReplace
+* @see com.sun.star.container.XNameContainer
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.sheet.XSheetCellRangeContainer
+* @see com.sun.star.sheet.XSheetOperation
+* @see com.sun.star.sheet.XSheetCellRanges
+* @see com.sun.star.container.XNameAccess
+* @see ifc.table._CellProperties
+* @see ifc.container._XNameReplace
+* @see ifc.container._XNameContainer
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XEnumerationAccess
+* @see ifc.sheet._XSheetCellRangeContainer
+* @see ifc.sheet._XSheetOperation
+* @see ifc.sheet._XSheetCellRanges
+* @see ifc.container._XNameAccess
+*/
+public class ScCellRangesObj extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp =
+ UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.sheet.SheetCellRanges</code> and fills some cells.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> for
+ * {@link ifc.container._XNameReplace},
+ * {@link ifc.container._XNameContainer} (type of
+ * <code>XCellRange</code>)</li>
+ * <li> <code>'THRCNT'</code> for
+ * {@link ifc.container._XNameReplace}(the number of the running threads
+ * that was retrieved from the method parameter <code>Param</code>)</li>
+ * <li> <code>'NameReplaceIndex'</code> for
+ * {@link ifc.container._XNameReplace} </li>
+ * </ul>
+ * @see com.sun.star.table.XCellRange
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oRange = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+
+ log.println("Getting test object ");
+
+ XComponent oComp = UnoRuntime.queryInterface (XComponent.class, xSheetDoc);
+
+ oObj = (XInterface)
+ SOF.createInstance(oComp, "com.sun.star.sheet.SheetCellRanges");
+
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndSheets = UnoRuntime.queryInterface (XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = null;
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class), oIndSheets.getByIndex(0));
+ XNameContainer oRanges = UnoRuntime.queryInterface(XNameContainer.class, oObj);
+
+ oRange = oSheet.getCellRangeByName("C1:D4");
+ oRanges.insertByName("Range1", oRange);
+ oRange = oSheet.getCellRangeByName("E2:F5");
+ oRanges.insertByName("Range2", oRange);
+ oRange = oSheet.getCellRangeByName("G2:H3");
+ oRanges.insertByName("Range3", oRange);
+ oRange = oSheet.getCellRangeByName("I7:J8");
+ oRanges.insertByName("Range4", oRange);
+
+ log.println("filling some cells");
+ for (int i = 0; i < 10; i++) {
+ for (int j = 0; j < 5; j++) {
+ oSheet.getCellByPosition(i, j).setFormula("a");
+ }
+ }
+ for (int i = 0; i < 10; i++) {
+ for (int j = 5; j < 10; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i + j);
+ }
+ }
+
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // NameReplaceIndex : _XNameReplace
+ log.println( "adding NameReplaceIndex as mod relation to environment" );
+ tEnv.addObjRelation("NameReplaceIndex", "0");
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println( "adding INSTANCEn as mod relation to environment" );
+
+ int THRCNT = 1;
+ if ((String)Param.get("THRCNT") != null) {
+ THRCNT= Integer.parseInt((String)Param.get("THRCNT"));
+ }
+ int a = 0;
+ int b = 0;
+ for (int n = 1; n < (THRCNT + 1) ; n++) {
+ a = n * 2;
+ b = a + 1;
+ oRange = oSheet.getCellRangeByName("A" + a + ":B" + b);
+ log.println(
+ "adding INSTANCE" + n + " as mod relation to environment" );
+
+ tEnv.addObjRelation("INSTANCE" + n, oRange);
+ }
+
+ XPropertySet PropSet = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ tEnv.addObjRelation("PropSet",PropSet);
+ tEnv.addObjRelation("SHEET", oSheet);
+ // add expected results for the XCellRangesQuery interface test
+ String[]expectedResults = new String[7];
+ expectedResults[_XCellRangesQuery.QUERYCOLUMNDIFFERENCES] = "Sheet1.I7:J8";
+ expectedResults[_XCellRangesQuery.QUERYCONTENTCELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYEMPTYCELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYFORMULACELLS] = "";
+ expectedResults[_XCellRangesQuery.QUERYINTERSECTION] = "Sheet1.D4";
+ expectedResults[_XCellRangesQuery.QUERYROWDIFFERENCES] = "Sheet1.I7:J8";
+ expectedResults[_XCellRangesQuery.QUERYVISIBLECELLS] = "Sheet1.C2:D4"; // first range, first line invisible
+ tEnv.addObjRelation("XCellRangesQuery.EXPECTEDRESULTS", expectedResults);
+
+ // for XSearchable and XReplaceable interface test
+ tEnv.addObjRelation("SEARCHSTRING", "15");
+
+ // for XFormulaQuery interface test
+ tEnv.addObjRelation("EXPECTEDDEPENDENTVALUES", new int[]{4,5,1,4});
+ tEnv.addObjRelation("EXPECTEDPRECEDENTVALUES", new int[]{4,5,1,4});
+ return tEnv ;
+ }
+
+} // finish class ScCellRangesObj
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellTextCursor.java b/qadevOOo/tests/java/mod/_sc/ScCellTextCursor.java
new file mode 100644
index 000000000..882f25702
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScCellTextCursor.java
@@ -0,0 +1,162 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XText;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.TextCursor</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::text::XTextCursor</code></li>
+* <li> <code>com::sun::star::text::XWordCursor</code></li>
+* <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+* <li> <code>com::sun::star::text::XTextRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XContentEnumerationAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::text::XSentenceCursor</code></li>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::text::XParagraphCursor</code></li>
+* <li> <code>com::sun::star::document::XDocumentInsertable</code></li>
+* <li> <code>com::sun::star::util::XSortable</code></li>
+* <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+* </ul>
+* @see com.sun.star.text.TextCursor
+* @see com.sun.star.text.XTextCursor
+* @see com.sun.star.text.XWordCursor
+* @see com.sun.star.style.CharacterPropertiesComplex
+* @see com.sun.star.text.XTextRange
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XContentEnumerationAccess
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.text.XSentenceCursor
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.text.XParagraphCursor
+* @see com.sun.star.document.XDocumentInsertable
+* @see com.sun.star.util.XSortable
+* @see com.sun.star.style.CharacterPropertiesAsian
+* @see ifc.text._XTextCursor
+* @see ifc.text._XWordCursor
+* @see ifc.style._CharacterPropertiesComplex
+* @see ifc.text._XTextRange
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XContentEnumerationAccess
+* @see ifc.beans._XPropertyState
+* @see ifc.style._CharacterProperties
+* @see ifc.text._XSentenceCursor
+* @see ifc.style._ParagraphProperties
+* @see ifc.text._XParagraphCursor
+* @see ifc.document._XDocumentInsertable
+* @see ifc.util._XSortable
+* @see ifc.style._CharacterPropertiesAsian
+*/
+public class ScCellTextCursor extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Retrieves the cell from the spreadsheet
+ * and creates text cursor of the cell using the interface
+ * <code>XText</code>. This text cursor is the instance of
+ * the service <code>com.sun.star.text.TextCursor</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XTEXT'</code> for
+ * {@link ifc.text._XTextRange} (type of
+ * <code>XEnumerationAccess</code> that was retrieved from the
+ * collection of visible cells)</li>
+ * </ul>
+ * @see com.sun.star.text.XText
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XCell aCell = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // get a soffice factory object
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet") ;
+ aCell = oSheet.getCellByPosition(1,1) ;
+
+ XText aText = UnoRuntime.queryInterface(XText.class, aCell);
+ aText.setString("ScCellTextCursor");
+ oObj = aText.createTextCursor();
+
+ log.println( "creating a new environment for ScCellTextCursor object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Object relations for interface tests
+ tEnv.addObjRelation("XTEXT", aText);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ScCellTextCursor
+
diff --git a/qadevOOo/tests/java/mod/_sc/ScDataPilotItemObj.java b/qadevOOo/tests/java/mod/_sc/ScDataPilotItemObj.java
new file mode 100644
index 000000000..47f43fd1d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDataPilotItemObj.java
@@ -0,0 +1,328 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.DataPilotFieldOrientation;
+import com.sun.star.sheet.XDataPilotDescriptor;
+import com.sun.star.sheet.XDataPilotField;
+import com.sun.star.sheet.XDataPilotTables;
+import com.sun.star.sheet.XDataPilotTablesSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DataPilotField</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::sheet::DataPilotField</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.sheet.DataPilotField
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.sheet.DataPilotField
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.container._XNamed
+* @see ifc.sheet._DataPilotField
+* @see ifc.beans._XPropertySet
+*/
+public class ScDataPilotItemObj extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * A field is filled some values. This integer determines the size of the
+ * field in x and y direction.
+ */
+ private static final int mMaxFieldIndex = 6;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Fills some table in the spreadsheet.
+ * Obtains the collection of data pilot tables using the interface
+ * <code>XDataPilotTablesSupplier</code>. Creates a data pilot descriptor
+ * for the filled table and inserts new data pilot table with this descriptor
+ * to the collection. Obtains the collection of all the data pilot fields
+ * using the interface <code>XDataPilotDescriptor</code>. Retrieves from
+ * the collection the data pilot field with index 0. This data pilot field
+ * is the instance of the service <code>com.sun.star.sheet.DataPilotField</code>.
+ * @see com.sun.star.sheet.DataPilotField
+ * @see com.sun.star.sheet.XDataPilotTablesSupplier
+ * @see com.sun.star.sheet.XDataPilotDescriptor
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ // the cell range
+ CellRangeAddress sCellRangeAddress = new CellRangeAddress();
+ sCellRangeAddress.Sheet = 0;
+ sCellRangeAddress.StartColumn = 1;
+ sCellRangeAddress.StartRow = 0;
+ sCellRangeAddress.EndColumn = mMaxFieldIndex - 1;
+ sCellRangeAddress.EndRow = mMaxFieldIndex - 1;
+
+ // position of the data pilot table
+ CellAddress sCellAddress = new CellAddress();
+ sCellAddress.Sheet = 0;
+ sCellAddress.Column = 7;
+ sCellAddress.Row = 8;
+
+ log.println("Getting a sheet");
+
+ XSpreadsheets xSpreadsheets = xSheetDoc.getSheets();
+ XSpreadsheet oSheet = null;
+ XSpreadsheet oSheet2 = null;
+ XIndexAccess oIndexAccess = UnoRuntime.queryInterface(
+ XIndexAccess.class, xSpreadsheets);
+ // Make sure there are at least two sheets
+ xSpreadsheets.insertNewByName("Some Sheet", (short)0);
+
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(0));
+ oSheet2 = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(1));
+
+ log.println("Filling a table");
+
+ for (int i = 1; i < mMaxFieldIndex; i++) {
+ oSheet.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet.getCellByPosition(0, i).setFormula("Row" + i);
+ oSheet2.getCellByPosition(i, 0).setFormula("Col" + i);
+ oSheet2.getCellByPosition(0, i).setFormula("Row" + i);
+ }
+
+ for (int i = 1; i < mMaxFieldIndex; i++)
+ for (int j = 1; j < mMaxFieldIndex; j++) {
+ oSheet.getCellByPosition(i, j).setValue(i * (j + 1));
+ oSheet2.getCellByPosition(i, j).setValue(i * (j + 2));
+ }
+
+ oSheet.getCellByPosition(1, 5);
+
+ int x = sCellAddress.Column;
+ int y = sCellAddress.Row + 3;
+
+
+ oSheet.getCellByPosition(x, y);
+
+
+ // create the test objects
+ log.println("Getting test objects");
+
+ XDataPilotTablesSupplier DPTS = UnoRuntime.queryInterface(
+ XDataPilotTablesSupplier.class,
+ oSheet);
+ XDataPilotTables DPT = DPTS.getDataPilotTables();
+ XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
+ DPDsc.setSourceRange(sCellRangeAddress);
+
+ XPropertySet fieldPropSet = null;
+
+ Object oDataPilotField = DPDsc.getDataPilotFields().getByIndex(0);
+ fieldPropSet = UnoRuntime.queryInterface(
+ XPropertySet.class, oDataPilotField);
+
+ fieldPropSet.setPropertyValue("Function",
+ com.sun.star.sheet.GeneralFunction.SUM);
+ fieldPropSet.setPropertyValue("Orientation",
+ com.sun.star.sheet.DataPilotFieldOrientation.DATA);
+
+ log.println("Insert the DataPilotTable");
+
+ if (DPT.hasByName("DataPilotTable")) {
+ DPT.removeByName("DataPilotTable");
+ }
+
+ XIndexAccess IA = DPDsc.getDataPilotFields();
+ getSRange(IA);
+
+ DPT.insertNewByName("DataPilotTable", sCellAddress, DPDsc);
+
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class), IA.getByIndex(0));
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ XDataPilotField xDataPilotField = UnoRuntime.queryInterface(
+ XDataPilotField.class, oObj);
+
+ XIndexAccess xIA = xDataPilotField.getItems();
+
+ oObj = UnoRuntime.queryInterface(XInterface.class,
+ xIA.getByIndex(0));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("Implementationname: " + util.utils.getImplName(oObj));
+
+ // Other parameters required for interface tests
+ tEnv.addObjRelation("NoSetName", "ScDataPilotItemObj");
+ return tEnv;
+ }
+
+ private void getSRange(XIndexAccess IA) {
+ int fieldsAmount = IA.getCount() + 1;
+
+ int i = -1;
+ int cnt = 0;
+
+ while ((++i) < fieldsAmount) {
+ Object field;
+
+ try {
+ field = IA.getByIndex(i);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ XNamed named = UnoRuntime.queryInterface(XNamed.class,
+ field);
+ String name = named.getName();
+
+ log.println("**Field : '" + name + "' ... ");
+
+ if (!name.equals("Data")) {
+
+ XPropertySet props = UnoRuntime.queryInterface(
+ XPropertySet.class, field);
+
+ try {
+ switch (cnt % 5) {
+ case 0:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.COLUMN);
+ log.println(" Column");
+
+ break;
+
+ case 1:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.ROW);
+ log.println(" Row");
+
+ break;
+
+ case 2:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.DATA);
+ log.println(" Data");
+
+ break;
+
+ case 3:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.HIDDEN);
+ log.println(" Hidden");
+
+ break;
+
+ case 4:
+ props.setPropertyValue("Orientation",
+ DataPilotFieldOrientation.PAGE);
+ log.println(" Page");
+
+ break;
+ }
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ e.printStackTrace(log);
+
+ return;
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ e.printStackTrace(log);
+
+ return;
+ }
+
+ if ((++cnt) > 4) {
+ break;
+ }
+ } else {
+ return;
+ }
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScDatabaseRangeObj.java b/qadevOOo/tests/java/mod/_sc/ScDatabaseRangeObj.java
new file mode 100644
index 000000000..65630bd00
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDatabaseRangeObj.java
@@ -0,0 +1,200 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XCellRangeReferrer;
+import com.sun.star.sheet.XDatabaseRanges;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XImportable;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.DatabaseRange</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::sheet::DatabaseRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::sheet::XDatabaseRange</code></li>
+* <li> <code>com::sun::star::sheet::XCellRangeReferrer</code></li>
+* </ul>
+* @see com.sun.star.sheet.DatabaseRange
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.sheet.DatabaseRange
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.sheet.XDatabaseRange
+* @see com.sun.star.sheet.XCellRangeReferrer
+* @see ifc.container._XNamed
+* @see ifc.sheet._DatabaseRange
+* @see ifc.beans._XPropertySet
+* @see ifc.sheet._XDatabaseRange
+* @see ifc.sheet._XCellRangeReferrer
+*/
+public class ScDatabaseRangeObj extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a Spreadsheet document");
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = UnoRuntime.queryInterface(
+ XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of database ranges in the document.
+ * If the database range with name <code>'dbRange'</code> exists
+ * in the collection then removes it from the collection.
+ * Creates new database range and adds it to the collection with the name
+ * <code>'dbRange'</code>.The database range that was added to the collection
+ * is the instance of the service <code>com.sun.star.sheet.DatabaseRange</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DATAAREA'</code> for
+ * {@link ifc.sheet._XCellRangeReferrer}(of type
+ * <code>CellRangeAddress</code>)</li>
+ * <li> <code>'XCELLRANGE'</code> (of type <code>XCellRange</code>):
+ * cell range of the spreadsheet with database range</li>
+ * </ul>
+ * @see com.sun.star.sheet.DatabaseRange
+ * @see com.sun.star.table.CellRangeAddress
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("Creating a test environment");
+
+ log.println("Getting test object ");
+
+ XPropertySet docProps = UnoRuntime.queryInterface(
+ XPropertySet.class, xSheetDoc);
+
+ XSpreadsheets sheets = xSheetDoc.getSheets();
+ String[] names = sheets.getElementNames();
+ XDatabaseRanges dbRanges = null;
+ XImportable xImp = null;
+
+ Object sheet = sheets.getByName(names[0]);
+ xImp = UnoRuntime.queryInterface(XImportable.class,
+ sheet);
+ dbRanges = (XDatabaseRanges) AnyConverter.toObject(
+ new Type(XDatabaseRanges.class),
+ docProps.getPropertyValue("DatabaseRanges"));
+ _doImport(xImp);
+
+ String dbName = "dbRange";
+
+ if (dbRanges.hasByName(dbName)) {
+ dbRanges.removeByName(dbName);
+ }
+
+
+ CellRangeAddress aRange = null;
+
+ XNameAccess dbrNA = UnoRuntime.queryInterface(
+ XNameAccess.class, dbRanges);
+ // we need to add it
+ dbRanges.addNewByName(dbName,new CellRangeAddress((short)0, 0, 0, 0, 5));
+
+ UnoRuntime.queryInterface(XNamed.class,
+ dbrNA.getByName(
+ dbName));
+
+ XCellRangeReferrer aReferrer = UnoRuntime.queryInterface(
+ XCellRangeReferrer.class,
+ dbrNA.getByName(dbName));
+ XCellRangeAddressable aRangeA = UnoRuntime.queryInterface(
+ XCellRangeAddressable.class,
+ aReferrer.getReferredCells());
+ aRange = aRangeA.getRangeAddress();
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),
+ dbrNA.getByName(dbName));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ // Other parameters required for interface tests
+ tEnv.addObjRelation("DATAAREA", aRange);
+
+ XCellRange xCellRange = UnoRuntime.queryInterface(
+ XCellRange.class, sheets.getByName(names[0]));
+
+ tEnv.addObjRelation("XCELLRANGE", xCellRange);
+
+ return tEnv;
+ }
+
+ public void _doImport(XImportable imp) {
+ PropertyValue[] descriptor = imp.createImportDescriptor(false);
+
+ log.print("Setting the ImportDescriptor (Bibliograpy, SQL, select Identifier from biblio) -- ");
+ descriptor[0].Value = "Bibliography";
+ descriptor[1].Value = com.sun.star.sheet.DataImportMode.SQL;
+ descriptor[2].Value = "select Identifier from biblio";
+ log.println("done");
+
+ log.print("Importing data (Bibliograpy, Table, biblio) -- ");
+ imp.doImport(descriptor);
+ log.println("done");
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScDocumentConfiguration.java b/qadevOOo/tests/java/mod/_sc/ScDocumentConfiguration.java
new file mode 100644
index 000000000..1add5a952
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScDocumentConfiguration.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+
+public class ScDocumentConfiguration extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a sheetdocument");
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+ DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory docMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ xSheetDoc);
+ Object oObj = docMSF.createInstance("com.sun.star.sheet.DocumentSettings");
+
+ log.println("Implementationname: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment((XInterface) oObj);
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextCursor.java b/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextCursor.java
new file mode 100644
index 000000000..f91682023
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextCursor.java
@@ -0,0 +1,174 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XHeaderFooterContent;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.TextCursor</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::text::XTextCursor</code></li>
+* <li> <code>com::sun::star::text::XWordCursor</code></li>
+* <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+* <li> <code>com::sun::star::text::XTextRange</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XContentEnumerationAccess</code></li>
+* <li> <code>com::sun::star::beans::XPropertyState</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::text::XSentenceCursor</code></li>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::text::XParagraphCursor</code></li>
+* <li> <code>com::sun::star::document::XDocumentInsertable</code></li>
+* <li> <code>com::sun::star::util::XSortable</code></li>
+* <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+* </ul>
+* @see com.sun.star.text.TextCursor
+* @see com.sun.star.text.XTextCursor
+* @see com.sun.star.text.XWordCursor
+* @see com.sun.star.style.CharacterPropertiesComplex
+* @see com.sun.star.text.XTextRange
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XContentEnumerationAccess
+* @see com.sun.star.beans.XPropertyState
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.text.XSentenceCursor
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.text.XParagraphCursor
+* @see com.sun.star.document.XDocumentInsertable
+* @see com.sun.star.util.XSortable
+* @see com.sun.star.style.CharacterPropertiesAsian
+* @see ifc.text._XTextCursor
+* @see ifc.text._XWordCursor
+* @see ifc.style._CharacterPropertiesComplex
+* @see ifc.text._XTextRange
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XContentEnumerationAccess
+* @see ifc.beans._XPropertyState
+* @see ifc.style._CharacterProperties
+* @see ifc.text._XSentenceCursor
+* @see ifc.style._ParagraphProperties
+* @see ifc.text._XParagraphCursor
+* @see ifc.document._XDocumentInsertable
+* @see ifc.util._XSortable
+* @see ifc.style._CharacterPropertiesAsian
+*/
+public class ScHeaderFooterTextCursor extends TestCase {
+ private XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of style families available in the document
+ * using the interface <code>XStyleFamiliesSupplier</code>.
+ * Obtains default style from the style family <code>'PageStyles'</code>.
+ * Retrieves value of the property <code>'RightPageHeaderContent'</code>.
+ * Sets some string for the text which is printed in the center part of the
+ * header or footer using the interface <code>XHeaderFooterContent</code>
+ * and sets new value of the property <code>'RightPageHeaderContent'</code>.
+ * Creates text cursor for the text which is printed in the center part of
+ * the header or footer. This text cursor is the instance of the service
+ * <code>com.sun.star.text.TextCursor</code>.
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XPropertySet PropSet;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class,
+ xSpreadsheetDoc );
+
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Default"));
+
+ //get the property-set
+ PropSet = UnoRuntime.queryInterface(XPropertySet.class, StdStyle);
+
+ XHeaderFooterContent RPHC = null;
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ RPHC = (XHeaderFooterContent) AnyConverter.toObject(
+ new Type(XHeaderFooterContent.class),
+ PropSet.getPropertyValue("RightPageHeaderContent"));
+
+ XText center = RPHC.getCenterText();
+ center.setString("CENTER");
+
+ PropSet.setPropertyValue("RightPageHeaderContent",RPHC);
+
+ // create testobject here
+ oObj = center.createTextCursor();
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // add relation for XTextRange
+ tEnv.addObjRelation("XTEXT",
+ UnoRuntime.queryInterface(XText.class,center));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class ScHeaderFooterTextCursor
diff --git a/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextObj.java b/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextObj.java
new file mode 100644
index 000000000..990d6183a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScHeaderFooterTextObj.java
@@ -0,0 +1,219 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XHeaderFooterContent;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.Text</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+* <li> <code>com::sun::star::text::XSimpleText</code></li>
+* <li> <code>com::sun::star::text::XTextRange</code></li>
+* <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+* <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+* <li> <code>com::sun::star::text::XText</code></li>
+* </ul>
+* @see com.sun.star.text.Text
+* @see com.sun.star.text.XTextRangeMover
+* @see com.sun.star.text.XSimpleText
+* @see com.sun.star.text.XTextRange
+* @see com.sun.star.text.XRelativeTextContentInsert
+* @see com.sun.star.text.XTextRangeCompare
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XEnumerationAccess
+* @see com.sun.star.text.XText
+* @see ifc.text._XTextRangeMover
+* @see ifc.text._XSimpleText
+* @see ifc.text._XTextRange
+* @see ifc.text._XRelativeTextContentInsert
+* @see ifc.text._XTextRangeCompare
+* @see ifc.container._XElementAccess
+* @see ifc.container._XEnumerationAccess
+* @see ifc.text._XText
+*/
+public class ScHeaderFooterTextObj extends TestCase {
+
+ private XSpreadsheetDocument xSpreadsheetDoc;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface (XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of style families available in the document
+ * using the interface <code>XStyleFamiliesSupplier</code>.
+ * Obtains default style from the style family <code>'PageStyles'</code>.
+ * Retrieves value of the property <code>'RightPageHeaderContent'</code>.
+ * Creates text cursor for the text which is printed in the center part of
+ * the header or footer using the interface <code>XHeaderFooterContent</code>.
+ * Insert some lines using the created cursor and sets new value of the
+ * property <code>'RightPageHeaderContent'</code>. The value of the property
+ * <code>'RightPageHeaderContent'</code> is the instance of the service
+ * <code>com.sun.star.text.Text</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'RangeForMove'</code> for
+ * {@link ifc.text._XTextRangeMover} (the range to be moved)</li>
+ * <li> <code>'XTextRange'</code> for
+ * {@link ifc.text._XTextRangeMover} (the range that includes moving
+ * range)</li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert}(the instance creator
+ * which can create instances of some text content service)</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert}(the instance creator
+ * which can create instances of <code>com.sun.star.text.Paragraph</code>
+ * service)</li>
+ * </ul>
+ * @see com.sun.star.text.Text
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XPropertySet PropSet;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class,
+ xSpreadsheetDoc );
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Default"));
+
+ //get the property-set
+ PropSet = UnoRuntime.queryInterface(XPropertySet.class, StdStyle);
+
+ XHeaderFooterContent RPHC = null;
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ RPHC = (XHeaderFooterContent) AnyConverter.toObject(
+ new Type(XHeaderFooterContent.class),
+ PropSet.getPropertyValue("RightPageHeaderContent"));
+
+ XText center = RPHC.getCenterText();
+
+ XTextRange text_to_move = null;
+
+ log.println( "inserting some lines" );
+ XTextCursor oCursor = center.createTextCursor();
+ center.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ center.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ center.insertString(oCursor,"Paragraph 1", false);
+ center.insertString(oCursor,": ScHeaderFooterTextObj", false);
+ center.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ center.insertString(oCursor, "THE QUICK BROWN FOX JUMPS OVER THE" +
+ " LAZY DOG: ScHeaderFooterTextObj", false );
+ center.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ center.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ oCursor.setString("TextForMove");
+ text_to_move = oCursor;
+
+ XTextCursor oCursor1 = center.createTextCursorByRange(center.getEnd());
+ center.insertString(oCursor1,"Paragraph 2", false);
+ center.insertString(oCursor1,": ScHeaderFooterTextObj", false);
+ center.insertControlCharacter(
+ oCursor1, ControlCharacter.PARAGRAPH_BREAK, false );
+ center.insertString( oCursor1, "THE QUICK BROWN FOX JUMPS OVER THE" +
+ " LAZY DOG: ScHeaderFooterTextObj", false);
+ center.insertControlCharacter(
+ oCursor1, ControlCharacter.PARAGRAPH_BREAK, false );
+ center.insertControlCharacter(
+ oCursor1, ControlCharacter.LINE_BREAK, false );
+
+ PropSet.setPropertyValue("RightPageHeaderContent", RPHC);
+
+ // create testobject here
+ oObj = center;
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ DefaultDsc tDsc = new DefaultDsc(
+ "com.sun.star.text.XTextContent","com.sun.star.text.TextField.Time");
+
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation(
+ "XTEXTINFO", new InstCreator( xSpreadsheetDoc, tDsc ) );
+
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator(xSpreadsheetDoc, pDsc) );
+
+ log.println("adding TextRange for XTextRangeMover" );
+ tEnv.addObjRelation("RangeForMove", text_to_move);
+ tEnv.addObjRelation("XTextRange", RPHC.getCenterText());
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+} // finish class ScHeaderFooterTextObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScModelObj.java b/qadevOOo/tests/java/mod/_sc/ScModelObj.java
new file mode 100644
index 000000000..e4a89b971
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScModelObj.java
@@ -0,0 +1,209 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XSelectionSupplier;
+import ifc.view._XPrintJobBroadcaster;
+import java.io.File;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SpreadsheetDocument</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::sheet::XSpreadsheetDocument</code></li>
+* <li> <code>com::sun::star::sheet::SpreadsheetDocumentSettings</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::frame::XModel</code></li>
+* <li> <code>com::sun::star::sheet::SpreadsheetDocument</code></li>
+* <li> <code>com::sun::star::util::XNumberFormatsSupplier</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.sheet.SpreadsheetDocument
+* @see com.sun.star.sheet.XSpreadsheetDocument
+* @see com.sun.star.sheet.SpreadsheetDocumentSettings
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.frame.XModel
+* @see com.sun.star.sheet.SpreadsheetDocument
+* @see com.sun.star.util.XNumberFormatsSupplier
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.sheet._XSpreadsheetDocument
+* @see ifc.sheet._SpreadsheetDocumentSettings
+* @see ifc.lang._XComponent
+* @see ifc.frame._XModel
+* @see ifc.sheet._SpreadsheetDocument
+* @see ifc.util._XNumberFormatsSupplier
+* @see ifc.beans._XPropertySet
+*/
+public class ScModelObj extends TestCase {
+ private XSpreadsheetDocument xSpreadsheetDoc;
+ private XSpreadsheetDocument xSecondsheetDoc;
+
+ /**
+ * Disposes Spreadsheet documents.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ XComponent oComp = UnoRuntime.queryInterface(
+ XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+
+ oComp = UnoRuntime.queryInterface(XComponent.class,
+ xSecondsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Disposes the spreadsheet documents if they were created already.
+ * Creates two spreadsheet documents. Retrieves the current controller for
+ * each of them. Obtains the collection of spreadsheets, takes one of them
+ * and takes some cell from the spreadsheet. The created documents are the instances
+ * of the service <code>com.sun.star.sheet.SpreadsheetDocument</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SELSUPP'</code> for
+ * {@link ifc.frame._XModel}( the interface
+ * <code>XSelectionSupplier</code> that was queried from the current
+ * controller of the spreadsheet)</li>
+ * <li> <code>'TOSELECT'</code> for
+ * {@link ifc.frame._XModel}( the cell that was retrieved from the
+ * spreadsheet)</li>
+ * <li> <code>'CONT2'</code> for
+ * {@link ifc.frame._XModel}( the current controller of the second
+ * spreadsheet)</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ // creation of the testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ if (xSpreadsheetDoc != null) {
+ XComponent oComp = UnoRuntime.queryInterface(
+ XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ if (xSecondsheetDoc != null) {
+ XComponent oComp = UnoRuntime.queryInterface(
+ XComponent.class, xSecondsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ log.println("creating two spreadsheet documents");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ xSecondsheetDoc = SOF.createCalcDoc(null);
+
+ XModel model1 = UnoRuntime.queryInterface(XModel.class,
+ xSpreadsheetDoc);
+ XModel model2 = UnoRuntime.queryInterface(XModel.class,
+ xSecondsheetDoc);
+ XInterface oObj = model1;
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController cont1 = model1.getCurrentController();
+ XController cont2 = model2.getCurrentController();
+ cont1.getFrame().setName("cont1");
+ cont2.getFrame().setName("cont2");
+
+ XSelectionSupplier sel = UnoRuntime.queryInterface(
+ XSelectionSupplier.class, cont1);
+
+ XCell toSel = null;
+ XCell[] xCalculatableCells = null;
+ log.println("Getting spreadsheet");
+
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets();
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(
+ XIndexAccess.class, oSheets);
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexSheets.getByIndex(0));
+
+ log.println("Getting a cell from sheet");
+ toSel = oSheet.getCellByPosition(2, 3);
+ // create a simple formula for XCalculatable
+ oSheet.getCellByPosition(4, 5).setValue(15);
+ oSheet.getCellByPosition(5, 5).setValue(10);
+ oSheet.getCellByPosition(6, 5).setFormula("= E6 * F6");
+ xCalculatableCells = new XCell[]{
+ oSheet.getCellByPosition(4, 5),
+ oSheet.getCellByPosition(5, 5),
+ oSheet.getCellByPosition(6, 5)
+ };
+
+ // Make sure there are at least two sheets:
+ oSheets.insertNewByName("Some Sheet", (short) 1);
+
+ log.println("Adding SelectionSupplier and Shape to select for XModel");
+ tEnv.addObjRelation("SELSUPP", sel);
+ tEnv.addObjRelation("TOSELECT", toSel);
+
+ log.println("Adding cells for XCalculatable");
+ tEnv.addObjRelation("XCalculatable.Cells", xCalculatableCells);
+ log.println("adding Controller as ObjRelation for XModel");
+ tEnv.addObjRelation("CONT2", cont2);
+
+ // create object relation for XPrintJobBroadcaster
+ String fileName = utils.getOfficeTempDirSys(Param.getMSF())+"printfile.prt" ;
+ File f = new File(fileName);
+ if (f.exists()) {
+ boolean bDeleteOk = f.delete();
+ if (!bDeleteOk) {
+ System.out.println("delete failed");
+ }
+ }
+ _XPrintJobBroadcaster.MyPrintJobListener listener = new _XPrintJobBroadcaster.MyPrintJobListener(oObj, fileName);
+ tEnv.addObjRelation("XPrintJobBroadcaster.XPrintJobListener", listener);
+
+ return tEnv;
+ }
+
+} // finish class ScModelObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScShapeObj.java b/qadevOOo/tests/java/mod/_sc/ScShapeObj.java
new file mode 100644
index 000000000..335f2f848
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScShapeObj.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ScShapeObj extends TestCase {
+
+ static XComponent xSheetDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a sheetdoc" );
+ xSheetDoc = UnoRuntime.queryInterface(XComponent.class, SOF.createCalcDoc(null));
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.drawing.EllipseShape</code> as tested component
+ * and adds it to the document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Style1', 'Style2'</code> for
+ * {@link ifc.drawing._Shape} :
+ * two values of 'Style' property. The first is taken
+ * from the shape tested, the second from another
+ * shape added to the draw page. </li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} :
+ * creator which can create instances of
+ * <code>com.sun.star.text.TextField.URL</code>
+ * service. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ oShape = SOF.createShape(xSheetDoc,5000, 3500, 7500, 5000,"Rectangle");
+ DrawTools.getShapes(DrawTools.getDrawPage(xSheetDoc,0)).add(oShape);
+ oObj = oShape ;
+
+ for (int i=0; i < 10; i++) {
+ DrawTools.getShapes(DrawTools.getDrawPage(xSheetDoc,0)).add(
+ SOF.createShape(xSheetDoc,
+ 5000, 3500, 7510 + 10 * i, 5010 + 10 * i, "Rectangle"));
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oShape );
+
+ log.println("Implementation name: "+util.utils.getImplName(oObj));
+ tEnv.addObjRelation("DOCUMENT",xSheetDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ScShapeObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScSheetLinkObj.java b/qadevOOo/tests/java/mod/_sc/ScSheetLinkObj.java
new file mode 100644
index 000000000..5e30fa9e5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScSheetLinkObj.java
@@ -0,0 +1,143 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSheetLinkable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.SheetLink</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::util::XRefreshable</code></li>
+* <li> <code>com::sun::star::sheet::SheetLink</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> ScSheetLinksObj.sdc </b> : for creating link </li>
+* </ul> <p>
+* @see com.sun.star.sheet.SheetLink
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.util.XRefreshable
+* @see com.sun.star.sheet.SheetLink
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.container._XNamed
+* @see ifc.util._XRefreshable
+* @see ifc.sheet._SheetLink
+* @see ifc.beans._XPropertySet
+*/
+public class ScSheetLinkObj extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface(XComponent.class, xSheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Links the sheet to another sheet in another
+ * document using the interface <code>XSheetLinkable</code>. Obtains the
+ * value of the property <code>'SheetLinks'</code> that is the collection of
+ * sheet links. Retrieves from the collection one of the sheet link that
+ * is the instance of the service <code>com.sun.star.sheet.SheetLink</code>.
+ * @see com.sun.star.sheet.SheetLink
+ * @see com.sun.star.sheet.XSheetLinkable
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+ XSpreadsheet oSheet = null;
+
+ log.println("Getting test object ") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ XSheetLinkable SL = UnoRuntime.queryInterface(XSheetLinkable.class, oSheet);
+
+ // creating link. Doesn't matter that it refers to unexistent object.
+ // this is for proper work of XAccess tests.
+ String sURL = utils.getFullTestDocName("ScSheetLinksObj.ods");
+ SL.link(sURL, "Sheet1", "", "", com.sun.star.sheet.SheetLinkMode.VALUE);
+
+ // Getting links.
+ XPropertySet docProps = UnoRuntime.queryInterface(XPropertySet.class, xSheetDoc);
+ Object oLinks = docProps.getPropertyValue("SheetLinks");
+
+ XNameAccess links = UnoRuntime.queryInterface(XNameAccess.class, oLinks);
+
+ String[] names = links.getElementNames();
+
+ oObj = (XInterface)AnyConverter.toObject(
+ new Type(XInterface.class),links.getByName(names[0]));
+
+ log.println("Creating object - " +
+ ((oObj == null) ? "FAILED" : "OK"));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sc/ScStyleObj.java b/qadevOOo/tests/java/mod/_sc/ScStyleObj.java
new file mode 100644
index 000000000..8705c6d7d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScStyleObj.java
@@ -0,0 +1,193 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.style.Style</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::style::Style</code></li>
+* <li> <code>com::sun::star::style::XStyle</code></li>
+* </ul>
+* @see com.sun.star.style.Style
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.style.Style
+* @see com.sun.star.style.XStyle
+* @see ifc.container._XNamed
+* @see ifc.style._Style
+* @see ifc.style._XStyle
+*/
+public class ScStyleObj extends TestCase {
+ private XSpreadsheetDocument xSpreadsheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a Spreadsheet document" );
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc);
+ util.DesktopTools.closeDoc(oComp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of style families from the document
+ * using the interface <code>XStyleFamiliesSupplier</code>.
+ * Obtains style family with index 0 from the collection and obtains
+ * style with index 0 from this style family. Creates the instance of the
+ * service <code>com.sun.star.style.CellStyle</code>. Inserts the created
+ * style to the obtained style family. Retrieves a collection of spreadsheets
+ * from the document and takes one of them. Gets a cell from the spreadsheet
+ * and sets the value of property <code>'CellStyle'</code> to the created
+ * style. The created style is the instance of the service
+ * <code>com.sun.star.style.Style</code> also.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PoolStyle'</code> for
+ * {@link ifc.style._XStyle}(the style with index 0 that was obtained
+ * from the collection)</li>
+ * </ul>
+ * @see com.sun.star.style.CellStyle
+ * @see com.sun.star.style.Style
+ * @see com.sun.star.style.XStyleFamiliesSupplier
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+
+ // creation of the testobject here
+ // first we write what we are intend to do to log file
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oStyleFamiliesSupplier = UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class, xSpreadsheetDoc);
+ XNameAccess oStyleFamilies = oStyleFamiliesSupplier.getStyleFamilies();
+ XIndexAccess oStyleFamiliesIndexAccess = UnoRuntime.queryInterface(XIndexAccess.class, oStyleFamilies);
+ XNameAccess oStyleFamilyNameAccess = null;
+ XStyle oStyle = null;
+ oStyleFamilyNameAccess = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),
+ oStyleFamiliesIndexAccess.getByIndex(0));
+
+ XIndexAccess oStyleFamilyIndexAccess = UnoRuntime.queryInterface(XIndexAccess.class,
+ oStyleFamilyNameAccess);
+ oStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oStyleFamilyIndexAccess.getByIndex(0));
+
+ log.println("Creating a user-defined style");
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xSpreadsheetDoc);
+
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.CellStyle");
+ XStyle oMyStyle = UnoRuntime.queryInterface(XStyle.class, oInt);
+
+ XNameContainer oStyleFamilyNameContainer = UnoRuntime.
+ queryInterface(XNameContainer.class, oStyleFamilyNameAccess);
+
+ if (oStyleFamilyNameContainer.hasByName("My Style")) {
+ oStyleFamilyNameContainer.removeByName("My Style");
+ }
+
+ oStyleFamilyNameContainer.insertByName("My Style", oMyStyle);
+
+
+ //using the style
+ log.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSpreadsheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+
+ XCell aCell = null;
+ XSpreadsheet oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+ log.println("Getting a cell from sheet") ;
+ aCell = oSheet.getCellByPosition(2,3) ;
+
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, aCell);
+
+ xProp.setPropertyValue("CellStyle", oMyStyle.getName());
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment(oMyStyle);
+
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ tEnv.addObjRelation("PropertyNames", getPropertyNames
+ (UnoRuntime.queryInterface
+ (XPropertySet.class, oMyStyle)));
+
+ return tEnv;
+ }
+
+ public String[] getPropertyNames(XPropertySet props) {
+ Property[] the_props = props.getPropertySetInfo().getProperties();
+ ArrayList<String> names = new ArrayList<String>() ;
+
+ for (int i=0;i<the_props.length;i++) {
+ boolean isWritable =
+ ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
+ if (isWritable) {
+ names.add(the_props[i].Name);
+ }
+ }
+ return names.toArray(new String[names.size()]) ;
+ }
+} // finish class ScStyleObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScTabViewObj.java b/qadevOOo/tests/java/mod/_sc/ScTabViewObj.java
new file mode 100644
index 000000000..a00b2724d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTabViewObj.java
@@ -0,0 +1,233 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.form.XForm;
+import com.sun.star.lang.WrappedTargetException;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.ValueComparer;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.sheet.SpreadsheetView</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::sheet::XViewSplitable</code></li>
+ * <li> <code>com::sun::star::sheet::XViewFreezable</code></li>
+ * <li> <code>com::sun::star::sheet::SpreadsheetViewSettings</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::sheet::XSpreadsheetView</code></li>
+ * <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+ * </ul>
+ * @see com.sun.star.sheet.XViewSplitable
+ * @see com.sun.star.sheet.XViewFreezable
+ * @see com.sun.star.sheet.SpreadsheetViewSettings
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.sheet.XSpreadsheetView
+ * @see com.sun.star.view.XSelectionSupplier
+ * @see ifc.sheet._XViewSplitable
+ * @see ifc.sheet._XViewFreezable
+ * @see ifc.sheet._SpreadsheetViewSettings
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.sheet._XSpreadsheetView
+ * @see ifc.view._XSelectionSupplier
+ */
+public class ScTabViewObj extends TestCase {
+ private XSpreadsheetDocument xSpreadsheetDoc;
+ private XSpreadsheetDocument xSpreadsheetDoc2;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ public void initialize( TestParameters Param, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println("creating two spreadsheet documents");
+ xSpreadsheetDoc = SOF.createCalcDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+ xSpreadsheetDoc2 = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xSheetDoc " );
+ XComponent oComp = UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc) ;
+ util.DesktopTools.closeDoc(oComp);
+ XComponent oComp2 = UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc2) ;
+ util.DesktopTools.closeDoc(oComp2);
+ }
+
+ /*
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the current controller of the spreadsheet document using the
+ * interface <code>XModel</code>. The controller is the instance of the
+ * service <code>com.sun.star.sheet.SpreadsheetView</code>. Retrieves
+ * a collection of spreadsheets from the document and takes one of them.
+ * Fills two cells in the spreadsheet.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Sheet'</code> for
+ * {@link ifc.sheet._XSpreadsheetView}(the retrieved spreadsheet)</li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.sheet.SpreadsheetView
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XDrawPage oDrawPage = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XModel aSecondModel = UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc2);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ log.println("getting sheets");
+ XSpreadsheets xSpreadsheets = xSpreadsheetDoc.getSheets();
+
+ log.println("getting a sheet");
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class), oIndexAccess.getByIndex(1));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XDispatchProvider.URL", ".uno:Copy") ;
+
+ log.println("adding 'Sheet' as ObjRelation");
+ tEnv.addObjRelation("Sheet", oSheet);
+ tEnv.addObjRelation("Frame",aModel.getCurrentController().getFrame());
+ tEnv.addObjRelation("SecondModel",aSecondModel);
+ tEnv.addObjRelation("FirstModel",aModel);
+
+ //Relation for XControlAccess
+ tEnv.addObjRelation("DOCUMENT", UnoRuntime.queryInterface(XComponent.class,xSpreadsheetDoc));
+ tEnv.addObjRelation("XControlAccess.isSheet", Boolean.TRUE);
+ //Relations for XSelectionSupplier
+ XCell cell_1 = null;
+ XCell cell_2 = null;
+ Object cellRange = null;
+ cellRange = oSheet.getCellRangeByPosition(0, 0, 3, 3);
+ cell_1 = oSheet.getCellByPosition(5,5);
+ cell_2 = oSheet.getCellByPosition(7,7);
+ cell_2.setValue(17.5);
+ cell_1.setValue(5.5);
+
+ Object[] selections = {oSheet, cellRange, cell_1, cell_2};
+ tEnv.addObjRelation("Selections", selections);
+
+ tEnv.addObjRelation("Comparer", new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XCellRangeAddressable adr1 = UnoRuntime.queryInterface(XCellRangeAddressable.class, o1);
+ XCellRangeAddressable adr2 = UnoRuntime.queryInterface(XCellRangeAddressable.class, o2);
+ if (adr1 == null || adr2 == null) return -1;
+ CellRangeAddress range1 = adr1.getRangeAddress();
+ CellRangeAddress range2 = adr2.getRangeAddress();
+ return ValueComparer.equalValue(range1, range2) ? 0 : 1 ;
+ }});
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ // XForm for com.sun.star.view.XFormLayerAccess
+
+ XForm myForm = null;
+ String kindOfControl="CommandButton";
+ XShape aShape = null;
+ log.println("adding control shape '" + kindOfControl + "'");
+ XComponent oComp = UnoRuntime.queryInterface(XComponent.class, xSpreadsheetDoc) ;
+
+ aShape = FormTools.createControlShape(oComp, 3000, 4500, 15000, 10000, kindOfControl);
+
+ log.println("adding relation for com.sun.star.view.XFormLayerAccess: XForm");
+ try {
+ log.println( "getting Drawpages" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class,xSpreadsheetDoc);
+ XDrawPages oDP = oDPS.getDrawPages();
+ oDP.insertNewByIndex(1);
+ oDP.insertNewByIndex(2);
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDP.getByIndex(0));
+ if (oDrawPage == null)
+ log.println("ERROR: could not get DrawPage: null");
+
+ oDrawPage.add(aShape);
+ log.println("getting XForm");
+ XNameContainer xForm = FormTools.getForms(oDrawPage);
+ try {
+ myForm = (XForm) AnyConverter.toObject(new Type(XForm.class),xForm.getByName("Standard"));
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not XForm 'Standard': " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not XForm 'Standard': " + ex.toString());
+ } catch (NoSuchElementException ex) {
+ log.println("ERROR: could not XForm 'Standard': " + ex.toString());
+ }
+ if (myForm == null)
+ log.println("ERROR: could not get XForm: null");
+ tEnv.addObjRelation("XFormLayerAccess.XForm", myForm);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ }
+ return tEnv;
+ }
+
+} // finish class ScTabViewObj
diff --git a/qadevOOo/tests/java/mod/_sc/ScTableSheetObj.java b/qadevOOo/tests/java/mod/_sc/ScTableSheetObj.java
new file mode 100644
index 000000000..436901258
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/ScTableSheetObj.java
@@ -0,0 +1,384 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.sheet.XScenariosSupplier;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellAddress;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+import ifc.sheet._XCellRangesQuery;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+import util.ValueComparer;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.sheet.Spreadsheet</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+* <li> <code>com::sun::star::table::XTableChartsSupplier</code></li>
+* <li> <code>com::sun::star::sheet::XSpreadsheet</code></li>
+* <li> <code>com::sun::star::table::CellProperties</code></li>
+* <li> <code>com::sun::star::sheet::XSheetAnnotationsSupplier</code></li>
+* <li> <code>com::sun::star::table::XCellRange</code></li>
+* <li> <code>com::sun::star::sheet::XCellRangeAddressable</code></li>
+* <li> <code>com::sun::star::sheet::XDataPilotTablesSupplier</code></li>
+* <li> <code>com::sun::star::sheet::Spreadsheet</code></li>
+* <li> <code>com::sun::star::sheet::XCellRangeMovement</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::sheet::XSheetOperation</code></li>
+* <li> <code>com::sun::star::sheet::XScenariosSupplier</code></li>
+* <li> <code>com::sun::star::sheet::XSheetPageBreak</code></li>
+* <li> <code>com::sun::star::sheet::XArrayFormulaRange</code></li>
+* <li> <code>com::sun::star::sheet::XSheetCellRange</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::sheet::SheetCellRange</code></li>
+* <li> <code>com::sun::star::chart::XChartData</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::util::XMergeable</code></li>
+* <li> <code>com::sun::star::table::XColumnRowRange</code></li>
+* </ul>
+* @see com.sun.star.style.ParagraphProperties
+* @see com.sun.star.table.XTableChartsSupplier
+* @see com.sun.star.sheet.XSpreadsheet
+* @see com.sun.star.table.CellProperties
+* @see com.sun.star.sheet.XSheetAnnotationsSupplier
+* @see com.sun.star.table.XCellRange
+* @see com.sun.star.sheet.XCellRangeAddressable
+* @see com.sun.star.sheet.XDataPilotTablesSupplier
+* @see com.sun.star.sheet.Spreadsheet
+* @see com.sun.star.sheet.XCellRangeMovement
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.sheet.XSheetOperation
+* @see com.sun.star.sheet.XScenariosSupplier
+* @see com.sun.star.sheet.XSheetPageBreak
+* @see com.sun.star.sheet.XArrayFormulaRange
+* @see com.sun.star.sheet.XSheetCellRange
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.sheet.SheetCellRange
+* @see com.sun.star.chart.XChartData
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.util.XMergeable
+* @see com.sun.star.table.XColumnRowRange
+* @see ifc.style._ParagraphProperties
+* @see ifc.table._XTableChartsSupplier
+* @see ifc.sheet._XSpreadsheet
+* @see ifc.table._CellProperties
+* @see ifc.sheet._XSheetAnnotationsSupplier
+* @see ifc.table._XCellRange
+* @see ifc.sheet._XCellRangeAddressable
+* @see ifc.sheet._XDataPilotTablesSupplier
+* @see ifc.sheet._Spreadsheet
+* @see ifc.sheet._XCellRangeMovement
+* @see ifc.style._CharacterProperties
+* @see ifc.sheet._XSheetOperation
+* @see ifc.sheet._XScenariosSupplier
+* @see ifc.sheet._XSheetPageBreak
+* @see ifc.sheet._XArrayFormulaRange
+* @see ifc.sheet._XSheetCellRange
+* @see ifc.container._XNamed
+* @see ifc.sheet._SheetCellRange
+* @see ifc.chart._XChartData
+* @see ifc.beans._XPropertySet
+* @see ifc.util._XMergeable
+* @see ifc.table._XColumnRowRange
+*/
+public class ScTableSheetObj extends TestCase {
+ private XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a sheetdocument");
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+
+ try {
+ XCloseable oCloser = UnoRuntime.queryInterface(
+ XCloseable.class, xSheetDoc);
+ oCloser.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Document already disposed");
+ } catch (NullPointerException e) {
+ log.println("Couldn't get XCloseable");
+ }
+
+ util.utils.pause(500);
+
+ log.println("... Done");
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from the document and takes one of
+ * them. Fills some cell in the spreadsheet. The retrieved spreadsheet is the
+ * instance of the service <code>com.sun.star.sheet.Spreadsheet</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'noArray'</code> for
+ * {@link ifc.sheet._XArrayFormulaRange}(to avoid the test of
+ * the interface <code>XArrayFormulaRange</code>)</li>
+ * </ul>
+ * @see com.sun.star.sheet.XArrayFormulaRange
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+ log.println("getting sheets");
+
+ XSpreadsheets xSpreadsheets = xSheetDoc.getSheets();
+
+ log.println("getting a sheet");
+
+ XSpreadsheet oSheet = null;
+ XIndexAccess oIndexAccess = UnoRuntime.queryInterface(
+ XIndexAccess.class, xSpreadsheets);
+
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),
+ oIndexAccess.getByIndex(0));
+
+ log.println("filling some cells");
+
+ oSheet.getCellByPosition(5, 5).setValue(15);
+ oSheet.getCellByPosition(1, 4).setValue(10);
+ oSheet.getCellByPosition(2, 0).setValue(-5.15);
+ oSheet.getCellByPosition(8, 8).setFormula("= B5 + C1");
+ // fill cells for XSheetOtline::autooutline
+ oSheet.getCellByPosition(6, 6).setValue(3);
+ oSheet.getCellByPosition(7, 6).setValue(3);
+ oSheet.getCellByPosition(8, 6).setFormula("= SUM(G7:H7)");
+ oSheet.getCellByPosition(9, 6).setFormula("= G7*I7");
+
+ oObj = UnoRuntime.queryInterface(XInterface.class, oSheet);
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ // set the address ranges of the cells (see values set above): for e.g. XSheetOutline test
+ tEnv.addObjRelation("CellRangeAddress",
+ new CellRangeAddress((short)0, 6, 6, 8, 8));
+ tEnv.addObjRelation("CellRangeSubAddress",
+ new CellRangeAddress((short)0, 6, 6, 7, 8));
+ // pick a cell with a formula for XSheetAuditing, a dependent cell and a precedent cell
+ tEnv.addObjRelation("XSheetAuditing.CellAddress", new CellAddress((short)0, 8, 6));
+ tEnv.addObjRelation("XSheetAuditing.PrecedentCellAddress", new CellAddress((short)0, 7, 6));
+ tEnv.addObjRelation("XSheetAuditing.DependentCellAddress", new CellAddress((short)0, 9, 6));
+
+ // add an existing sheet for linking
+ tEnv.addObjRelation("XSheetLinkable.LinkSheet", "ScSheetLinksObj.ods");
+
+ //adding Scenario and with that a ScenarioSheet-Relation for Scenario and XScenarioEnhanced
+ XScenariosSupplier scene = UnoRuntime.queryInterface(
+ XScenariosSupplier.class,
+ tEnv.getTestObject());
+ scene.getScenarios()
+ .addNewByName("Scenario",
+ new CellRangeAddress[] {
+ new CellRangeAddress((short) 0, 0, 0, 10, 10)
+ }, "Comment");
+
+ XSpreadsheet sSheet = null;
+
+ try {
+ sSheet = UnoRuntime.queryInterface(
+ XSpreadsheet.class,
+ xSpreadsheets.getByName("Scenario"));
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ log.println("Couldn't get Scenario");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't get Scenario");
+ }
+
+ tEnv.addObjRelation("ScenarioSheet", sSheet);
+
+ log.println("adding ObjRelation 'noArray' to avoid the test" +
+ " 'XArrayFormulaRange'");
+ tEnv.addObjRelation("noArray", "ScTableSheetObj");
+
+ XPropertySet PropSet = UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+ tEnv.addObjRelation("PropSet", PropSet);
+ tEnv.addObjRelation("SHEET", oSheet);
+
+ // add expected results for the XCellRangesQuery interface test
+ String[] expectedResults = new String[7];
+ expectedResults[_XCellRangesQuery.QUERYCOLUMNDIFFERENCES] = "Sheet1.B5;Sheet1.C1";
+ expectedResults[_XCellRangesQuery.QUERYCONTENTCELLS] = "Sheet1.B5;Sheet1.C1;Sheet1.F6";
+ expectedResults[_XCellRangesQuery.QUERYEMPTYCELLS] = "Sheet1.A1 ... Sheet1.B1 ... Sheet1.B6 ... Sheet1.C2 ... Sheet1.D1 ... Sheet1.F1 ... Sheet1.F7 ... Sheet1.G1";
+ expectedResults[_XCellRangesQuery.QUERYFORMULACELLS] = "Sheet1.I7:J7;Sheet1.I9";
+ expectedResults[_XCellRangesQuery.QUERYINTERSECTION] = "Sheet1.D4";
+ expectedResults[_XCellRangesQuery.QUERYROWDIFFERENCES] = "Sheet1.A5;Sheet1.C1";
+ expectedResults[_XCellRangesQuery.QUERYVISIBLECELLS] = "Sheet1.A2";
+ tEnv.addObjRelation("XCellRangesQuery.EXPECTEDRESULTS",
+ expectedResults);
+
+ // for XFormulaQuery interface test
+ try {
+ tEnv.addObjRelation("MAKEENTRYINCELL",
+ oSheet.getCellByPosition(15, 15));
+ tEnv.addObjRelation("RANGEINDICES", new int[] { 0, 0 });
+ tEnv.addObjRelation("EXPECTEDDEPENDENTVALUES",
+ new int[] { 0, 255, 0, 65535 });
+ tEnv.addObjRelation("EXPECTEDPRECEDENTVALUES",
+ new int[] { 0, 255, 0, 65535 });
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println(
+ "Cannot add the necessary object relation for XFormulaQuery test.");
+ }
+
+ // XSearchable interface test
+ try {
+ tEnv.addObjRelation("XSearchable.MAKEENTRYINCELL",
+ new XCell[] {
+ oSheet.getCellByPosition(15, 15),
+ oSheet.getCellByPosition(15, 16)
+ });
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ log.println(
+ "Cannot make required object relation 'XSearchable.MAKEENTRYINCELL'.");
+ }
+
+ //Adding relation for util.XSortable
+ final PrintWriter finalLog = log;
+ final XCellRange oTable = oSheet;
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ try {
+ oTable.getCellByPosition(0, 0).setValue(4);
+ oTable.getCellByPosition(0, 1).setFormula("b");
+ oTable.getCellByPosition(0, 2).setValue(3);
+ oTable.getCellByPosition(0, 3).setValue(23);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ boolean res = false;
+ String[] value = new String[4];
+
+ for (int i = 0; i < 4; i++) {
+ try {
+ XCell cell = oTable.getCellByPosition(0, i);
+ value[i] = cell.getFormula();
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ out.println("Exception while checking sort");
+ }
+ }
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ out.println("Sorting ascending");
+
+ String[] rightVal = { "3", "4", "23", "b" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ String[] vals = { value[0], value[1], value[2], value[3] };
+ res = ValueComparer.equalValue(vals, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ } else {
+ if (isSortAscending) {
+ String[] rightVal = { "3", "4", "23", "b" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected 3, 4, 23, b");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ } else {
+ String[] rightVal = { "b", "23", "4", "3" };
+ res = ValueComparer.equalValue(value, rightVal);
+ out.println("Expected b, 23, 4, 3");
+ out.println("getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] + ", " +
+ value[3]);
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ } else {
+ out.println("Sorted incorrectly");
+ }
+
+ return res;
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sc/XMLContentExporter.java b/qadevOOo/tests/java/mod/_sc/XMLContentExporter.java
new file mode 100644
index 000000000..098866ff0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLContentExporter.java
@@ -0,0 +1,190 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.XCell;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLContentExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLContentExporter extends TestCase {
+
+ static XComponent xSheetDoc;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a calc document" );
+ xSheetDoc = SOF.openDoc("scalc","_blank");
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xCalcDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLContentExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The calc document is set as a source document for exporter
+ * created. A cell in the sheet is set to some value. This made
+ * for checking if this value is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ final String CELL_TEXT = "XMLContentExporter";
+
+ ContentFilterChecker Filter = new ContentFilterChecker(log);
+
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Calc.XMLContentExporter",
+ new Object[] {arg} );
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xSheetDoc);
+
+ // Setting some string to a cell
+ XSpreadsheetDocument xSpreadsheetDoc = UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+ XSpreadsheets xSpreadsheets = xSpreadsheetDoc.getSheets();
+ XIndexAccess xSheetsIndexArray = UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ XSpreadsheet xSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),xSheetsIndexArray.getByIndex(0));
+ XCell xCell = xSheet.getCellByPosition(0, 0);
+ xCell.setFormula(CELL_TEXT);
+
+ log.println("fill sheet 1 with content...");
+ util.CalcTools.fillCalcSheetWithContent(xSheetDoc, 1, 1, 1, 5, 5);
+
+ // adding tags which must be contained in XML output
+ Filter.addTag("office:document-content");
+ Filter.addTagEnclosed("office:body", "office:document-content");
+ Filter.addTagEnclosed("office:script", "office:document-content");
+ Filter.addTagEnclosed("table:table", "office:body");
+ Filter.addTagEnclosed("table:table-column", "table:table");
+ Filter.addTagEnclosed("table:table-row", "table:table");
+ Filter.addTagEnclosed("table:table-cell", "table:table-row");
+ Filter.addTagEnclosed("text:p", "table:table-cell");
+ Filter.addCharactersEnclosed(CELL_TEXT, "text:p");
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"scalc: StarOffice XML (Calc)"}));
+ tEnv.addObjRelation("SourceDocument",xSheetDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter);
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class ContentFilterChecker extends XMLTools.XMLTagsChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private ContentFilterChecker(PrintWriter log) {
+ super(log) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return checkTags();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLContentImporter.java b/qadevOOo/tests/java/mod/_sc/XMLContentImporter.java
new file mode 100644
index 000000000..5f3d65547
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLContentImporter.java
@@ -0,0 +1,180 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLContentImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLContentImporter extends TestCase {
+ private XSpreadsheetDocument xSheetDoc;
+ static XComponent comp ;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc( null );
+ comp = UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ util.DesktopTools.closeDoc(comp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLContentImporter</code><p>
+ *
+ * The calc document is set as a target document for importer.
+ * Imported XML-data contains only content tags including table
+ * with test table name.
+ * After import table name getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Calc.XMLContentImporter") ;
+ XImporter imp = UnoRuntime.queryInterface
+ (XImporter.class, oInt) ;
+ imp.setTargetDocument(comp);
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relations
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ final String impValue = "XMLContentImporter_test" ;
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-content",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table",
+ "office:class", "CDATA", "spreadsheet"
+ },
+ {"start", "office:body"},
+ {"start", "table:table",
+ "table:name", "CDATA", impValue},
+ {"end", "table:table"},
+ {"end", "office:body"},
+ {"end", "office:document-content"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ //save to log content before import
+ final PrintWriter fLog = log;
+ final XSpreadsheets xSheets = xSheetDoc.getSheets();
+
+ log.println("Sheets before importing :") ;
+ String[] names = xSheets.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ fLog.println("Sheet names :") ;
+ String[] snames = xSheets.getElementNames() ;
+ for (int i = 0; i < snames.length; i++) {
+ fLog.println(" " + snames[i]) ;
+ }
+ return xSheets.hasByName(impValue) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLExporter.java b/qadevOOo/tests/java/mod/_sc/XMLExporter.java
new file mode 100644
index 000000000..c9edb37ab
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLExporter.java
@@ -0,0 +1,199 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ static XComponent xSheetDoc;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a calc document" );
+ xSheetDoc = SOF.openDoc("scalc","_blank");
+ }
+
+ /**
+ * Spreadsheet document disposed
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xCalcDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The calc document is set as a source document for exporter
+ * created. Checking whether tags for table corresponding to some sheet
+ * is exported.<p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker Filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+ final String SHEET_NAME = "XMLExporter_SheetTestName";
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Calc.XMLExporter", new Object[] {arg} );
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xSheetDoc);
+
+ //set name of sheet
+ XSpreadsheetDocument xSpreadsheetDoc = UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+ XSpreadsheets xSpreadsheets = xSpreadsheetDoc.getSheets();
+ XIndexAccess xSheetsIndexArray = UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
+ XSpreadsheet xSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),xSheetsIndexArray.getByIndex(0));
+ XNamed xSheetNamed = UnoRuntime.queryInterface(XNamed.class, xSheet);
+ xSheetNamed.setName(SHEET_NAME);
+
+ log.println("fill sheet with content...");
+ util.CalcTools.fillCalcSheetWithContent(xSheet, 3, 3, 50, 50);
+
+ // adding tags which must be contained in XML output
+ Filter.addTag( new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:meta"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:settings"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:script"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:styles"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:body"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("table:table"),
+ new XMLTools.Tag("office:body") );
+ Filter.addTag(
+ new XMLTools.Tag("table:table", "table:name", SHEET_NAME) );
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"scalc: StarOffice XML (Calc)"}));
+ tEnv.addObjRelation("SourceDocument",xSheetDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter) ;
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLImporter.java b/qadevOOo/tests/java/mod/_sc/XMLImporter.java
new file mode 100644
index 000000000..ff5e94063
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLImporter.java
@@ -0,0 +1,176 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+
+ static XComponent xSheetDoc;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a Spreadsheet document" );
+ XSpreadsheetDocument xSpreadsheetDoc = SOF.createCalcDoc( null );
+ xSheetDoc = UnoRuntime.queryInterface
+ (XComponent.class, xSpreadsheetDoc);
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLImporter</code><p>
+ *
+ * The calc document is set as a target document for importer.
+ * Imported tags contain new value for table name.
+ * After import table name getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impValue = "XMLImporter_test" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance("com.sun.star.comp.Calc.XMLImporter") ;
+ XImporter imp = UnoRuntime.queryInterface
+ (XImporter.class, oInt) ;
+ imp.setTargetDocument(xSheetDoc);
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xSheetDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table",
+ "office:class", "CDATA", "spreadsheet"
+ },
+ {"start", "office:body"},
+ {"start", "table:table",
+ "table:name", "CDATA", impValue},
+ {"end", "table:table"},
+ {"end", "office:body"},
+ {"end", "office:document"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter fLog = log ;
+ XSpreadsheetDocument xSpreadsheetDoc = UnoRuntime.queryInterface(XSpreadsheetDocument.class, xSheetDoc);
+ final XSpreadsheets sheets = xSpreadsheetDoc.getSheets() ;
+ log.println("Sheets before importing :") ;
+ String[] names = sheets.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ fLog.println("Sheet names :") ;
+ String[] snames = sheets.getElementNames() ;
+ for (int i = 0; i < snames.length; i++) {
+ fLog.println(" " + snames[i]) ;
+ }
+
+ return sheets.hasByName(impValue) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLMetaExporter.java b/qadevOOo/tests/java/mod/_sc/XMLMetaExporter.java
new file mode 100644
index 000000000..0f49662c1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLMetaExporter.java
@@ -0,0 +1,181 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLMetaExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLMetaExporter extends TestCase {
+
+ static XComponent xSheetDoc;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a calc document" );
+ xSheetDoc = SOF.openDoc("scalc","_blank");
+ }
+
+ /**
+ * Spreadsheet document disposed
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xCalcDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLMetaExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The calc document is set as a source document for exporter
+ * created. A meta property 'Title' is set to some value. This made
+ * for checking if this value is successfully exported within
+ * the document meta information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ // Checking tags existence and changed property value
+ filter.addTag(new XMLTools.Tag ("office:document-meta"));
+ filter.addTag(new XMLTools.Tag ("office:meta"));
+ filter.addCharactersEnclosed("TestDocument",
+ new XMLTools.Tag ("dc:title"));
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Calc.XMLMetaExporter", new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xSheetDoc);
+
+ // Obtaining and changing property values
+ XDocumentPropertiesSupplier xPropSup = UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xSheetDoc);
+ final XDocumentProperties xDocProps = xPropSup.getDocumentProperties();
+ xDocProps.setTitle("TestDocument");
+
+ log.println("fill sheet 1 with content...");
+ util.CalcTools.fillCalcSheetWithContent(xSheetDoc,1, 3, 3, 50, 50);
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"scalc: StarOffice XML (Calc)"}));
+ tEnv.addObjRelation("SourceDocument",xSheetDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log,false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLMetaImporter.java b/qadevOOo/tests/java/mod/_sc/XMLMetaImporter.java
new file mode 100644
index 000000000..b7e26d0bb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLMetaImporter.java
@@ -0,0 +1,171 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLMetaImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLMetaImporter extends TestCase {
+ private XSpreadsheetDocument xSheetDoc;
+ static XComponent comp ;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc( null );
+ comp = UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ util.DesktopTools.closeDoc(comp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLMetaImporter</code><p>
+ *
+ * The calc document is set as a target document for importer.
+ * Imported XML-data contains only meta tags including title tag
+ * with test title name.
+ * After import title name getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impTitle = "XMLMetaImporter" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Calc.XMLMetaImporter") ;
+ XImporter imp = UnoRuntime.queryInterface
+ (XImporter.class, oInt) ;
+ imp.setTargetDocument(comp) ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-meta" ,
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:meta", "CDATA", "http://openoffice.org/2000/meta",
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"},
+ {"start", "office:meta"} ,
+ {"start", "dc:title"},
+ {"chars", impTitle},
+ {"end", "dc:title"},
+ {"end", "office:meta"},
+ {"end", "office:document-meta"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XDocumentPropertiesSupplier xPropSup = UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xSheetDoc);
+ final XDocumentProperties xDocProps = xPropSup.getDocumentProperties();
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ String title = xDocProps.getTitle();
+ logF.println("Title returned = '" + title + "'") ;
+ return impTitle.equals(title) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLSettingsExporter.java b/qadevOOo/tests/java/mod/_sc/XMLSettingsExporter.java
new file mode 100644
index 000000000..9386a233d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLSettingsExporter.java
@@ -0,0 +1,182 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLSettingsExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLSettingsExporter extends TestCase {
+
+ static XComponent xSheetDoc;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a calc document" );
+ xSheetDoc = SOF.openDoc("scalc","_blank");
+ }
+
+ /**
+ * Spreadsheet document disposed
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xCalcDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLSettingsExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The calc document is set as a source document for exporter
+ * created. Sets settings' property 'ShowGrid' to 'false', then checks
+ * it in the exported xml document.<p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ SettingsFilterChecker filter = new SettingsFilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), filter);
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Calc.XMLSettingsExporter",
+ new Object[] {arg} );
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xSheetDoc);
+
+ //set some settings
+ XModel xSheetModel = UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+ XController xController = xSheetModel.getCurrentController();
+ XPropertySet xPropSet = UnoRuntime.queryInterface(XPropertySet.class, xController);
+ xPropSet.setPropertyValue("ShowGrid", "false");
+
+ util.CalcTools.fillCalcSheetWithContent(xSheetDoc, 0, 3, 3, 50, 50);
+
+ //Create and prepare filter
+ // adding tags which must be contained in XML output
+ filter.addTag(new XMLTools.Tag("office:document-settings") );
+ filter.addTagEnclosed(
+ new XMLTools.Tag("office:settings"),
+ new XMLTools.Tag("office:document-settings") );
+ filter.addCharactersEnclosed(
+ "false",
+ new XMLTools.Tag("config:config-item", "config:name", "ShowGrid") );
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"scalc: StarOffice XML (Calc)"}));
+ tEnv.addObjRelation("SourceDocument",xSheetDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class SettingsFilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private SettingsFilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLSettingsImporter.java b/qadevOOo/tests/java/mod/_sc/XMLSettingsImporter.java
new file mode 100644
index 000000000..fc83d3e3b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLSettingsImporter.java
@@ -0,0 +1,199 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XImporter;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLSettingsImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLSettingsImporter extends TestCase {
+ private XSpreadsheetDocument xSheetDoc;
+ static XComponent comp ;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc( null );
+ comp = UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ util.DesktopTools.closeDoc(comp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLSettingsImporter</code><p>
+ *
+ * The calc document is set as a target document for importer.
+ * Imported XML-data contains only settings tags including tag
+ * with new number of iteration steps.
+ * After import 'IterationCount' property getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ final XPropertySet xPropSet ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Calc.XMLSettingsImporter") ;
+ XImporter imp = UnoRuntime.queryInterface
+ (XImporter.class, oInt) ;
+ imp.setTargetDocument(comp) ;
+
+ XModel xSheetModel = UnoRuntime.queryInterface(XModel.class, xSheetDoc);
+ XController xController = xSheetModel.getCurrentController();
+ xPropSet = UnoRuntime.queryInterface(XPropertySet.class, xController);
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-settings",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink",
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config"},
+ {"start", "office:settings"},
+ {"start", "config:config-item-set",
+ "config:name", "CDATA", "view-settings"},
+ {"start", "config:config-item-map-indexed",
+ "config:name", "CDATA", "Views"},
+ {"start", "config:config-item-map-entry"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ShowGrid",
+ "config:type", "CDATA", "boolean"},
+ {"chars", "false"},
+ {"end", "config:config-item"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ZoomType",
+ "config:type", "CDATA", "short"},
+ {"chars", "0"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ZoomValue",
+ "config:type", "CDATA", "int"},
+ {"chars", "124"},
+ {"end", "config:config-item"},
+ {"end", "config:config-item"},
+ {"end", "config:config-item-map-entry"},
+ {"end", "config:config-item-map-indexed"},
+ {"end", "config:config-item-set"},
+ {"end", "office:settings"},
+ {"end", "office:document-settings"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ Object gVal = xPropSet.getPropertyValue("ShowGrid") ;
+ logF.println("ShowGrid = " + gVal ) ;
+ return "false".equals(gVal) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occurred while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLStylesExporter.java b/qadevOOo/tests/java/mod/_sc/XMLStylesExporter.java
new file mode 100644
index 000000000..36b1bc7e7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLStylesExporter.java
@@ -0,0 +1,185 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLStylesExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLStylesExporter extends TestCase {
+ static XComponent xSheetDoc;
+ protected int counter = 0;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a calc document" );
+ xSheetDoc = SOF.openDoc("scalc","_blank");
+ }
+
+ /**
+ * Spreadsheet document disposed
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xCalcDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLStylesExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The calc document is set as a source document for exporter
+ * created. New style 'NewStyle' added to style family "Cell Styles".
+ * This made for checking if this style is successfully exported within
+ * the document styles information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ String newName = "NewStyle" + counter++;
+ // Adding tags for checking existence of head tag and property value
+ filter.addTag(new XMLTools.Tag("office:document-styles"));
+ filter.addTag(new XMLTools.Tag("style:style","style:name", newName));
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Calc.XMLStylesExporter", new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xSheetDoc);
+
+ // Obtaining and changing property values
+ XStyleFamiliesSupplier styleSup = UnoRuntime.queryInterface(
+ XStyleFamiliesSupplier.class, xSheetDoc);
+ XNameAccess StyleFamilies = styleSup.getStyleFamilies();
+ String[] styleFamiliesNames = StyleFamilies.getElementNames();
+ XNameContainer StyleFamilyName = (XNameContainer)
+ AnyConverter.toObject(new Type(XNameContainer.class),
+ StyleFamilies.getByName(styleFamiliesNames[0]));
+ Object SC = SOF.createInstance(
+ xSheetDoc, "com.sun.star.style.CellStyle");
+ XStyle StyleCell = UnoRuntime.queryInterface(XStyle.class,SC);
+ StyleFamilyName.insertByName(newName, StyleCell);
+
+ log.println("fill sheet 1 with content...");
+ util.CalcTools.fillCalcSheetWithContent(xSheetDoc, 0, 3, 3, 50, 100);
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"scalc: StarOffice XML (Calc)"}));
+ tEnv.addObjRelation("SourceDocument",xSheetDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log,false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/XMLStylesImporter.java b/qadevOOo/tests/java/mod/_sc/XMLStylesImporter.java
new file mode 100644
index 000000000..49cb036de
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/XMLStylesImporter.java
@@ -0,0 +1,196 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sc;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLStylesImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLStylesImporter extends TestCase {
+ private XSpreadsheetDocument xSheetDoc;
+ static XComponent comp ;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a Spreadsheet document" );
+ xSheetDoc = SOF.createCalcDoc( null );
+ comp = UnoRuntime.queryInterface
+ (XComponent.class, xSheetDoc) ;
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ util.DesktopTools.closeDoc(comp);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLStylesImporter</code><p>
+ *
+ * The calc document is set as a target document for importer.
+ * Imported XML-data contains only style tags including tag
+ * with new style name.
+ * After import style names getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Calc.XMLStylesImporter") ;
+ XImporter imp = UnoRuntime.queryInterface
+ (XImporter.class, oInt) ;
+ imp.setTargetDocument(comp) ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ final String impStyleName = "XMLStylesImporter" ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-styles",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style",
+ "xmlns:fo", "CDATA", "http://www.w3.org/1999/XSL/Format",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table"},
+ {"start", "office:styles"},
+ {"start", "style:style",
+ "style:name", "CDATA", impStyleName,
+ "style:family", "CDATA", "table-cell",
+ "style:parent-style-name", "CDATA", "Default"},
+ { "start", "style:properties",
+ "fo:width", "CDATA", "12cm",
+ "fo:background-color", "CDATA", "light-grey"},
+ {"end", "style:properties"},
+ {"end", "style:style"},
+ {"end", "office:styles"},
+ {"end", "office:document-styles"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XNameAccess styles = null ;
+ try {
+ XStyleFamiliesSupplier sup = UnoRuntime.queryInterface
+ (XStyleFamiliesSupplier.class, xSheetDoc);
+ XNameAccess oStyleFamilies = sup.getStyleFamilies();
+ Object family = oStyleFamilies.getByName("CellStyles") ;
+ styles = UnoRuntime.queryInterface
+ (XNameAccess.class, family) ;
+ log.println("Styles before:") ;
+ String[] names = styles.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ }
+ final XNameAccess stylesF = styles ;
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ logF.println("Styles after:") ;
+ String[] names = stylesF.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ logF.println(" " + names[i]) ;
+ }
+ return stylesF.hasByName(impStyleName) ;
+ }
+ }) ;
+
+ return tEnv ;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sc/package.html b/qadevOOo/tests/java/mod/_sc/package.html
new file mode 100644
index 000000000..198d6b17d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sc/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'sc'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_sch/AccArea.java b/qadevOOo/tests/java/mod/_sch/AccArea.java
new file mode 100644
index 000000000..19cf04550
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccArea.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccArea extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccArea");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccAxis.java b/qadevOOo/tests/java/mod/_sch/AccAxis.java
new file mode 100644
index 000000000..8b3eb65c4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccAxis.java
@@ -0,0 +1,99 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccAxis extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XAccessibleContext cont = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccAxis");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccDataPoint.java b/qadevOOo/tests/java/mod/_sch/AccDataPoint.java
new file mode 100644
index 000000000..b5ce67dfc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccDataPoint.java
@@ -0,0 +1,100 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccDataPoint extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccDataPoint");
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccDataSeries.java b/qadevOOo/tests/java/mod/_sch/AccDataSeries.java
new file mode 100644
index 000000000..007ef7d58
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccDataSeries.java
@@ -0,0 +1,100 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccDataSeries extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccDataSeries");
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccDiagram.java b/qadevOOo/tests/java/mod/_sch/AccDiagram.java
new file mode 100644
index 000000000..55593914c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccDiagram.java
@@ -0,0 +1,100 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccDiagram extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccDiagram");
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccFloor.java b/qadevOOo/tests/java/mod/_sch/AccFloor.java
new file mode 100644
index 000000000..3d5426fab
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccFloor.java
@@ -0,0 +1,106 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccFloor extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ log.println("Change Diagram to 3D");
+ XPropertySet ChartProps = UnoRuntime.queryInterface( XPropertySet.class, xChartDoc.getDiagram() );
+ ChartProps.setPropertyValue("Dim3D", Boolean.TRUE);
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccFloor");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccGrid.java b/qadevOOo/tests/java/mod/_sch/AccGrid.java
new file mode 100644
index 000000000..c0d6e6c20
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccGrid.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccGrid extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccGrid");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccLegend.java b/qadevOOo/tests/java/mod/_sch/AccLegend.java
new file mode 100644
index 000000000..5cda48c80
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccLegend.java
@@ -0,0 +1,99 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccLegend extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XAccessibleContext cont = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccLegend");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccLegendEntry.java b/qadevOOo/tests/java/mod/_sch/AccLegendEntry.java
new file mode 100644
index 000000000..28635af5c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccLegendEntry.java
@@ -0,0 +1,99 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccLegendEntry extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XAccessibleContext cont = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccLegendEntry");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccTitle.java b/qadevOOo/tests/java/mod/_sch/AccTitle.java
new file mode 100644
index 000000000..27486a00e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccTitle.java
@@ -0,0 +1,99 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccTitle extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XAccessibleContext cont = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccTitle");
+
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccWall.java b/qadevOOo/tests/java/mod/_sch/AccWall.java
new file mode 100644
index 000000000..fe3f0388e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccWall.java
@@ -0,0 +1,105 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccWall extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ if (xChartDoc != null) cleanup(Param, log);
+ log.println( "creating a chart document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ log.println("Change Diagram to 3D");
+ XPropertySet ChartProps = UnoRuntime.queryInterface( XPropertySet.class, xChartDoc.getDiagram() );
+ ChartProps.setPropertyValue("Dim3D", Boolean.TRUE);
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext cont = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.SHAPE, "", "AccWall");
+
+ oObj = cont;
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ log.println("AccessibleName " + cont.getAccessibleName());
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acc = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acc.grabFocus();
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sch/AccessibleDocumentView.java b/qadevOOo/tests/java/mod/_sch/AccessibleDocumentView.java
new file mode 100644
index 000000000..f2217435e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/AccessibleDocumentView.java
@@ -0,0 +1,112 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XWindow;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleDocumentView extends TestCase {
+
+ XChartDocument xChartDoc = null;
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
+
+ if (oObj == null) {
+ log.println("DocumentView hasn't the role 'Document'");
+ log.println("trying the role 'Shape'");
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.SHAPE);
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XWindow xDocWin = xWindow;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle rect = xDocWin.getPosSize();
+ xDocWin.setPosSize(100,100,100,100,PosSize.POSSIZE);
+ xDocWin.setPosSize(rect.X,rect.Y,rect.Width,rect.Height,
+ PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a chart document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sch/ChXChartAxis.java b/qadevOOo/tests/java/mod/_sch/ChXChartAxis.java
new file mode 100644
index 000000000..844d1ce9c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXChartAxis.java
@@ -0,0 +1,113 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XAxisYSupplier;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.drawing.XShape;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartAxis</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::chart::ChartAxis</code></li>
+* </ul>
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.chart.ChartAxis
+* @see ifc.drawing._LineProperties
+* @see ifc.style._CharacterProperties
+* @see ifc.beans._XPropertySet
+* @see ifc.chart._ChartAxis
+*/
+public class ChXChartAxis extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the diagram of the chart document. Then obtains the properties
+ * of the y-axis of the diagram using the interface
+ * <code>XAxisYSupplier</code>. The obatined property is the instance
+ * of the service <code>com.sun.star.chart.ChartAxis</code>.
+ * @see com.sun.star.chart.XAxisYSupplier
+ * @see com.sun.star.chart.ChartAxis
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XPropertySet oObj = null;
+ XShape oDiagram = null;
+
+ // create testobject here
+ // get the Diagram
+ log.println( "getting Diagram" );
+ oDiagram = xChartDoc.getDiagram();
+
+ // get the Axis
+ log.println( "getting ChartAxis" );
+ XAxisYSupplier oAxisSup = UnoRuntime.queryInterface(XAxisYSupplier.class,oDiagram);
+ oObj = oAxisSup.getYAxis();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+
+} // finish class ChXChartAxis
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXChartData.java b/qadevOOo/tests/java/mod/_sch/ChXChartData.java
new file mode 100644
index 000000000..ffe925925
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXChartData.java
@@ -0,0 +1,88 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.chart.XChartData;
+import com.sun.star.chart.XChartDocument;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartData</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::chart::XChartData</code></li>
+* </ul>
+* @see com.sun.star.chart.ChartData
+* @see com.sun.star.chart.XChartData
+* @see ifc.chart._XChartData
+*/
+public class ChXChartData extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the data source of the chart. This data source is the instance
+ * of the service <code>com.sun.star.chart.ChartData</code>.
+ * @see com.sun.star.chart.ChartData
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ // get the Data
+ log.println( "getting Data" );
+ XChartData oObj = xChartDoc.getData();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ChXChartData
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXChartDataArray.java b/qadevOOo/tests/java/mod/_sch/ChXChartDataArray.java
new file mode 100644
index 000000000..fca97a6ab
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXChartDataArray.java
@@ -0,0 +1,91 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.chart.XChartData;
+import com.sun.star.chart.XChartDocument;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartDataArray</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::chart::XChartData</code></li>
+* <li> <code>com::sun::star::chart::XChartDataArray</code></li>
+* </ul>
+* @see com.sun.star.chart.ChartDataArray
+* @see com.sun.star.chart.XChartData
+* @see com.sun.star.chart.XChartDataArray
+* @see ifc.chart._XChartData
+* @see ifc.chart._XChartDataArray
+*/
+public class ChXChartDataArray extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the data source of the chart. This data source is the instance
+ * of the service <code>com.sun.star.chart.ChartDataArray</code>.
+ * <code>com.sun.star.chart.ChartDataArray</code>.
+ * @see com.sun.star.chart.ChartDataArray
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ // get the Data
+ log.println( "getting Data" );
+ XChartData oObj = xChartDoc.getData();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ChXChartDataArray
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXChartDocument.java b/qadevOOo/tests/java/mod/_sch/ChXChartDocument.java
new file mode 100644
index 000000000..91388fd92
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXChartDocument.java
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sch;
+
+import com.sun.star.chart.XChartData;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.frame.XController;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XSelectionSupplier;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartDocument</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::frame::XModel</code></li>
+* <li> <code>com::sun::star::chart::XChartDocument</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::chart::ChartTableAddressSupplier</code></li>
+* <li> <code>com::sun::star::chart::ChartDocument</code></li>
+* </ul>
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.frame.XModel
+* @see com.sun.star.chart.XChartDocument
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.chart.ChartTableAddressSupplier
+* @see com.sun.star.chart.ChartDocument
+* @see ifc.lang._XComponent
+* @see ifc.frame._XModel
+* @see ifc.chart._XChartDocument
+* @see ifc.beans._XPropertySet
+* @see ifc.chart._ChartTableAddressSupplier
+* @see ifc.chart._ChartDocument
+*/
+public class ChXChartDocument extends TestCase {
+ XChartDocument xChartDoc = null;
+ XChartDocument doc2 = null;
+
+ /**
+ * Disposes Chart documents.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ if( doc2!=null ) {
+ log.println( " closing xChartDoc2" );
+ util.DesktopTools.closeDoc(doc2);
+ doc2 = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates two chart documents and retrieves current controllers from them
+ * using the interface <code>XChartDocument</code>. The created documents
+ * is the instances of the service <code>com.sun.star.chart.ChartDocument</code>.
+ * Obtains the data source of the second created chart and creates
+ * a pie diagram.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SELSUPP'</code> for
+ * {@link ifc.frame._XModel}(the controller of the first created chart
+ * document)</li>
+ * <li> <code>'TOSELECT'</code> for
+ * {@link ifc.frame._XModel}(the shape of the main title of
+ * the first created chart document)</li>
+ * <li> <code>'CONT2'</code> for
+ * {@link ifc.frame._XModel}(the second created chart document)</li>
+ * <li> <code>'DIAGRAM'</code> for
+ * {@link ifc.chart._XChartDocument}(the created pie diagram)</li>
+ * <li> <code>'CHARTDATA'</code> for
+ * {@link ifc.chart._XChartDocument}(the data source of the second
+ * created chart)</li>
+ * </ul>
+ * @see com.sun.star.chart.XChartData
+ * @see com.sun.star.chart.ChartDocument
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a chartdocument");
+ xChartDoc = SOF.createChartDoc();
+ log.println("Waiting before opening second document");
+ doc2 = SOF.createChartDoc();
+
+
+ // get the chartdocument
+ log.println("getting ChartDocument");
+
+ XInterface oObj = xChartDoc;
+
+ XController cont1 = xChartDoc.getCurrentController();
+ XController cont2 = doc2.getCurrentController();
+
+ cont1.getFrame().setName("cont1");
+ cont2.getFrame().setName("cont2");
+
+ XSelectionSupplier sel = UnoRuntime.queryInterface(
+ XSelectionSupplier.class, cont1);
+
+ log.println("creating a new environment for chartdocument object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("Adding SelectionSupplier and Shape to select for XModel");
+ tEnv.addObjRelation("SELSUPP", sel);
+ tEnv.addObjRelation("TOSELECT", xChartDoc.getTitle());
+
+ log.println("adding Controller as ObjRelation for XModel");
+ tEnv.addObjRelation("CONT2", cont2);
+
+ log.println("adding another Diagram as mod relation to environment");
+ tEnv.addObjRelation("DIAGRAM",
+ SOF.createDiagram(xChartDoc, "PieDiagram"));
+
+ log.println("adding another ChartData as mod relation to environment");
+
+ XChartData ChartData = doc2.getData();
+ tEnv.addObjRelation("CHARTDATA", ChartData);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class ChXChartDocument
diff --git a/qadevOOo/tests/java/mod/_sch/ChXChartView.java b/qadevOOo/tests/java/mod/_sch/ChXChartView.java
new file mode 100644
index 000000000..89873574d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXChartView.java
@@ -0,0 +1,127 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.drawing.XShapeDescriptor;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.view.OfficeDocumentView</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::view::XViewSettingsSupplier</code></li>
+* <li> <code>com::sun::star::view::XControlAccess</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* </ul>
+* @see com.sun.star.view.OfficeDocumentView
+* @see com.sun.star.view.XViewSettingsSupplier
+* @see com.sun.star.view.XControlAccess
+* @see com.sun.star.view.XSelectionSupplier
+* @see ifc.view._XViewSettingsSupplier
+* @see ifc.view._XControlAccess
+* @see ifc.view._XSelectionSupplier
+*/
+public class ChXChartView extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the current controller of the chart document using
+ * the interface <code>XModel</code>.The retrieved controller is the instance
+ * of the service <code>com.sun.star.view.OfficeDocumentView</code>.
+ * Obtains the main title and the legend of the chart document.
+ * Object relations created :
+ * <ul>
+ *
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XController oObj = null;
+ XModel oModel = null;
+
+ // get the ChartView
+ log.println( "getting ChartView" );
+ oModel = UnoRuntime.queryInterface(XModel.class, xChartDoc);
+ oObj = oModel.getCurrentController();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("Selections", new Object[]
+ {xChartDoc.getArea(), xChartDoc.getDiagram(), xChartDoc.getTitle(),
+ xChartDoc.getLegend()} );
+
+ tEnv.addObjRelation("Comparer", new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XShapeDescriptor descr1 = UnoRuntime.queryInterface(XShapeDescriptor.class, o1);
+ XShapeDescriptor descr2 = UnoRuntime.queryInterface(XShapeDescriptor.class, o2);
+ if (descr1 == null || descr2 == null) {
+ return -1;
+ }
+ if (descr1.getShapeType().equals(descr2.getShapeType())) {
+ return 0;
+ }
+ return 1;
+ }
+ } );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class ChXChartView
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXDataPoint.java b/qadevOOo/tests/java/mod/_sch/ChXDataPoint.java
new file mode 100644
index 000000000..abad0f6ca
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXDataPoint.java
@@ -0,0 +1,140 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartDataPointProperties</code>. <p>
+* Object implements the following interfaces
+* <ul>
+* <li> <code>com::sun::star::chart::ChartDataPointProperties</code></li>
+* <li> <code>com::sun::star::drawing::FillProperties</code></li>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::chart::Chart3DBarProperties</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TransparencyChart.sxs </b> : to load predefined chart
+* document where two 'automatic' transparency styles exists :
+* 'Transparency 1' and 'Transparency 2'.</li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartDataPointProperties
+* @see com.sun.star.drawing.FillProperties
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.chart.Chart3DBarProperties
+* @see ifc.chart._ChartDataPointProperties
+* @see ifc.drawing._FillProperties
+* @see ifc.drawing._LineProperties
+* @see ifc.style._CharacterProperties
+* @see ifc.beans._XPropertySet
+* @see ifc.chart._Chart3DBarProperties
+*/
+public class ChXDataPoint extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ XComponent xComp = SOF.loadDocument(
+ utils.getFullTestURL("TransparencyChart.sxs"));
+ xChartDoc = UnoRuntime.queryInterface(XChartDocument.class,xComp);
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the diagram of the chart document. Obtains the properties of
+ * the specified data point. The obtained properties is the instance of
+ * the service <code>com.sun.star.chart.ChartDataPointProperties</code>.
+ * Creates a XY-diagram and bar-diagram also.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'LINE'</code> for
+ * {@link ifc.chart._ChartDataPointProperties}(the created XY-diagram)</li>
+ * <li> <code>'CHARTDOC'</code> for
+ * {@link ifc.chart._ChartDataPointProperties},
+ * {@link ifc.chart._Chart3DBarProperties}(the chart document)</li>
+ * <li> <code>'BAR'</code> for
+ * {@link ifc.chart._Chart3DBarProperties}(the created bar-diagram)</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XPropertySet oObj = null;
+ XDiagram oDiagram = null;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ // get the DataRowPoint_Point
+ log.println( "getting ChXDataRowPoint_Point" );
+ oDiagram = xChartDoc.getDiagram();
+ oObj = oDiagram.getDataPointProperties(1,1);
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ Object line = SOF.createDiagram(xChartDoc,"XYDiagram");
+ tEnv.addObjRelation("LINE",line);
+
+ Object bar = SOF.createDiagram(xChartDoc,"BarDiagram");
+ tEnv.addObjRelation("BAR",bar);
+
+ log.println( "adding ChartDocument as mod relation to environment" );
+ tEnv.addObjRelation("CHARTDOC", xChartDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ChXDataPoint
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXDataRow.java b/qadevOOo/tests/java/mod/_sch/ChXDataRow.java
new file mode 100644
index 000000000..e723aa716
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXDataRow.java
@@ -0,0 +1,147 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartDataRowProperties</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::FillProperties</code></li>
+* <li> <code>com::sun::star::chart::ChartStatistics</code></li>
+* <li> <code>com::sun::star::chart::ChartDataRowProperties</code></li>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::chart::ChartDataPointProperties</code></li>
+* <li> <code>com::sun::star::chart::Chart3DBarProperties</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TransparencyChart.sxs </b> : to load predefined chart
+* document where two 'automatic' transparency styles exists :
+* 'Transparency 1' and 'Transparency 2'.</li>
+* </ul> <p>
+* @see com.sun.star.drawing.FillProperties
+* @see com.sun.star.chart.ChartStatistics
+* @see com.sun.star.chart.ChartDataRowProperties
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.chart.ChartDataPointProperties
+* @see com.sun.star.chart.Chart3DBarProperties
+* @see com.sun.star.style.CharacterProperties
+* @see ifc.drawing._FillProperties
+* @see ifc.chart._ChartStatistics
+* @see ifc.chart._ChartDataRowProperties
+* @see ifc.drawing._LineProperties
+* @see ifc.beans._XPropertySet
+* @see ifc.chart._ChartDataPointProperties
+* @see ifc.chart._Chart3DBarProperties
+* @see ifc.style._CharacterProperties
+*/
+public class ChXDataRow extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ XComponent xComp = SOF.loadDocument(
+ utils.getFullTestURL("TransparencyChart.sxs"));
+ xChartDoc = UnoRuntime.queryInterface(XChartDocument.class,xComp);
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ @Override
+ protected synchronized void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the diagram of the chart document. Obtains the properties of
+ * the specified data row. The obtained properties is the instance of
+ * the service <code>com.sun.star.chart.ChartDataRowProperties</code>.
+ * Creates a XY-diagram and bar-diagram also.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'LINE'</code> for
+ * {@link ifc.chart._ChartDataPointProperties}(the created XY-diagram)</li>
+ * <li> <code>'CHARTDOC'</code> for
+ * {@link ifc.chart._ChartDataPointProperties},
+ * {@link ifc.chart._Chart3DBarProperties}(the chart document)</li>
+ * <li> <code>'BAR'</code> for
+ * {@link ifc.chart._Chart3DBarProperties}(the created bar-diagram)</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XPropertySet oObj = null;
+ XDiagram oDiagram = null;
+ // get the ChXDataRowPoint_Row
+ log.println( "getting ChXDataRowPoint_Row" );
+ oDiagram = xChartDoc.getDiagram();
+ oObj = oDiagram.getDataRowProperties(1);
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ Object line = SOF.createDiagram(xChartDoc,"XYDiagram");
+ tEnv.addObjRelation("LINE",line);
+
+ Object bar = SOF.createDiagram(xChartDoc,"BarDiagram");
+ tEnv.addObjRelation("BAR",bar);
+
+ log.println( "adding ChartDocument as mod relation to environment" );
+ tEnv.addObjRelation("CHARTDOC", xChartDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class ChXDataRow
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChXDiagram.java b/qadevOOo/tests/java/mod/_sch/ChXDiagram.java
new file mode 100644
index 000000000..c9433e6b9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChXDiagram.java
@@ -0,0 +1,367 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.chart.XChartDataArray;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.document.XEmbeddedObjectSupplier;
+import com.sun.star.sheet.XCellRangeAddressable;
+import com.sun.star.sheet.XSpreadsheet;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.sheet.XSpreadsheets;
+import com.sun.star.table.CellRangeAddress;
+import com.sun.star.table.XCell;
+import com.sun.star.table.XCellRange;
+import com.sun.star.table.XTableChart;
+import com.sun.star.table.XTableCharts;
+import com.sun.star.table.XTableChartsSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by the following services:
+* <ul>
+* <li> <code>com.sun.star.chart.Dim3DDiagram</code> </li>
+* <li> <code>com.sun.star.chart.StockDiagram</code> </li>
+* <li> <code>com.sun.star.chart.LineDiagram</code> </li>
+* <li> <code>com.sun.star.chart.BarDiagram</code> </li>
+* <li> <code>com.sun.star.chart.StackableDiagram</code> </li>
+* </ul>
+* <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::chart::XDiagram</code></li>
+* <li> <code>com::sun::star::chart::ChartAxisXSupplier</code></li>
+* <li> <code>com::sun::star::chart::Dim3DDiagram</code></li>
+* <li> <code>com::sun::star::chart::StockDiagram</code></li>
+* <li> <code>com::sun::star::chart::ChartAxisZSupplier</code></li>
+* <li> <code>com::sun::star::chart::XTwoAxisXSupplier</code></li>
+* <li> <code>com::sun::star::chart::LineDiagram</code></li>
+* <li> <code>com::sun::star::chart::BarDiagram</code></li>
+* <li> <code>com::sun::star::chart::XAxisYSupplier</code></li>
+* <li> <code>com::sun::star::chart::Diagram</code></li>
+* <li> <code>com::sun::star::chart::X3DDisplay</code></li>
+* <li> <code>com::sun::star::chart::ChartTwoAxisYSupplier</code></li>
+* <li> <code>com::sun::star::chart::StackableDiagram</code></li>
+* <li> <code>com::sun::star::chart::ChartAxisYSupplier</code></li>
+* <li> <code>com::sun::star::chart::XAxisXSupplier</code></li>
+* <li> <code>com::sun::star::chart::ChartTwoAxisXSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XShape</code></li>
+* <li> <code>com::sun::star::chart::XTwoAxisYSupplier</code></li>
+* <li> <code>com::sun::star::chart::ChartStatistics</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+* <li> <code>com::sun::star::chart::XAxisZSupplier</code></li>
+* <li> <code>com::sun::star::chart::XStatisticDisplay</code></li>
+* </ul>
+* @see com.sun.star.chart.XDiagram
+* @see com.sun.star.chart.ChartAxisXSupplier
+* @see com.sun.star.chart.Dim3DDiagram
+* @see com.sun.star.chart.StockDiagram
+* @see com.sun.star.chart.ChartAxisZSupplier
+* @see com.sun.star.chart.XTwoAxisXSupplier
+* @see com.sun.star.chart.LineDiagram
+* @see com.sun.star.chart.BarDiagram
+* @see com.sun.star.chart.XAxisYSupplier
+* @see com.sun.star.chart.Diagram
+* @see com.sun.star.chart.X3DDisplay
+* @see com.sun.star.chart.ChartTwoAxisYSupplier
+* @see com.sun.star.chart.StackableDiagram
+* @see com.sun.star.chart.ChartAxisYSupplier
+* @see com.sun.star.chart.XAxisXSupplier
+* @see com.sun.star.chart.ChartTwoAxisXSupplier
+* @see com.sun.star.drawing.XShape
+* @see com.sun.star.chart.XTwoAxisYSupplier
+* @see com.sun.star.chart.ChartStatistics
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.drawing.XShapeDescriptor
+* @see com.sun.star.chart.XAxisZSupplier
+* @see com.sun.star.chart.XStatisticDisplay
+* @see ifc.chart._XDiagram
+* @see ifc.chart._ChartAxisXSupplier
+* @see ifc.chart._Dim3DDiagram
+* @see ifc.chart._StockDiagram
+* @see ifc.chart._ChartAxisZSupplier
+* @see ifc.chart._XTwoAxisXSupplier
+* @see ifc.chart._LineDiagram
+* @see ifc.chart._BarDiagram
+* @see ifc.chart._XAxisYSupplier
+* @see ifc.chart._Diagram
+* @see ifc.chart._X3DDisplay
+* @see ifc.chart._ChartTwoAxisYSupplier
+* @see ifc.chart._StackableDiagram
+* @see ifc.chart._ChartAxisYSupplier
+* @see ifc.chart._XAxisXSupplier
+* @see ifc.chart._ChartTwoAxisXSupplier
+* @see ifc.drawing._XShape
+* @see ifc.chart._XTwoAxisYSupplier
+* @see ifc.chart._ChartStatistics
+* @see ifc.beans._XPropertySet
+* @see ifc.drawing._XShapeDescriptor
+* @see ifc.chart._XAxisZSupplier
+* @see ifc.chart._XStatisticDisplay
+*/
+public class ChXDiagram extends TestCase {
+ XSpreadsheetDocument xSheetDoc = null;
+
+ /**
+ * Creates Spreadsheet document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a sheetdocument" );
+ xSheetDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes Spreadsheet document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " closing xSheetDoc " );
+ util.DesktopTools.closeDoc(xSheetDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves a collection of spreadsheets from a document
+ * and takes one of them. Inserts some values into the cells of the same cell
+ * range address. Adds and retrieves the chart that using the data from
+ * the cells of this cell range address. Obtains the chart document which is
+ * embedded into the retrieved chart using the interface
+ * <code>XEmbeddedObjectSupplier</code>. Retrieves the diagram from
+ * the obtained chart document. The retrieved diagram is the instance of
+ * the service <code>com.sun.star.chart.Diagram</code>.
+ * Obtains the data source of the chart from the chart document.
+ * Creates a stock-diagram, a bar-diagram, a XY-diagram and line-diagram
+ * that are the instances of the following services:
+ * <ul>
+ * <li> <code>com.sun.star.chart.StockDiagram</code> </li>
+ * <li> <code>com.sun.star.chart.BarDiagram</code> </li>
+ * <li> <code>com.sun.star.chart.LineDiagram</code> </li>
+ * <li> <code>com.sun.star.chart.StackableDiagram</code> </li>
+ * </ul>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CHARTDOC'</code> for
+ * {@link ifc.chart._Dim3DDiagram}, {@link ifc.chart._StockDiagram},
+ * {@link ifc.chart._ChartAxisZSupplier}, {@link ifc.chart._LineDiagram},
+ * {@link ifc.chart._BarDiagram}, {@link ifc.chart._Diagram},
+ * {@link ifc.chart._ChartTwoAxisYSupplier},
+ * {@link ifc.chart._StackableDiagram}, {@link ifc.chart._Diagram},
+ * {@link ifc.chart._ChartAxisYSupplier},
+ * {@link ifc.chart._ChartTwoAxisXSupplier},
+ * {@link ifc.chart._ChartStatistics} (the obtained chart document)</li>
+ * <li> <code>'ROWAMOUNT', 'COLAMOUNT'</code> for
+ * {@link ifc.chart._XDiagram}(the number of chart columns and
+ * the number of chart rows) </li>
+ * <li> <code>'STOCK'</code> for
+ * {@link ifc.chart._StockDiagram}(the created stock-diagram) </li>
+ * <li> <code>'BAR'</code> for
+ * {@link ifc.chart._BarDiagram}, {@link ifc.chart._ChartAxisZSupplier},
+ * {@link ifc.chart._ChartTwoAxisXSupplier},
+ * {@link ifc.chart._ChartTwoAxisYSupplier}(the created bar-diagram)</li>
+ * <li> <code>'LINE'</code> for
+ * {@link ifc.chart._LineDiagram}(the created XY-diagram) </li>
+ * <li> <code>'STACK'</code> for
+ * {@link ifc.chart._StackableDiagram}(the created Line-diagram) </li>
+ * </ul>
+ * @see com.sun.star.document.XEmbeddedObjectSupplier
+ * @see com.sun.star.chart.Diagram
+ * @see com.sun.star.chart.StockDiagram
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ XSpreadsheet oSheet=null;
+ XChartDocument xChartDoc=null;
+ XDiagram oObj = null;
+
+ System.out.println("Getting spreadsheet") ;
+ XSpreadsheets oSheets = xSheetDoc.getSheets() ;
+ XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
+ oSheet = (XSpreadsheet) AnyConverter.toObject(
+ new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0));
+
+ log.println("Creating the Header") ;
+
+ insertIntoCell(1,0,"JAN",oSheet,"");
+ insertIntoCell(2,0,"FEB",oSheet,"");
+ insertIntoCell(3,0,"MAR",oSheet,"");
+ insertIntoCell(4,0,"APR",oSheet,"");
+ insertIntoCell(5,0,"MAI",oSheet,"");
+ insertIntoCell(6,0,"JUN",oSheet,"");
+ insertIntoCell(7,0,"JUL",oSheet,"");
+ insertIntoCell(8,0,"AUG",oSheet,"");
+ insertIntoCell(9,0,"SEP",oSheet,"");
+ insertIntoCell(10,0,"OCT",oSheet,"");
+ insertIntoCell(11,0,"NOV",oSheet,"");
+ insertIntoCell(12,0,"DEC",oSheet,"");
+ insertIntoCell(13,0,"SUM",oSheet,"");
+
+ log.println("Fill the lines");
+
+ insertIntoCell(0,1,"Smith",oSheet,"");
+ insertIntoCell(1,1,"42",oSheet,"V");
+ insertIntoCell(2,1,"58.9",oSheet,"V");
+ insertIntoCell(3,1,"-66.5",oSheet,"V");
+ insertIntoCell(4,1,"43.4",oSheet,"V");
+ insertIntoCell(5,1,"44.5",oSheet,"V");
+ insertIntoCell(6,1,"45.3",oSheet,"V");
+ insertIntoCell(7,1,"-67.3",oSheet,"V");
+ insertIntoCell(8,1,"30.5",oSheet,"V");
+ insertIntoCell(9,1,"23.2",oSheet,"V");
+ insertIntoCell(10,1,"-97.3",oSheet,"V");
+ insertIntoCell(11,1,"22.4",oSheet,"V");
+ insertIntoCell(12,1,"23.5",oSheet,"V");
+ insertIntoCell(13,1,"=SUM(B2:M2)",oSheet,"");
+
+ insertIntoCell(0,2,"Jones",oSheet,"");
+ insertIntoCell(1,2,"21",oSheet,"V");
+ insertIntoCell(2,2,"40.9",oSheet,"V");
+ insertIntoCell(3,2,"-57.5",oSheet,"V");
+ insertIntoCell(4,2,"-23.4",oSheet,"V");
+ insertIntoCell(5,2,"34.5",oSheet,"V");
+ insertIntoCell(6,2,"59.3",oSheet,"V");
+ insertIntoCell(7,2,"27.3",oSheet,"V");
+ insertIntoCell(8,2,"-38.5",oSheet,"V");
+ insertIntoCell(9,2,"43.2",oSheet,"V");
+ insertIntoCell(10,2,"57.3",oSheet,"V");
+ insertIntoCell(11,2,"25.4",oSheet,"V");
+ insertIntoCell(12,2,"28.5",oSheet,"V");
+ insertIntoCell(13,2,"=SUM(B3:M3)",oSheet,"");
+
+ insertIntoCell(0,3,"Brown",oSheet,"");
+ insertIntoCell(1,3,"31.45",oSheet,"V");
+ insertIntoCell(2,3,"-20.9",oSheet,"V");
+ insertIntoCell(3,3,"-117.5",oSheet,"V");
+ insertIntoCell(4,3,"23.4",oSheet,"V");
+ insertIntoCell(5,3,"-114.5",oSheet,"V");
+ insertIntoCell(6,3,"115.3",oSheet,"V");
+ insertIntoCell(7,3,"-171.3",oSheet,"V");
+ insertIntoCell(8,3,"89.5",oSheet,"V");
+ insertIntoCell(9,3,"41.2",oSheet,"V");
+ insertIntoCell(10,3,"71.3",oSheet,"V");
+ insertIntoCell(11,3,"25.4",oSheet,"V");
+ insertIntoCell(12,3,"38.5",oSheet,"V");
+ insertIntoCell(13,3,"=SUM(A4:L4)",oSheet,"");
+
+ // insert a chart
+ Rectangle oRect = new Rectangle(500, 3000, 25000, 11000);
+
+ XCellRange oRange = UnoRuntime.queryInterface(XCellRange.class, oSheet);
+ XCellRange myRange = oRange.getCellRangeByName("A1:N4");
+ XCellRangeAddressable oRangeAddr = UnoRuntime.queryInterface(XCellRangeAddressable.class, myRange);
+ CellRangeAddress myAddr = oRangeAddr.getRangeAddress();
+
+ CellRangeAddress[] oAddr = new CellRangeAddress[1];
+ oAddr[0] = myAddr;
+ XTableChartsSupplier oSupp = UnoRuntime.queryInterface(XTableChartsSupplier.class, oSheet);
+
+ log.println("Insert Chart");
+ XTableCharts oCharts = oSupp.getCharts();
+
+
+ if (!oCharts.hasByName("ChXDiagram")) {
+ oCharts.addNewByName("ChXDiagram", oRect, oAddr, true, true);
+ }
+
+ // get the TableChart
+ XTableChart oChart = (XTableChart) AnyConverter.toObject(
+ new Type(XTableChart.class),UnoRuntime.queryInterface(
+ XNameAccess.class, oCharts).getByName("ChXDiagram"));
+
+ XEmbeddedObjectSupplier oEOS = UnoRuntime.queryInterface(XEmbeddedObjectSupplier.class, oChart);
+ XInterface oInt = oEOS.getEmbeddedObject();
+ xChartDoc = UnoRuntime.queryInterface(XChartDocument.class,oInt);
+ oObj = xChartDoc.getDiagram();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding ChartDocument as mod relation to environment" );
+ tEnv.addObjRelation("CHARTDOC", xChartDoc);
+
+ XChartDataArray da = UnoRuntime.queryInterface(XChartDataArray.class, xChartDoc.getData());
+ int cols = da.getColumnDescriptions().length;
+ int rows = da.getRowDescriptions().length;
+
+ tEnv.addObjRelation("ROWAMOUNT", Integer.valueOf(rows));
+ tEnv.addObjRelation("COLAMOUNT", Integer.valueOf(cols));
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ Object stock = SOF.createDiagram(xChartDoc,"StockDiagram");
+ tEnv.addObjRelation("STOCK",stock);
+
+ Object bar = SOF.createDiagram(xChartDoc,"BarDiagram");
+ tEnv.addObjRelation("BAR",bar);
+
+ Object line = SOF.createDiagram(xChartDoc,"XYDiagram");
+ tEnv.addObjRelation("LINE",line);
+
+ Object stack = SOF.createDiagram(xChartDoc,"LineDiagram");
+ tEnv.addObjRelation("STACK",stack);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * Inserts a value or a formula in the cell of the spreadsheet.
+ * @param CellX is the column index of the cell
+ * @param CellY is the row index of the cell
+ * @param theValue string representation of the value
+ * @param TT1 specify the spreadsheet, the interface
+ * <code>com.sun.star.sheet.XSpreadsheet</code>
+ * @param flag if it's equal to <code>'V'</code> then the method inserts
+ * a double-value in the cell else it inserts a formula in the cell
+ */
+ public static void insertIntoCell(
+ int CellX, int CellY, String theValue, XSpreadsheet TT1, String flag)
+ throws com.sun.star.lang.IndexOutOfBoundsException {
+
+ XCell oCell = TT1.getCellByPosition(CellX, CellY);
+
+ if (flag.equals("V")) {
+ oCell.setValue(Float.parseFloat(theValue));
+ }
+ else {
+ oCell.setFormula(theValue);
+ }
+
+ } // end of insertIntoCell
+
+
+} // finish class ChXDiagram
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChartArea.java b/qadevOOo/tests/java/mod/_sch/ChartArea.java
new file mode 100644
index 000000000..c81a7cea2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChartArea.java
@@ -0,0 +1,106 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartArea</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::FillProperties</code></li>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TransparencyChart.sxs </b> : to load predefined chart
+* document where two 'automatic' transparency styles exists :
+* 'Transparency 1' and 'Transparency 2'.</li>
+* </ul> <p>
+* @see com.sun.star.chart.ChartArea
+* @see com.sun.star.drawing.FillProperties
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.drawing._FillProperties
+* @see ifc.drawing._LineProperties
+* @see ifc.beans._XPropertySet
+*/
+public class ChartArea extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ XComponent xComp = SOF.loadDocument(
+ utils.getFullTestURL("TransparencyChart.sxs"));
+ xChartDoc = UnoRuntime.queryInterface(XChartDocument.class,xComp);
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieved the instance of the service <code>com.sun.star.chart.ChartArea</code>
+ * using the interface <code>XChartDocument</code>.
+ * @see com.sun.star.chart.XChartDocument
+ * @see com.sun.star.chart.ChartArea
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ // get the Area
+ log.println( "getting Area" );
+ XPropertySet oObj = xChartDoc.getArea();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ChartArea
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChartGrid.java b/qadevOOo/tests/java/mod/_sch/ChartGrid.java
new file mode 100644
index 000000000..79b3aa3f0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChartGrid.java
@@ -0,0 +1,105 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XAxisXSupplier;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.drawing.XShape;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartGrid</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.chart.ChartGrid
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.drawing._LineProperties
+* @see ifc.beans._XPropertySet
+*/
+public class ChartGrid extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the diagram of the chart document. Then obtains
+ * the properties of the main grid of the x-axis of the diagram
+ * using the interface <code>XAxisXSupplier</code>. This properties is
+ * the instance of the service <code>com.sun.star.chart.ChartGrid</code>.
+ * @see com.sun.star.chart.XAxisXSupplier
+ * @see com.sun.star.chart.ChartGrid
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XPropertySet oObj = null;
+ XShape oDiagram = null;
+
+ // get the Diagram
+ log.println( "getting Diagram" );
+ oDiagram = xChartDoc.getDiagram();
+
+ // get the Grid
+ log.println( "getting ChartGrid" );
+ XAxisXSupplier oAxisSup = UnoRuntime.queryInterface(XAxisXSupplier.class,oDiagram);
+ oObj = oAxisSup.getXMainGrid();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class ChartGrid
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChartLegend.java b/qadevOOo/tests/java/mod/_sch/ChartLegend.java
new file mode 100644
index 000000000..c8cfaa477
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChartLegend.java
@@ -0,0 +1,126 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartLegend</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::FillProperties</code></li>
+* <li> <code>com::sun::star::drawing::XShape</code></li>
+* <li> <code>com::sun::star::drawing::Shape</code></li>
+* <li> <code>com::sun::star::chart::ChartLegend</code></li>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> TransparencyChart.sxs </b> : to load predefined chart
+* document where two 'automatic' transparency styles exists :
+* 'Transparency 1' and 'Transparency 2'.</li>
+* </ul> <p>
+* @see com.sun.star.drawing.FillProperties
+* @see com.sun.star.drawing.XShape
+* @see com.sun.star.drawing.Shape
+* @see com.sun.star.chart.ChartLegend
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.drawing.XShapeDescriptor
+* @see com.sun.star.lang.XComponent
+* @see ifc.drawing._FillProperties
+* @see ifc.drawing._XShape
+* @see ifc.drawing._Shape
+* @see ifc.chart._ChartLegend
+* @see ifc.drawing._LineProperties
+* @see ifc.beans._XPropertySet
+* @see ifc.style._CharacterProperties
+* @see ifc.drawing._XShapeDescriptor
+* @see ifc.lang._XComponent
+*/
+public class ChartLegend extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ XComponent xComp = SOF.loadDocument(
+ utils.getFullTestURL("TransparencyChart.sxs"));
+ xChartDoc = UnoRuntime.queryInterface(XChartDocument.class,xComp);
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the diagram of the chart document. The retrieved
+ * diagram is the instance of the service
+ * <code>com.sun.star.chart.ChartLegend</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XShape oObj = null;
+
+ // get the Legend
+ log.println( "getting Legend" );
+ oObj = xChartDoc.getLegend();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("NoSetSize", "sch.ChartLegend");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class ChartLegend
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChartLine.java b/qadevOOo/tests/java/mod/_sch/ChartLine.java
new file mode 100644
index 000000000..69c0a510a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChartLine.java
@@ -0,0 +1,112 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.chart.XDiagram;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartLine</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::LineProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.drawing.LineProperties
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.drawing._LineProperties
+* @see ifc.beans._XPropertySet
+*/
+public class ChartLine extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates a bar diagram and sets the created diagram for the chart document.
+ * Retrieves the property <code>'DataMeanValueProperties'</code> of
+ * the specified data row. The retrieved property is the instance of
+ * the service <code>com.sun.star.chart.ChartLine</code>.
+ * @see com.sun.star.chart.ChartLine
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XPropertySet oObj = null;
+ XDiagram oDiagram = null;
+ SOfficeFactory SOF = null;
+
+ //get LineDiagram
+ SOF = SOfficeFactory.getFactory( Param.getMSF());
+ oDiagram = SOF.createDiagram(xChartDoc, "LineDiagram");
+
+ log.println( "getting Line-Diagram" );
+ xChartDoc.setDiagram(oDiagram);
+
+ // get the Line
+ log.println( "getting Line" );
+ XPropertySet RowProps = oDiagram.getDataRowProperties(1);
+ RowProps.setPropertyValue("MeanValue", Boolean.TRUE);
+ oObj = (XPropertySet) AnyConverter.toObject(
+ new Type(XPropertySet.class),
+ RowProps.getPropertyValue("DataMeanValueProperties"));
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class ChartLine
+
diff --git a/qadevOOo/tests/java/mod/_sch/ChartTitle.java b/qadevOOo/tests/java/mod/_sch/ChartTitle.java
new file mode 100644
index 000000000..1a4aaccfb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sch/ChartTitle.java
@@ -0,0 +1,105 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sch;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.drawing.XShape;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.chart.ChartTitle</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::chart::ChartTitle</code></li>
+* <li> <code>com::sun::star::drawing::XShape</code></li>
+* <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+* <li> <code>com::sun::star::style::CharacterProperties</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::drawing::Shape</code></li>
+* </ul>
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.chart.ChartTitle
+* @see com.sun.star.drawing.XShape
+* @see com.sun.star.drawing.XShapeDescriptor
+* @see com.sun.star.style.CharacterProperties
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.drawing.Shape
+* @see ifc.lang._XComponent
+* @see ifc.chart._ChartTitle
+* @see ifc.drawing._XShape
+* @see ifc.drawing._XShapeDescriptor
+* @see ifc.style._CharacterProperties
+* @see ifc.beans._XPropertySet
+* @see ifc.drawing._Shape
+*/
+public class ChartTitle extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * Creates Chart document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+ }
+
+ /**
+ * Disposes Chart document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the shape of the main title of the chart document.
+ * The retrieved shape is the instance of the service
+ * <code>com.sun.star.chart.ChartTitle</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ // get the Title
+ log.println( "getting Title" );
+ XShape oObj = xChartDoc.getTitle();
+
+ log.println( "creating a new environment for chartdocument object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ tEnv.addObjRelation("NoSetSize","sch.ChartTitle");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class ChXChartObject_Title
+
diff --git a/qadevOOo/tests/java/mod/_sd/AccessibleDrawDocumentView.java b/qadevOOo/tests/java/mod/_sd/AccessibleDrawDocumentView.java
new file mode 100644
index 000000000..42b63f593
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/AccessibleDrawDocumentView.java
@@ -0,0 +1,149 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XDrawView;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleDrawDocumentView extends TestCase {
+
+ XComponent xDrawDoc;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ final XDrawPage fDP2 = oDPn.insertNewByIndex(1);
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class, oDPn);
+ XDrawPage oDP = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ //get a Shape
+ log.println( "inserting a Shape" );
+ XShape oShape = SOF.createShape(xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow (
+ aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ //com.sun.star.accessibility.AccessibleRole
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
+
+ log.println("ImplementationName "+utils.getImplName(oObj));
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XDrawView xView = UnoRuntime.queryInterface
+ (XDrawView.class, aModel.getCurrentController()) ;
+ final XDrawPage fDP1 = oDP;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ xView.setCurrentPage(fDP2);
+ xView.setCurrentPage(fDP1);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing Draw document");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sd/AccessibleOutlineView.java b/qadevOOo/tests/java/mod/_sd/AccessibleOutlineView.java
new file mode 100644
index 000000000..5765c87d1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/AccessibleOutlineView.java
@@ -0,0 +1,152 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class AccessibleOutlineView extends TestCase {
+
+ XModel aModel = null;
+ XComponent xImpressDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow (
+ aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
+
+ log.println("ImplementationName "+utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, aModel);
+ final XDrawPages oDPn = oDPS.getDrawPages();
+
+ tEnv.addObjRelation("EventMsg","Inserting a drawpage via API has no "+
+ "effect to the outline view #101050# \r\n"+
+ "Therefore the listener isn't called");
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ oDPn.insertNewByIndex(1);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log ) {
+ log.println("disposing Impress document");
+ util.DesktopTools.closeDoc(xImpressDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ aModel = UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ //Change to Outline view
+ try {
+ String aSlotID = "slot:27010";
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface( XDispatchProvider.class, oObj );
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().
+ createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ }
+ util.utils.waitForEventIdle(Param.getMSF());
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/AccessibleSlideView.java b/qadevOOo/tests/java/mod/_sd/AccessibleSlideView.java
new file mode 100644
index 000000000..ea42567af
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/AccessibleSlideView.java
@@ -0,0 +1,160 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class AccessibleSlideView extends TestCase {
+
+ XModel aModel = null;
+ XComponent xImpressDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, aModel);
+ XDrawPages oDPn = oDPS.getDrawPages();
+
+ oDPn.insertNewByIndex(0);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow (
+ aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
+
+ System.out.println("ImplementationName "+utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //util.dbg.printInterfaces(oObj);
+ log.println("Implementationname: "+util.utils.getImplName(oObj));
+
+ final XDrawPages DrawPages = oDPn;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ DrawPages.insertNewByIndex(2);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log ) {
+ log.println("disposing impress document");
+ util.DesktopTools.closeDoc(xImpressDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ aModel = UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+
+ //Change to Outline view
+ try {
+ String aSlotID = "slot:27011";
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface( XDispatchProvider.class,
+ aModel.getCurrentController() );
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().
+ createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ }
+
+ util.utils.waitForEventIdle(Param.getMSF());
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/DrawController_DrawView.java b/qadevOOo/tests/java/mod/_sd/DrawController_DrawView.java
new file mode 100644
index 000000000..9a1fb6d70
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/DrawController_DrawView.java
@@ -0,0 +1,248 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class DrawController_DrawView extends TestCase {
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page. Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println( "creating two impress documents" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+ xSecondDrawDoc = SOF.createDrawDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ XModel aModel2 = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ XController aController2 = aModel2.getCurrentController();
+
+ XWindow anotherWindow = UnoRuntime.queryInterface(
+ XWindow.class, aController2);
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ Object oShapeCol1 = null;
+ Object oShapeCol2 = null;
+ oShapeCol1 = Param.getMSF().
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ oShapeCol2 = Param.getMSF().
+ createInstance("com.sun.star.drawing.ShapeCollection");
+
+ XShapes xShapes1 = UnoRuntime.queryInterface(XShapes.class, oShapeCol1);
+ XShapes xShapes2 = UnoRuntime.queryInterface(XShapes.class, oShapeCol2);
+ xShapes1.add(shape2);
+ xShapes1.add(shape3);
+ xShapes2.add(shape1);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, oShapeCol1, oShapeCol2});
+ tEnv.addObjRelation("Comparer", new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }});
+
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = aController2.getFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel2);
+
+ tEnv.addObjRelation("SecondController", aController2);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/DrawController_HandoutView.java b/qadevOOo/tests/java/mod/_sd/DrawController_HandoutView.java
new file mode 100644
index 000000000..eb3144e21
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/DrawController_HandoutView.java
@@ -0,0 +1,276 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* The view was switched to <b>HandoutMode</b>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class DrawController_HandoutView extends TestCase {
+ static XDesktop xDesktop;
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service
+ * <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page.
+ * Switch to the <b>HandoutMode</b>.
+ * Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory xMSF = Param.getMSF();
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(xMSF);
+
+ log.println( "creating two impress documents" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+ xDrawDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ for (int i = 1; i < 10; i++){
+ the_pages.insertNewByIndex(i);
+ }
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ log.println("switch to HandoutView...");
+ utils.dispatchURL(xMSF, xDrawDoc, ".uno:HandoutMode");
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ log.println("bring first document to front...");
+ DesktopTools.bringWindowToFront(aModel);
+
+ XModel aModel2 = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ Object oShapeCol1 = null;
+ Object oShapeCol2 = null;
+ oShapeCol1 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ oShapeCol2 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+
+ XShapes xShapes1 = UnoRuntime.queryInterface(XShapes.class, oShapeCol1);
+ XShapes xShapes2 = UnoRuntime.queryInterface(XShapes.class, oShapeCol2);
+ xShapes1.add(shape2);
+ xShapes1.add(shape3);
+ xShapes2.add(shape1);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, oShapeCol1, oShapeCol2});
+ tEnv.addObjRelation("Comparer", new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }});
+
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = xDesktop.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/DrawController_NotesView.java b/qadevOOo/tests/java/mod/_sd/DrawController_NotesView.java
new file mode 100644
index 000000000..36b57debb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/DrawController_NotesView.java
@@ -0,0 +1,273 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* The view was switched to <b>NotesMode</b>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class DrawController_NotesView extends TestCase {
+ static XDesktop xDesktop;
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service
+ * <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page.
+ * Switch to the <b>NotesMode</b>.
+ * Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory xMSF = Param.getMSF();
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(xMSF);
+
+ log.println( "creating two impress documents" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+ xDrawDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ log.println("switch to HandoutView...");
+ utils.dispatchURL(xMSF, xDrawDoc, ".uno:NotesMode");
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ log.println("bring first document to front...");
+ DesktopTools.bringWindowToFront(aModel);
+
+ XModel aModel2 = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ Object oShapeCol1 = null;
+ Object oShapeCol2 = null;
+ oShapeCol1 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ oShapeCol2 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+
+ XShapes xShapes1 = UnoRuntime.queryInterface(XShapes.class, oShapeCol1);
+ XShapes xShapes2 = UnoRuntime.queryInterface(XShapes.class, oShapeCol2);
+ xShapes1.add(shape2);
+ xShapes1.add(shape3);
+ xShapes2.add(shape1);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, oShapeCol1, oShapeCol2});
+ tEnv.addObjRelation("Comparer", new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }});
+
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = xDesktop.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/DrawController_OutlineView.java b/qadevOOo/tests/java/mod/_sd/DrawController_OutlineView.java
new file mode 100644
index 000000000..85bea8bc5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/DrawController_OutlineView.java
@@ -0,0 +1,273 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* The view was switched to <b>OutlineMode</b>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class DrawController_OutlineView extends TestCase {
+ static XDesktop xDesktop;
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service
+ * <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page.
+ * Switch to the <b>OutlineMode</b>.
+ * Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory xMSF = Param.getMSF();
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(xMSF);
+
+ log.println( "creating two impress documents" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+ xDrawDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ log.println("switch to HandoutView...");
+ utils.dispatchURL(xMSF, xDrawDoc, ".uno:OutlineMode");
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ log.println("bring first document to front...");
+ DesktopTools.bringWindowToFront(aModel);
+
+ XModel aModel2 = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ Object oShapeCol1 = null;
+ Object oShapeCol2 = null;
+ oShapeCol1 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ oShapeCol2 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+
+ XShapes xShapes1 = UnoRuntime.queryInterface(XShapes.class, oShapeCol1);
+ XShapes xShapes2 = UnoRuntime.queryInterface(XShapes.class, oShapeCol2);
+ xShapes1.add(shape2);
+ xShapes1.add(shape3);
+ xShapes2.add(shape1);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, oShapeCol1, oShapeCol2});
+ tEnv.addObjRelation("Comparer", new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }});
+
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = xDesktop.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/DrawController_PresentationView.java b/qadevOOo/tests/java/mod/_sd/DrawController_PresentationView.java
new file mode 100644
index 000000000..07609f22a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/DrawController_PresentationView.java
@@ -0,0 +1,273 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* The view was switched to <b>DiaMode</b>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class DrawController_PresentationView extends TestCase {
+ static XDesktop xDesktop;
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service
+ * <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page.
+ * Switch to the <b>DiaMode</b>.
+ * Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory xMSF = Param.getMSF();
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(xMSF);
+
+ log.println( "creating two impress documents" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+ xDrawDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ log.println("switch to PresentationView...");
+ utils.dispatchURL(xMSF, xDrawDoc, ".uno:DiaMode");
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ log.println("bring first document to front...");
+ DesktopTools.bringWindowToFront(aModel);
+
+ XModel aModel2 = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ Object oShapeCol1 = null;
+ Object oShapeCol2 = null;
+ oShapeCol1 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+ oShapeCol2 = xMSF.
+ createInstance("com.sun.star.drawing.ShapeCollection");
+
+ XShapes xShapes1 = UnoRuntime.queryInterface(XShapes.class, oShapeCol1);
+ XShapes xShapes2 = UnoRuntime.queryInterface(XShapes.class, oShapeCol2);
+ xShapes1.add(shape2);
+ xShapes1.add(shape3);
+ xShapes2.add(shape1);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, oShapeCol1, oShapeCol2});
+ tEnv.addObjRelation("Comparer", new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }});
+
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = xDesktop.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdDocLinkTargets.java b/qadevOOo/tests/java/mod/_sd/SdDocLinkTargets.java
new file mode 100644
index 000000000..e3ca75539
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdDocLinkTargets.java
@@ -0,0 +1,96 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XLinkTargetSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.document.LinkTargets</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.document.LinkTargets
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+*/
+public class SdDocLinkTargets extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the possible links to children of the drawing document using
+ * the interface <code>XLinkTargetSupplier</code>. The retrieved collection
+ * is the instance of the service <code>com.sun.star.document.LinkTargets</code>.
+ * @see com.sun.star.document.XLinkTargetSupplier
+ * @see com.sun.star.document.LinkTargets
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ // get the Links here
+ log.println( "getting Links" );
+ XLinkTargetSupplier oLTS = UnoRuntime.queryInterface(XLinkTargetSupplier.class,xDrawDoc);
+ XInterface oObj = oLTS.getLinks();
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdDocLinkTargets
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdDrawPage.java b/qadevOOo/tests/java/mod/_sd/SdDrawPage.java
new file mode 100644
index 000000000..bcf8f9630
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdDrawPage.java
@@ -0,0 +1,186 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XMasterPagesSupplier;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawPage</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::GenericDrawPage</code></li>
+* <li> <code>com::sun::star::drawing::XShapeBinder</code></li>
+* <li> <code>com::sun::star::drawing::XShapeGrouper</code></li>
+* <li> <code>com::sun::star::drawing::XShapes</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::drawing::XMasterPageTarget</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::drawing::XShapeCombiner</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawPage
+* @see com.sun.star.drawing.GenericDrawPage
+* @see com.sun.star.drawing.XShapeBinder
+* @see com.sun.star.drawing.XShapeGrouper
+* @see com.sun.star.drawing.XShapes
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.drawing.XMasterPageTarget
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.drawing.XShapeCombiner
+* @see ifc.drawing._GenericDrawPage
+* @see ifc.drawing._XShapeBinder
+* @see ifc.drawing._XShapeGrouper
+* @see ifc.drawing._XShapes
+* @see ifc.lang._XServiceInfo
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.drawing._XMasterPageTarget
+* @see ifc.container._XNamed
+* @see ifc.drawing._XShapeCombiner
+*/
+public class SdDrawPage extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of the draw pages from the drawing document using
+ * the interface <code>XDrawPagesSupplier</code> and take one of them.
+ * The retrieved draw page is the instance of the service
+ * <code>com.sun.star.drawing.DrawPage</code>. Inserts some shapes
+ * into the draw page. Obtains the MasterPages collection. Creates
+ * the rectangle shape.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes}( the created rectangle shape )</li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeBinder}, {@link ifc.drawing._XShapeGrouper},
+ * {@link ifc.drawing._XShapeCombiner}( the retrieved draw page )</li>
+ * <li> <code>'MasterPageSupplier'</code> for
+ * {@link ifc.drawing._XMasterPageTarget}(the obtained master pages
+ * collection)</li>
+ * </ul>
+ * @see com.sun.star.drawing.DrawPage
+ * @see com.sun.star.drawing.XDrawPagesSupplier
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class,oDPn);
+ oObj = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = UnoRuntime.queryInterface
+ (XShapes.class,oObj);
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 2000, 1500, 1000, 1000, "Line"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle"));
+
+ //get the XMasterPagesSupplier
+ log.println("get XMasterPagesSupplier");
+ XMasterPagesSupplier oMPS = UnoRuntime.queryInterface(XMasterPagesSupplier.class, xDrawDoc);
+ XDrawPages oGroup = oMPS.getMasterPages();
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XControlShape aShape = FormTools.createControlShape(
+ xDrawDoc,3000,4500,15000,10000,"CommandButton");
+
+ oShapes.add(aShape);
+
+ ShapeDsc sDsc = new ShapeDsc(5000, 3500, 7500, 10000, "Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator( xDrawDoc, sDsc));
+ tEnv.addObjRelation("DrawPage", oObj);
+ tEnv.addObjRelation("MasterPageSupplier",oGroup);
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdDrawPage
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdDrawPagesAccess.java b/qadevOOo/tests/java/mod/_sd/SdDrawPagesAccess.java
new file mode 100644
index 000000000..20e69e34b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdDrawPagesAccess.java
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawPages</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::drawing::XDrawPages</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawPages
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.drawing.XDrawPages
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.drawing._XDrawPages
+*/
+public class SdDrawPagesAccess extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of the draw pages from the drawing document using
+ * the interface <code>XDrawPagesSupplier</code>. Inserts two new draw pages.
+ * The retrieved collection is the instance of the service
+ * <code>com.sun.star.drawing.DrawPages</code>.
+ * @see com.sun.star.drawing.DrawPages
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpages" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages oDP = oDPS.getDrawPages();
+ oDP.insertNewByIndex(1);
+ oDP.insertNewByIndex(2);
+ XInterface oObj = oDP;
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+
+} // finish class SdDrawPagesAccess
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdGenericDrawPage.java b/qadevOOo/tests/java/mod/_sd/SdGenericDrawPage.java
new file mode 100644
index 000000000..6190b3693
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdGenericDrawPage.java
@@ -0,0 +1,169 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.GenericDrawPage</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::GenericDrawPage</code></li>
+* <li> <code>com::sun::star::drawing::XShapeBinder</code></li>
+* <li> <code>com::sun::star::drawing::XShapeGrouper</code></li>
+* <li> <code>com::sun::star::drawing::XShapes</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::drawing::XShapeCombiner</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* </ul>
+* @see com.sun.star.drawing.GenericDrawPage
+* @see com.sun.star.drawing.XShapeBinder
+* @see com.sun.star.drawing.XShapeGrouper
+* @see com.sun.star.drawing.XShapes
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.drawing.XShapeCombiner
+* @see com.sun.star.container.XNamed
+* @see ifc.drawing._GenericDrawPage
+* @see ifc.drawing._XShapeBinder
+* @see ifc.drawing._XShapeGrouper
+* @see ifc.drawing._XShapes
+* @see ifc.lang._XServiceInfo
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.drawing._XShapeCombiner
+* @see ifc.container._XNamed
+*/
+public class SdGenericDrawPage extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of the draw pages from the drawing document using
+ * the interface <code>XDrawPagesSupplier</code> and take one of them.
+ * The retrieved draw page is the instance of the service
+ * <code>com.sun.star.drawing.DrawPage</code>. Inserts some shapes
+ * into the draw page. Creates the rectangle shape.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes}( the created rectangle shape )</li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeBinder}, {@link ifc.drawing._XShapeGrouper},
+ * {@link ifc.drawing._XShapeCombiner}( the retrieved draw page )</li>
+ * </ul>
+ * @see com.sun.star.drawing.DrawPage
+ * @see com.sun.star.drawing.XDrawPagesSupplier
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XShapes oShapes = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class,xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface
+ (XIndexAccess.class,oDPn);
+ oObj = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ oShapes = UnoRuntime.queryInterface(XShapes.class,oObj);
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 2000, 1500, 1000, 1000, "Line"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle"));
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ ShapeDsc sDsc = new ShapeDsc(5000, 3500, 7500, 10000, "Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator( xDrawDoc, sDsc));
+
+ // adding relation for XShapeGrouper
+ tEnv.addObjRelation("DrawPage", oObj);
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+
+} // finish class SdGenericDrawPage
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdLayer.java b/qadevOOo/tests/java/mod/_sd/SdLayer.java
new file mode 100644
index 000000000..1c1019abc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdLayer.java
@@ -0,0 +1,111 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.drawing.XLayer;
+import com.sun.star.drawing.XLayerManager;
+import com.sun.star.drawing.XLayerSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.Layer</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::Layer</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.drawing.Layer
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.drawing._Layer
+* @see ifc.beans._XPropertySet
+*/
+public class SdLayer extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the layer manager from the document and takes one of the layer.
+ * The obtained layer is the instance of the service
+ * <code>com.sun.star.drawing.Layer</code>.
+ * @see com.sun.star.drawing.Layer
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XLayerManager oLM = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get the drawpage of drawing here
+ log.println( "getting LayerManager" );
+ XLayerSupplier oLS = UnoRuntime.queryInterface(XLayerSupplier.class, xDrawDoc);
+ XNameAccess oNA = oLS.getLayerManager();
+ oLM = UnoRuntime.queryInterface(XLayerManager.class, oNA);
+ XIndexAccess oIA = UnoRuntime.queryInterface(XIndexAccess.class,oLM);
+ log.println( "getting LayerManager" );
+ oObj = (XLayer) AnyConverter.toObject(
+ new Type(XLayer.class),oIA.getByIndex(0));
+
+ log.println( "creating a new environment for drawpage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdLayer
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdLayerManager.java b/qadevOOo/tests/java/mod/_sd/SdLayerManager.java
new file mode 100644
index 000000000..8d42ce8a9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdLayerManager.java
@@ -0,0 +1,140 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XLayerSupplier;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.LayerManager</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::XLayerManager</code></li>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.drawing.LayerManager
+* @see com.sun.star.drawing.XLayerManager
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.drawing._XLayerManager
+* @see ifc.container._XNameAccess
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+*/
+public class SdLayerManager extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the layer manager using the interface <code>XLayerSupplier</code>.
+ * The manager is the instance of the service
+ * <code>com.sun.star.drawing.LayerManager</code>. Creates a rectangle shape.
+ * Retrieves the collection of the draw pages and take one of them.
+ * <ul>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XLayerManager}(the created shape)</li>
+ * <li> <code>'Shapes'</code> for
+ * {@link ifc.drawing._XLayerManager}(the shape collection of
+ * the retrieved draw page)</li>
+ * </ul>
+ * @see com.sun.star.drawing.XLayerSupplier
+ * @see com.sun.star.drawing.LayerManager
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ XLayerSupplier oLS = UnoRuntime.queryInterface(XLayerSupplier.class, xDrawDoc);
+ XInterface oObj = oLS.getLayerManager();
+
+ log.println( "creating a new environment for XLayerManager object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ ShapeDsc sDsc = new ShapeDsc(5000, 3500, 7500, 10000, "Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator(xDrawDoc, sDsc));
+
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class,xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class,oDPn);
+
+ XDrawPage oDP = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ XShapes oShapes = UnoRuntime.queryInterface(XShapes.class, oDP);
+
+ log.println( "adding Shapes as mod relation to environment" );
+ tEnv.addObjRelation("Shapes", oShapes);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SdLayerManager
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdMasterPage.java b/qadevOOo/tests/java/mod/_sd/SdMasterPage.java
new file mode 100644
index 000000000..d23c1d5d0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdMasterPage.java
@@ -0,0 +1,165 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XMasterPagesSupplier;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.MasterPage</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::GenericDrawPage</code></li>
+* <li> <code>com::sun::star::drawing::XShapeBinder</code></li>
+* <li> <code>com::sun::star::drawing::XShapeGrouper</code></li>
+* <li> <code>com::sun::star::drawing::XShapes</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::drawing::XShapeCombiner</code></li>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* </ul>
+* @see com.sun.star.drawing.MasterPage
+* @see com.sun.star.drawing.GenericDrawPage
+* @see com.sun.star.drawing.XShapeBinder
+* @see com.sun.star.drawing.XShapeGrouper
+* @see com.sun.star.drawing.XShapes
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.drawing.XShapeCombiner
+* @see com.sun.star.container.XNamed
+* @see ifc.drawing._GenericDrawPage
+* @see ifc.drawing._XShapeBinder
+* @see ifc.drawing._XShapeGrouper
+* @see ifc.drawing._XShapes
+* @see ifc.lang._XServiceInfo
+* @see ifc.beans._XPropertySet
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.drawing._XShapeCombiner
+* @see ifc.container._XNamed
+*/
+public class SdMasterPage extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of the master pages from the document using the
+ * interface <code>XMasterPagesSupplier</code> and takes
+ * one of them. Inserts some shapes into the document. Creates a rectangle
+ * shape. The retrieved master page is the instance of the service
+ * <code>com.sun.star.drawing.MasterPage</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeBinder}, {@link ifc.drawing._XShapeGrouper},
+ * {@link ifc.drawing._XShapeCombiner}( the draw page of the retrieved
+ * master page)</li>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes}(the created rectangle shape)</li>
+ * </ul>
+ * @see com.sun.star.drawing.XMasterPagesSupplier
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ // get the MasterPages here
+ log.println( "getting MasterPages" );
+ XMasterPagesSupplier oMPS = UnoRuntime.queryInterface(XMasterPagesSupplier.class, xDrawDoc);
+ XDrawPages oMPn = oMPS.getMasterPages();
+ XIndexAccess oMPi = UnoRuntime.queryInterface(XIndexAccess.class, oMPn);
+
+ log.println( "getting MasterPage" );
+ XInterface oObj = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oMPi.getByIndex(0));
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ //put something on the masterpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = UnoRuntime.queryInterface(XShapes.class, oObj);
+ oShapes.add(SOF.createShape(xDrawDoc, 2000, 1500, 1000, 1000, "Line"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse"));
+ oShapes.add(SOF.createShape
+ (xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle"));
+
+ log.println( "creating a new environment for MasterPage object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding DrawPage as mod relation to environment" );
+ tEnv.addObjRelation("DrawPage", oObj);
+
+ ShapeDsc sDsc = new ShapeDsc(5000, 3500, 7500, 10000, "Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator( xDrawDoc, sDsc));
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdMasterPage
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdMasterPagesAccess.java b/qadevOOo/tests/java/mod/_sd/SdMasterPagesAccess.java
new file mode 100644
index 000000000..647762087
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdMasterPagesAccess.java
@@ -0,0 +1,107 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XMasterPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.MasterPages</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::drawing::XDrawPages</code></li>
+* </ul>
+* @see com.sun.star.drawing.MasterPages
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.drawing.XDrawPages
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.drawing._XDrawPages
+*/
+public class SdMasterPagesAccess extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of the master pages from the document using the
+ * interface <code>XMasterPagesSupplier</code>. Inserts two new draw pages.
+ * The retrieved collection is the instance of the service
+ * <code>com.sun.star.drawing.MasterPages</code>.
+ * @see com.sun.star.drawing.XMasterPagesSupplier
+ * @see com.sun.star.drawing.MasterPages
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws StatusException {
+
+ log.println( "creating a test environment" );
+
+ // get the MasterPages here
+ log.println( "getting MasterPages" );
+ XMasterPagesSupplier oMPS = UnoRuntime.queryInterface( XMasterPagesSupplier.class, xDrawDoc);
+ XDrawPages oMP = oMPS.getMasterPages();
+ log.println( "insert MasterPages" );
+ oMP.insertNewByIndex(1);
+ oMP.insertNewByIndex(2);
+ XInterface oObj = oMP;
+
+ log.println( "creating a new environment for MasterPagesAccess object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdMasterPagesAccess
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdPageLinkTargets.java b/qadevOOo/tests/java/mod/_sd/SdPageLinkTargets.java
new file mode 100644
index 000000000..7d314645e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdPageLinkTargets.java
@@ -0,0 +1,121 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XLinkTargetSupplier;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.document.LinkTargets</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* </ul>
+* @see com.sun.star.document.LinkTargets
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+*/
+public class SdPageLinkTargets extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of draw pages and take one of them.
+ * Obtains the collection of possible links using the interface
+ * <code>XLinkTargetSupplier</code>. The obtained collection is
+ * the instance of the service <code>com.sun.star.document.LinkTargets</code>.
+ * Inserts some shapes into the document.
+ * @see com.sun.star.document.XLinkTargetSupplier
+ * @see com.sun.star.document.LinkTargets
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ XDrawPage the_page = DrawTools.getDrawPage(xDrawDoc, 0);
+ XLinkTargetSupplier oLTS = UnoRuntime.queryInterface(XLinkTargetSupplier.class, the_page);
+ XInterface oObj = oLTS.getLinks();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = UnoRuntime.queryInterface(XShapes.class,the_page);
+ XShape oShape =
+ SOF.createShape(xDrawDoc, 15000, 13500, 5000, 5000, "OLE2");
+ oShapes.add(oShape);
+
+ XPropertySet shape_props = UnoRuntime.queryInterface(XPropertySet.class,oShape);
+
+ log.println("Inserting a Chart");
+
+ shape_props.
+ setPropertyValue("CLSID","12DCAE26-281F-416F-a234-c3086127382e");
+
+ log.println( "creating a new environment for LinkTargets object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdPageLinkTargets
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdUnoDrawView.java b/qadevOOo/tests/java/mod/_sd/SdUnoDrawView.java
new file mode 100644
index 000000000..fc4bd27c1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdUnoDrawView.java
@@ -0,0 +1,249 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class SdUnoDrawView extends TestCase {
+ static XDesktop xDesktop;
+ static XComponent xDrawDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service
+ * <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing draw documents");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating
+ * of the documents makes short
+ * wait to allow frames to be loaded. Retrieves
+ * the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page. Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._DrawingDocumentDrawView}(the draw page which will
+ * be new current page) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ @Override
+ public lib.TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println( "creating two draw documents" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+ xSecondDrawDoc = SOF.createDrawDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ XShape shape2 = SOF.createShape(
+ xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ XShape shape3 = SOF.createShape(
+ xDrawDoc, 3000, 500, 5000, 1000, "Line");
+ oShapes.add(shape1);
+ oShapes.add(shape2);
+ oShapes.add(shape3);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ XModel aModel2 = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ shape1, shape2, shape3});
+
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = xDesktop.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27009");
+
+ //Adding relations for DrawingDocumentDrawView
+ XDrawPage new_page = the_pages.insertNewByIndex(1);
+ tEnv.addObjRelation("DrawPage", new_page);
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = UnoRuntime.queryInterface(XModifiable.class,xDrawDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xDrawDoc);
+
+ tEnv.addObjRelation("Comparer", new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }});
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+
+} // finish class SdUnoDrawView
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdUnoOutlineView.java b/qadevOOo/tests/java/mod/_sd/SdUnoOutlineView.java
new file mode 100644
index 000000000..ee4aa536d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdUnoOutlineView.java
@@ -0,0 +1,209 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.present.OutlineView</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::presentation::OutlineView</code></li>
+* <li> <code>com::sun::star::frame::XDispatchProvider</code></li>
+* <li> <code>com::sun::star::awt::XWindow</code></li>
+* </ul>
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.presentation.OutlineView
+* @see com.sun.star.awt.XWindow
+* @see com.sun.star.frame.XDispatchProvider
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.awt._XWindow
+* @see ifc.presentation._OutlineView
+* @see ifc.frame._XDispatchProvider
+*/
+public class SdUnoOutlineView extends TestCase {
+ XDesktop xDesktop;
+ XComponent xImpressDoc;
+ XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xImpressDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating of the documents makes short
+ * wait to allow frames to be loaded. Retrieves the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page. Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service <code>com.sun.star.presentation.OutlineView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xImpressDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ //Change to Outline view
+ try {
+ String aSlotID = "slot:27010";
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface( XDispatchProvider.class, oObj );
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ }
+
+ log.println( "creating a second impress document" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel2 = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ oObj = aModel.getCurrentController();
+
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+ }
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = xDesktop.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27069");
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+
+} // finish class SdUnoOutlineView
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdUnoPresView.java b/qadevOOo/tests/java/mod/_sd/SdUnoPresView.java
new file mode 100644
index 000000000..f8860c876
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdUnoPresView.java
@@ -0,0 +1,249 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XModifiable;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.DrawingDocumentDrawView</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::drawing::DrawingDocumentDrawView</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+* <li> <code>com::sun::star::frame::XController</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::view::XSelectionSupplier</code></li>
+* <li> <code>com::sun::star::drawing::XDrawView</code></li>
+* </ul>
+* @see com.sun.star.drawing.DrawingDocumentDrawView
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.lang.XServiceInfo
+* @see com.sun.star.frame.XController
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.view.XSelectionSupplier
+* @see com.sun.star.drawing.XDrawView
+* @see ifc.drawing._DrawingDocumentDrawView
+* @see ifc.lang._XComponent
+* @see ifc.lang._XServiceInfo
+* @see ifc.frame._XController
+* @see ifc.beans._XPropertySet
+* @see ifc.view._XSelectionSupplier
+* @see ifc.drawing._XDrawView
+*/
+public class SdUnoPresView extends TestCase {
+ static XDesktop xDesktop;
+ static XComponent xImpressDoc;
+ static XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xImpressDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a Test environment for the interfaces to be tested.
+ * Creates two impress documents. After creating of the documents makes short
+ * wait to allow frames to be loaded. Retrieves the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page. Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service
+ * <code>com.sun.star.drawing.DrawingDocumentDrawView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'First'</code> for
+ * {@link ifc.view._XSelectionSupplier}(the first created shape) </li>
+ * <li> <code>'Second'</code> for
+ * {@link ifc.view._XSelectionSupplier}(the second created shape) </li>
+ * <li> <code>'Pages'</code> for
+ * {@link ifc.drawing._XDrawView}(the retrieved collection of the draw
+ * pages) </li>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ * @see com.sun.star.drawing.DrawingDocumentDrawView
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println( "creating two impress documents" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xImpressDoc);
+ XDrawPages the_pages = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class,the_pages);
+
+ XDrawPage oDrawPage = null;
+ XDrawPage secondDrawPage = null;
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ the_pages.insertNewByIndex(0);
+ the_pages.insertNewByIndex(0);
+ the_pages.insertNewByIndex(0);
+ the_pages.insertNewByIndex(0);
+ secondDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(3));
+
+ //put something on the drawpage
+ log.println( "inserting some Shapes" );
+ XShapes oShapes = UnoRuntime.queryInterface(XShapes.class, oDrawPage);
+ XShape shape1 = SOF.createShape(
+ xImpressDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ oShapes.add(shape1);
+
+ oShapes = UnoRuntime.queryInterface(XShapes.class, secondDrawPage);
+ shape1 = SOF.createShape(
+ xImpressDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ oShapes.add(shape1);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ XModel aModel2 = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ log.println( "creating a new environment for impress view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow",anotherWindow);
+ }
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oDrawPage, secondDrawPage});
+
+ tEnv.addObjRelation("Comparer", new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XIndexAccess indAc1 = UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = UnoRuntime.queryInterface(XIndexAccess.class, o2);
+ if (indAc1 == null || indAc2 == null) return -1;
+ if (indAc1.getCount() == indAc2.getCount()) {
+ return 0;
+ }
+ return 1;
+ }});
+
+ tEnv.addObjRelation("FirstPage", oDrawPage);
+ tEnv.addObjRelation("SecondPage", secondDrawPage);
+
+ tEnv.addObjRelation("Pages", the_pages);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ XFrame the_frame = xDesktop.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ aModel = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel);
+
+ XController secondController = aModel.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27010");
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ XModifiable modify = UnoRuntime.queryInterface(XModifiable.class,xImpressDoc);
+
+ tEnv.addObjRelation("Modifiable",modify);
+
+
+ tEnv.addObjRelation("XComponent.DisposeThis", xImpressDoc);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+
+} // finish class SdUnoDrawView
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdUnoSlideView.java b/qadevOOo/tests/java/mod/_sd/SdUnoSlideView.java
new file mode 100644
index 000000000..25016309a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdUnoSlideView.java
@@ -0,0 +1,189 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import com.sun.star.drawing.XDrawPages;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class SdUnoSlideView extends TestCase {
+ XDesktop xDesktop;
+ XComponent xImpressDoc;
+ XComponent xSecondDrawDoc;
+
+ /**
+ * Creates the instance of the service <code>com.sun.star.frame.Desktop</code>.
+ * @see com.sun.star.frame.Desktop
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress documents.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing impress documents");
+ util.DesktopTools.closeDoc(xImpressDoc);
+ util.DesktopTools.closeDoc(xSecondDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates two impress documents. After creating of the documents makes short
+ * wait to allow frames to be loaded. Retrieves the collection of the draw pages
+ * from the first document and takes one of them. Inserts some shapes to the
+ * retrieved draw page. Obtains a current controller from the first document
+ * using the interface <code>XModel</code>. The obtained controller is the
+ * instance of the service <code>com.sun.star.presentation.OutlineView</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FirstModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the first created document) </li>
+ * <li> <code>'Frame'</code> for
+ * {@link ifc.frame._XController}(the frame of the created
+ * document) </li>
+ * <li> <code>'SecondModel'</code> for
+ * {@link ifc.frame._XController}(the interface <code>XModel</code> of
+ * the second created document) </li>
+ * <li> <code>'SecondController'</code> for
+ * {@link ifc.frame._XController}(the current controller of the second
+ * created document) </li>
+ * </ul>
+ * @see com.sun.star.frame.XModel
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ XDrawPages xDP = null;
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+ xDP = DrawTools.getDrawPages(xImpressDoc);
+ xDP.insertNewByIndex(0);
+ xDP.insertNewByIndex(0);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+
+ XInterface oObj = aModel.getCurrentController();
+
+ //Change to Slide view
+ try {
+ String aSlotID = "slot:27011";
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface( XDispatchProvider.class, oObj );
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change to slide view");
+ }
+
+ log.println( "creating a second impress document" );
+ xSecondDrawDoc = SOF.createImpressDoc(null);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel2 = UnoRuntime.queryInterface(XModel.class, xSecondDrawDoc);
+
+ XWindow anotherWindow = UnoRuntime.queryInterface(
+ XWindow.class,aModel2.getCurrentController());
+
+ oObj = aModel.getCurrentController();
+
+ log.println( "creating a new environment for slide view object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ if (anotherWindow != null) {
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+ }
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("FirstModel", aModel);
+
+ XFrame the_frame = xDesktop.getCurrentFrame();
+ tEnv.addObjRelation("Frame", the_frame);
+
+ //Adding ObjRelations for XController
+ tEnv.addObjRelation("SecondModel", aModel2);
+
+ XController secondController = aModel2.getCurrentController();
+ tEnv.addObjRelation("SecondController", secondController);
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "slot:27069");
+
+ tEnv.addObjRelation("XUserInputInterception.XModel", aModel);
+
+ //creating obj-relation for the XSelectionSupplier
+ try {
+ Object[] selections =
+ new Object[]{xDP.getByIndex(0),xDP.getByIndex(1),xDP.getByIndex(2)};
+ tEnv.addObjRelation("Selections", selections);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace(log);
+ }
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+
+} // finish class SdUnoOutlineView
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdXCustomPresentation.java b/qadevOOo/tests/java/mod/_sd/SdXCustomPresentation.java
new file mode 100644
index 000000000..a969aab0f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdXCustomPresentation.java
@@ -0,0 +1,170 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XIndexContainer;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.presentation.XCustomPresentationSupplier;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.presentation.CustomPresentation</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNamed</code></li>
+* <li> <code>com::sun::star::container::XIndexContainer</code></li>
+* <li> <code>com::sun::star::container::XIndexAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XIndexReplace</code></li>
+* </ul>
+* @see com.sun.star.presentation.CustomPresentation
+* @see com.sun.star.container.XNamed
+* @see com.sun.star.container.XIndexContainer
+* @see com.sun.star.container.XIndexAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XIndexReplace
+* @see ifc.container._XNamed
+* @see ifc.container._XIndexContainer
+* @see ifc.container._XIndexAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XIndexReplace
+*/
+public class SdXCustomPresentation extends TestCase {
+ XComponent xImpressDoc;
+
+ /**
+ * Creates Impress document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ log.println( "creating a draw document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Disposes Impress document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xImpressDoc");
+ util.DesktopTools.closeDoc(xImpressDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of the CustomPresentation from the document
+ * using the interface <code>XCustomPresentationSupplier</code>. Creates and
+ * inserts new instance of the presentation to the collection. The created
+ * instance is the instance of the service
+ * <code>com.sun.star.presentation.CustomPresentation</code>. Obtains
+ * the collection of draw pages from the document and takes one of them.
+ * Inserts the obtained draw page to the created instance. Inserts some new
+ * draw pages.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XIndexContainerINDEX'</code> for
+ * {@link ifc.container._XIndexContainer}(the string representation of
+ * the zero)</li>
+ * <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> for
+ * {@link ifc.container._XIndexContainer}(the new inserted draw pages)</li>
+ * </ul>
+ * @see com.sun.star.presentation.XCustomPresentationSupplier
+ * @see com.sun.star.presentation.CustomPresentation
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+
+ log.println( "creating a test environment" );
+
+ log.println( "get presentation" );
+ XCustomPresentationSupplier oPS = UnoRuntime.queryInterface(
+ XCustomPresentationSupplier.class, xImpressDoc);
+ XInterface oObj = oPS.getCustomPresentations();
+
+ XSingleServiceFactory oSingleMSF = UnoRuntime.queryInterface(XSingleServiceFactory.class, oObj);
+
+ XInterface oInstance = (XInterface) oSingleMSF.createInstance();
+
+ XNameContainer aContainer = UnoRuntime.queryInterface(XNameContainer.class, oObj);
+
+ aContainer.insertByName("FirstPresentation", oInstance);
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xImpressDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class, oDPn);
+
+ XDrawPage oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ XIndexContainer aIContainer = UnoRuntime.queryInterface(XIndexContainer.class,oInstance);
+
+ aIContainer.insertByIndex(0, oDrawPage);
+
+ log.println( "creating a new environment for XPresentation object" );
+ TestEnvironment tEnv = new TestEnvironment( oInstance );
+
+ int THRCNT=1;
+ if ((String)Param.get("THRCNT") != null) {
+ THRCNT = Integer.parseInt((String)Param.get("THRCNT"));
+ }
+
+ // INDEX : _XNameContainer
+ log.println( "adding XIndexContainerINDEX as mod relation to environment" );
+ tEnv.addObjRelation("XIndexContainerINDEX", "0");
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println( "adding INSTANCEn as mod relation to environment" );
+ for (int n = 1; n < (2*THRCNT+1) ;n++ ) {
+ log.println( "adding INSTANCE" + n
+ +" as mod relation to environment" );
+ oDPn.insertNewByIndex(0);
+ oDrawPage = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+ tEnv.addObjRelation("INSTANCE" + n, oDrawPage);
+ }
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SdXCustomPresentation
diff --git a/qadevOOo/tests/java/mod/_sd/SdXCustomPresentationAccess.java b/qadevOOo/tests/java/mod/_sd/SdXCustomPresentationAccess.java
new file mode 100644
index 000000000..99dc87240
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdXCustomPresentationAccess.java
@@ -0,0 +1,169 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.presentation.XCustomPresentationSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.presentation.CustomPresentationAccess</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::container::XNameReplace</code></li>
+* <li> <code>com::sun::star::lang::XSingleServiceFactory</code></li>
+* <li> <code>com::sun::star::container::XNameContainer</code></li>
+* </ul>
+* @see com.sun.star.presentation.CustomPresentationAccess
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.container.XNameReplace
+* @see com.sun.star.lang.XSingleServiceFactory
+* @see com.sun.star.container.XNameContainer
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+* @see ifc.container._XNameReplace
+* @see ifc.lang._XSingleServiceFactory
+* @see ifc.container._XNameContainer
+*/
+public class SdXCustomPresentationAccess extends TestCase {
+ XComponent xImpressDoc;
+
+ /**
+ * Creates Impress document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ log.println( "creating a draw document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Disposes Impress document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xImpressDoc");
+ util.DesktopTools.closeDoc(xImpressDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of the CustomPresentation from the document
+ * using the interface <code>XCustomPresentationSupplier</code>.
+ * The retrieved collection is the instance of the service
+ * <code>com.sun.star.presentation.CustomPresentationAccess</code>.
+ * Creates two new instances of the custom presentation using the interface
+ * <code>XSingleServiceFactory</code>. Inserts one of them to the
+ * retrieved collection. Creates and inserts several instances of
+ * the presentation.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SecondInstance'</code> for
+ * {@link ifc.container._XNameContainer}(the second created instance
+ * of the custom presentation)</li>
+ * <li> <code>'XNameContainerINDEX'</code> for
+ * {@link ifc.container._XNameContainer}(the number of current running
+ * threads)</li>
+ * <li> <code>'INSTANCE1', ..., 'INSTANCEN'</code> for
+ * {@link ifc.container._XNameReplace},
+ * {@link ifc.container._XNameContainer}(the created instances of
+ * the presentation)</li>
+ * </ul>
+ * @see com.sun.star.presentation.XCustomPresentationSupplier
+ * @see com.sun.star.lang.XSingleServiceFactory
+ * @see com.sun.star.presentation.CustomPresentationAccess
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+
+ log.println( "creating a test environment" );
+
+ log.println( "get presentation" );
+ XCustomPresentationSupplier oPS = UnoRuntime.queryInterface(
+ XCustomPresentationSupplier.class, xImpressDoc);
+ XInterface oObj = oPS.getCustomPresentations();
+
+
+ XSingleServiceFactory oSingleMSF = UnoRuntime.queryInterface(XSingleServiceFactory.class, oObj);
+
+ XInterface oInstance = null;
+ XInterface oSecondInstance = null;
+ oInstance = (XInterface) oSingleMSF.createInstance();
+ oSecondInstance = (XInterface) oSingleMSF.createInstance();
+
+ XNameContainer aContainer = UnoRuntime.queryInterface(XNameContainer.class, oObj);
+
+ if (aContainer.hasByName("FirstPresentation")) {
+ aContainer.removeByName("FirstPresentation");
+ }
+
+ aContainer.insertByName("FirstPresentation",oInstance);
+
+ log.println( "creating a new environment for XPresentation object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding an instance for insertByName ('XNameContainer')
+ tEnv.addObjRelation("SecondInstance", oSecondInstance);
+
+ int THRCNT = 1;
+ if ((String)Param.get("THRCNT") != null) {
+ THRCNT = Integer.parseInt((String)Param.get("THRCNT"));
+ }
+
+ // INDEX : _XNameContainer
+ log.println( "adding XNameContainerINDEX as mod relation to environment" );
+ tEnv.addObjRelation("XNameContainerINDEX", Integer.valueOf(THRCNT).toString());
+
+ // INSTANCEn : _XNameContainer; _XNameReplace
+ log.println( "adding INSTANCEn as mod relation to environment" );
+ try {
+ for (int n = 1; n < (2*THRCNT+1) ;n++ ) {
+ log.println( "adding INSTANCE" + n
+ +" as mod relation to environment" );
+ oInstance = (XInterface) oSingleMSF.createInstance();
+ tEnv.addObjRelation("INSTANCE" + n, oInstance);
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't adding INSTANCEn: " + e);
+ }
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SdXCustomPresentationAccess
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdXImpressDocument.java b/qadevOOo/tests/java/mod/_sd/SdXImpressDocument.java
new file mode 100644
index 000000000..12519fc03
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdXImpressDocument.java
@@ -0,0 +1,170 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sd;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.view.XSelectionSupplier;
+import ifc.view._XPrintJobBroadcaster;
+import java.io.File;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.presentation.PresentationDocument</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * <li> <code>com::sun::star::drawing::XMasterPagesSupplier</code></li>
+ * <li> <code>com::sun::star::presentation::XCustomPresentationSupplier</code></li>
+ * <li> <code>com::sun::star::document::XLinkTargetSupplier</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::drawing::XLayerSupplier</code></li>
+ * <li> <code>com::sun::star::presentation::XPresentationSupplier</code></li>
+ * <li> <code>com::sun::star::style::XStyleFamiliesSupplier</code></li>
+ * <li> <code>com::sun::star::drawing::DrawingDocument</code></li>
+ * <li> <code>com::sun::star::drawing::XDrawPageDuplicator</code></li>
+ * <li> <code>com::sun::star::drawing::XDrawPagesSupplier</code></li>
+ * </ul>
+ * @see com.sun.star.presentation.PresentationDocument
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see com.sun.star.drawing.XMasterPagesSupplier
+ * @see com.sun.star.presentation.XCustomPresentationSupplier
+ * @see com.sun.star.document.XLinkTargetSupplier
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.drawing.XLayerSupplier
+ * @see com.sun.star.presentation.XPresentationSupplier
+ * @see com.sun.star.style.XStyleFamiliesSupplier
+ * @see com.sun.star.drawing.DrawingDocument
+ * @see com.sun.star.drawing.XDrawPageDuplicator
+ * @see com.sun.star.drawing.XDrawPagesSupplier
+ * @see ifc.lang._XMultiServiceFactory
+ * @see ifc.drawing._XMasterPagesSupplier
+ * @see ifc.presentation._XCustomPresentationSupplier
+ * @see ifc.document._XLinkTargetSupplier
+ * @see ifc.beans._XPropertySet
+ * @see ifc.drawing._XLayerSupplier
+ * @see ifc.presentation._XPresentationSupplier
+ * @see ifc.style._XStyleFamiliesSupplier
+ * @see ifc.drawing._DrawingDocument
+ * @see ifc.drawing._XDrawPageDuplicator
+ * @see ifc.drawing._XDrawPagesSupplier
+ */
+public class SdXImpressDocument extends TestCase {
+ XComponent xImpressDoc;
+ XComponent xImpressDoc2;
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes Impress document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xImpressDoc");
+ util.DesktopTools.closeDoc(xImpressDoc);
+ util.DesktopTools.closeDoc(xImpressDoc2);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates new impress document that is the instance of the service
+ * <code>com.sun.star.presentation.PresentationDocument</code>.
+ * @see com.sun.star.presentation.PresentationDocument
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws Exception {
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating two impress documents");
+ xImpressDoc2 = SOF.createImpressDoc(null);
+ xImpressDoc = SOF.createImpressDoc(null);
+
+ XModel xModel1 = UnoRuntime.queryInterface(XModel.class,
+ xImpressDoc);
+ XModel xModel2 = UnoRuntime.queryInterface(XModel.class,
+ xImpressDoc2);
+
+ XController cont1 = xModel1.getCurrentController();
+ XController cont2 = xModel2.getCurrentController();
+
+ cont1.getFrame().setName("cont1");
+ cont2.getFrame().setName("cont2");
+
+ XSelectionSupplier sel = UnoRuntime.queryInterface(
+ XSelectionSupplier.class, cont1);
+
+ XShape aShape = SOF.createShape(xImpressDoc, 5000, 3500, 7500, 5000,
+ "Rectangle");
+
+
+ XPropertySet xShapeProps = UnoRuntime.queryInterface(XPropertySet.class, aShape);
+
+ xShapeProps.setPropertyValue("FillStyle", com.sun.star.drawing.FillStyle.SOLID);
+ xShapeProps.setPropertyValue("FillTransparence", Integer.valueOf(50));
+
+ DrawTools.getDrawPage(xImpressDoc, 0).add(aShape);
+
+ log.println("creating a new environment for drawpage object");
+
+ TestEnvironment tEnv = new TestEnvironment(xImpressDoc);
+
+ log.println("adding Controller as ObjRelation for XModel");
+ tEnv.addObjRelation("CONT2", cont2);
+
+ log.println("Adding SelectionSupplier and Shape to select for XModel");
+ tEnv.addObjRelation("SELSUPP", sel);
+ tEnv.addObjRelation("TOSELECT", aShape);
+
+ // create object relation for XPrintJobBroadcaster
+ String fileName = utils.getOfficeTempDirSys(Param.getMSF())+"printfile.prt" ;
+ File f = new File(fileName);
+ if (f.exists()) {
+ boolean bDeleteOk = f.delete();
+ if (!bDeleteOk) {
+ System.out.println("delete failed");
+ }
+ }
+ _XPrintJobBroadcaster.MyPrintJobListener listener = new _XPrintJobBroadcaster.MyPrintJobListener(xImpressDoc, fileName);
+ tEnv.addObjRelation("XPrintJobBroadcaster.XPrintJobListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SdDrawPage
diff --git a/qadevOOo/tests/java/mod/_sd/SdXPresentation.java b/qadevOOo/tests/java/mod/_sd/SdXPresentation.java
new file mode 100644
index 000000000..344eb205b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdXPresentation.java
@@ -0,0 +1,131 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.presentation.XCustomPresentationSupplier;
+import com.sun.star.presentation.XPresentationSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.presentation.Presentation</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::presentation::Presentation</code></li>
+* <li> <code>com::sun::star::presentation::XPresentation</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* </ul>
+* @see com.sun.star.presentation.Presentation
+* @see com.sun.star.presentation.XPresentation
+* @see com.sun.star.beans.XPropertySet
+* @see ifc.presentation._Presentation
+* @see ifc.presentation._XPresentation
+* @see ifc.beans._XPropertySet
+*/
+public class SdXPresentation extends TestCase {
+ XComponent xImpressDoc;
+
+ /**
+ * Creates Impress document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ log.println( "creating a draw document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Disposes Impress document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xImpressDoc");
+ util.DesktopTools.closeDoc(xImpressDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the presentation from the document using the interface
+ * <code>XPresentationSupplier</code>. The retrieved presentation is the
+ * instance of the service <code>com.sun.star.presentation.Presentation</code>.
+ * Retrieves the collection of the customized presentations from the document
+ * using the interface <code>XCustomPresentationSupplier</code>.
+ * Creates and inserts two new instances of presentation to the retrieved
+ * collection.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Presentation'</code> for
+ * {@link ifc.presentation._Presentation}(the retrieved presentation)</li>
+ * </ul>
+ * @see com.sun.star.presentation.XCustomPresentationSupplier
+ * @see com.sun.star.presentation.Presentation
+ * @see com.sun.star.presentation.XCustomPresentationSupplier
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ log.println( "get presentation" );
+ XPresentationSupplier oPS = UnoRuntime.queryInterface(XPresentationSupplier.class, xImpressDoc);
+ XInterface oObj = oPS.getPresentation();
+
+ log.println( "get custom presentation" );
+ XCustomPresentationSupplier oCPS = UnoRuntime.queryInterface(
+ XCustomPresentationSupplier.class, xImpressDoc);
+ XNameContainer xCP = oCPS.getCustomPresentations();
+
+ XInterface oInstance = null;
+ XInterface oInstance2 = null;
+
+ XSingleServiceFactory oSingleMSF = UnoRuntime.queryInterface(XSingleServiceFactory.class, xCP);
+
+ oInstance = (XInterface) oSingleMSF.createInstance();
+ oInstance2 = (XInterface) oSingleMSF.createInstance();
+
+ xCP.insertByName("FirstPresentation",oInstance);
+ xCP.insertByName("SecondPresentation", oInstance2);
+
+ log.println( "creating a new environment for XPresentation object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("Presentation",oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SdPresentation
+
diff --git a/qadevOOo/tests/java/mod/_sd/SdXShape.java b/qadevOOo/tests/java/mod/_sd/SdXShape.java
new file mode 100644
index 000000000..049adedf0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/SdXShape.java
@@ -0,0 +1,165 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sd;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.drawing.Shape</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::drawing::XShape</code></li>
+* <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::drawing::Shape</code></li>
+* </ul>
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.drawing.XShape
+* @see com.sun.star.drawing.XShapeDescriptor
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.drawing.Shape
+* @see ifc.lang._XComponent
+* @see ifc.drawing._XShape
+* @see ifc.drawing._XShapeDescriptor
+* @see ifc.beans._XPropertySet
+* @see ifc.drawing._Shape
+*/
+public class SdXShape extends TestCase {
+ XComponent xDrawDoc;
+
+ /**
+ * Creates Drawing document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println( "creating a draw document" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Disposes Drawing document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Retrieves the collection of the draw pages from the drawing document using
+ * the interface <code>XDrawPagesSupplier</code>. Creates a rectangle shape
+ * that is the instance of the service <code>com.sun.star.drawing.Shape</code>.
+ * Creates and adds several new rectangle shapes and one ellipse shape to
+ * the retrieved draw page. Sets and gets some properties of the created
+ * rectangle shape.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Style1'</code> for
+ * {@link ifc.drawing._XShapeDescriptor}, {@link ifc.drawing._XShape}
+ * (the value of the property 'Style' that was retrieved from the created
+ * rectangle shape) </li>
+ * <li> <code>'Style2'</code> for
+ * {@link ifc.drawing._XShapeDescriptor}, {@link ifc.drawing._XShape}
+ * (the value of the property 'Style' that was retrieved from the created
+ * ellipse shape) </li>
+ * </ul>
+ * @see com.sun.star.drawing.XDrawPagesSupplier
+ * @see com.sun.star.drawing.Shape
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println( "getting Drawpage" );
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class, oDPn);
+ XDrawPage oDP = (XDrawPage) AnyConverter.toObject(
+ new Type(XDrawPage.class),oDPi.getByIndex(0));
+
+ //get a Shape
+ log.println( "getting Shape" );
+ XShapes oShapes = UnoRuntime.queryInterface
+ (XShapes.class, oDP);
+ XInterface oObj = SOF.createShape
+ (xDrawDoc, 5000, 3500, 7500, 5000, "Rectangle");
+ for (int i=0; i < 10; i++) {
+ oShapes.add(
+ SOF.createShape(xDrawDoc,
+ 5000, 3500, 7510 + 10 * i, 5010 + 10 * i, "Rectangle"));
+ }
+ XShape oShape = SOF.createShape
+ (xDrawDoc, 3000, 4500, 15000, 1000, "Ellipse");
+ oShapes.add((XShape) oObj);
+ oShapes.add(oShape);
+
+ log.println( "creating a new environment for XShape object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding two style as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ XStyle aStyle = null;
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ oShapeProps.setPropertyValue("ZOrder", Integer.valueOf(1));
+
+ tEnv.addObjRelation("Style1", aStyle);
+ oShapeProps = UnoRuntime.queryInterface(XPropertySet.class, oShape);
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+
+ tEnv.addObjRelation("Style2", aStyle);
+
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SdXShape
diff --git a/qadevOOo/tests/java/mod/_sd/package.html b/qadevOOo/tests/java/mod/_sd/package.html
new file mode 100644
index 000000000..cd1299cd6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sd/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'sd'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_servicemgr/uno/OServiceManager.java b/qadevOOo/tests/java/mod/_servicemgr/uno/OServiceManager.java
new file mode 100644
index 000000000..3e904d74a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_servicemgr/uno/OServiceManager.java
@@ -0,0 +1,158 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._servicemgr.uno;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XSet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.stoc.OServiceManager</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * <li> <code>com::sun::star::container::XContentEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::container::XSet</code></li>
+ * <li> <code>com::sun::star::lang::XMultiComponentFactory</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see com.sun.star.container.XContentEnumerationAccess
+ * @see com.sun.star.container.XSet
+ * @see com.sun.star.lang.XMultiComponentFactory
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.lang._XMultiServiceFactory
+ * @see ifc.container._XContentEnumerationAccess
+ * @see ifc.container._XSet
+ * @see ifc.lang._XMultiComponentFactory
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.lang._XComponent
+ */
+public class OServiceManager extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.stoc.OServiceManager</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'NewElement'</code> for
+ * {@link ifc.container._XSet} :
+ * element to be inserted into manager. Here
+ * a new <code>ServiceManager</code> implementation is
+ * create using
+ * <code>tools.SOConnect.createSimpleServiceManager()</code>
+ * and one of services contained in it is taken.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.OServiceManager" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("ServiceManager service not available" );
+ }
+
+ // adding a service to the manager
+ Object newElement = null ;
+ XMultiServiceFactory srvMan = null;
+ XComponentContext xContext = null;
+
+ try {
+
+ srvMan = com.sun.star.comp.helper.Bootstrap.createSimpleServiceManager();
+
+ } catch ( java.lang.Exception ex) {
+ log.println("Error creating SimpleServiceManager :");
+ ex.printStackTrace(log);
+ }
+
+ XSet set = UnoRuntime.queryInterface
+ (XSet.class, oInterface) ;
+ XSet set1 = UnoRuntime.queryInterface
+ (XSet.class, srvMan) ;
+ XEnumeration oEnum = set1.createEnumeration();
+ Object srv = oEnum.nextElement();
+
+ set.insert(srv) ;
+
+ newElement = oEnum.nextElement();
+
+ XPropertySet xProp = UnoRuntime.queryInterface(
+ XPropertySet.class, oInterface);
+ if (xProp != null) {
+ xContext = (XComponentContext) AnyConverter.toObject(
+ new Type(XComponentContext.class),
+ xProp.getPropertyValue("DefaultContext"));
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XSet interface
+ tEnv.addObjRelation("NewElement", newElement) ;
+
+ // adding relation for XPropertySet
+ tEnv.addObjRelation("PTT",new String[]{"DefaultContext","none","none"});
+
+ //adding relation for XMultiComponentFactory
+ if (xContext != null) {
+ tEnv.addObjRelation("DC", xContext);
+ }
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class OServiceManager
+
diff --git a/qadevOOo/tests/java/mod/_servicemgr/uno/package.html b/qadevOOo/tests/java/mod/_servicemgr/uno/package.html
new file mode 100644
index 000000000..bef49b8c5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_servicemgr/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'smgr'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_sfx/AppDispatchProvider.java b/qadevOOo/tests/java/mod/_sfx/AppDispatchProvider.java
new file mode 100644
index 000000000..3592c387e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sfx/AppDispatchProvider.java
@@ -0,0 +1,84 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sfx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.dbg;
+import util.utils;
+
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.sfx2.SfxMacroLoader</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::frame::XDispatchProvider</code></li>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.frame.XDispatchProvider
+ * @see com.sun.star.lang.XInitialization
+ * @see ifc.frame._XDispatchProvider
+ * @see ifc.lang._XInitialization
+ */
+public class AppDispatchProvider extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.sfx2.SfxMacroLoader</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FrameLoader.URL"'</code> for
+ * {@link ifc.frame._XFrameLoader} </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ //now get the OButtonControl
+ oInterface = Param.getMSF().createInstance
+ ("com.sun.star.comp.sfx2.AppDispatchProvider") ;
+
+ oObj = (XInterface) oInterface ;
+ System.out.println("ImplName: "+utils.getImplName(oObj));
+ dbg.printInterfaces(oObj);
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for :XDispatchProvider
+ tEnv.addObjRelation("XDispatchProvider.URL", ".uno:BibliographyComponent") ;
+
+ tEnv.addObjRelation("XInitialization.args", new Object[] { null });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sfx/DocumentTemplates.java b/qadevOOo/tests/java/mod/_sfx/DocumentTemplates.java
new file mode 100644
index 000000000..835e5c643
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sfx/DocumentTemplates.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sfx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.frame.DocumentTemplates</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::frame::XDocumentTemplates</code></li>
+ * </ul> <p>
+ *
+ */
+public class DocumentTemplates extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ String aURL=util.utils.getFullTestURL("report2.stw");
+ xTextDoc = util.WriterTools.loadTextDoc(tParam.getMSF(),aURL);
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ xTextDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.frame.DocumentTemplates</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ XInterface oObj = null;
+ XStorable store = null;
+
+ oObj = (XInterface)xMSF.createInstance
+ ("com.sun.star.frame.DocumentTemplates");
+ store = UnoRuntime.queryInterface
+ (XStorable.class,xTextDoc);
+
+ String Iname = util.utils.getImplName(oObj);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("Store",store);
+ return tEnv;
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_sfx/FrameLoader.java b/qadevOOo/tests/java/mod/_sfx/FrameLoader.java
new file mode 100644
index 000000000..7822d9208
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sfx/FrameLoader.java
@@ -0,0 +1,79 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sfx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.dbg;
+import util.utils;
+
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.comp.office.FrameLoader</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::frame::XFrameLoader</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.frame.FrameLoader
+* @see com.sun.star.frame.XSynchronousFrameLoader
+*/
+public class FrameLoader extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.office.FrameLoader</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FrameLoader.URL"'</code> for
+ * {@link ifc.frame._XFrameLoader} </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ //now get the OButtonControl
+ oInterface = Param.getMSF().createInstance
+ ("com.sun.star.comp.office.FrameLoader") ;
+
+ oObj = (XInterface) oInterface ;
+ System.out.println("ImplName: "+utils.getImplName(oObj));
+ dbg.printInterfaces(oObj);
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XFrameLoader
+ tEnv.addObjRelation("FrameLoader.URL","private:factory/swriter");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sfx/SfxMacroLoader.java b/qadevOOo/tests/java/mod/_sfx/SfxMacroLoader.java
new file mode 100644
index 000000000..9d2fbb4d9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sfx/SfxMacroLoader.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sfx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.dbg;
+import util.utils;
+
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.sfx2.SfxMacroLoader</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::frame::XDispatchProvider</code></li>
+ * <li> <code>com::sun::star::lang::XInitialization</code></li>
+ * </ul>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.frame.XDispatchProvider
+ * @see com.sun.star.lang.XInitialization
+ * @see ifc.frame._XDispatchProvider
+ * @see ifc.lang._XInitialization
+ */
+public class SfxMacroLoader extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.sfx2.SfxMacroLoader</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FrameLoader.URL"'</code> for
+ * {@link ifc.frame._XFrameLoader} </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null ;
+
+ //now get the OButtonControl
+ oInterface = Param.getMSF().createInstance
+ ("com.sun.star.comp.sfx2.SfxMacroLoader");
+
+ oObj = (XInterface) oInterface ;
+ System.out.println("ImplName: "+utils.getImplName(oObj));
+ dbg.printInterfaces(oObj);
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XFrameLoader
+ tEnv.addObjRelation("XDispatchProvider.URL",
+ "macro:tools.UCB.CreateFolder(\"" +
+ utils.getOfficeTemp(Param.getMSF()) + "/SfxMacroLoader\")") ;
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_shlibloader/uno/DLLComponentLoader.java b/qadevOOo/tests/java/mod/_shlibloader/uno/DLLComponentLoader.java
new file mode 100644
index 000000000..18e7a2d9e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_shlibloader/uno/DLLComponentLoader.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._shlibloader.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+* Test for <code>com.sun.star.comp.stoc.DLLComponentLoader</code> service <p>
+* Files which are used :
+* <ul>
+* <li> <code>XImpReg.dll</code> : DLL which will be loaded in
+* <code>XImplementationLoader</code> interface test. </li>
+* <ul>
+* Multithread testing compliant.
+* @see com.sun.star.loader.XImplementationLoader
+* @see com.sun.star.lang.XServiceInfo
+* @see ifc.loader._XImplementationLoader
+* @see ifc.lang._XServiceInfo
+*/
+public class DLLComponentLoader extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.comp.stoc.DLLComponentLoader</code>
+ * service. <p>
+ * The following object relations created :
+ * <ul>
+ * <li> <code>'ImplementationLoader'</code> : service which is
+ * responsible for loading DLL implementations. </li>
+ * <li> <code>'ImplementationUrl'</code> : DLL file location. </li>
+ * <li> <code>'ImplementationName'</code> : Name of the implementation.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws com.sun.star.uno.Exception {
+ XInterface oObj = null;
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = null;
+
+ try {
+ xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.DLLComponentLoader" );
+ }
+ catch( Exception e ) {
+ log.println("DLLComponentLoader Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for DLLComponentLoader object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding object relation for XImplementationLoader ifc test
+ tEnv.addObjRelation("ImplementationLoader",
+ "com.sun.star.loader.SharedLibrary") ;
+ String os = (String) Param.get("OS");
+ if (os == null || os.equals(""))
+ throw new StatusException(
+ "Couldn't determine operating system for naming convention.",
+ new NullPointerException());
+ String name = "javaloader.uno";
+ if (!os.equals("wntmsci"))
+ name = name + ".so";
+ else
+ name += ".dll";
+ String implURL = utils.getOfficeURL(xMSF)+"/"+name;
+ tEnv.addObjRelation("ImplementationUrl", implURL) ;
+ log.println("looking for shared lib: " + implURL);
+ tEnv.addObjRelation("ImplementationName",
+ "com.sun.star.comp.stoc.JavaComponentLoader") ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class DLLComponentLoader
+
diff --git a/qadevOOo/tests/java/mod/_shlibloader/uno/package.html b/qadevOOo/tests/java/mod/_shlibloader/uno/package.html
new file mode 100644
index 000000000..1bc7bf117
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_shlibloader/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'cpld'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_simplereg/uno/SimpleRegistry.java b/qadevOOo/tests/java/mod/_simplereg/uno/SimpleRegistry.java
new file mode 100644
index 000000000..99146f159
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_simplereg/uno/SimpleRegistry.java
@@ -0,0 +1,166 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._simplereg.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.registry.SimpleRegistry</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::registry::XSimpleRegistry</code></li>
+ * </ul> <p>
+ * The following files used by this test :
+ * <ul>
+ * <li><b> XSimpleRegistry.rdb </b> : a registry file with
+ * some key set. </li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.registry.XSimpleRegistry
+ * @see ifc.registry._XSimpleRegistry
+ */
+public class SimpleRegistry extends TestCase {
+
+ /**
+ * Creates a temporary copy of file, which is deleted when VM exits.
+ * @param src Source file path.
+ * @param dst Destination file path.
+ * @param log The log writer.
+ * @throws java.io.IOException If any problems occur during copying.
+ */
+ protected void copyFile(String src, String dst, PrintWriter log)
+ throws java.io.IOException {
+ File srcF = new File(src) ;
+ File dstF = new File(dst) ;
+ System.out.println("H1");
+
+ if (dstF.exists()) {
+ boolean bDeleteOk = dstF.delete();
+ if (!bDeleteOk) {
+ System.out.println("delete failed");
+ }
+ }
+
+ System.out.println("H2");
+
+ boolean bCreateOk = dstF.createNewFile();
+ if (!bCreateOk) {
+ System.out.println("create failed");
+ }
+
+ dstF.deleteOnExit() ;
+ System.out.println("H3");
+
+ FileInputStream fIn = new FileInputStream(srcF) ;
+ System.out.println("H4");
+
+ FileOutputStream fOut = new FileOutputStream(dstF) ;
+
+ byte[] buf = new byte[1024] ;
+ int bytesRead = 0 ;
+ while ((bytesRead = fIn.read(buf)) > 0) {
+ fOut.write(buf, 0, bytesRead) ;
+ }
+
+ fIn.close() ;
+ fOut.close() ;
+ }
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.registry.SimpleRegistry</code>. Then
+ * makes three copies of a predefined registry file with different
+ * names in a temporary SOffice directory and passes their URLs as
+ * relations. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XSimpleRegistry.open'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * <li> <code>'XSimpleRegistry.merge'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * <li> <code>'XSimpleRegistry.destroy'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+ final String tmpDir = utils.getOfficeTempDirSys(
+ Param.getMSF()) ;
+ final String openF = "XSimpleRegistry_open.rdb" ;
+ final String destroyF = "XSimpleRegistry_destroy.rdb" ;
+ final String mergeF = "XSimpleRegistry_merge.rdb" ;
+
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.registry.SimpleRegistry" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ if (oInterface == null)
+ log.println("Service wasn't created") ;
+
+ oObj = (XInterface) oInterface;
+
+ log.println("creating copies of the registry for XSimpleRegistry");
+ try {
+ String source = utils.getFullTestDocName("XSimpleRegistry.rdb");
+ copyFile(source, tmpDir + openF, log);
+ copyFile(source, tmpDir + destroyF, log);
+ copyFile(source, tmpDir + mergeF, log);
+ } catch (java.io.IOException e) {
+ log.println("Exception occurred while copying files");
+ e.printStackTrace(log);
+ }
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XSimpleRegistry.open", tmpDir + openF);
+ tEnv.addObjRelation("XSimpleRegistry.destroy", tmpDir + destroyF);
+ tEnv.addObjRelation("XSimpleRegistry.merge", tmpDir + mergeF);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SimpleRegistry
+
diff --git a/qadevOOo/tests/java/mod/_simplereg/uno/package.html b/qadevOOo/tests/java/mod/_simplereg/uno/package.html
new file mode 100644
index 000000000..b70d93793
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_simplereg/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'simreg'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_simreg/SimpleRegistry.java b/qadevOOo/tests/java/mod/_simreg/SimpleRegistry.java
new file mode 100644
index 000000000..8c513d7b5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_simreg/SimpleRegistry.java
@@ -0,0 +1,170 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._simreg;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.registry.SimpleRegistry</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::registry::XSimpleRegistry</code></li>
+ * </ul> <p>
+ * The following files used by this test :
+ * <ul>
+ * <li><b> XSimpleRegistry.rdb </b> : a registry file with
+ * some key set. </li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.registry.XSimpleRegistry
+ * @see ifc.registry._XSimpleRegistry
+ */
+public class SimpleRegistry extends TestCase {
+
+ /**
+ * Creates a temporary copy of file, which is deleted when VM exits.
+ * @param src Source file path.
+ * @param dst Destination file path.
+ * @param log The log writer.
+ * @throws java.io.IOException If any problems occur during copying.
+ */
+ protected void copyFile(String src, String dst, PrintWriter log)
+ throws java.io.IOException {
+ File srcF = new File(src) ;
+ File dstF = new File(dst) ;
+ log.println("H1");
+
+ if (dstF.exists()) {
+ boolean bDeleteOk = dstF.delete();
+ if (!bDeleteOk) {
+ System.out.println("delete failed");
+ }
+ }
+
+ System.out.println("H2");
+
+ boolean bCreateOk = dstF.createNewFile();
+ if (!bCreateOk) {
+ System.out.println("create failed");
+ }
+
+ dstF.deleteOnExit() ;
+ log.println("H3");
+
+ FileInputStream fIn = new FileInputStream(srcF) ;
+ System.out.println("H4");
+
+ FileOutputStream fOut = new FileOutputStream(dstF) ;
+
+ byte[] buf = new byte[1024] ;
+ int bytesRead = 0 ;
+ while ((bytesRead = fIn.read(buf)) > 0) {
+ fOut.write(buf, 0, bytesRead) ;
+ }
+
+ fIn.close() ;
+ fOut.close() ;
+ }
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.registry.SimpleRegistry</code>. Then
+ * makes three copies of a predefined registry file with different
+ * names in a temporary SOffice directory and passes their URLs as
+ * relations. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XSimpleRegistry.open'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * <li> <code>'XSimpleRegistry.merge'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * <li> <code>'XSimpleRegistry.destroy'</code> for
+ * {@link ifc.registry._XSimpleRegistry} :
+ * URL of 'XSimpleRegistry.rbd' file copy in the
+ * temp directory. </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+ final String tmpDir = utils.getOfficeTempDirSys(Param.getMSF()) ;
+ final String openF = "XSimpleRegistry_open.rdb" ;
+ final String destroyF = "XSimpleRegistry_destroy.rdb" ;
+ final String mergeF = "XSimpleRegistry_merge.rdb" ;
+
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.registry.SimpleRegistry" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ if (oInterface == null)
+ log.println("Service wasn't created") ;
+
+ oObj = (XInterface) oInterface;
+
+ log.println("creating copies of the registry for XSimpleRegistry");
+ try {
+ String source = utils.getFullTestDocName("XSimpleRegistry.rdb");
+ copyFile(source, tmpDir + openF, log);
+ copyFile(source, tmpDir + destroyF, log);
+ copyFile(source, tmpDir + mergeF, log);
+ } catch (java.io.IOException e) {
+ log.println("Exception occurred while copying files");
+ e.printStackTrace(log);
+ }
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("XSimpleRegistry.open", tmpDir + openF);
+ tEnv.addObjRelation("XSimpleRegistry.destroy", tmpDir + destroyF);
+ tEnv.addObjRelation("XSimpleRegistry.merge", tmpDir + mergeF);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SimpleRegistry
+
diff --git a/qadevOOo/tests/java/mod/_simreg/package.html b/qadevOOo/tests/java/mod/_simreg/package.html
new file mode 100644
index 000000000..b70d93793
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_simreg/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'simreg'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_sm/SmEditAccessible.java b/qadevOOo/tests/java/mod/_sm/SmEditAccessible.java
new file mode 100644
index 000000000..b32e7f4da
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/SmEditAccessible.java
@@ -0,0 +1,129 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessible
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessible
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class SmEditAccessible extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * Creates a <code>StarMath</code> document and obtains an accessibility
+ * component with the role <code>AccessibleRole.TEXT_FRAME</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(final TestParameters Param, PrintWriter log) throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ xMathDoc = SOF.openDoc("smath","_blank");
+
+ // setting a formula in document
+ final String expFormula = "sum hat a";
+ final XPropertySet xPS = UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc);
+ xPS.setPropertyValue("Formula", expFormula);
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xMathDoc);
+
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.TEXT_FRAME, "", "WeldEditAccessible");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("Destroy", Boolean.TRUE);
+
+ final XAccessibleContext con = UnoRuntime.queryInterface(XAccessibleContext.class, oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ System.out.println("Children "+con.getAccessibleChildCount());
+ xPS.setPropertyValue("Formula", "sum hat x \n int a \n sum b");
+ util.utils.waitForEventIdle(Param.getMSF());
+ System.out.println("Children "+con.getAccessibleChildCount());
+ xPS.setPropertyValue("Formula", expFormula);
+ util.utils.waitForEventIdle(Param.getMSF());
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Disposes the document created in <code>createTestEnvironment</code>
+ * method.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+} // finish class SmModel
diff --git a/qadevOOo/tests/java/mod/_sm/SmGraphicAccessible.java b/qadevOOo/tests/java/mod/_sm/SmGraphicAccessible.java
new file mode 100644
index 000000000..1d02f98bc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/SmGraphicAccessible.java
@@ -0,0 +1,132 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessible
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessible
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class SmGraphicAccessible extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * Creates a <code>StarMath</code> document and obtains an accessibility
+ * component with the role <code>AccessibleRole.PANEL</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(final TestParameters Param, PrintWriter log) throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ xMathDoc = SOF.openDoc("smath","_blank");
+
+ // setting a formula in document
+ final String expFormula = "sum a cdot b";
+ final XPropertySet xPS = UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc);
+ xPS.setPropertyValue("Formula", expFormula);
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xMathDoc);
+
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole
+ (xRoot, AccessibleRole.DOCUMENT, "Formula");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ final XAccessibleComponent xAC = UnoRuntime.queryInterface(XAccessibleComponent.class, oObj);
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this dialog");
+
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ xAC.grabFocus();
+ xPS.setPropertyValue("Formula", "sum hat x");
+ util.utils.waitForEventIdle(Param.getMSF());
+ xPS.setPropertyValue("Formula", expFormula);
+ util.utils.waitForEventIdle(Param.getMSF());
+ } catch(com.sun.star.lang.WrappedTargetException e) {
+ } catch(com.sun.star.lang.IllegalArgumentException e) {
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ } catch(com.sun.star.beans.UnknownPropertyException e) {
+ }
+ }});
+
+ return tEnv;
+ }
+
+ /**
+ * Disposes the document created in <code>createTestEnvironment</code>
+ * method.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+} // finish class SmModel
diff --git a/qadevOOo/tests/java/mod/_sm/SmModel.java b/qadevOOo/tests/java/mod/_sm/SmModel.java
new file mode 100644
index 000000000..44cf134e5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/SmModel.java
@@ -0,0 +1,80 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XComponent;
+
+/**
+ * Test for object which is represented by
+ * <code>'StarMath'</code> document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::formula::FormulaProperties</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.formula.FormulaProperties
+ * @see ifc.formula._FormulaProperties
+ */
+public class SmModel extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates a <code>StarMath</code> document and passes it as
+ * tested component.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ xMathDoc = SOF.openDoc("smath","_blank");
+
+ String Iname = util.utils.getImplName(xMathDoc);
+ log.println("Implementation Name: "+Iname);
+ TestEnvironment tEnv = new TestEnvironment(xMathDoc);
+ return tEnv;
+ }
+
+ /**
+ * Disposes the document created in <code>createTestEnvironment</code>
+ * method.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+
+} // finish class SmModel
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLExporter.java b/qadevOOo/tests/java/mod/_sm/XMLExporter.java
new file mode 100644
index 000000000..f13275f00
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLExporter.java
@@ -0,0 +1,185 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * New math document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a math document" );
+ xMathDoc = SOF.createMathDoc(null);
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The math document is set as a source document for exporter
+ * created. A new formula inserted into document. This made
+ * for checking if this formula is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ final String expFormula = "a - b" ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), filter);
+
+ try {
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Math.XMLExporter", new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xMathDoc);
+
+ // setting a formula in document
+ XPropertySet xPS = UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc) ;
+ xPS.setPropertyValue("Formula", expFormula) ;
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ throw new StatusException("Can't create component.", e) ;
+ }
+
+ // checking tags required
+ filter.addTag(new XMLTools.Tag("math:math")) ;
+ filter.addTagEnclosed(new XMLTools.Tag("math:annotation"),
+ new XMLTools.Tag("math:semantics")) ;
+ filter.addCharactersEnclosed(expFormula,
+ new XMLTools.Tag("math:annotation")) ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"smath: StarOffice XML (Math)"}));
+ tEnv.addObjRelation("SourceDocument",xMathDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLImporter.java b/qadevOOo/tests/java/mod/_sm/XMLImporter.java
new file mode 100644
index 000000000..6b42f254e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLImporter.java
@@ -0,0 +1,153 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+ XComponent xMathDoc;
+
+
+ /**
+ * New math document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ xMathDoc = SOF.openDoc("smath","_blank");
+ }
+
+ /**
+ * Disposes document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLImporter</code><p>
+ *
+ * The chart document is set as a target document for importer.
+ * Imported XML-data contains the tag which specifies a formula
+ * in the document.
+ * After import the formula getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oObj = null;
+ final String impFormula = "a - b" ;
+
+ oObj = (XInterface)xMSF.createInstance(
+ "com.sun.star.comp.Math.XMLImporter");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("TargetDocument",xMathDoc);
+
+ String[][] xml = new String[][] {
+ {"start", "math:math",
+ "xmlns:math", "CDATA", "http://www.w3.org/1998/Math/MathML"},
+ {"start", "math:semantics"},
+ {"start", "math:annotation",
+ "math:encoding", "CDATA", "StarMath 5.0"},
+ {"chars", impFormula},
+ {"end", "math:annotation"},
+ {"end", "math:semantics"},
+ {"end", "math:math"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+ final XPropertySet xPS = UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc) ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String gFormula = (String) xPS.getPropertyValue
+ ("Formula") ;
+ logF.println("Formula returned = '" + gFormula + "'") ;
+ return impFormula.equals(gFormula) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occurred while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLMetaExporter.java b/qadevOOo/tests/java/mod/_sm/XMLMetaExporter.java
new file mode 100644
index 000000000..e2e29911b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLMetaExporter.java
@@ -0,0 +1,181 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertyContainer;
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLMetaExporter extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * New math document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a math document" );
+ xMathDoc = SOF.createMathDoc(null);
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The math document is set as a source document for exporter
+ * created. A new user info field inserted into document. This made
+ * for checking if this info field is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ final String expName = "XMLMetaExporterName" ;
+ final String expValue = "XMLMetaExporterValue" ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Math.XMLMetaExporter", new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xMathDoc);
+
+ // setting a new name and value for user info field
+ XDocumentPropertiesSupplier xPropSup = UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xMathDoc);
+ final XDocumentProperties xDocProps = xPropSup.getDocumentProperties();
+ XPropertyContainer xProps = xDocProps.getUserDefinedProperties();
+ xProps.addProperty(expName, (short)0, expValue);
+
+ // checking tags required
+ filter.addTag(new XMLTools.Tag("office:document-meta")) ;
+ filter.addCharactersEnclosed(expValue,
+ new XMLTools.Tag("meta:user-defined", "meta:name", expName)) ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"smath: StarOffice XML (Math)"}));
+ tEnv.addObjRelation("SourceDocument",xMathDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLMetaImporter.java b/qadevOOo/tests/java/mod/_sm/XMLMetaImporter.java
new file mode 100644
index 000000000..72ba25ccd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLMetaImporter.java
@@ -0,0 +1,187 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.Property;
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLMetaImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLMetaImporter extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * New math document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ xMathDoc = SOF.openDoc("smath","_blank");
+ }
+
+ /**
+ * Disposes document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLMetaImporter</code><p>
+ *
+ * The math document is set as a target document for importer.
+ * Imported XML-data contains the tag which specifies new user info
+ * field and a title of document.
+ * After import user fields info and the title of target document
+ * is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oObj = null;
+ final String impName = "XMLMetaImporter" ;
+ final String impValue = "XMLMetaImporter_Value" ;
+ final String impTitle = "XMLMetaImporter Title" ;
+
+ oObj = (XInterface)xMSF.createInstance(
+ "com.sun.star.comp.Math.XMLMetaImporter");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("TargetDocument",xMathDoc);
+
+ String[][] xml = new String[][] {
+ {"start", "office:document-meta",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:meta", "CDATA", "http://openoffice.org/2000/meta",
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink",
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"
+ },
+ {"start", "office:meta"},
+ {"start", "dc:title"},
+ {"chars", impTitle},
+ {"end", "dc:title"},
+ {"start", "meta:user-defined",
+ "meta:name", "CDATA", impName},
+ {"chars", impValue},
+ {"end", "meta:user-defined"},
+ {"end", "office:meta"},
+ {"end", "office:document-meta"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ XDocumentPropertiesSupplier xPropSup =
+ UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xMathDoc);
+ final XDocumentProperties xDocProps =
+ xPropSup.getDocumentProperties();
+
+ XPropertySet xUDProps = UnoRuntime.queryInterface(
+ XPropertySet.class,
+ xDocProps.getUserDefinedProperties());
+ XPropertySetInfo xInfo =
+ xUDProps.getPropertySetInfo();
+ Property[] props = xInfo.getProperties();
+ boolean result = false;
+ for (int i = 0; i < props.length; i++) {
+ String gName = props[i].Name;
+ String gValue = (String)
+ xUDProps.getPropertyValue(gName);
+ logF.println("Field '" + gName + "' = '"
+ + gValue + "'") ;
+ if (impName.equals(gName) && impValue.equals(gValue))
+ result = true ;
+ }
+ String gTitle = xDocProps.getTitle();
+ logF.println("Title returned : '" + gTitle + "'");
+ result &= impTitle.equals(gTitle) ;
+
+ return result ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occurred while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLSettingsExporter.java b/qadevOOo/tests/java/mod/_sm/XMLSettingsExporter.java
new file mode 100644
index 000000000..f52ef2b2a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLSettingsExporter.java
@@ -0,0 +1,180 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLSettingsExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLSettingsExporter extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * New math document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a math document" );
+ xMathDoc = SOF.createMathDoc(null);
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLSettingsExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The math document is set as a source document for exporter
+ * created. A new value for TopMargin property is set for document.
+ * This made
+ * for checking if this property is successfully exported within
+ * the document settings.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ final short expMargin = 67 ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Math.XMLSettingsExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xMathDoc);
+
+ // setting a formula in document
+ XPropertySet xPS = UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc) ;
+
+ xPS.setPropertyValue("TopMargin", Short.valueOf(expMargin)) ;
+
+ // checking tags required
+
+ filter.addTag(new XMLTools.Tag("office:document-settings")) ;
+ filter.addCharactersEnclosed(String.valueOf(expMargin),
+ new XMLTools.Tag("config:config-item", "config:name", "TopMargin")) ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"smath: StarOffice XML (Math)"}));
+ tEnv.addObjRelation("SourceDocument",xMathDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+
+} // finish class TestCase
+
diff --git a/qadevOOo/tests/java/mod/_sm/XMLSettingsImporter.java b/qadevOOo/tests/java/mod/_sm/XMLSettingsImporter.java
new file mode 100644
index 000000000..484cd2b6d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sm/XMLSettingsImporter.java
@@ -0,0 +1,162 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sm;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Math.XMLSettingsImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLSettingsImporter extends TestCase {
+ XComponent xMathDoc;
+
+ /**
+ * New math document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ xMathDoc = SOF.openDoc("smath","_blank");
+ }
+
+ /**
+ * Disposes document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xMathDoc " );
+ xMathDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Math.XMLSettingsImporter</code><p>
+ *
+ * The math document is set as a target document for importer.
+ * Imported XML-data contains the tag which specifies new
+ * 'TopMargin' property value.
+ * After import 'TopMargin' property value of target document
+ * is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log )
+ throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oObj = null;
+ final short impMargin = 67 ;
+
+ oObj = (XInterface)xMSF.createInstance(
+ "com.sun.star.comp.Math.XMLSettingsImporter");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("TargetDocument",xMathDoc);
+
+ String[][] xml = new String[][] {
+ {"start", "office:document-settings",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config",
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink",
+ "office:version", "CDATA", "1.0"
+ },
+ {"start", "office:settings"},
+ {"start", "config:config-item-set",
+ "config:name", "CDATA", "configuration-settings"},
+
+ {"start", "config:config-item",
+ "config:name", "CDATA", "TopMargin",
+ "config:type", "CDATA", "short"},
+ {"chars", String.valueOf(impMargin)},
+ {"end", "config:config-item"},
+ {"end", "config:config-item-set"},
+ {"end", "office:settings"},
+ {"end", "office:document-settings"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+ final XPropertySet xPS = UnoRuntime.queryInterface
+ (XPropertySet.class, xMathDoc) ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ Short gMargin = (Short) xPS.getPropertyValue
+ ("TopMargin") ;
+ logF.println("Margin returned: " + gMargin);
+ return impMargin == gMargin.shortValue() ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occurred while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_smgr/OServiceManager.java b/qadevOOo/tests/java/mod/_smgr/OServiceManager.java
new file mode 100644
index 000000000..797246b2c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_smgr/OServiceManager.java
@@ -0,0 +1,157 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._smgr;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XSet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.stoc.OServiceManager</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XMultiServiceFactory</code></li>
+ * <li> <code>com::sun::star::container::XContentEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::container::XSet</code></li>
+ * <li> <code>com::sun::star::lang::XMultiComponentFactory</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.lang.XMultiServiceFactory
+ * @see com.sun.star.container.XContentEnumerationAccess
+ * @see com.sun.star.container.XSet
+ * @see com.sun.star.lang.XMultiComponentFactory
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.lang._XMultiServiceFactory
+ * @see ifc.container._XContentEnumerationAccess
+ * @see ifc.container._XSet
+ * @see ifc.lang._XMultiComponentFactory
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.lang._XComponent
+ */
+public class OServiceManager extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.stoc.OServiceManager</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'NewElement'</code> for
+ * {@link ifc.container._XSet} :
+ * element to be inserted into manager. Here
+ * a new <code>ServiceManager</code> implementation is
+ * create using
+ * <code>tools.SOConnect.createSimpleServiceManager()</code>
+ * and one of services contained in it is taken.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.stoc.OServiceManager" );
+ } catch( com.sun.star.uno.Exception e ) {
+ log.println("ServiceManager service not available" );
+ }
+
+ // adding a service to the manager
+ Object newElement = null ;
+ XMultiServiceFactory srvMan = null;
+ XComponentContext xContext = null;
+
+ try {
+
+ srvMan = com.sun.star.comp.helper.Bootstrap.createSimpleServiceManager();
+
+ } catch ( java.lang.Exception ex) {
+ log.println("Error creating SimpleServiceManager :");
+ ex.printStackTrace(log);
+ }
+
+ XSet set = UnoRuntime.queryInterface
+ (XSet.class, oInterface) ;
+ XSet set1 = UnoRuntime.queryInterface
+ (XSet.class, srvMan) ;
+ XEnumeration oEnum = set1.createEnumeration();
+ Object srv = oEnum.nextElement();
+
+ set.insert(srv) ;
+
+ newElement = oEnum.nextElement();
+
+ XPropertySet xProp = UnoRuntime.queryInterface(
+ XPropertySet.class, oInterface);
+ if (xProp != null) {
+ xContext = (XComponentContext) AnyConverter.toObject(
+ new Type(XComponentContext.class),
+ xProp.getPropertyValue("DefaultContext"));
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XSet interface
+ tEnv.addObjRelation("NewElement", newElement) ;
+
+ // adding relation for XPropertySet
+ tEnv.addObjRelation("PTT",new String[]{"DefaultContext","none","none"});
+
+ //adding relation for XMultiComponentFactory
+ if (xContext != null) {
+ tEnv.addObjRelation("DC", xContext);
+ }
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class OServiceManager
+
diff --git a/qadevOOo/tests/java/mod/_smgr/package.html b/qadevOOo/tests/java/mod/_smgr/package.html
new file mode 100644
index 000000000..bef49b8c5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_smgr/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'smgr'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_smplmail/SimpleSystemMail.java b/qadevOOo/tests/java/mod/_smplmail/SimpleSystemMail.java
new file mode 100644
index 000000000..6e0d1037a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_smplmail/SimpleSystemMail.java
@@ -0,0 +1,107 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._smplmail;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.system.SimpleSystemMail</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::system::XSimpleMailClientSupplier</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::lang::XTypeProvider</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.system.XSimpleMailClientSupplier
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.lang.XTypeProvider
+ * @see ifc.system._XSimpleMailClientSupplier
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.lang._XTypeProvider
+ */
+public class SimpleSystemMail extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * In case if OS is Win or not specified tries to create an instance
+ * of the service <code>com.sun.star.system.SimpleSystemMail</code>. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'SystemMailExist'</code> for
+ * {@link ifc.system._XSimpleMailClientSupplier} :
+ * the value depends on tested platform and
+ * <code>test.system.mail.isExist</code> INI
+ * parameter.</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null;
+ boolean isWinOS = false ;
+ boolean isSystemMailExist = false ;
+
+ // if 'OS' parameter is not defined then by default
+ // Win platform is used. If really not the error will occurs.
+ isWinOS = Param.get("OS") == null ||
+ "wntmsci".equals(Param.get("OS")) ;
+ isSystemMailExist = "true".equalsIgnoreCase
+ ((String) Param.get("test.system.mail.isExist")) ;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ if (isWinOS) {
+ log.println("The OS is Win : trying to create service");
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.system.SimpleSystemMail" );
+ } else {
+ log.println("The OS is NOT Win, SKIPPING this component");
+ log.println("Creating Dummy object ...");
+ oInterface = xMSF.createInstance( "com.sun.star.io.Pipe" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("SystemMailExist", Boolean.valueOf(isSystemMailExist));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SimpleSystemMail
+
diff --git a/qadevOOo/tests/java/mod/_srtrs/SortedDynamicResultSetFactory.java b/qadevOOo/tests/java/mod/_srtrs/SortedDynamicResultSetFactory.java
new file mode 100644
index 000000000..7449c4907
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_srtrs/SortedDynamicResultSetFactory.java
@@ -0,0 +1,75 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._srtrs;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.ucb.SortedDynamicResultSetFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::ucb::XSortedDynamicResultSetFactory</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.ucb.XSortedDynamicResultSetFactory
+ * @see ifc.ucb._XSortedDynamicResultSetFactory
+ */
+public class SortedDynamicResultSetFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.SortedDynamicResultSetFactory</code>.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oInterface = xMSF.createInstance(
+ "com.sun.star.ucb.SortedDynamicResultSetFactory");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/DataInputStream.java b/qadevOOo/tests/java/mod/_stm/DataInputStream.java
new file mode 100644
index 000000000..ee55f57fa
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/DataInputStream.java
@@ -0,0 +1,152 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._stm;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XDataOutputStream;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.DataInputStream</code>.
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XDataInputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.DataInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XDataInputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XInputStream
+* @see ifc.io._XDataInputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+*/
+public class DataInputStream extends TestCase {
+
+ /**
+ * Creates a TestEnvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.io.DataInputStream</code> object,
+ * connects it to <code>com.sun.star.io.DataOutputStream</code>
+ * through <code>com.sun.star.io.Pipe</code>. All of possible data
+ * types are written into <code>DataOutputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XDataInputStream}
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}(another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance("com.sun.star.io.DataInputStream");
+
+ XInterface oObj = (XInterface) oInterface;
+
+ // creating and connecting DataOutputStream to the
+ // DataInputStream created through the Pipe
+ XActiveDataSink xDataSink = UnoRuntime.queryInterface(XActiveDataSink.class, oObj);
+
+ XInterface oPipe = (XInterface)
+ xMSF.createInstance("com.sun.star.io.Pipe");
+
+ XInputStream xPipeInput = UnoRuntime.queryInterface(XInputStream.class, oPipe);
+ XOutputStream xPipeOutput = UnoRuntime.queryInterface(XOutputStream.class, oPipe);
+
+ XInterface oDataOutput = (XInterface)
+ xMSF.createInstance("com.sun.star.io.DataOutputStream");
+
+ XDataOutputStream xDataOutput = UnoRuntime.queryInterface(XDataOutputStream.class, oDataOutput) ;
+ XActiveDataSource xDataSource = UnoRuntime.queryInterface(XActiveDataSource.class, oDataOutput) ;
+
+ xDataSource.setOutputStream(xPipeOutput) ;
+ xDataSink.setInputStream(xPipeInput) ;
+
+ // all data types for writing to an XDataInputStream
+ ArrayList<Object> data = new ArrayList<Object>();
+ data.add(Boolean.TRUE) ;
+ data.add(Byte.valueOf((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(Short.valueOf((short)1234)) ;
+ data.add(Integer.valueOf(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ // creating a connectable object for XConnectable interface
+ XInterface xConnect = (XInterface)xMSF.createInstance(
+ "com.sun.star.io.DataInputStream") ;
+
+ // creating an input stream to set in XActiveDataSink
+ XInterface oDataInput = (XInterface) xMSF.createInstance(
+ "com.sun.star.io.Pipe" );
+
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding sequence of data that must be read
+ // by XDataInputStream interface methods
+ tEnv.addObjRelation("StreamData", data) ;
+ // add a writer
+ tEnv.addObjRelation("StreamWriter", xDataOutput);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ // add an inputStream
+ tEnv.addObjRelation("InputStream", oDataInput);
+ tEnv.addObjRelation("ByteData", byteData);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/DataOutputStream.java b/qadevOOo/tests/java/mod/_stm/DataOutputStream.java
new file mode 100644
index 000000000..ead4fc671
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/DataOutputStream.java
@@ -0,0 +1,164 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._stm;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.DataOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XDataOutputStream</code></li>
+* </ul>
+* @see com.sun.star.io.DataOutputStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XDataOutputStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XDataOutputStream
+*/
+public class DataOutputStream extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.io.DataOutputStream</code>
+ * and an instance of the service <code>com.sun.star.io.Pipe</code>.
+ * Plugs the created pipe as output stream for the created DataOutputStream.
+ * @see com.sun.star.io.DataOutputStream
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ XInterface oPipe = null;
+ XMultiServiceFactory xMSF = null ;
+
+ xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ("com.sun.star.io.DataOutputStream");
+ oPipe = (XInterface)xMSF.createInstance("com.sun.star.io.Pipe");
+
+ oObj = (XInterface) oInterface;
+
+ final XOutputStream xPipeOutput = UnoRuntime.queryInterface(XOutputStream.class, oPipe);
+
+ XActiveDataSource xDataSource = UnoRuntime.queryInterface(XActiveDataSource.class, oObj);
+
+ xDataSource.setOutputStream(xPipeOutput);
+
+ // all data types for writing to an XDataInputStream
+ ArrayList<Object> data = new ArrayList<Object>() ;
+ data.add(Boolean.TRUE) ;
+ data.add(Byte.valueOf((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(Short.valueOf((short)1234)) ;
+ data.add(Integer.valueOf(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", oPipe);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ final XInputStream xPipeInput = UnoRuntime.queryInterface(XInputStream.class, oPipe);
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ xPipeOutput.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.DataInputStream");
+ xInStream = UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(xPipeInput);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/MarkableInputStream.java b/qadevOOo/tests/java/mod/_stm/MarkableInputStream.java
new file mode 100644
index 000000000..a86369867
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/MarkableInputStream.java
@@ -0,0 +1,129 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._stm;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.MarkableInputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.MarkableInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XInputStream
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+*/
+public class MarkableInputStream extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instances of services <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>.
+ * Plugs the created pipe as output stream for the created
+ * <code>MarkableOutputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>. Writes some data to the
+ * <code>MarkableOutputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}(another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ Object xConnect = null;
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance("com.sun.star.io.MarkableOutputStream");
+ xConnect = xMSF.createInstance("com.sun.star.io.DataInputStream");
+
+ // Creating construction :
+ // MarkableOutputStream -> Pipe -> MarkableInputStream
+ XActiveDataSource xdSmo = UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream PipeOut = UnoRuntime.queryInterface(XOutputStream.class, aPipe);
+ XInputStream PipeIn = UnoRuntime.queryInterface(XInputStream.class, aPipe);
+
+ xdSmo.setOutputStream(PipeOut);
+
+ XActiveDataSink xmSi = UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+
+ xmSi.setInputStream(PipeIn) ;
+
+ XInterface oObj = (XInterface) mistream;
+
+ byte[] byteData = new byte[] {1,2,3,4,5,6};
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // add a writer
+ tEnv.addObjRelation("StreamWriter", mostream);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ // add an inputStream
+ tEnv.addObjRelation("InputStream", mistream);
+ tEnv.addObjRelation("ByteData", byteData);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/MarkableOutputStream.java b/qadevOOo/tests/java/mod/_stm/MarkableOutputStream.java
new file mode 100644
index 000000000..6765ba721
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/MarkableOutputStream.java
@@ -0,0 +1,188 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._stm;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.MarkableOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* </ul>
+* @see com.sun.star.io.MarkableOutputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XConnectable
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XConnectable
+*/
+public class MarkableOutputStream extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instances of services <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>.
+ * Plugs the created pipe as output stream for the created
+ * <code>MarkableOutputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XOutputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataOutputStream}(the data that should be
+ * written into the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ XInterface aConnect;
+
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ aConnect = (XInterface)xMSF.createInstance
+ ("com.sun.star.io.DataOutputStream");
+
+ // Creating construction :
+ // MarkableOutputStream -> Pipe -> MarkableInputStream
+ XActiveDataSource xdSmo = UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ final XOutputStream PipeOut = UnoRuntime.queryInterface(XOutputStream.class,aPipe);
+ final XInputStream PipeIn = UnoRuntime.queryInterface(XInputStream.class,aPipe);
+
+ xdSmo.setOutputStream(PipeOut);
+
+ XActiveDataSink xmSi = UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+
+ xmSi.setInputStream(PipeIn) ;
+
+ oObj = (XInterface) mostream;
+
+ // all data types for writing to an XDataInputStream
+ ArrayList<Object> data = new ArrayList<Object>() ;
+ data.add(Boolean.TRUE) ;
+ data.add(Byte.valueOf((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(Short.valueOf((short)1234)) ;
+ data.add(Integer.valueOf(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", aPipe);
+ tEnv.addObjRelation("Connectable", aConnect);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ PipeOut.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.MarkableInputStream");
+ xInStream = UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(PipeIn);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/ObjectInputStream.java b/qadevOOo/tests/java/mod/_stm/ObjectInputStream.java
new file mode 100644
index 000000000..e40f2a12e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/ObjectInputStream.java
@@ -0,0 +1,250 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._stm;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.XImplementationRegistration;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.ObjectInputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XDataInputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* <li> <code>com::sun::star::io::XObjectInputStream</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> MyPersistObjectImpl.jar </b> : the implementation of the persist
+* object</li>
+* </ul> <p>
+* @see com.sun.star.io.ObjectInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XDataInputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see com.sun.star.io.XObjectInputStream
+* @see ifc.io._XInputStream
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XDataInputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+* @see ifc.io._XObjectInputStream
+*/
+public class ObjectInputStream extends TestCase {
+
+ /**
+ * Register the implementation of service
+ * <code>com.sun.star.cmp.PersistObject</code> if not yet registered.
+ * @see com.sun.star.cmp.PersistObject
+ */
+ @Override
+ public void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ Object oPersObj = null;
+ // test first if object is already registered
+ try {
+ oPersObj = xMSF.createInstance("com.sun.star.cmp.PersistObject");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Could not create instance of PersistObject");
+ e.printStackTrace(log);
+ log.println("Going on with test...");
+ }
+ if ( oPersObj == null ) {
+ // object is not available: it has to be registered
+ String url = util.utils.getFullTestURL
+ ("qadevlibs/MyPersistObjectImpl.jar");
+ XImplementationRegistration xir;
+ Object o = xMSF.createInstance(
+ "com.sun.star.registry.ImplementationRegistration");
+ xir = UnoRuntime.queryInterface(
+ XImplementationRegistration.class, o);
+
+ XSimpleRegistry xReg = null;
+ System.out.println("Register library: " + url);
+ xir.registerImplementation(
+ "com.sun.star.loader.Java2", url, xReg);
+ System.out.println("...done");
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instances of services
+ * <code>com.sun.star.io.ObjectInputStream</code>,
+ * <code>com.sun.star.io.ObjectOutputStream</code>,
+ * <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>. Plugs the created
+ * markable output stream as output stream for the created
+ * <code>ObjectOutputStream</code>. Plugs the created pipe as output stream
+ * for the created <code>MarkableOutputStream</code>. Plugs the created
+ * markable input stream as input stream for the created
+ * <code>ObjectInputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>. Creates an instance
+ * of the service <code>com.sun.star.cmp.PersistObject</code> and writes
+ * the created object to the object output stream.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PersistObject'</code> for
+ * {@link ifc.io._XObjectInputStream}(the created instance of the
+ * persist object ) </li>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XDataInputStream}
+ * {@link ifc.io._XObjectInputStream}
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ * @see com.sun.star.io.ObjectInputStream
+ * @see com.sun.star.io.ObjectOutputStream
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ * @see com.sun.star.cmp.PersistObject
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ System.out.println("create TestEnvironment started.");
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object ostream = null;
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ Object istream = null;
+ Object xConnect = null;
+ istream = xMSF.createInstance
+ ("com.sun.star.io.ObjectInputStream");
+ ostream = xMSF.createInstance
+ ("com.sun.star.io.ObjectOutputStream");
+ aPipe = xMSF.createInstance
+ ("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ xConnect = xMSF.createInstance
+ ("com.sun.star.io.DataInputStream") ;
+
+ // Creating construction :
+ // ObjectOutputStream -> MarkableOutputStream -> Pipe ->
+ // -> MarkableInputStream -> ObjectInputStream
+ XActiveDataSource xdSo = UnoRuntime.queryInterface(XActiveDataSource.class, ostream);
+
+ XActiveDataSource xdSmo = UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream moStream = UnoRuntime.queryInterface(XOutputStream.class, mostream);
+
+ XOutputStream PipeOut = UnoRuntime.queryInterface(XOutputStream.class, aPipe);
+ XInputStream PipeIn = UnoRuntime.queryInterface(XInputStream.class, aPipe);
+
+ xdSo.setOutputStream(moStream);
+ xdSmo.setOutputStream(PipeOut);
+
+ XObjectInputStream iStream = UnoRuntime.queryInterface(XObjectInputStream.class, istream);
+ XObjectOutputStream oStream = null;
+ oStream = UnoRuntime.queryInterface(XObjectOutputStream.class, ostream);
+
+ XActiveDataSink xmSi = UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+ XInputStream xmIstream = UnoRuntime.queryInterface(XInputStream.class, mistream);
+
+ XActiveDataSink xdSi = UnoRuntime.queryInterface
+ (XActiveDataSink.class, istream);
+ xdSi.setInputStream(xmIstream);
+ xmSi.setInputStream(PipeIn);
+
+ // creating Persist object which has to be written
+ XPersistObject xPersObj = null;
+ Object oPersObj = xMSF.createInstance
+ ("com.sun.star.cmp.PersistObject");
+ xPersObj = UnoRuntime.queryInterface(XPersistObject.class, oPersObj);
+
+ // all data types for writing to an XDataInputStream
+ ArrayList<Object> data = new ArrayList<Object>() ;
+ data.add(Boolean.TRUE) ;
+ data.add(Byte.valueOf((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(Short.valueOf((short)1234)) ;
+ data.add(Integer.valueOf(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+
+ System.out.println("create environment");
+ XInterface oObj = iStream;
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding persistent object
+ tEnv.addObjRelation("PersistObject", xPersObj);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ tEnv.addObjRelation("StreamWriter", oStream);
+ // for XActiveDataSink
+ tEnv.addObjRelation("InputStream", aPipe);
+ // adding sequence of data that must be read
+ // by XDataInputStream interface methods
+ tEnv.addObjRelation("StreamData", data) ;
+ // and by XInputStream interface methods
+ tEnv.addObjRelation("ByteData", byteData) ;
+
+ System.out.println("create TestEnvironment finished.");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/ObjectOutputStream.java b/qadevOOo/tests/java/mod/_stm/ObjectOutputStream.java
new file mode 100644
index 000000000..37f091b9f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/ObjectOutputStream.java
@@ -0,0 +1,272 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._stm;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.XImplementationRegistration;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.ObjectOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XDataOutputStream</code></li>
+* <li> <code>com::sun::star::io::XObjectOutputStream</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> MyPersistObjectImpl.jar </b> : the implementation of the persist
+* object</li>
+* </ul> <p>
+* @see com.sun.star.io.ObjectOutputStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XDataOutputStream
+* @see com.sun.star.io.XObjectOutputStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XDataOutputStream
+* @see ifc.io._XObjectOutputStream
+*/
+public class ObjectOutputStream extends TestCase {
+
+ /**
+ * Register the implementation of service
+ * <code>com.sun.star.cmp.PersistObject</code> if not yet registered.
+ * @see com.sun.star.cmp.PersistObject
+ */
+ @Override
+ public void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ Object oPersObj = null;
+ // test first if object is already registered
+ try {
+ oPersObj = xMSF.createInstance("com.sun.star.cmp.PersistObject");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Could not create instance of PersistObject");
+ e.printStackTrace(log);
+ log.println("Going on with test...");
+ }
+ if ( oPersObj == null ) {
+ // object is not available: it has to be registered
+ String url = util.utils.getFullTestURL
+ ("qadevlibs/MyPersistObjectImpl.jar");
+ XImplementationRegistration xir;
+ Object o = xMSF.createInstance(
+ "com.sun.star.registry.ImplementationRegistration");
+ xir = UnoRuntime.queryInterface(
+ XImplementationRegistration.class, o);
+
+ XSimpleRegistry xReg = null;
+ System.out.println("Register library: " + url);
+ xir.registerImplementation(
+ "com.sun.star.loader.Java2", url, xReg);
+ System.out.println("...done");
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instances of services
+ * <code>com.sun.star.io.ObjectOutputStream</code>,
+ * <code>com.sun.star.io.Pipe</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>. Plugs the created
+ * markable output stream as output stream for the created
+ * <code>ObjectOutputStream</code>. Plugs the created pipe as output stream
+ * for the created <code>MarkableOutputStream</code>. Creates an instance
+ * of the service <code>com.sun.star.cmp.PersistObject</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataOutputStream}(the data that should
+ * be written into the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XOutputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'PersistObject'</code> for
+ * {@link ifc.io._XObjectOutputStream}(the created instance of the
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XObjectInputStream}(the created instance of the
+ * persist object ) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.ObjectInputStream
+ * @see com.sun.star.io.ObjectOutputStream
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ * @see com.sun.star.cmp.PersistObject
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ XObjectOutputStream oStream = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object ostream = null, istream = null;
+ Object aPipe = null;
+ Object mostream = null;
+ XInterface aConnect = null;
+ Object minstream = null;
+
+ ostream = xMSF.createInstance
+ ( "com.sun.star.io.ObjectOutputStream" );
+ istream = xMSF.createInstance
+ ("com.sun.star.io.ObjectInputStream");
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ aConnect = (XInterface)xMSF.createInstance
+ ("com.sun.star.io.DataInputStream");
+ minstream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+
+ // creating the pipe where object has to be written to
+ XActiveDataSource xdSo = UnoRuntime.queryInterface(XActiveDataSource.class, ostream);
+
+ XActiveDataSource xdSmo = UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream moStream = UnoRuntime.queryInterface(XOutputStream.class, mostream);
+
+ XActiveDataSink markIn = UnoRuntime.queryInterface(XActiveDataSink.class, minstream);
+ XActiveDataSink inStream = UnoRuntime.queryInterface(XActiveDataSink.class, istream);
+ XInputStream markInStream = UnoRuntime.queryInterface(XInputStream.class, minstream);
+
+ final XOutputStream PipeOut = UnoRuntime.queryInterface(XOutputStream.class,aPipe);
+ final XInputStream PipeIn = UnoRuntime.queryInterface(XInputStream.class,aPipe);
+
+ markIn.setInputStream(PipeIn);
+ inStream.setInputStream(markInStream);
+ XObjectInputStream objInputStream = UnoRuntime.queryInterface(XObjectInputStream.class, istream);
+ xdSo.setOutputStream(moStream);
+ xdSmo.setOutputStream(PipeOut);
+
+ oStream = UnoRuntime.queryInterface(XObjectOutputStream.class, ostream);
+
+ // creating Persistent object which has to be written
+ XPersistObject xPersObj = null ;
+ Object oPersObj = xMSF.createInstance
+ ("com.sun.star.cmp.PersistObject");
+ xPersObj = UnoRuntime.queryInterface(XPersistObject.class, oPersObj);
+
+ oObj = oStream;
+
+ // all data types for writing to an XDataInputStream
+ ArrayList<Object> data = new ArrayList<Object>() ;
+ data.add(Boolean.TRUE) ;
+ data.add(Byte.valueOf((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(Short.valueOf((short)1234)) ;
+ data.add(Integer.valueOf(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("PersistObject", xPersObj);
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", aPipe);
+ tEnv.addObjRelation("Connectable", aConnect);
+
+ tEnv.addObjRelation("InputStream", objInputStream);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ PipeOut.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.ObjectInputStream");
+ xInStream = UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(PipeIn);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/Pipe.java b/qadevOOo/tests/java/mod/_stm/Pipe.java
new file mode 100644
index 000000000..facd2cafe
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/Pipe.java
@@ -0,0 +1,99 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._stm;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.Pipe</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* </ul>
+* @see com.sun.star.io.Pipe
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XOutputStream
+* @see ifc.io._XInputStream
+* @see ifc.io._XOutputStream
+*/
+public class Pipe extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service <code>com.sun.star.io.Pipe</code>.
+ * Writes some information to the created pipe.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.io.Pipe" );
+
+ oObj = (XInterface) oInterface;
+
+ // writing some information to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //add relation for io.XOutputStream
+ final XInputStream iStream = UnoRuntime.queryInterface(XInputStream.class, oObj);
+
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("StreamWriter", oObj);
+
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ public void resetStreams() {
+ }
+
+ public XInputStream getInStream() {
+ return iStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/Pump.java b/qadevOOo/tests/java/mod/_stm/Pump.java
new file mode 100644
index 000000000..d53d6ea1e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/Pump.java
@@ -0,0 +1,174 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._stm;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.io.NotConnectedException;
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.Pump</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XActiveDataControl</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.Pump
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XActiveDataControl
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XActiveDataControl
+* @see ifc.io._XActiveDataSink
+*/
+public class Pump extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service <code>com.sun.star.io.Pump</code>.
+ * Settings up input and output streams for the created pump.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}(an input stream to set) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}(an output stream to set) </li>
+ * </ul>
+ * @see com.sun.star.io.Pump
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oPipe;
+
+ // creating an instance of stm.Pump
+ oInterface = xMSF.createInstance( "com.sun.star.io.Pump" );
+ oPipe = (XInterface) xMSF.createInstance( "com.sun.star.io.Pipe" );
+
+
+ XInterface oObj = (XInterface) oInterface;
+
+ // setting up input and output streams for pump
+ XActiveDataSink xSink = UnoRuntime.queryInterface(XActiveDataSink.class, oObj);
+ XActiveDataSource xSource = UnoRuntime.queryInterface(XActiveDataSource.class, oObj);
+
+ XInputStream xInput = new MyInput();
+ XOutputStream xOutput = new MyOutput();
+
+ xSink.setInputStream(xInput);
+ xSource.setOutputStream(xOutput);
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // add object relations for ActiveDataSource and XActiveDataSink
+ tEnv.addObjRelation("InputStream", oPipe);
+ tEnv.addObjRelation("OutputStream", oPipe);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * XInputStream implementation to use with the test. It returns bytes of
+ * which a simple string consists.
+ */
+ private static class MyInput implements XInputStream {
+ String str = "Pump tesing string" ;
+
+ public int readBytes(byte[][] bytes, int len)
+ throws NotConnectedException{
+
+ if (str == null)
+ throw new NotConnectedException("Input stream was closed");
+
+ int actual = 0 ;
+ if (len <= str.length()) {
+ String resStr = str.substring(0, len-1) ;
+ bytes[0] = resStr.getBytes() ;
+ actual = len ;
+ str = str.substring(len) ;
+ } else {
+ bytes[0] = str.getBytes() ;
+ actual = str.length() ;
+ }
+
+ return actual;
+ }
+
+ public int readSomeBytes(byte[][] bytes, int len)
+ throws NotConnectedException{
+ return readBytes(bytes, len);
+ }
+
+ public void skipBytes(int len) throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ if (len >= str.length())
+ str = "" ;
+ else
+ str = str.substring(len) ;
+ }
+
+ public void closeInput() throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ str = null ;
+ }
+
+ public int available() throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ return str.length();
+ }
+ }
+
+ /**
+ * Dummy XOutputStream implementation to use with the test. Does nothing.
+ */
+ private static class MyOutput implements XOutputStream {
+ public void writeBytes(byte[] bytes) {
+ }
+
+ public void flush() {
+ }
+
+ public void closeOutput() {
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_stm/package.html b/qadevOOo/tests/java/mod/_stm/package.html
new file mode 100644
index 000000000..aa2793cf2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_stm/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'stm'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_streams/uno/DataInputStream.java b/qadevOOo/tests/java/mod/_streams/uno/DataInputStream.java
new file mode 100644
index 000000000..a1c4a49d9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams/uno/DataInputStream.java
@@ -0,0 +1,151 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XDataOutputStream;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.DataInputStream</code>.
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XDataInputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.DataInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XDataInputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XInputStream
+* @see ifc.io._XDataInputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+*/
+public class DataInputStream extends TestCase {
+
+ /**
+ * Creates a TestEnvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.io.DataInputStream</code> object,
+ * connects it to <code>com.sun.star.io.DataOutputStream</code>
+ * through <code>com.sun.star.io.Pipe</code>. All of possible data
+ * types are written into <code>DataOutputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XDataInputStream}
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}(another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance("com.sun.star.io.DataInputStream");
+
+ XInterface oObj = (XInterface) oInterface;
+
+ // creating and connecting DataOutputStream to the
+ // DataInputStream created through the Pipe
+ XActiveDataSink xDataSink = UnoRuntime.queryInterface(XActiveDataSink.class, oObj);
+
+ XInterface oPipe = (XInterface)
+ xMSF.createInstance("com.sun.star.io.Pipe");
+
+ XInputStream xPipeInput = UnoRuntime.queryInterface(XInputStream.class, oPipe);
+ XOutputStream xPipeOutput = UnoRuntime.queryInterface(XOutputStream.class, oPipe);
+
+ XInterface oDataOutput = (XInterface)
+ xMSF.createInstance("com.sun.star.io.DataOutputStream");
+
+ XDataOutputStream xDataOutput = UnoRuntime.queryInterface(XDataOutputStream.class, oDataOutput) ;
+ XActiveDataSource xDataSource = UnoRuntime.queryInterface(XActiveDataSource.class, oDataOutput) ;
+
+ xDataSource.setOutputStream(xPipeOutput) ;
+ xDataSink.setInputStream(xPipeInput) ;
+
+ // all data types for writing to an XDataInputStream
+ ArrayList<Object> data = new ArrayList<Object>() ;
+ data.add(Boolean.TRUE) ;
+ data.add(Byte.valueOf((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(Short.valueOf((short)1234)) ;
+ data.add(Integer.valueOf(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ // creating a connectable object for XConnectable interface
+ XInterface xConnect = (XInterface)xMSF.createInstance(
+ "com.sun.star.io.DataInputStream") ;
+
+ // creating an input stream to set in XActiveDataSink
+ XInterface oDataInput = (XInterface) xMSF.createInstance(
+ "com.sun.star.io.Pipe" );
+
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding sequence of data that must be read
+ // by XDataInputStream interface methods
+ tEnv.addObjRelation("StreamData", data) ;
+ // add a writer
+ tEnv.addObjRelation("StreamWriter", xDataOutput);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ // add an inputStream
+ tEnv.addObjRelation("InputStream", oDataInput);
+ tEnv.addObjRelation("ByteData", byteData);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams/uno/DataOutputStream.java b/qadevOOo/tests/java/mod/_streams/uno/DataOutputStream.java
new file mode 100644
index 000000000..fad95930a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams/uno/DataOutputStream.java
@@ -0,0 +1,163 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.DataOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XDataOutputStream</code></li>
+* </ul>
+* @see com.sun.star.io.DataOutputStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XDataOutputStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XDataOutputStream
+*/
+public class DataOutputStream extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.io.DataOutputStream</code>
+ * and an instance of the service <code>com.sun.star.io.Pipe</code>.
+ * Plugs the created pipe as output stream for the created DataOutputStream.
+ * @see com.sun.star.io.DataOutputStream
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ XInterface oPipe = null;
+ XMultiServiceFactory xMSF = null ;
+
+ xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ("com.sun.star.io.DataOutputStream");
+ oPipe = (XInterface)xMSF.createInstance("com.sun.star.io.Pipe");
+
+ oObj = (XInterface) oInterface;
+
+ final XOutputStream xPipeOutput = UnoRuntime.queryInterface(XOutputStream.class, oPipe);
+
+ XActiveDataSource xDataSource = UnoRuntime.queryInterface(XActiveDataSource.class, oObj);
+
+ xDataSource.setOutputStream(xPipeOutput);
+
+ // all data types for writing to an XDataInputStream
+ ArrayList<Object> data = new ArrayList<Object>() ;
+ data.add(Boolean.TRUE) ;
+ data.add(Byte.valueOf((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(Short.valueOf((short)1234)) ;
+ data.add(Integer.valueOf(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", oPipe);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ final XInputStream xPipeInput = UnoRuntime.queryInterface(XInputStream.class, oPipe);
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ xPipeOutput.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.DataInputStream");
+ xInStream = UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(xPipeInput);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams/uno/MarkableInputStream.java b/qadevOOo/tests/java/mod/_streams/uno/MarkableInputStream.java
new file mode 100644
index 000000000..30f0202a1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams/uno/MarkableInputStream.java
@@ -0,0 +1,128 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.MarkableInputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.MarkableInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XInputStream
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+*/
+public class MarkableInputStream extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instances of services <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>.
+ * Plugs the created pipe as output stream for the created
+ * <code>MarkableOutputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>. Writes some data to the
+ * <code>MarkableOutputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}(another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ Object xConnect = null;
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance("com.sun.star.io.MarkableOutputStream");
+ xConnect = xMSF.createInstance("com.sun.star.io.DataInputStream");
+
+ // Creating construction :
+ // MarkableOutputStream -> Pipe -> MarkableInputStream
+ XActiveDataSource xdSmo = UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream PipeOut = UnoRuntime.queryInterface(XOutputStream.class, aPipe);
+ XInputStream PipeIn = UnoRuntime.queryInterface(XInputStream.class, aPipe);
+
+ xdSmo.setOutputStream(PipeOut);
+
+ XActiveDataSink xmSi = UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+
+ xmSi.setInputStream(PipeIn) ;
+
+ XInterface oObj = (XInterface) mistream;
+
+ byte[] byteData = new byte[] {1,2,3,4,5,6};
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // add a writer
+ tEnv.addObjRelation("StreamWriter", mostream);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ // add an inputStream
+ tEnv.addObjRelation("InputStream", mistream);
+ tEnv.addObjRelation("ByteData", byteData);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams/uno/MarkableOutputStream.java b/qadevOOo/tests/java/mod/_streams/uno/MarkableOutputStream.java
new file mode 100644
index 000000000..f08b20f17
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams/uno/MarkableOutputStream.java
@@ -0,0 +1,187 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.MarkableOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* </ul>
+* @see com.sun.star.io.MarkableOutputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XConnectable
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XConnectable
+*/
+public class MarkableOutputStream extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instances of services <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>.
+ * Plugs the created pipe as output stream for the created
+ * <code>MarkableOutputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XOutputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataOutputStream}(the data that should be
+ * written into the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ XInterface aConnect;
+
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ aConnect = (XInterface)xMSF.createInstance
+ ("com.sun.star.io.DataOutputStream");
+
+ // Creating construction :
+ // MarkableOutputStream -> Pipe -> MarkableInputStream
+ XActiveDataSource xdSmo = UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ final XOutputStream PipeOut = UnoRuntime.queryInterface(XOutputStream.class,aPipe);
+ final XInputStream PipeIn = UnoRuntime.queryInterface(XInputStream.class,aPipe);
+
+ xdSmo.setOutputStream(PipeOut);
+
+ XActiveDataSink xmSi = UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+
+ xmSi.setInputStream(PipeIn) ;
+
+ oObj = (XInterface) mostream;
+
+ // all data types for writing to an XDataInputStream
+ ArrayList<Object> data = new ArrayList<Object>() ;
+ data.add(Boolean.TRUE) ;
+ data.add(Byte.valueOf((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(Short.valueOf((short)1234)) ;
+ data.add(Integer.valueOf(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", aPipe);
+ tEnv.addObjRelation("Connectable", aConnect);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ PipeOut.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.MarkableInputStream");
+ xInStream = UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(PipeIn);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams/uno/ObjectInputStream.java b/qadevOOo/tests/java/mod/_streams/uno/ObjectInputStream.java
new file mode 100644
index 000000000..6be959ed9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams/uno/ObjectInputStream.java
@@ -0,0 +1,256 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.XImplementationRegistration;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.ObjectInputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XMarkableStream</code></li>
+* <li> <code>com::sun::star::io::XDataInputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* <li> <code>com::sun::star::io::XObjectInputStream</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> MyPersistObjectImpl.jar </b> : the implementation of the persist
+* object</li>
+* </ul> <p>
+* @see com.sun.star.io.ObjectInputStream
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XMarkableStream
+* @see com.sun.star.io.XDataInputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XActiveDataSink
+* @see com.sun.star.io.XObjectInputStream
+* @see ifc.io._XInputStream
+* @see ifc.io._XMarkableStream
+* @see ifc.io._XDataInputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XActiveDataSink
+* @see ifc.io._XObjectInputStream
+*/
+public class ObjectInputStream extends TestCase {
+
+ /**
+ * Register the implementation of service
+ * <code>com.sun.star.cmp.PersistObject</code> if not yet registered.
+ * @see com.sun.star.cmp.PersistObject
+ */
+ @Override
+ public void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ Object oPersObj = null;
+ // test first if object is already registered
+ try {
+ oPersObj = xMSF.createInstance("com.sun.star.cmp.PersistObject");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Could not create instance of PersistObject");
+ e.printStackTrace(log);
+ log.println("Going on with test...");
+ }
+ if ( oPersObj == null ) {
+ // object is not available: it has to be registered
+ String url = util.utils.getFullTestURL
+ ("qadevlibs/MyPersistObjectImpl.jar");
+ XImplementationRegistration xir;
+ Object o = xMSF.createInstance(
+ "com.sun.star.registry.ImplementationRegistration");
+ xir = UnoRuntime.queryInterface(
+ XImplementationRegistration.class, o);
+
+ XSimpleRegistry xReg = null;
+ System.out.println("Register library: " + url);
+ xir.registerImplementation(
+ "com.sun.star.loader.Java2", url, xReg);
+ System.out.println("...done");
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instances of services
+ * <code>com.sun.star.io.ObjectInputStream</code>,
+ * <code>com.sun.star.io.ObjectOutputStream</code>,
+ * <code>com.sun.star.io.Pipe</code>,
+ * <code>com.sun.star.io.MarkableInputStream</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>. Plugs the created
+ * markable output stream as output stream for the created
+ * <code>ObjectOutputStream</code>. Plugs the created pipe as output stream
+ * for the created <code>MarkableOutputStream</code>. Plugs the created
+ * markable input stream as input stream for the created
+ * <code>ObjectInputStream</code>. Plugs the created pipe as input stream
+ * for the created <code>MarkableInputStream</code>. Creates an instance
+ * of the service <code>com.sun.star.cmp.PersistObject</code> and writes
+ * the created object to the object output stream.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PersistObject'</code> for
+ * {@link ifc.io._XObjectInputStream}(the created instance of the
+ * persist object ) </li>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XInputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'StreamWriter'</code> for
+ * {@link ifc.io._XDataInputStream}
+ * {@link ifc.io._XObjectInputStream}
+ * {@link ifc.io._XInputStream}(a stream to write data to) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSink}(an input stream to set and get) </li>
+ * </ul>
+ * @see com.sun.star.io.ObjectInputStream
+ * @see com.sun.star.io.ObjectOutputStream
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ * @see com.sun.star.cmp.PersistObject
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ System.out.println("create TestEnvironment started.");
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object ostream = null;
+ Object aPipe = null;
+ Object mostream = null;
+ Object mistream = null;
+ Object istream = null;
+ Object xConnect = null;
+ istream = xMSF.createInstance
+ ("com.sun.star.io.ObjectInputStream");
+ ostream = xMSF.createInstance
+ ("com.sun.star.io.ObjectOutputStream");
+ aPipe = xMSF.createInstance
+ ("com.sun.star.io.Pipe");
+ mistream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ xConnect = xMSF.createInstance
+ ("com.sun.star.io.DataInputStream") ;
+ // Creating construction :
+ // ObjectOutputStream -> MarkableOutputStream -> Pipe ->
+ // -> MarkableInputStream -> ObjectInputStream
+ XActiveDataSource xdSo = UnoRuntime.queryInterface(XActiveDataSource.class, ostream);
+
+ XActiveDataSource xdSmo = UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream moStream = UnoRuntime.queryInterface(XOutputStream.class, mostream);
+
+ XOutputStream PipeOut = UnoRuntime.queryInterface(XOutputStream.class, aPipe);
+ XInputStream PipeIn = UnoRuntime.queryInterface(XInputStream.class, aPipe);
+
+ xdSo.setOutputStream(moStream);
+ xdSmo.setOutputStream(PipeOut);
+
+ XObjectInputStream iStream = UnoRuntime.queryInterface(XObjectInputStream.class, istream);
+ XObjectOutputStream oStream = null;
+ oStream = UnoRuntime.queryInterface(XObjectOutputStream.class, ostream);
+
+ XActiveDataSink xmSi = UnoRuntime.queryInterface(XActiveDataSink.class, mistream);
+ XInputStream xmIstream = UnoRuntime.queryInterface(XInputStream.class, mistream);
+
+ XActiveDataSink xdSi = UnoRuntime.queryInterface
+ (XActiveDataSink.class, istream);
+ xdSi.setInputStream(xmIstream);
+ xmSi.setInputStream(PipeIn);
+
+ // creating Persist object which has to be written
+ XPersistObject xPersObj = null;
+ try {
+ Object oPersObj = xMSF.createInstance
+ ("com.sun.star.cmp.PersistObject");
+ xPersObj = UnoRuntime.queryInterface(XPersistObject.class, oPersObj);
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ throw new StatusException("Can't write persist object.", e);
+ }
+
+
+
+ // all data types for writing to an XDataInputStream
+ ArrayList<Object> data = new ArrayList<Object>() ;
+ data.add(Boolean.TRUE) ;
+ data.add(Byte.valueOf((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(Short.valueOf((short)1234)) ;
+ data.add(Integer.valueOf(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+
+ System.out.println("create environment");
+ XInterface oObj = iStream;
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding persistent object
+ tEnv.addObjRelation("PersistObject", xPersObj);
+ // add a connectable
+ tEnv.addObjRelation("Connectable", xConnect);
+ tEnv.addObjRelation("StreamWriter", oStream);
+ // for XActiveDataSink
+ tEnv.addObjRelation("InputStream", aPipe);
+ // adding sequence of data that must be read
+ // by XDataInputStream interface methods
+ tEnv.addObjRelation("StreamData", data) ;
+ // and by XInputStream interface methods
+ tEnv.addObjRelation("ByteData", byteData) ;
+
+ System.out.println("create TestEnvironment finished.");
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams/uno/ObjectOutputStream.java b/qadevOOo/tests/java/mod/_streams/uno/ObjectOutputStream.java
new file mode 100644
index 000000000..98ffcbcb3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams/uno/ObjectOutputStream.java
@@ -0,0 +1,271 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._streams.uno;
+
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.io.XPersistObject;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.registry.XImplementationRegistration;
+import com.sun.star.registry.XSimpleRegistry;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.ObjectOutputStream</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* <li> <code>com::sun::star::io::XConnectable</code></li>
+* <li> <code>com::sun::star::io::XDataOutputStream</code></li>
+* <li> <code>com::sun::star::io::XObjectOutputStream</code></li>
+* </ul>
+* The following files used by this test :
+* <ul>
+* <li><b> MyPersistObjectImpl.jar </b> : the implementation of the persist
+* object</li>
+* </ul> <p>
+* @see com.sun.star.io.ObjectOutputStream
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XOutputStream
+* @see com.sun.star.io.XConnectable
+* @see com.sun.star.io.XDataOutputStream
+* @see com.sun.star.io.XObjectOutputStream
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XOutputStream
+* @see ifc.io._XConnectable
+* @see ifc.io._XDataOutputStream
+* @see ifc.io._XObjectOutputStream
+*/
+public class ObjectOutputStream extends TestCase {
+
+ /**
+ * Register the implementation of service
+ * <code>com.sun.star.cmp.PersistObject</code> if not yet registered.
+ * @see com.sun.star.cmp.PersistObject
+ */
+ @Override
+ public void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ Object oPersObj = null;
+ // test first if object is already registered
+ try {
+ oPersObj = xMSF.createInstance("com.sun.star.cmp.PersistObject");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Could not create instance of PersistObject");
+ e.printStackTrace(log);
+ log.println("Going on with test...");
+ }
+ if ( oPersObj == null ) {
+ // object is not available: it has to be registered
+ String url = util.utils.getFullTestURL
+ ("qadevlibs/MyPersistObjectImpl.jar");
+ XImplementationRegistration xir;
+ Object o = xMSF.createInstance(
+ "com.sun.star.registry.ImplementationRegistration");
+ xir = UnoRuntime.queryInterface(
+ XImplementationRegistration.class, o);
+
+ XSimpleRegistry xReg = null;
+ System.out.println("Register library: " + url);
+ xir.registerImplementation(
+ "com.sun.star.loader.Java2", url, xReg);
+ System.out.println("...done");
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instances of services
+ * <code>com.sun.star.io.ObjectOutputStream</code>,
+ * <code>com.sun.star.io.Pipe</code> and
+ * <code>com.sun.star.io.MarkableOutputStream</code>. Plugs the created
+ * markable output stream as output stream for the created
+ * <code>ObjectOutputStream</code>. Plugs the created pipe as output stream
+ * for the created <code>MarkableOutputStream</code>. Creates an instance
+ * of the service <code>com.sun.star.cmp.PersistObject</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'StreamData'</code> for
+ * {@link ifc.io._XDataOutputStream}(the data that should
+ * be written into the stream) </li>
+ * <li> <code>'ByteData'</code> for
+ * {@link ifc.io._XOutputStream}(the data that should be written into
+ * the stream) </li>
+ * <li> <code>'Connectable'</code> for
+ * {@link ifc.io._XConnectable}
+ * (another object that can be connected) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}
+ * (an input stream to set and get) </li>
+ * <li> <code>'PersistObject'</code> for
+ * {@link ifc.io._XObjectOutputStream}(the created instance of the
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XObjectInputStream}(the created instance of the
+ * persist object ) </li>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.ObjectInputStream
+ * @see com.sun.star.io.ObjectOutputStream
+ * @see com.sun.star.io.Pipe
+ * @see com.sun.star.io.MarkableInputStream
+ * @see com.sun.star.io.MarkableOutputStream
+ * @see com.sun.star.cmp.PersistObject
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ XObjectOutputStream oStream = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object ostream = null, istream = null;
+ Object aPipe = null;
+ Object mostream = null;
+ XInterface aConnect = null;
+ Object minstream = null;
+
+ ostream = xMSF.createInstance
+ ( "com.sun.star.io.ObjectOutputStream" );
+ istream = xMSF.createInstance
+ ("com.sun.star.io.ObjectInputStream");
+ aPipe = xMSF.createInstance("com.sun.star.io.Pipe");
+ mostream = xMSF.createInstance
+ ("com.sun.star.io.MarkableOutputStream");
+ aConnect = (XInterface)xMSF.createInstance
+ ("com.sun.star.io.DataInputStream");
+ minstream = xMSF.createInstance
+ ("com.sun.star.io.MarkableInputStream");
+
+ // creating the pipe where object has to be written to
+ XActiveDataSource xdSo = UnoRuntime.queryInterface(XActiveDataSource.class, ostream);
+
+ XActiveDataSource xdSmo = UnoRuntime.queryInterface(XActiveDataSource.class, mostream);
+
+ XOutputStream moStream = UnoRuntime.queryInterface(XOutputStream.class, mostream);
+
+ XActiveDataSink markIn = UnoRuntime.queryInterface(XActiveDataSink.class, minstream);
+ XActiveDataSink inStream = UnoRuntime.queryInterface(XActiveDataSink.class, istream);
+ XInputStream markInStream = UnoRuntime.queryInterface(XInputStream.class, minstream);
+
+ final XOutputStream PipeOut = UnoRuntime.queryInterface(XOutputStream.class,aPipe);
+ final XInputStream PipeIn = UnoRuntime.queryInterface(XInputStream.class,aPipe);
+
+ markIn.setInputStream(PipeIn);
+ inStream.setInputStream(markInStream);
+ XObjectInputStream objInputStream = UnoRuntime.queryInterface(XObjectInputStream.class, istream);
+ xdSo.setOutputStream(moStream);
+ xdSmo.setOutputStream(PipeOut);
+
+ oStream = UnoRuntime.queryInterface(XObjectOutputStream.class, ostream);
+
+ // creating Persistent object which has to be written
+ XPersistObject xPersObj = null ;
+ Object oPersObj = xMSF.createInstance
+ ("com.sun.star.cmp.PersistObject");
+ xPersObj = UnoRuntime.queryInterface(XPersistObject.class, oPersObj);
+
+ oObj = oStream;
+
+ // all data types for writing to an XDataInputStream
+ ArrayList<Object> data = new ArrayList<Object>() ;
+ data.add(Boolean.TRUE) ;
+ data.add(Byte.valueOf((byte)123)) ;
+ data.add(new Character((char)1234)) ;
+ data.add(Short.valueOf((short)1234)) ;
+ data.add(Integer.valueOf(123456)) ;
+ data.add(new Float(1.234)) ;
+ data.add(new Double(1.23456)) ;
+ data.add("DataInputStream") ;
+ // information for writing to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("PersistObject", xPersObj);
+ tEnv.addObjRelation("StreamData", data);
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("OutputStream", aPipe);
+ tEnv.addObjRelation("Connectable", aConnect);
+
+ tEnv.addObjRelation("InputStream", objInputStream);
+
+ //add relation for io.XOutputStream
+ final XMultiServiceFactory msf = xMSF;
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ XInputStream xInStream = null;
+ public void resetStreams() {
+ if (xInStream != null) {
+ try {
+ xInStream.closeInput();
+ xInStream = null;
+ } catch(com.sun.star.io.IOException e) {
+ }
+ } else {
+ try {
+ PipeOut.closeOutput();
+ } catch(com.sun.star.io.IOException e) {
+ }
+ }
+ }
+
+ public XInputStream getInStream() {
+ resetStreams();
+ try {
+ Object oInStream = msf.createInstance(
+ "com.sun.star.io.ObjectInputStream");
+ xInStream = UnoRuntime.queryInterface
+ (XInputStream.class, oInStream);
+ } catch(com.sun.star.uno.Exception e) {
+ return null;
+ }
+
+ XActiveDataSink xDataSink = UnoRuntime.queryInterface(
+ XActiveDataSink.class, xInStream);
+ xDataSink.setInputStream(PipeIn);
+
+ return xInStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams/uno/Pipe.java b/qadevOOo/tests/java/mod/_streams/uno/Pipe.java
new file mode 100644
index 000000000..96c4891a1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams/uno/Pipe.java
@@ -0,0 +1,98 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._streams.uno;
+
+import com.sun.star.io.XInputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.Pipe</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XInputStream</code></li>
+* <li> <code>com::sun::star::io::XOutputStream</code></li>
+* </ul>
+* @see com.sun.star.io.Pipe
+* @see com.sun.star.io.XInputStream
+* @see com.sun.star.io.XOutputStream
+* @see ifc.io._XInputStream
+* @see ifc.io._XOutputStream
+*/
+public class Pipe extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service <code>com.sun.star.io.Pipe</code>.
+ * Writes some information to the created pipe.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XOutputStream.StreamChecker'</code> for
+ * {@link ifc.io._XOutputStream}( implementation of the interface
+ * ifc.io._XOutputStream.StreamChecker ) </li>
+ * </ul>
+ * @see com.sun.star.io.Pipe
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.io.Pipe" );
+
+ oObj = (XInterface) oInterface;
+
+ // writing some information to the pipe
+ byte[] byteData = new byte[] {
+ 1, 2, 3, 4, 5, 6, 7, 8 } ;
+
+ log.println( "creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //add relation for io.XOutputStream
+ final XInputStream iStream = UnoRuntime.queryInterface(XInputStream.class, oObj);
+
+ tEnv.addObjRelation("ByteData", byteData);
+ tEnv.addObjRelation("StreamWriter", oObj);
+
+ tEnv.addObjRelation("XOutputStream.StreamChecker",
+ new ifc.io._XOutputStream.StreamChecker() {
+ public void resetStreams() {
+ }
+
+ public XInputStream getInStream() {
+ return iStream;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams/uno/Pump.java b/qadevOOo/tests/java/mod/_streams/uno/Pump.java
new file mode 100644
index 000000000..85669fbcc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams/uno/Pump.java
@@ -0,0 +1,172 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._streams.uno;
+
+import com.sun.star.io.NotConnectedException;
+import com.sun.star.io.XActiveDataSink;
+import com.sun.star.io.XActiveDataSource;
+import com.sun.star.io.XInputStream;
+import com.sun.star.io.XOutputStream;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.io.Pump</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::io::XActiveDataSource</code></li>
+* <li> <code>com::sun::star::io::XActiveDataControl</code></li>
+* <li> <code>com::sun::star::io::XActiveDataSink</code></li>
+* </ul>
+* @see com.sun.star.io.Pump
+* @see com.sun.star.io.XActiveDataSource
+* @see com.sun.star.io.XActiveDataControl
+* @see com.sun.star.io.XActiveDataSink
+* @see ifc.io._XActiveDataSource
+* @see ifc.io._XActiveDataControl
+* @see ifc.io._XActiveDataSink
+*/
+public class Pump extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service <code>com.sun.star.io.Pump</code>.
+ * Settings up input and output streams for the created pump.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'InputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}(an input stream to set) </li>
+ * <li> <code>'OutputStream'</code> for
+ * {@link ifc.io._XActiveDataSource}(an output stream to set) </li>
+ * </ul>
+ * @see com.sun.star.io.Pump
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ Object oInterface = null;
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oPipe;
+
+ // creating an instance of stm.Pump
+ oInterface = xMSF.createInstance( "com.sun.star.io.Pump" );
+ oPipe = (XInterface) xMSF.createInstance( "com.sun.star.io.Pipe" );
+
+ XInterface oObj = (XInterface) oInterface;
+
+ // setting up input and output streams for pump
+ XActiveDataSink xSink = UnoRuntime.queryInterface(XActiveDataSink.class, oObj);
+ XActiveDataSource xSource = UnoRuntime.queryInterface(XActiveDataSource.class, oObj);
+
+ XInputStream xInput = new MyInput();
+ XOutputStream xOutput = new MyOutput();
+
+ xSink.setInputStream(xInput);
+ xSource.setOutputStream(xOutput);
+
+ log.println("creating a new environment for object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // add object relations for ActiveDataSource and XActiveDataSink
+ tEnv.addObjRelation("InputStream", oPipe);
+ tEnv.addObjRelation("OutputStream", oPipe);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ /**
+ * XInputStream implementation to use with the test. It returns bytes of
+ * which a simple string consists.
+ */
+ private static class MyInput implements XInputStream {
+ String str = "Pump tesing string" ;
+
+ public int readBytes(byte[][] bytes, int len)
+ throws NotConnectedException{
+
+ if (str == null)
+ throw new NotConnectedException("Input stream was closed");
+
+ int actual = 0 ;
+ if (len <= str.length()) {
+ String resStr = str.substring(0, len-1) ;
+ bytes[0] = resStr.getBytes() ;
+ actual = len ;
+ str = str.substring(len) ;
+ } else {
+ bytes[0] = str.getBytes() ;
+ actual = str.length() ;
+ }
+
+ return actual;
+ }
+
+ public int readSomeBytes(byte[][] bytes, int len)
+ throws NotConnectedException{
+ return readBytes(bytes, len);
+ }
+
+ public void skipBytes(int len) throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ if (len >= str.length())
+ str = "" ;
+ else
+ str = str.substring(len) ;
+ }
+
+ public void closeInput() throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ str = null ;
+ }
+
+ public int available() throws NotConnectedException {
+ if (str == null)
+ throw new NotConnectedException("Stream was closed.") ;
+
+ return str.length();
+ }
+ }
+
+ /**
+ * Dummy XOutputStream implementation to use with the test. Does nothing.
+ */
+ private static class MyOutput implements XOutputStream {
+ public void writeBytes(byte[] bytes) {
+ }
+
+ public void flush() {
+ }
+
+ public void closeOutput() {
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_streams/uno/package.html b/qadevOOo/tests/java/mod/_streams/uno/package.html
new file mode 100644
index 000000000..aa2793cf2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_streams/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'stm'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBox.java b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBox.java
new file mode 100644
index 000000000..2bba0293e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBox.java
@@ -0,0 +1,172 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.view.XSelectionSupplier;
+
+public class AccessibleBrowseBox extends TestCase {
+
+ static XDesktop xDesktop;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code> with an
+ * object to test and related objects. Subclasses should implement this
+ * method to provide the implementation and related objects. The method is
+ * called from <code>getTestEnvironment()</code>.
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose(); // get a soffice factory object
+ }
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(XDispatchProvider.class,
+ secondController);
+
+ XDispatch getting = null;
+
+ log.println("opening DatasourceBrowser");
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XFrame the_frame1 = xDesktop.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XInterface oObj = null;
+
+ final XSelectionSupplier xSelect = UnoRuntime.queryInterface(
+ XSelectionSupplier.class, the_frame2.getController());
+
+ PropertyValue[] params = new PropertyValue[]{new PropertyValue(), new PropertyValue(), new PropertyValue()};
+ params[0].Name = "DataSourceName";
+ params[0].Value = "Bibliography";
+ params[1].Name = "CommandType";
+ params[1].Value = Integer.valueOf(com.sun.star.sdb.CommandType.TABLE);
+ params[2].Name = "Command";
+ params[2].Value = "biblio";
+
+ final PropertyValue[] fParams = params;
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL, "", "AccessibleBrowseBox");
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+
+ public void fireEvent() {
+ try {
+ xSelect.select(fParams);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderBar.java b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderBar.java
new file mode 100644
index 000000000..a19e61076
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderBar.java
@@ -0,0 +1,222 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._svtools;
+
+import com.sun.star.view.XSelectionSupplier;
+
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleBrowseBoxHeaderBar extends TestCase {
+ static XDesktop xDesktop;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser.
+ * Creates an instance of the service <code>com.sun.star.awt.Toolkit</code>
+ * and gets active top window. Then obtains an accessible object with
+ * the role <code>AccessibleRole.TABLE</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XDispatch getting = null;
+
+ log.println("opening DatasourceBrowser");
+
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+
+ // an XSelectionSupplier at the controller -> call with params
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ PropertyValue[] params = new PropertyValue[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = Integer.valueOf(com.sun.star.sdb.CommandType.TABLE);
+ params[1] = param2;
+
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "biblio";
+ params[2] = param3;
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XFrame the_frame1 = xDesktop.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XController xCont = the_frame2.getController();
+
+ XSelectionSupplier xSelect = UnoRuntime.queryInterface(
+ XSelectionSupplier.class, xCont);
+
+ xSelect.select(params);
+
+ XInterface oObj = null;
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XAccessibleComponent accComp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+ final Point point = accComp.getLocationOnScreen();
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(point.X + 5, point.Y + 5);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("couldn't fire event");
+ }
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderCell.java b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderCell.java
new file mode 100644
index 000000000..e050458ec
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxHeaderCell.java
@@ -0,0 +1,207 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svtools;
+
+import com.sun.star.view.XSelectionSupplier;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleBrowseBoxHeaderCell extends TestCase {
+
+ static XDesktop the_Desk;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ the_Desk = UnoRuntime.queryInterface(
+ XDesktop.class, DesktopTools.createDesktop(Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser and loads
+ * the table. Creates an instance of the service
+ * <code>com.sun.star.awt.Toolkit</code> and gets active top window.
+ * Then obtains an accessible object with the role
+ * <code>AccessibleRole.UNKNOWN</code> and with the name
+ * <code>"Identifier"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * method <code>fireEvent()</code> is empty because object is transient
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ if (xTextDoc != null) xTextDoc.dispose();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.
+ queryInterface(XDispatchProvider.class, secondController);
+
+ XDispatch getting = null;
+
+ log.println( "opening DatasourceBrowser" );
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XFrame the_frame1 = the_Desk.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XInterface oObj = null;
+
+ UnoRuntime.queryInterface(
+ XInitialization.class, the_frame2.getController());
+
+ PropertyValue[] params = new PropertyValue[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = Integer.valueOf(com.sun.star.sdb.CommandType.TABLE);
+ params[1] = param2;
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "biblio";
+ params[2] = param3;
+
+ XController xCont = the_frame2.getController();
+
+ XSelectionSupplier xSelect = UnoRuntime.queryInterface(
+ XSelectionSupplier.class, xCont);
+
+ xSelect.select(params);
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.ROW_HEADER);
+
+ log.println("ImplementationName: "+ util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ }
+ });
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTable.java b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTable.java
new file mode 100644
index 000000000..49f42f4c6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTable.java
@@ -0,0 +1,209 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._svtools;
+
+import com.sun.star.view.XSelectionSupplier;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleBrowseBoxTable extends TestCase {
+ static XDesktop the_Desk;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ the_Desk = UnoRuntime.queryInterface(XDesktop.class,
+ DesktopTools.createDesktop(
+ Param.getMSF()));
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.Toolkit</code> and gets active top window.
+ * Then obtains an accessible object with the role
+ * <code>AccessibleRole.TABLE</code> and with the name
+ * <code>"Table"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * method <code>fireEvent()</code> is empty because object is transient
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XDispatch getting = null;
+
+ log.println("opening DatasourceBrowser");
+
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XFrame the_frame1 = the_Desk.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+ XController xCont = the_frame2.getController();
+
+ the_frame2.setName("DatasourceBrowser");
+
+ final PropertyValue[] params = new PropertyValue[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = Integer.valueOf(com.sun.star.sdb.CommandType.TABLE);
+ params[1] = param2;
+
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "biblio";
+ params[2] = param3;
+
+ final XSelectionSupplier xSelect = UnoRuntime.queryInterface(
+ XSelectionSupplier.class, xCont);
+
+
+ XInterface oObj = null;
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE,
+ "Table");
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ xSelect.select(params);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ }
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTableCell.java b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTableCell.java
new file mode 100644
index 000000000..0adc36e3b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleBrowseBoxTableCell.java
@@ -0,0 +1,174 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleBrowseBoxTableCell extends TestCase {
+
+ static XDesktop xDesktop;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser and loads
+ * the table. Creates an instance of the service
+ * <code>com.sun.star.awt.Toolkit</code> and gets active top window.
+ * Then obtains an accessible object with the role
+ * <code>AccessibleRole.TABLE_CELL</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * method <code>fireEvent()</code> is empty because object is transient
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ if (xTextDoc != null) xTextDoc.dispose();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(XDispatchProvider.class,secondController);
+
+ XDispatch getting = null;
+
+ log.println( "opening DatasourceBrowser" );
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url,"_beamer",12);
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url,noArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XFrame the_frame1 = xDesktop.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer",4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XInterface oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE_CELL);
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ }
+ });
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrl.java b/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrl.java
new file mode 100644
index 000000000..05907d287
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrl.java
@@ -0,0 +1,244 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ */
+public class AccessibleIconChoiceCtrl extends TestCase {
+ static XDesktop xDesktop;
+ static XTextDocument xTextDoc;
+ static XAccessibleAction accCloseButton = null;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Closes the Hyperlink dialog.
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("closing HyperlinkDialog");
+
+ try {
+ if (accCloseButton != null) {
+ accCloseButton.doAccessibleAction(0);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the Hyperlink dialog.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.Toolkit</code> and gets active top window.
+ * Then obtains an accessible object with the role
+ * <code>AccessibleRole.TREE</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * method <code>fireEvent()</code> selects accessible children
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ XInterface transf = (XInterface) tParam.getMSF()
+ .createInstance("com.sun.star.util.URLTransformer");
+ urlTransf = UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XInterface oObj = (XInterface) tParam.getMSF()
+ .createInstance("com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TREE);
+
+ XAccessibleContext closeButton = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON,
+ "Close");
+
+ accCloseButton = UnoRuntime.queryInterface(
+ XAccessibleAction.class, closeButton);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ Boolean.FALSE);
+ tEnv.addObjRelation("XAccessibleSelection.OneAlwaysSelected",
+ Boolean.TRUE);
+
+ String[] expectedStateNames = new String[] {
+ "com.sun.star.accessibility.AccessibleStateType.ENABLED",
+ "com.sun.star.accessibility.AccessibleStateType.FOCUSABLE",
+ "com.sun.star.accessibility.AccessibleStateType.SHOWING",
+ "com.sun.star.accessibility.AccessibleStateType.VISIBLE",
+ "com.sun.star.accessibility.AccessibleStateType.MANAGES_DESCENDANTS",
+ };
+
+ short[] expectedStates = new short[] {
+ com.sun.star.accessibility.AccessibleStateType.ENABLED,
+ com.sun.star.accessibility.AccessibleStateType.FOCUSABLE,
+ com.sun.star.accessibility.AccessibleStateType.SHOWING,
+ com.sun.star.accessibility.AccessibleStateType.VISIBLE,
+ com.sun.star.accessibility.AccessibleStateType.MANAGES_DESCENDANTS,
+ };
+
+ tEnv.addObjRelation("expectedStateNames", expectedStateNames);
+ tEnv.addObjRelation("expectedStates", expectedStates);
+
+ final XAccessibleSelection selection = UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ selection.selectAccessibleChild(1);
+ selection.selectAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ });
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrlEntry.java b/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrlEntry.java
new file mode 100644
index 000000000..847ae380b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleIconChoiceCtrlEntry.java
@@ -0,0 +1,217 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleIconChoiceCtrlEntry extends TestCase {
+
+ static XDesktop xDesktop;
+ static XTextDocument xTextDoc;
+ static XAccessibleAction accCloseButton = null;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Closes the Hyperlink dialog.
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("closing HyperlinkDialog");
+
+ try {
+ if (accCloseButton != null) {
+ accCloseButton.doAccessibleAction(0);
+ }
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the Hyperlink dialog.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.Toolkit</code> and gets active top window.
+ * Then obtains an accessible object with the role
+ * <code>AccessibleRole.LABEL</code> and with the name
+ * <code>"Internet"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * method <code>fireEvent()</code> is empty because object is transient
+ * </li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}:
+ * the string representation of the item text
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ if (xTextDoc != null) xTextDoc.dispose();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.
+ queryInterface(XDispatchProvider.class, secondController);
+
+ XInterface transf = (XInterface)tParam.getMSF().createInstance
+ ("com.sun.star.util.URLTransformer");
+ XURLTransformer urlTransf = UnoRuntime.queryInterface
+ (XURLTransformer.class, transf);
+
+ XDispatch getting = null;
+ log.println( "opening HyperlinkDialog" );
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XInterface oObj = (XInterface) tParam.getMSF().createInstance
+ ("com.sun.star.awt.Toolkit") ;
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class, oObj);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class, tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.LABEL, "Internet");
+
+ XAccessibleContext closeButton = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON, "Close");
+
+ accCloseButton = UnoRuntime.queryInterface(XAccessibleAction.class, closeButton);
+
+ log.println("ImplementationName: "+ util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleText.Text", "Internet");
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this dialog");
+
+ tEnv.addObjRelation("LimitedBounds",
+ "only delivers senseful values for getCharacterBounds(0,length-1)");
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleTabBar.java b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBar.java
new file mode 100644
index 000000000..8e694058b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBar.java
@@ -0,0 +1,132 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+public class AccessibleTabBar extends TestCase {
+ static XComponent xDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xCalcDoc");
+
+ if (xDoc != null) {
+ closeDoc(xDoc);
+ }
+ }
+
+ /**
+ * Creates a spreadsheet document. Then obtains an accessible object with
+ * the role <code>AccessibleRole.PAGETAB</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xDoc != null) {
+ closeDoc(xDoc);
+ }
+
+ XMultiServiceFactory msf = tParam.getMSF();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+
+ log.println("creating a calc document");
+ xDoc = UnoRuntime.queryInterface(XComponent.class,
+ SOF.createCalcDoc(
+ null));
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XInterface oObj = null;
+
+ XWindow xWindow = UnoRuntime.queryInterface(XModel.class, xDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XWindow aWin = xWindow;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ aWin.setPosSize(100,100, 500, 500, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ }
+
+ protected void closeDoc(XComponent xDoc) {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xDoc);
+
+ try {
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ } catch (NullPointerException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPage.java b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPage.java
new file mode 100644
index 000000000..e8b4c56e7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPage.java
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svtools;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.Point;
+
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>::com::sun::star::accessibility::XAccessibleComponent
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleTabBarPage extends TestCase {
+
+ static XComponent xDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xCalcDoc");
+ if (xDoc != null) {
+ util.DesktopTools.closeDoc(xDoc);
+ }
+ }
+
+ /**
+ * Creates a spreadsheet document. Then obtains an accessible object with
+ * the role <code>AccessibleRole.PAGETAB</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ if (xDoc != null) xDoc.dispose();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a calc document" );
+ xDoc = UnoRuntime.queryInterface(XComponent.class, SOF.createCalcDoc(null));// SOF.createDrawDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XInterface oObj = (XInterface) tParam.getMSF().createInstance
+ ("com.sun.star.awt.Toolkit") ;
+
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class, oObj);
+
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PAGE_TAB, "Sheet1");
+ XAccessibleContext acc = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PAGE_TAB, "Sheet2");
+ XAccessibleComponent accComp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ acc);
+ final Point point = accComp.getLocationOnScreen();
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ tEnv.addObjRelation("Destroy","yes");
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ Robot rob = new Robot();
+ rob.mouseMove(point.X + 25, point.Y + 5);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ System.out.println("couldn't fire event");
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPageList.java b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPageList.java
new file mode 100644
index 000000000..64ca390ff
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleTabBarPageList.java
@@ -0,0 +1,172 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._svtools;
+
+import com.sun.star.drawing.XLayerManager;
+import com.sun.star.drawing.XLayerSupplier;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>::com::sun::star::accessibility::XAccessibleComponent
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleTabBarPageList extends TestCase {
+ static XComponent xDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xDoc");
+
+ if (xDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a spreadsheet document. Then obtains an accessible object with
+ * the role <code>AccessibleRole.PAGETABLIST</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println("creating a draw document");
+ xDoc = SOF.createDrawDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XInterface oObj = (XInterface) tParam.getMSF()
+ .createInstance("com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PAGE_TAB_LIST);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ Boolean.FALSE);
+
+ tEnv.addObjRelation("XAccessibleSelection.OneAlwaysSelected",
+ Boolean.TRUE);
+
+ XLayerSupplier oLS = UnoRuntime.queryInterface(XLayerSupplier.class, xDoc);
+ XInterface oLM = oLS.getLayerManager();
+ final XLayerManager xLM = UnoRuntime.queryInterface(XLayerManager.class, oLM);
+
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ xLM.insertNewByIndex(0);
+ }
+ });
+
+ return tEnv;
+ }
+
+ protected void closeDoc() {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xDoc);
+
+ try {
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBox.java b/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBox.java
new file mode 100644
index 000000000..42371dd4e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBox.java
@@ -0,0 +1,211 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svtools;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>::com::sun::star::accessibility::XAccessibleComponent
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ */
+public class AccessibleTreeListBox extends TestCase {
+
+ static XDesktop xDesktop;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ xTextDoc.dispose();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser.
+ * Creates an instance of the service <code>com.sun.star.awt.Toolkit</code>
+ * and gets active top window. Then obtains an accessible object with
+ * the role <code>AccessibleRole.TREE</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * <li> <code>'XAccessibleSelection.multiSelection'</code>
+ * of type <code>Boolean</code> for
+ * {@link ifc.accessibility._XAccessibleSelection}:
+ * indicates that component supports single selection mode.</li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ log.println( "creating a test environment" );
+
+ if (xTextDoc != null) xTextDoc.dispose();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.
+ queryInterface(XDispatchProvider.class, secondController);
+
+ XDispatch getting = null;
+
+ log.println( "opening DatasourceBrowser" );
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XFrame the_frame1 = xDesktop.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XInterface oObj = null;
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TREE);
+
+ log.println("ImplementationName: "+ util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XInitialization xInit = UnoRuntime.queryInterface(
+ XInitialization.class, the_frame2.getController());
+
+ Object[] params = new Object[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = Integer.valueOf(com.sun.star.sdb.CommandType.TABLE);
+ params[1] = param2;
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "biblio";
+ params[2] = param3;
+
+ final Object[] fParams = params;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ xInit.initialize(fParams);
+ } catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ Boolean.FALSE);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBoxEntry.java b/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBoxEntry.java
new file mode 100644
index 000000000..73f776448
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svtools/AccessibleTreeListBoxEntry.java
@@ -0,0 +1,262 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._svtools;
+
+import com.sun.star.view.XSelectionSupplier;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDesktop;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XInitialization;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XCloseable;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>::com::sun::star::accessibility::XAccessibleComponent
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleContext
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleAction
+ * </code></li>
+ * <li><code>::com::sun::star::accessibility::XAccessibleText
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleTreeListBoxEntry extends TestCase {
+ static XDesktop xDesktop;
+ static XTextDocument xTextDoc;
+
+ /**
+ * Creates the Desktop service (<code>com.sun.star.frame.Desktop</code>).
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ xDesktop = DesktopTools.createDesktop(Param.getMSF());
+ }
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document. Opens the DataSource browser.
+ * Creates an instance of the service <code>com.sun.star.awt.Toolkit</code>
+ * and gets active top window. Then obtains an accessible object with
+ * the role <code>AccessibleRole.LABEL</code> and with the name
+ * <code>"Bibliography"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * </li>
+ * <li> <code>'XAccessibleSelection.multiSelection'</code>
+ * of type <code>Boolean</code> for
+ * {@link ifc.accessibility._XAccessibleSelection}:
+ * indicates that component supports single selection mode.</li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}:
+ * the text of the component</li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XDispatch getting = null;
+
+ log.println("opening DatasourceBrowser");
+
+ URL the_url = new URL();
+ the_url.Complete = ".component:DB/DataSourceBrowser";
+ getting = aProv.queryDispatch(the_url, "_beamer", 12);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(the_url, noArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XFrame the_frame1 = xDesktop.getCurrentFrame();
+
+ if (the_frame1 == null) {
+ log.println("Current frame was not found !!!");
+ }
+
+ XFrame the_frame2 = the_frame1.findFrame("_beamer", 4);
+
+ the_frame2.setName("DatasourceBrowser");
+
+ XInterface oObj = null;
+
+ UnoRuntime.queryInterface(
+ XInitialization.class,
+ the_frame2.getController());
+
+ PropertyValue[] params = new PropertyValue[3];
+ PropertyValue param1 = new PropertyValue();
+ param1.Name = "DataSourceName";
+ param1.Value = "Bibliography";
+ params[0] = param1;
+
+ PropertyValue param2 = new PropertyValue();
+ param2.Name = "CommandType";
+ param2.Value = Integer.valueOf(com.sun.star.sdb.CommandType.QUERY);
+ params[1] = param2;
+
+ PropertyValue param3 = new PropertyValue();
+ param3.Name = "Command";
+ param3.Value = "select * from biblio";
+ params[2] = param3;
+
+ XController xCont = the_frame2.getController();
+
+ XSelectionSupplier xSelect = UnoRuntime.queryInterface(
+ XSelectionSupplier.class, xCont);
+
+ xSelect.select(params);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XWindow xWindow = secondController.getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.LABEL,
+ "Bibliography");
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ //adding ObjectRelation for XAccessibleText
+ tEnv.addObjRelation("LimitedBounds", "true");
+
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ Boolean.FALSE);
+
+ tEnv.addObjRelation("XAccessibleText.Text", "Bibliography");
+
+ return tEnv;
+ }
+
+ protected void closeDoc() {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+
+ try {
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Couldn't close document " + e.getMessage());
+ }
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_svx/AccessibleControlShape.java b/qadevOOo/tests/java/mod/_svx/AccessibleControlShape.java
new file mode 100644
index 000000000..8f55793f0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessibleControlShape.java
@@ -0,0 +1,108 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleControlShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log)
+ throws com.sun.star.uno.Exception
+ {
+
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+
+ final XShape oShape = FormTools.insertControlShape
+ (xDrawDoc,3000,4500,15000,1000,"CommandButton");
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+ XWindow xWindow = AccessibilityTools.getCurrentWindow (aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.SHAPE);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "Button");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = oShape.getSize();
+ size.Width += 100;
+ oShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ System.out.println("caught exception: " + e);
+ }
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessibleEditableTextPara.java b/qadevOOo/tests/java/mod/_svx/AccessibleEditableTextPara.java
new file mode 100644
index 000000000..f54b1dd49
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessibleEditableTextPara.java
@@ -0,0 +1,134 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleEditableText;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+public class AccessibleEditableTextPara extends TestCase {
+
+ static XComponent xSpreadsheetDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Obtains accessible object for the spreadsheet document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xSpreadsheetDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ XAccessibleContext InputLine = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TEXT_FRAME,"Input line");
+ try {
+ oObj = InputLine.getAccessibleChild(0);
+ XAccessibleEditableText et = UnoRuntime.queryInterface(XAccessibleEditableText.class, oObj);
+ et.setText("AccessibleEditablePara");
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+
+ }
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleEditableText edText = UnoRuntime.queryInterface(XAccessibleEditableText.class,oObj) ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ int l = "AccessibleEditablePara".length();
+ edText.deleteText(0, l);
+ edText.setText("Event");
+ edText.setText("AccessibleEditablePara");
+ } catch(com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("caught exception: " + e);
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xSheetDoc " );
+ util.DesktopTools.closeDoc(xSpreadsheetDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("creating a spreadsheetdocument");
+ xSpreadsheetDoc = UnoRuntime.queryInterface(XComponent.class,SOF.createCalcDoc(null));
+ util.utils.waitForEventIdle(Param.getMSF());
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svx/AccessibleGraphicShape.java b/qadevOOo/tests/java/mod/_svx/AccessibleGraphicShape.java
new file mode 100644
index 000000000..73031398a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessibleGraphicShape.java
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleGraphicShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ final XShape oShape = SOF.createShape(xDrawDoc,
+ 5000,5000,1500,1000,"GraphicObject");
+
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow (aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "GraphicObject");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = oShape.getSize();
+ size.Width += 100;
+ oShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ System.out.println("caught exception: " + e);
+ }
+ }
+ });
+
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessibleOLEShape.java b/qadevOOo/tests/java/mod/_svx/AccessibleOLEShape.java
new file mode 100644
index 000000000..8529515a2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessibleOLEShape.java
@@ -0,0 +1,118 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleOLEShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ final XShape oShape = SOF.createShape
+ (xDrawDoc,5000,5000,1500,1000,"OLE2");
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XPropertySet shape_props = UnoRuntime.queryInterface(XPropertySet.class,oShape);
+
+ log.println("Inserting a Chart");
+
+ shape_props.
+ setPropertyValue("CLSID","12DCAE26-281F-416F-a234-c3086127382e");
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow (aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "OLEShape");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = oShape.getSize();
+ size.Width += 100;
+ oShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ System.out.println("caught exception: " + e);
+ }
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessiblePageShape.java b/qadevOOo/tests/java/mod/_svx/AccessiblePageShape.java
new file mode 100644
index 000000000..4e05ebb19
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessiblePageShape.java
@@ -0,0 +1,114 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessiblePageShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ //XShape oShape = null;
+ XDrawPage oPage = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow (aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "PageShape");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ oPage = DrawTools.getDrawPage(xDrawDoc,0);
+ final XPropertySet PageProps = UnoRuntime.queryInterface(XPropertySet.class, oPage);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ PageProps.setPropertyValue("Height",Integer.valueOf(5000));
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ System.out.println("Don't no the Property Height");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ System.out.println(
+ "PropertyVetoException Exception while changing Height");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ System.out.println(
+ "IllegalArgumentException Exception while changing Height");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ System.out.println(
+ "WrappedTargetException Exception while changing Height");
+ }
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessiblePresentationGraphicShape.java b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationGraphicShape.java
new file mode 100644
index 000000000..37a3b8a35
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationGraphicShape.java
@@ -0,0 +1,122 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessiblePresentationGraphicShape extends TestCase {
+
+ static XComponent xDoc;
+ static XModel aModel;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a drawdoc" );
+ xDoc = SOF.createImpressDoc(null);
+ aModel = UnoRuntime.queryInterface(XModel.class, xDoc);
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory docMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xDoc);
+ oShape = UnoRuntime.queryInterface(XShape.class,
+ docMSF.createInstance
+ ("com.sun.star.presentation.GraphicObjectShape"));
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDoc,0)).add(oShape);
+
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ oShapeProps.setPropertyValue(
+ "GraphicURL",util.utils.getFullTestURL("space-metal.jpg"));
+ oShapeProps.setPropertyValue("IsEmptyPresentationObject", Boolean.FALSE);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ }
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow (aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "GraphicObject");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ final XShape fShape = oShape ;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = fShape.getSize();
+ size.Width += 100;
+ fShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ System.out.println("caught exception: " + e);
+ }
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessiblePresentationOLEShape.java b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationOLEShape.java
new file mode 100644
index 000000000..9329506da
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationOLEShape.java
@@ -0,0 +1,131 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessiblePresentationOLEShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createImpressDoc(null);
+ aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory docMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xDrawDoc);
+ oShape = UnoRuntime.queryInterface(XShape.class,
+ docMSF.createInstance("com.sun.star.presentation.OLE2Shape"));
+
+
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ oShapeProps.setPropertyValue("IsEmptyPresentationObject", Boolean.FALSE);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ }
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ try {
+ oShapeProps.setPropertyValue(
+ "CLSID","12DCAE26-281F-416F-a234-c3086127382e");
+ oShapeProps.setPropertyValue("IsEmptyPresentationObject", Boolean.FALSE);
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ }
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow (aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "ImpressOLE");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ final XShape fShape = oShape ;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = fShape.getSize();
+ size.Width += 100;
+ fShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ System.out.println("caught exception: " + e);
+ }
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessiblePresentationShape.java b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationShape.java
new file mode 100644
index 000000000..8828d8acf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessiblePresentationShape.java
@@ -0,0 +1,122 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessiblePresentationShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createImpressDoc(null);
+ aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory docMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xDrawDoc);
+ oShape = UnoRuntime.queryInterface(XShape.class,
+ docMSF.createInstance
+ ("com.sun.star.presentation.HandoutShape"));
+
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XPropertySet shapeProps = UnoRuntime.queryInterface(XPropertySet.class, oShape);
+
+ try {
+ shapeProps.setPropertyValue(
+ "IsEmptyPresentationObject", Boolean.FALSE);
+ } catch (Exception e) {}
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow (aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "ImpressHandout");
+
+ log.println("Implementation Name: "+utils.getImplName(oObj));
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ final XShape fShape = oShape ;
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = fShape.getSize();
+ size.Width += 100;
+ fShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ System.out.println("caught exception: " + e);
+ }
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/AccessibleShape.java b/qadevOOo/tests/java/mod/_svx/AccessibleShape.java
new file mode 100644
index 000000000..2e160bb78
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/AccessibleShape.java
@@ -0,0 +1,110 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.Size;
+import com.sun.star.awt.XWindow;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class AccessibleShape extends TestCase {
+
+ static XComponent xDrawDoc;
+ static XModel aModel;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ final XShape oShape = SOF.createShape(xDrawDoc,
+ 3000,4500,15000,1000,"Rectangle");
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow (aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.UNKNOWN, "Rectangle");
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ Size size = oShape.getSize();
+ size.Width += 100;
+ oShape.setSize(size);
+ } catch(com.sun.star.beans.PropertyVetoException e) {
+ System.out.println("caught exception: " + e);
+ }
+ }
+ });
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/GraphicExporter.java b/qadevOOo/tests/java/mod/_svx/GraphicExporter.java
new file mode 100644
index 000000000..b47073de9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/GraphicExporter.java
@@ -0,0 +1,209 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._svx;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.GraphicExportFilter</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::document::XFilter</code></li>
+ * <li> <code>com::sun::star::document::XMimeTypeInfo</code></li>
+ * <li> <code>com::sun::star::document::XExporter</code></li>
+ * </ul> <p>
+ *
+ * The following files used by this test :
+ * <ul>
+ * <li><b> space-metal.jpg </b> : the file used for GraphicObject
+ * creation. This image must be then exported. </li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XMimeTypeInfo
+ * @see com.sun.star.document.XExporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XMimeTypeInfo
+ * @see ifc.document._XExporter
+ */
+public class GraphicExporter extends TestCase {
+ static XComponent xDrawDoc;
+
+ /**
+ * Creates a new draw document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a drawdoc");
+ xDrawDoc = DrawTools.createDrawDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes the draw document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.drawing.GraphicExportFilter</code> as
+ * a tested component. Then a <code>GraphicObjectShape</code>
+ * instance is added into the document and its image is obtained
+ * from JPEG file. This shape content is intended to be exported.
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} :
+ * descriptor which contains target file name in
+ * the temporary directory, file type (JPEG)
+ * </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} :
+ * checks if the target file exists.
+ * In the case if SOffice is started in 'Hide' mode
+ * ('soapi.test.hidewindows' test parameter is 'true')
+ * the checker always returns <code>true</code>.
+ * </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} :
+ * the <code>GraphicObjectShape</code> component
+ * with loaded image.
+ * </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XShape oShape = null;
+ Object go = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ try {
+ go = tParam.getMSF().createInstance(
+ "com.sun.star.drawing.GraphicExportFilter");
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ // create testobject here
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc, 5000, 5000, 1500, 1000,
+ "GraphicObject");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc, 0)).add(oShape);
+
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(
+ XPropertySet.class, oShape);
+ XComponent xComp = null;
+
+ oShapeProps.setPropertyValue("GraphicURL",
+ util.utils.getFullTestURL(
+ "space-metal.jpg"));
+ xComp = UnoRuntime.queryInterface(XComponent.class,
+ oShape);
+
+ XExporter xEx = UnoRuntime.queryInterface(
+ XExporter.class, go);
+ xEx.setSourceDocument(xComp);
+
+ final URL aURL = new URL();
+ aURL.Complete = util.utils.getOfficeTemp(
+ tParam.getMSF()) +
+ "picture.jpg";
+
+ final XSimpleFileAccess fAcc;
+
+ Object oFAcc = tParam.getMSF().createInstance(
+ "com.sun.star.ucb.SimpleFileAccess");
+ fAcc = UnoRuntime.queryInterface(
+ XSimpleFileAccess.class, oFAcc);
+
+ if (fAcc.exists(aURL.Complete)) {
+ fAcc.kill(aURL.Complete);
+ }
+
+ oObj = (XInterface) go;
+ log.println("ImplName " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("MediaDescriptor",
+ XMLTools.createMediaDescriptor(
+ new String[] {
+ "FilterName", "URL", "MediaType"
+ }, new Object[] { "JPG", aURL, "image/jpeg" }));
+ tEnv.addObjRelation("SourceDocument", xComp);
+
+ log.println("adding ObjRelation for XFilter");
+ log.println("This Component doesn't really support the cancel method");
+ log.println("See #101725");
+ tEnv.addObjRelation("NoFilter.cancel()", Boolean.TRUE);
+
+ final String hideMode = (String) tParam.get("soapi.test.hidewindows");
+ tEnv.addObjRelation("XFilter.Checker",
+ new ifc.document._XFilter.FilterChecker() {
+ public boolean checkFilter() {
+ try {
+ if ((hideMode != null) && hideMode.equals("true")) {
+ return true;
+ }
+
+ return fAcc.exists(aURL.Complete);
+ } catch (com.sun.star.uno.Exception e) {
+ return false;
+ }
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class GraphicExporter
diff --git a/qadevOOo/tests/java/mod/_svx/SvxDrawPage.java b/qadevOOo/tests/java/mod/_svx/SvxDrawPage.java
new file mode 100644
index 000000000..a0d07d0c9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxDrawPage.java
@@ -0,0 +1,190 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._svx;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.sheet.XSpreadsheetDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.FormTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.DrawPage</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::drawing::GenericDrawPage</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeBinder</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeGrouper</code></li>
+ * <li> <code>com::sun::star::drawing::XShapes</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::drawing::XMasterPageTarget</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeCombiner</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.drawing.GenericDrawPage
+ * @see com.sun.star.drawing.XShapeBinder
+ * @see com.sun.star.drawing.XShapeGrouper
+ * @see com.sun.star.drawing.XShapes
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.drawing.XMasterPageTarget
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.drawing.XShapeCombiner
+ * @see ifc.drawing._GenericDrawPage
+ * @see ifc.drawing._XShapeBinder
+ * @see ifc.drawing._XShapeGrouper
+ * @see ifc.drawing._XShapes
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.drawing._XMasterPageTarget
+ * @see ifc.container._XNamed
+ * @see ifc.drawing._XShapeCombiner
+ */
+public class SvxDrawPage extends TestCase {
+ static XSpreadsheetDocument xDoc = null;
+
+ /**
+ * Creates a new Draw document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a sheetdocument");
+ xDoc = SOF.createCalcDoc(null);
+ }
+
+ /**
+ * Disposes the Draw document created before
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xSheetDoc ");
+ util.DesktopTools.closeDoc(xDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * From the Draw document created a collection of its draw
+ * pages is obtained. Two new pages are inserted. And one
+ * page is obtained as a testing component. A shape is added
+ * to this page. <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeGrouper} :
+ * the draw page tested. </li>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes} :
+ * the creator which can create instances of
+ * <code>com.sun.star.drawing.Line</code> service </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XShape oShape = null;
+ XDrawPages oDP = null;
+
+ XComponent xComp = UnoRuntime.queryInterface(
+ XComponent.class, xDoc);
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ log.println("getting Drawpages");
+
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(
+ XDrawPagesSupplier.class, xDoc);
+ oDP = oDPS.getDrawPages();
+ oDP.insertNewByIndex(1);
+ oDP.insertNewByIndex(2);
+ oObj = (XDrawPage) AnyConverter.toObject(new Type(XDrawPage.class),
+ oDP.getByIndex(0));
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ oShape = SOF.createShape(xComp, 5000, 3500, 7500, 5000,
+ "Rectangle");
+ DrawTools.getShapes((XDrawPage) oObj).add(oShape);
+
+ XShape oShape1 = SOF.createShape(xComp, 5000, 5500, 5000, 5000,
+ "Rectangle");
+ DrawTools.getShapes((XDrawPage) oObj).add(oShape1);
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //adding a controlButton to have a Form
+ FormTools.insertControlShape(
+ UnoRuntime.queryInterface(XComponent.class, xDoc),
+ 3000, 4500, 15000, 1000, "CommandButton");
+
+ // relation for XShapes interface
+ ShapeDsc sDsc = new ShapeDsc(5000, 3500, 7500, 10000, "Line");
+ tEnv.addObjRelation("Shape", new InstCreator(xDoc, sDsc));
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+
+ // adding relation for XShapeGrouper
+ tEnv.addObjRelation("DrawPage", oObj);
+
+ // adding relation for XMasterPageTarget
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SvxDrawPage
diff --git a/qadevOOo/tests/java/mod/_svx/SvxGraphCtrlAccessibleContext.java b/qadevOOo/tests/java/mod/_svx/SvxGraphCtrlAccessibleContext.java
new file mode 100644
index 000000000..e2b3581d4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxGraphCtrlAccessibleContext.java
@@ -0,0 +1,210 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.DrawTools;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+import com.sun.star.view.XSelectionSupplier;
+
+public class SvxGraphCtrlAccessibleContext extends TestCase{
+
+ static XComponent xDrawDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switches the document to Print Preview mode.
+ * Obtains accessible object for the page view.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ final XShape oShape = SOF.createShape(xDrawDoc,
+ 5000,5000,1500,1000,"GraphicObject");
+
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XPropertySet shapeProps = UnoRuntime.queryInterface(XPropertySet.class, oShape);
+
+ String url = util.utils.getFullTestURL("space-metal.jpg");
+
+ log.println("Inserting Graphic: "+url);
+
+ try {
+ shapeProps.setPropertyValue("GraphicURL", url);
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
+ log.println("Property GraphicURL is unknown");
+ } catch (com.sun.star.beans.PropertyVetoException pve) {
+ log.println("Property GraphicURL is read only");
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ log.println("Property GraphicURL tried to set to illegal argument");
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
+ log.println("Wrapped Target Exception was thrown while setting Property GraphicURL");
+ }
+
+
+ //Opening ImageMapDialog
+ try {
+ String aSlotID = "slot:10371";
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface( XDispatchProvider.class, xController );
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ utils.shortWait();
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ }
+
+
+ oObj = (XInterface) Param.getMSF().createInstance
+ ("com.sun.star.awt.Toolkit") ;
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class,oObj);
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ //selecting the inserted shape
+ final XSelectionSupplier SelSupp = UnoRuntime.queryInterface(XSelectionSupplier.class,xController);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ SelSupp.select(oShape);
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
+ System.out.println("Couldn't select shape");
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ //Closing ImageMapDialog
+ try {
+ String aSlotID = "slot:10371";
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface( XDispatchProvider.class, xController );
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch( aURL,"",0);
+ if( xDispatcher != null )
+ xDispatcher.dispatch( aURL, null );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't change mode");
+ }
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_svx/SvxGraphicObject.java b/qadevOOo/tests/java/mod/_svx/SvxGraphicObject.java
new file mode 100644
index 000000000..d544d0294
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxGraphicObject.java
@@ -0,0 +1,253 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.awt.XBitmap;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.GraphicObject</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::drawing::ShadowProperties</code></li>
+ * <li> <code>com::sun::star::drawing::RotationDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::drawing::GraphicObjectShape</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::drawing::XGluePointsSupplier</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::drawing::TextProperties</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.drawing.ShadowProperties
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.drawing.GraphicObjectShape
+ * @see com.sun.star.drawing.Shape
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.drawing.XGluePointsSupplier
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.drawing.TextProperties
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.lang.XComponent
+ * @see ifc.drawing._ShadowProperties
+ * @see ifc.drawing._RotationDescriptor
+ * @see ifc.text._XSimpleText
+ * @see ifc.drawing._XShape
+ * @see ifc.drawing._GraphicObjectShape
+ * @see ifc.drawing._Shape
+ * @see ifc.text._XTextRange
+ * @see ifc.drawing._XGluePointsSupplier
+ * @see ifc.beans._XPropertySet
+ * @see ifc.drawing._TextProperties
+ * @see ifc.style._CharacterProperties
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.text._XText
+ * @see ifc.lang._XComponent
+ */
+public class SvxGraphicObject extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * Creates a new Draw document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * Disposes the Draw document created before
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.drawing.GraphicObject</code> as a tested
+ * component and inserts it to one of draw pages of the document.
+ * <p>
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Style1', 'Style2'</code> for
+ * {@link ifc.drawing._Shape} :
+ * two values of 'Style' property. The first is taken
+ * from the shape tested, the second from another
+ * shape added to the draw page. </li>
+ * <li> <code>'Bitmap1', 'Bitmap2'</code> for
+ * {@link ifc.drawing._GraphicObjectShape} :</li>
+ * two bitmap objects which are created by setting
+ * 'GraphicURL' property of component tested and
+ * getting its 'GraphicObjectFillBitmap' property.
+ * <li> <code>'IMAP'</code> for
+ * {@link ifc.drawing._GraphicObjectShape} :
+ * <code>com.sun.star.image.ImageMapRectangleObject</code>
+ * service instance. </li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} :
+ * creator which can create instances of
+ * <code>com.sun.star.text.TextField.URL</code>
+ * service. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+ Object imap=null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc,5000,5000,1500,1000,"GraphicObject");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+ oObj = oShape;
+
+ TestEnvironment tEnv = new TestEnvironment( oShape );
+
+ // adding two styles as ObjRelation for Shape
+ oShape = SOF.createShape(xDrawDoc,3000,4500,15000,1000,"Ellipse");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+ tEnv.addObjRelation("Style1",aStyle);
+
+ oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+ tEnv.addObjRelation("Style2",aStyle);
+
+
+ // adding graphic as ObjRelation for GraphicObjectShape
+ oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XBitmap aBitmap = null;
+ try {
+ oShapeProps.setPropertyValue(
+ "GraphicURL",util.utils.getFullTestURL("space-metal.jpg"));
+ aBitmap = (XBitmap) AnyConverter.toObject(
+ new Type(XBitmap.class),oShapeProps.getPropertyValue
+ ("GraphicObjectFillBitmap"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ }
+
+
+ tEnv.addObjRelation("Bitmap1",aBitmap);
+
+ try {
+ oShapeProps.setPropertyValue(
+ "GraphicURL",util.utils.getFullTestURL("crazy-blue.jpg"));
+ aBitmap = (XBitmap) AnyConverter.toObject(
+ new Type(XBitmap.class),oShapeProps.getPropertyValue
+ ("GraphicObjectFillBitmap"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ } catch (com.sun.star.beans.PropertyVetoException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ }
+
+ tEnv.addObjRelation("Bitmap2",aBitmap);
+
+ try {
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class,xDrawDoc);
+ imap = oDocMSF.createInstance
+ ( "com.sun.star.image.ImageMapRectangleObject" );
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+
+ tEnv.addObjRelation("IMAP",imap);
+ tEnv.addObjRelation("ImapObject",imap);
+
+ // adding relation for XText interface
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ tEnv.addObjRelation("NoShear",Boolean.TRUE);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SvxGraphicObject
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShape.java b/qadevOOo/tests/java/mod/_svx/SvxShape.java
new file mode 100644
index 000000000..74a4e209b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShape.java
@@ -0,0 +1,212 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.Shape</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::drawing::LineProperties</code></li>
+ * <li> <code>com::sun::star::drawing::FillProperties</code></li>
+ * <li> <code>com::sun::star::drawing::TextShape</code></li>
+ * <li> <code>com::sun::star::drawing::ShadowProperties</code></li>
+ * <li> <code>com::sun::star::drawing::XGluePointsSupplier</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::drawing::RotationDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::drawing::TextProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * </ul> <p>
+ *
+ * The following files used by this test :
+ * <ul>
+ * <li><b> SvxShape.sxd </b> : this document is loaded for
+ * adding a shape tested to it. </li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.drawing.LineProperties
+ * @see com.sun.star.drawing.FillProperties
+ * @see com.sun.star.drawing.TextShape
+ * @see com.sun.star.drawing.ShadowProperties
+ * @see com.sun.star.drawing.XGluePointsSupplier
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.drawing.TextProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.drawing.Shape
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.drawing._LineProperties
+ * @see ifc.drawing._FillProperties
+ * @see ifc.drawing._TextShape
+ * @see ifc.drawing._ShadowProperties
+ * @see ifc.drawing._XGluePointsSupplier
+ * @see ifc.style._CharacterProperties
+ * @see ifc.drawing._RotationDescriptor
+ * @see ifc.text._XTextRange
+ * @see ifc.drawing._XShape
+ * @see ifc.lang._XComponent
+ * @see ifc.drawing._TextProperties
+ * @see ifc.beans._XPropertySet
+ * @see ifc.text._XText
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.text._XSimpleText
+ * @see ifc.drawing._Shape
+ */
+public class SvxShape extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * Loads a Draw document with name 'SvxShape.sxd' from test
+ * documents directory
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.loadDocument(
+ utils.getFullTestURL("SvxShape.sxd"));
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.drawing.EllipseShape</code> as tested component
+ * and adds it to the document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Style1', 'Style2'</code> for
+ * {@link ifc.drawing._Shape} :
+ * two values of 'Style' property. The first is taken
+ * from the shape tested, the second from another
+ * shape added to the draw page. </li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} :
+ * creator which can create instances of
+ * <code>com.sun.star.text.TextField.URL</code>
+ * service. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc,3000,4500,15000,1000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+ oObj = oShape ;
+
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oShape );
+
+ // adding relations for Shape service
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ log.println( "adding two style as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+ tEnv.addObjRelation("Style1",aStyle);
+
+ oShapeProps = UnoRuntime.queryInterface
+ (XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+ tEnv.addObjRelation("Style2",aStyle);
+
+ // adding relation for XText
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShape
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeCircle.java b/qadevOOo/tests/java/mod/_svx/SvxShapeCircle.java
new file mode 100644
index 000000000..63fd2c4eb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeCircle.java
@@ -0,0 +1,214 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.EllipseShape</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::drawing::LineProperties</code></li>
+ * <li> <code>com::sun::star::drawing::EllipseShape</code></li>
+ * <li> <code>com::sun::star::drawing::FillProperties</code></li>
+ * <li> <code>com::sun::star::drawing::ShadowProperties</code></li>
+ * <li> <code>com::sun::star::drawing::XGluePointsSupplier</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::drawing::RotationDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::drawing::TextProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * </ul> <p>
+ * The following files used by this test :
+ * <ul>
+ * <li><b> SvxShape.sxd </b> : this document is loaded for
+ * adding a shape tested to it. </li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.drawing.LineProperties
+ * @see com.sun.star.drawing.EllipseShape
+ * @see com.sun.star.drawing.FillProperties
+ * @see com.sun.star.drawing.ShadowProperties
+ * @see com.sun.star.drawing.XGluePointsSupplier
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.drawing.TextProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.drawing.Shape
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.drawing._LineProperties
+ * @see ifc.drawing._EllipseShape
+ * @see ifc.drawing._FillProperties
+ * @see ifc.drawing._ShadowProperties
+ * @see ifc.drawing._XGluePointsSupplier
+ * @see ifc.style._CharacterProperties
+ * @see ifc.drawing._RotationDescriptor
+ * @see ifc.text._XTextRange
+ * @see ifc.drawing._XShape
+ * @see ifc.lang._XComponent
+ * @see ifc.drawing._TextProperties
+ * @see ifc.beans._XPropertySet
+ * @see ifc.text._XText
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.text._XSimpleText
+ * @see ifc.drawing._Shape
+ */
+public class SvxShapeCircle extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * Loads a Draw document with name 'SvxShape.sxd' from test
+ * documents directory
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a drawdoc" );
+ xDrawDoc = SOF.loadDocument(
+ utils.getFullTestURL("SvxShape.sxd"));
+ }
+
+ /**
+ * Disposes the Draw document loaded before.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.drawing.EllipseShape</code> as tested component
+ * and adds it to the document. Then the FULL type of circle is set.
+ *
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Style1', 'Style2'</code> for
+ * {@link ifc.drawing._Shape} :
+ * two values of 'Style' property. The first is taken
+ * from the shape tested, the second from another
+ * shape added to the draw page. </li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} :
+ * creator which can create instances of
+ * <code>com.sun.star.text.TextField.URL</code>
+ * service. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF()) ;
+ oShape = SOF.createShape(xDrawDoc,5000,5000,3000,3000,"Ellipse");
+
+ XPropertySet props = UnoRuntime.queryInterface
+ (XPropertySet.class, oShape) ;
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ props.setPropertyValue("CircleKind",
+ com.sun.star.drawing.CircleKind.FULL) ;
+
+ oObj = oShape ;
+
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding two styles as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ } catch (com.sun.star.beans.UnknownPropertyException e) {
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ }
+
+ tEnv.addObjRelation("Style2",aStyle);
+
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeCircle
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeCollection.java b/qadevOOo/tests/java/mod/_svx/SvxShapeCollection.java
new file mode 100644
index 000000000..5cbad5230
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeCollection.java
@@ -0,0 +1,133 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxShapeCollection extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ try {
+ // adding some shapes for testing.
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ Object col = tParam.getMSF().createInstance
+ ("com.sun.star.drawing.ShapeCollection");
+ XShapes shapes = UnoRuntime.queryInterface
+ (XShapes.class,col);
+
+ oShape = SOF.createShape(xDrawDoc,3000,4500,15000,1000,"Ellipse");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+ shapes.add(oShape);
+
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Rectangle");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ shapes.add(oShape);
+
+ oObj = (XInterface) col ;
+
+ }
+ catch (Exception e) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ System.out.println("IName: "+util.utils.getImplName(oObj));
+ ShapeDsc sDsc = new ShapeDsc(5000,3500,7500,10000,"Line");
+ tEnv.addObjRelation("Shape", new InstCreator(xDrawDoc, sDsc)) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeCollection
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeConnector.java b/qadevOOo/tests/java/mod/_svx/SvxShapeConnector.java
new file mode 100644
index 000000000..7236bcc18
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeConnector.java
@@ -0,0 +1,187 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.document.LinkTarget
+ * @see com.sun.star.document.XLinkTargetSupplier
+ * @see com.sun.star.drawing.ConnectorShapeDescriptor
+ * @see com.sun.star.drawing.LineShapeDescriptor
+ * @see com.sun.star.drawing.PolyPolygonDescriptor
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.drawing.ShadowDescriptor
+ * @see com.sun.star.drawing.ShapeDescriptor
+ * @see com.sun.star.drawing.Text
+ * @see com.sun.star.drawing.XConnectorShape
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.text.XTextRange
+ *
+ */
+public class SvxShapeConnector extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ try {
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class,xDrawDoc);
+ Object oInt = oDocMSF.createInstance
+ ( "com.sun.star.drawing.ConnectorShape" );
+
+ oShape = UnoRuntime.queryInterface( XShape.class, oInt );
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+ }
+ catch (Exception e) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ // create testobject here
+ oObj = oShape;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc,3000,4500,15000,1000,"Ellipse");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ for (int i=0;i<10;i++) {
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(
+ SOF.createShape(xDrawDoc,
+ 3000,4500,7510+10*i,5010+10*i,"Rectangle"));
+ }
+
+ log.println( "adding two style as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {}
+
+ tEnv.addObjRelation("Style2",aStyle);
+
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+ tEnv.addObjRelation("NoSetSize","SvxShapeConnector");
+ // adding relation for XConnectorShape
+ XShape oShape1 = SOF.createShape(xDrawDoc,1000,2000,1500,1000,"Line");
+ XShape oShape2 = SOF.createShape(xDrawDoc,1000,2000,4000,3000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape1);
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape2);
+ tEnv.addObjRelation("XConnectorShape.Shapes",
+ new XShape[] {oShape1, oShape2}) ;
+ System.out.println("IName: "+util.utils.getImplName(oObj));
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeConnector
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeControl.java b/qadevOOo/tests/java/mod/_svx/SvxShapeControl.java
new file mode 100644
index 000000000..fe07d0578
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeControl.java
@@ -0,0 +1,145 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.FormTools;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxShapeControl extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ try {
+
+ oShape = FormTools.insertControlShape(
+ xDrawDoc,3000,4500,15000,1000,"CommandButton");
+
+ oObj = oShape ;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF()) ;
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ }
+ catch (Exception e) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding two styles as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {
+ System.out.println("caught exception: " + e);
+ }
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {
+ System.out.println("caught exception: " + e);
+ }
+ tEnv.addObjRelation("Style2",aStyle);
+
+ log.println( "adding document relation for XControlShape" );
+ tEnv.addObjRelation("xDoc", xDrawDoc) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeControl
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeDimensioning.java b/qadevOOo/tests/java/mod/_svx/SvxShapeDimensioning.java
new file mode 100644
index 000000000..7cccfe069
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeDimensioning.java
@@ -0,0 +1,155 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxShapeDimensioning extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ try {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc,4000,4000,3000,3000,"Measure");
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ for (int i=0;i<10;i++) {
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(
+ SOF.createShape(xDrawDoc,
+ 3000,4500,7510+10*i,5010+10*i,"Rectangle"));
+ }
+
+ oObj = oShape ;
+
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ }
+ catch (Exception e) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding two styles as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {
+ System.out.println("caught exception: " + e);
+ }
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {
+ System.out.println("caught exception: " + e);
+ }
+ tEnv.addObjRelation("Style2",aStyle);
+
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeDimensioning
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapeGroup.java b/qadevOOo/tests/java/mod/_svx/SvxShapeGroup.java
new file mode 100644
index 000000000..d49200a00
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapeGroup.java
@@ -0,0 +1,163 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapeGrouper;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.lang.XComponent;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ *
+ * @see com.sun.star.drawing._XDrawPage
+ *
+ */
+
+public class SvxShapeGroup extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method initializes the document
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log)
+ throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+ log.println("creating a draw document");
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * in general this method disposes the document
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+
+ log.println("disposing xDrawDoc");
+ util.DesktopTools.closeDoc(xDrawDoc);
+
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XShapes oShapes = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+
+ // get the drawpage of drawing here
+ log.println("getting Drawpage");
+ XDrawPagesSupplier oDPS = UnoRuntime.queryInterface(
+ XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages oDPn = oDPS.getDrawPages();
+ XIndexAccess oDPi = UnoRuntime.queryInterface(XIndexAccess.class, oDPn);
+ oObj = (XDrawPage) AnyConverter.toObject(new Type(XDrawPage.class),
+ oDPi.getByIndex(0));
+
+ if (oObj == null) {
+ System.out.println("**************************");
+ System.out.println(" XDrawPage is NULL");
+ System.out.println("**************************");
+ }
+
+ // put something on the drawpage
+ log.println("inserting some Shapes");
+ oShapes = UnoRuntime.queryInterface(XShapes.class, oObj);
+ XShape Shape1 = SOF.createShape(xDrawDoc, 3000, 4500, 15000, 1000,
+ "Ellipse");
+ oShapes.add(SOF.createShape(xDrawDoc, 2000, 1500, 1000, 1000, "Line"));
+ oShapes.add(Shape1);
+ XShape Shape2 = SOF.createShape(xDrawDoc, 5000, 3500, 7500, 5000,
+ "Rectangle");
+ oShapes.add(Shape2);
+
+ log.println("adding two style as ObjRelation for ShapeDescriptor");
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(
+ XPropertySet.class, Shape1);
+ XStyle aStyle1 = null;
+ try {
+ aStyle1 = (XStyle) AnyConverter.toObject(new Type(XStyle.class),
+ oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {
+ }
+ oShapeProps = UnoRuntime.queryInterface(XPropertySet.class, Shape2);
+ XStyle aStyle2 = null;
+ try {
+ aStyle2 = (XStyle) AnyConverter.toObject(new Type(XStyle.class),
+ oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {
+ }
+
+ // get the XShapeGrouper
+ log.println("get XShapeGroup");
+ XShapeGrouper oSG = UnoRuntime
+ .queryInterface(XShapeGrouper.class, oObj);
+ oObj = oSG.group(oShapes);
+
+ log.println("creating a new environment for drawpage object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ ShapeDsc sDsc = new ShapeDsc(5000, 3500, 7500, 10000, "Rectangle");
+ log.println("adding Shape as mod relation to environment");
+ tEnv.addObjRelation("Shape", new InstCreator(xDrawDoc, sDsc));
+
+ tEnv.addObjRelation("Style1", aStyle1);
+ tEnv.addObjRelation("Style2", aStyle2);
+ for (int i = 0; i < 6; i++) {
+ Shape2 = SOF.createShape(xDrawDoc, 5000 + 100 * i, 3500 + 100 * i,
+ 7500 + 100 * i, 5000 + 100 * i, "Rectangle");
+ oShapes.add(Shape2);
+ }
+ return tEnv;
+ } // finish method createTestEnvironment
+
+} // finish class SvxShapeGroup
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygon.java b/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygon.java
new file mode 100644
index 000000000..d5a43870a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygon.java
@@ -0,0 +1,250 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.PolyPolygonShape</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::drawing::LineProperties</code></li>
+ * <li> <code>com::sun::star::drawing::FillProperties</code></li>
+ * <li> <code>com::sun::star::drawing::PolyPolygonDescriptor</code></li>
+ * <li> <code>com::sun::star::drawing::ShadowProperties</code></li>
+ * <li> <code>com::sun::star::drawing::XGluePointsSupplier</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::drawing::RotationDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::drawing::TextProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * </ul> <p>
+ * The following files used by this test :
+ * <ul>
+ * <li><b> TransparencyChart.sxs </b> : to load predefined chart
+ * document where two 'automatic' transparency styles exists :
+ * 'Transparency 1' and 'Transparency 2'.</li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.drawing.LineProperties
+ * @see com.sun.star.drawing.FillProperties
+ * @see com.sun.star.drawing.PolyPolygonDescriptor
+ * @see com.sun.star.drawing.ShadowProperties
+ * @see com.sun.star.drawing.XGluePointsSupplier
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.drawing.TextProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.drawing.Shape
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.drawing._LineProperties
+ * @see ifc.drawing._FillProperties
+ * @see ifc.drawing._PolyPolygonDescriptor
+ * @see ifc.drawing._ShadowProperties
+ * @see ifc.drawing._XGluePointsSupplier
+ * @see ifc.style._CharacterProperties
+ * @see ifc.drawing._RotationDescriptor
+ * @see ifc.text._XTextRange
+ * @see ifc.drawing._XShape
+ * @see ifc.lang._XComponent
+ * @see ifc.drawing._TextProperties
+ * @see ifc.beans._XPropertySet
+ * @see ifc.text._XText
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.text._XSimpleText
+ * @see ifc.drawing._Shape
+ */
+public class SvxShapePolyPolygon extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ xDrawDoc = SOF.loadDocument(
+ utils.getFullTestURL("SvxShape.sxd"));
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ try {
+ // adding some shapes for testing.
+ XMultiServiceFactory xMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xDrawDoc) ;
+ XInterface oInst = (XInterface) xMSF.createInstance
+ ("com.sun.star.drawing.PolyPolygonShape") ;
+ oShape = UnoRuntime.queryInterface
+ (XShape.class, oInst) ;
+
+ oShape.setSize(new Size(0,0)) ;
+ oShape.setPosition(new Point(0,0)) ;
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ Point[] square1 = new Point[] {
+ new Point(5000, 5000),
+ new Point(10000, 5000),
+ new Point(10000, 10000),
+ new Point(5000, 10000)} ;
+
+ Point[] square2 = new Point[] {
+ new Point(6500, 6500),
+ new Point(8500, 6500),
+ new Point(8500, 8500),
+ new Point(6500, 8500)} ;
+
+ Point[][] polygon = new Point[][] {square1, square2};
+
+ UnoRuntime.queryInterface(XPropertySet.class,
+ oShape).setPropertyValue("PolyPolygon", polygon) ;
+
+ oObj = oShape ;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF()) ;
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ }
+ catch (Exception e) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding two styles as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {
+ System.out.println("caught exception: " + e);
+ }
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {
+ System.out.println("caught exception: " + e);
+ }
+ tEnv.addObjRelation("Style2",aStyle);
+
+ // adding relation for XText
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapeCollection
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygonBezier.java b/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygonBezier.java
new file mode 100644
index 000000000..f053a2e0f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxShapePolyPolygonBezier.java
@@ -0,0 +1,264 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Size;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.PolyPolygonBezierCoords;
+import com.sun.star.drawing.PolygonFlags;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.ClosedBezierShape</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::drawing::PolyPolygonBezierDescriptor</code></li>
+ * <li> <code>com::sun::star::drawing::LineProperties</code></li>
+ * <li> <code>com::sun::star::drawing::FillProperties</code></li>
+ * <li> <code>com::sun::star::drawing::ShadowProperties</code></li>
+ * <li> <code>com::sun::star::drawing::XGluePointsSupplier</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::drawing::RotationDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::drawing::TextProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * </ul> <p>
+ *
+ * The following files used by this test :
+ * <ul>
+ * <li><b> TransparencyChart.sxs </b> : to load predefined chart
+ * document where two 'automatic' transparency styles exists :
+ * 'Transparency 1' and 'Transparency 2'.</li>
+ * </ul> <p>
+ *
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ *
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.drawing.PolyPolygonBezierDescriptor
+ * @see com.sun.star.drawing.LineProperties
+ * @see com.sun.star.drawing.FillProperties
+ * @see com.sun.star.drawing.ShadowProperties
+ * @see com.sun.star.drawing.XGluePointsSupplier
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.drawing.RotationDescriptor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.drawing.TextProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.drawing.Shape
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.drawing._PolyPolygonBezierDescriptor
+ * @see ifc.drawing._LineProperties
+ * @see ifc.drawing._FillProperties
+ * @see ifc.drawing._ShadowProperties
+ * @see ifc.drawing._XGluePointsSupplier
+ * @see ifc.style._CharacterProperties
+ * @see ifc.drawing._RotationDescriptor
+ * @see ifc.text._XTextRange
+ * @see ifc.drawing._XShape
+ * @see ifc.lang._XComponent
+ * @see ifc.drawing._TextProperties
+ * @see ifc.beans._XPropertySet
+ * @see ifc.text._XText
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.text._XSimpleText
+ * @see ifc.drawing._Shape
+ */
+public class SvxShapePolyPolygonBezier extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating a chartdocument" );
+ xDrawDoc = SOF.loadDocument(
+ utils.getFullTestURL("SvxShape.sxd"));
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ try {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ XMultiServiceFactory xMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xDrawDoc) ;
+
+ XInterface oInst = (XInterface) xMSF.createInstance
+ ("com.sun.star.drawing.ClosedBezierShape") ;
+ oShape = UnoRuntime.queryInterface
+ (XShape.class, oInst) ;
+
+ Point[] points = new Point[2];
+ points[0] = new Point();
+ points[0].X = 50;
+ points[0].Y = 50;
+ points[1] = new Point();
+ points[1].X = 5000;
+ points[1].Y = 5000;
+
+ Point[][] the_points = new Point[1][2];
+ the_points[0] = points;
+
+ PolygonFlags[] flags = new PolygonFlags[2];
+ flags[0] = PolygonFlags.NORMAL;
+ flags[1] = PolygonFlags.NORMAL;
+
+ PolygonFlags[][] the_flags = new PolygonFlags[1][2];
+ the_flags[0] = flags;
+
+ PolyPolygonBezierCoords coords = new PolyPolygonBezierCoords();
+ coords.Coordinates=the_points;
+ coords.Flags = the_flags;
+
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ oShape.setSize(new Size(3000,3000)) ;
+ oShape.setPosition(new Point(4000,4000)) ;
+
+ oObj = oShape ;
+
+ XPropertySet shapeProps = UnoRuntime.queryInterface
+ (XPropertySet.class, oObj);
+
+ shapeProps.setPropertyValue("PolyPolygonBezier",coords);
+
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Line");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+ }
+ catch (Exception e) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ // test environment creation
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding two styles as ObjRelation for ShapeDescriptor" );
+ XPropertySet oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oObj);
+ XStyle aStyle = null;
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {
+ System.out.println("caught exception: " + e);
+ }
+ tEnv.addObjRelation("Style1",aStyle);
+ oShapeProps = UnoRuntime.queryInterface(XPropertySet.class,oShape);
+ try {
+ aStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oShapeProps.getPropertyValue("Style"));
+ } catch (Exception e) {
+ System.out.println("caught exception: " + e);
+ }
+ tEnv.addObjRelation("Style2",aStyle);
+
+ // adding relation for XText
+ util.DefaultDsc tDsc = new util.DefaultDsc
+ ("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.URL");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxShapePolyPolygonBezier
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoNumberingRules.java b/qadevOOo/tests/java/mod/_svx/SvxUnoNumberingRules.java
new file mode 100644
index 000000000..10a076e0b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoNumberingRules.java
@@ -0,0 +1,78 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._svx;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+
+
+public class SvxUnoNumberingRules extends TestCase {
+ static XComponent xDrawDoc;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a drawdoc");
+ xDrawDoc = DrawTools.createDrawDoc(
+ tParam.getMSF());
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory docMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ xDrawDoc);
+ XInterface oObj = (XInterface) docMSF.createInstance(
+ "com.sun.star.text.NumberingRules");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("Implementationname: " + util.utils.getImplName(oObj));
+
+ Object NewRules=null;
+
+ try{
+ XIndexAccess xIA = UnoRuntime.queryInterface(XIndexAccess.class, oObj);
+ NewRules = xIA.getByIndex(2);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get new Rules for XIndexReplace");
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ log.println("Couldn't get new Rules for XIndexReplace");
+ }
+
+ tEnv.addObjRelation("INSTANCE1",NewRules);
+
+ return tEnv;
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoText.java b/qadevOOo/tests/java/mod/_svx/SvxUnoText.java
new file mode 100644
index 000000000..19fb1ef32
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoText.java
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import com.sun.star.text.XText;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.DrawTools;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoText extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ * Object relations created :
+ * <ul>
+ * <li> <code>'RangeForMove'</code> for
+ * {@link ifc.text._XTextRangeMover} (the range to be moved)</li>
+ * <li> <code>'XTextRange'</code> for
+ * {@link ifc.text._XTextRangeMover} (the range that includes moving
+ * range)</li>
+ * </ul>
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ // create testobject here
+ XTextRange aRange = null;
+ XShape oShape = null;
+
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF()) ;
+ oShape = SOF.createShape
+ (xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XSimpleText text = UnoRuntime.queryInterface
+ (XSimpleText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ cursor.setString("TextForMove");
+ aRange = cursor;
+ XTextCursor cursor1 = text.createTextCursorByRange(text.getEnd());
+ text.insertControlCharacter(cursor1,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor1, "Paragraph 2", false);
+ text.insertControlCharacter(cursor1,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor1, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor1,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ oObj = text.getText() ;
+ } catch (Exception e) {
+ log.println("Can't create test object") ;
+ e.printStackTrace(log) ;
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ // adding relation for XText
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.DateTime");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xDrawDoc, tDsc ) );
+
+ // adding relation for XTextRangeMover
+ tEnv.addObjRelation("RangeForMove", aRange);
+ tEnv.addObjRelation("XTextRange", oObj);
+
+ // adding relation for XTextRangeCompare
+ tEnv.addObjRelation("TEXT", UnoRuntime.queryInterface(XText.class, oShape)) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxUnoText
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextContent.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextContent.java
new file mode 100644
index 000000000..3550663a4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextContent.java
@@ -0,0 +1,130 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoTextContent extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ // create testobject here
+
+ XEnumerationAccess xEA = null ;
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF()) ;
+ XShape oShape = SOF.createShape(xDrawDoc,
+ 5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ XSimpleText text = UnoRuntime.queryInterface
+ (XSimpleText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 2", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+
+ xEA = UnoRuntime.queryInterface
+ (XEnumerationAccess.class, text) ;
+
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),xEA.createEnumeration().nextElement());
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextContentEnum.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextContentEnum.java
new file mode 100644
index 000000000..b640c95d6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextContentEnum.java
@@ -0,0 +1,133 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoTextContentEnum extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ // create testobject here
+
+ XEnumerationAccess xEA = null ;
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF()) ;
+ XShape oShape = SOF.createShape
+ (xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ XSimpleText text = UnoRuntime.queryInterface
+ (XSimpleText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 2", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+
+ xEA = UnoRuntime.queryInterface
+ (XEnumerationAccess.class, text) ;
+
+ oObj = xEA.createEnumeration() ;
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XEnumeration test
+ tEnv.addObjRelation("ENUM", xEA) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextCursor.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextCursor.java
new file mode 100644
index 000000000..ec367094a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextCursor.java
@@ -0,0 +1,131 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoTextCursor extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+ // create testobject here
+
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF()) ;
+ XShape oShape = SOF.createShape
+ (xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ XText text = UnoRuntime.queryInterface(XText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 2", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+
+ oObj = cursor ;
+
+ } catch (Exception e) {
+ log.println("Can't create test object") ;
+ e.printStackTrace(log) ;
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxUnoTextCursor
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextField.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextField.java
new file mode 100644
index 000000000..f9ffe6726
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextField.java
@@ -0,0 +1,129 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see ifc._XComponent
+ * @see ifc._TextContent
+ * @see ifc._XTextContent
+ * @see ifc._XTextField
+ *
+ */
+public class SvxUnoTextField extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc( tParam.getMSF());
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XShape oShape = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ oShape = SOF.createShape(xDrawDoc,5000,3500,7500,5000,"Rectangle");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape);
+
+ XTextCursor the_Cursor = null;
+
+ // create testobject here
+ XText the_Text = UnoRuntime.queryInterface(XText.class,oShape);
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface( XMultiServiceFactory.class, xDrawDoc );
+ the_Cursor = the_Text.createTextCursor();
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.TextField.DateTime" );
+ XTextContent the_Field = UnoRuntime.queryInterface(XTextContent.class,oObj);
+
+
+ the_Text.insertTextContent(the_Cursor,the_Field,false);
+
+ log.println( "creating a new environment for FieldMaster object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ tEnv.addObjRelation("RANGE", the_Cursor);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SvxUnoTextField
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextRange.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextRange.java
new file mode 100644
index 000000000..313921f29
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextRange.java
@@ -0,0 +1,142 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoTextRange extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ // create testobject here
+
+ XEnumerationAccess xEA = null ;
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF()) ;
+ XShape oShape = SOF.createShape
+ (xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ XSimpleText text = UnoRuntime.queryInterface
+ (XSimpleText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 2", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+
+ xEA = UnoRuntime.queryInterface
+ (XEnumerationAccess.class, text) ;
+
+ XInterface oTextContent = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),xEA.createEnumeration().nextElement());
+
+ xEA = UnoRuntime.queryInterface
+ (XEnumerationAccess.class, oTextContent) ;
+
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),xEA.createEnumeration().nextElement());
+
+ } catch (Exception e) {
+ log.println("Can't create test object") ;
+ e.printStackTrace(log) ;
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/SvxUnoTextRangeEnumeration.java b/qadevOOo/tests/java/mod/_svx/SvxUnoTextRangeEnumeration.java
new file mode 100644
index 000000000..8fe191542
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/SvxUnoTextRangeEnumeration.java
@@ -0,0 +1,143 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._svx;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DrawTools;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.XComponent;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class SvxUnoTextRangeEnumeration extends TestCase {
+
+ static XComponent xDrawDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ log.println( "creating a drawdoc" );
+ xDrawDoc = DrawTools.createDrawDoc(tParam.getMSF());
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ util.DesktopTools.closeDoc(xDrawDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ // create testobject here
+
+ XEnumerationAccess xEA = null ;
+ try {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF()) ;
+ XShape oShape = SOF.createShape
+ (xDrawDoc,5000,3500,7500,5000,"Text");
+ DrawTools.getShapes(DrawTools.getDrawPage(xDrawDoc,0)).add(oShape) ;
+
+ XSimpleText text = UnoRuntime.queryInterface
+ (XSimpleText.class, oShape) ;
+
+ XTextCursor cursor = text.createTextCursor() ;
+
+ text.insertString(cursor, "Paragraph 1", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 2", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+ text.insertString(cursor, "Paragraph 3", false) ;
+ text.insertControlCharacter(cursor,
+ ControlCharacter.PARAGRAPH_BREAK, false) ;
+
+ xEA = UnoRuntime.queryInterface
+ (XEnumerationAccess.class, text) ;
+
+ XInterface oTextContent = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),xEA.createEnumeration().nextElement());
+
+ xEA = UnoRuntime.queryInterface
+ (XEnumerationAccess.class, oTextContent) ;
+
+ oObj = xEA.createEnumeration();
+
+ } catch (Exception e) {
+ log.println("Can't create test object") ;
+ e.printStackTrace(log) ;
+ }
+
+ // create test environment here
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM", xEA);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_svx/package.html b/qadevOOo/tests/java/mod/_svx/package.html
new file mode 100644
index 000000000..a4961d2bf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_svx/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'svx'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_sw/CharacterStyle.java b/qadevOOo/tests/java/mod/_sw/CharacterStyle.java
new file mode 100644
index 000000000..8f7c3b181
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/CharacterStyle.java
@@ -0,0 +1,148 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.CharacterStyle</code>. <p>
+ * @see com.sun.star.style.CharacterStyle
+ */
+public class CharacterStyle extends TestCase {
+ private XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * At first style families are gotten from a text document using
+ * <code>XStyleFamiliesSupplier</code> interface, then family indexed '0' is
+ * gotten from this style family using <code>XIndexAccess</code> interface.
+ * Next, method creates an instance of the service
+ * <code>com.sun.star.style.CharacterStyle</code> and inserts it to a
+ * previously obtained style family using <code>XNameContainer</code>
+ * interface. Finally, method creates a cursor of a major text of text
+ * document and sets it's property 'CharStyleName' value to the name of
+ * previously created style's name.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PoolStyle'</code> for
+ * {@link ifc.style._XStyle} : style indexed '10' obtained from
+ * StyleFamily indexed '0' from text document using
+ * <code>XIndexAccess</code> interface.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ XIndexAccess oSFsIA = UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+ oSFNA = UnoRuntime.queryInterface(
+ XNameAccess.class,oSFsIA.getByIndex(0));
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(0));
+
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.CharacterStyle");
+ oMyStyle = UnoRuntime.queryInterface(XStyle.class, oInt);
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+ XNameContainer oSFNC = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+
+ xProp.setPropertyValue("CharStyleName", oMyStyle.getName());
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+
+ String[] skipPropertiesNamed = {};
+
+ short exclude = PropertyAttribute.READONLY;
+ tEnv.addObjRelation("PropertyNames",utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropertiesNamed));
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java b/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java
new file mode 100644
index 000000000..fbcc9e2b0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java
@@ -0,0 +1,142 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.ConditionalParagraphStyle</code>. <p>
+ * @see com.sun.star.style.ConditionalParagraphStyle
+ */
+public class ConditionalParagraphStyle extends TestCase {
+
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Create a new instance of the conditional
+ * paragraph style, and insert it into the document.
+ * @see com.sun.star.style.ConditionalParagraphStyle
+ * @param tParam The test parameters
+ * @param log The log writer.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ oSFNA = UnoRuntime.queryInterface(
+ XNameAccess.class,oSF.getByName("ParagraphStyles"));
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(1));
+
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.ConditionalParagraphStyle");
+ oMyStyle = UnoRuntime.queryInterface(XStyle.class, oInt);
+
+
+ if (oMyStyle == null) {
+ log.println("FAILED");
+ throw new StatusException(Status.failed("Couldn't create an own style "));
+ }
+ else {
+ log.println("OK");
+ }
+
+ XNameContainer oSFNC = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+ xProp.setPropertyValue("ParaStyleName", oMyStyle.getName());
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+ short exclude = PropertyAttribute.READONLY;
+ String[] skipPropertiesNamed = { "ParaBackGraphicURL" };
+
+ String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropertiesNamed);
+
+ tEnv.addObjRelation("PropertyNames", names);
+ tEnv.addObjRelation("SkipProperties", skipPropertiesNamed);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/DocumentSettings.java b/qadevOOo/tests/java/mod/_sw/DocumentSettings.java
new file mode 100644
index 000000000..935c84b1e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/DocumentSettings.java
@@ -0,0 +1,78 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import java.io.PrintWriter;
+
+
+public class DocumentSettings extends TestCase
+{
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log)
+ {
+ log.println(" opening xTextDoc ");
+ xTextDoc =
+ WriterTools.createTextDoc(tParam.getMSF());
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log)
+ {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log
+ )
+ {
+ SOfficeFactory SOF =
+ SOfficeFactory.getFactory(tParam.getMSF());
+ XInterface oObj = null;
+
+ log.println("creating a test environment");
+
+ oObj =
+ (XInterface) SOF.createInstance(
+ xTextDoc, "com.sun.star.text.DocumentSettings"
+ );
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/PageStyle.java b/qadevOOo/tests/java/mod/_sw/PageStyle.java
new file mode 100644
index 000000000..7de28b201
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/PageStyle.java
@@ -0,0 +1,141 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.PageStyle</code>. <p>
+ * @see com.sun.star.style.PageStyle
+ */
+public class PageStyle extends TestCase {
+
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ oSFNA = UnoRuntime.queryInterface(
+ XNameAccess.class,oSF.getByName("PageStyles")); // get the page style
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(0));
+ log.println("Chosen pool style: "+oStyle.getName());
+
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.PageStyle");
+ oMyStyle = UnoRuntime.queryInterface(XStyle.class, oInt);
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+
+ XNameContainer oSFNC = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+ Property[] props = xProp.getPropertySetInfo().getProperties();
+ for (int i=0; i<props.length; i++)
+ System.out.println("# Property: " + props[i].Name + " val: " + props[i].Type.toString() + " attr: " + props[i].Attributes);
+ xProp.setPropertyValue("PageDescName", oMyStyle.getName());
+
+// oMyStyle = oStyle;
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ tEnv.addObjRelation("FollowStyle", "Envelope");
+ XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+
+ short exclude = PropertyAttribute.READONLY;
+
+ String[] skipPropertiesNamed = {
+ "BackGraphicURL", "HeaderBackGraphicURL", "FooterBackGraphicURL"
+ };
+
+ String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropertiesNamed);
+ tEnv.addObjRelation("PropertyNames", names);
+ tEnv.addObjRelation("SkipProperties", skipPropertiesNamed);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java b/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java
new file mode 100644
index 000000000..b85a83ab3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java
@@ -0,0 +1,131 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.ParagraphStyle</code>. <p>
+ * @see com.sun.star.style.ParagraphStyle
+ */
+public class ParagraphStyle extends TestCase {
+
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ oSFNA = UnoRuntime.queryInterface(
+ XNameAccess.class,oSF.getByName("ParagraphStyles"));
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oSFNA.getElementNames();
+ oStyle = UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(1));
+
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.ParagraphStyle");
+ oMyStyle = UnoRuntime.queryInterface(XStyle.class, oInt);
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+ XNameContainer oSFNC = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+
+ xProp.setPropertyValue("ParaStyleName", oMyStyle.getName());
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+ short exclude = PropertyAttribute.READONLY;
+
+ String[] skipPropertiesNamed = { "ParaBackGraphicURL" };
+
+ String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropertiesNamed);
+ tEnv.addObjRelation("PropertyNames", names);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java
new file mode 100644
index 000000000..5fb1a4779
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java
@@ -0,0 +1,160 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class SwAccessibleDocumentPageView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switch the document to Print Preview mode.
+ * Obtains accessible object for the document page view.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ final TestParameters Param, PrintWriter log) throws Exception{
+
+ XInterface oObj = null;
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ for (int i=0; i<25; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwAccessibleDocumentPageView",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwAccessibleDocumentPageView",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+
+ XController xController = xTextDoc.getCurrentController();
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ //switch to 'Print Preview' mode
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT );
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XText the_text = oText;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ String oldText = the_text.getString();
+ the_text.setString("EVENT FIRED");
+ util.utils.waitForEventIdle(Param.getMSF());
+ the_text.setString(oldText);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc( Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java
new file mode 100644
index 000000000..37b59c323
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java
@@ -0,0 +1,168 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleValue;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test of accessible object for the text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleDocumentView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. The method is called from
+ * <code>getTestEnvironment()</code>. Obtains accessible object for
+ * text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ for (int i=0; i<5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ getAccessibleObjectForRole(xRoot, AccessibleRole.SCROLL_BAR);
+ final XAccessibleValue xAccVal = UnoRuntime.queryInterface
+ (XAccessibleValue.class, SearchedContext) ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ xAccVal.setCurrentValue(xAccVal.getMinimumValue());
+ xAccVal.setCurrentValue(xAccVal.getMaximumValue());
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ public static boolean first = false;
+ public static XAccessibleContext SearchedContext = null;
+
+ public static void getAccessibleObjectForRole(XAccessible xacc,short role) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ if (ac.getAccessibleRole()==role) {
+ if (first) SearchedContext = ac;
+ else first=true;
+ } else {
+ int k = ac.getAccessibleChildCount();
+ for (int i=0;i<k;i++) {
+ try {
+ getAccessibleObjectForRole(ac.getAccessibleChild(i),role);
+ if (SearchedContext != null) return ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java
new file mode 100644
index 000000000..eb66279fa
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java
@@ -0,0 +1,155 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+public class SwAccessibleEndnoteView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Inserts the created endnote to the document.
+ * Changes zoom value to 10%(endnote must be in visible area of the document).
+ * Obtains accessible object for the inserted endnote.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XInterface oEndnote = null;
+
+ log.println( "Creating a test environment" );
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating an endnote");
+ oEndnote = UnoRuntime.queryInterface(XInterface.class,
+ msf.createInstance("com.sun.star.text.Endnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ XTextContent xTC = UnoRuntime.queryInterface(XTextContent.class, oEndnote);
+ oText.insertTextContent(oCursor, xTC, false);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+
+ //change zoom value to 20%
+ //footer should be in the visible area of the document
+ xPropSet.setPropertyValue("ZoomValue", Short.valueOf("20"));
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.END_NOTE);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 21%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("21"));
+ //and back to 20%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("20"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java
new file mode 100644
index 000000000..24ee00358
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java
@@ -0,0 +1,159 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for a footer of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleFooterView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. Obtains style
+ * <code>Standard</code> from style family <code>PageStyles</code>.
+ * Changes values of property <code>FooterIsOn</code> by <code>true</code>.
+ * Changes zoom value to 10%(footer must be in visible area of the document).
+ * Obtains accessible component for the footer.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+
+ // obtains style 'Standard' from style family 'PageStyles'
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Standard"));
+
+ final XPropertySet PropSet = UnoRuntime.queryInterface( XPropertySet.class, StdStyle);
+
+ // changing/getting some properties
+ log.println( "Switching on footer" );
+ PropSet.setPropertyValue("FooterIsOn", Boolean.TRUE);
+
+ //change zoom value to 10%
+ //footer should be in the visible area of the document
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+ xPropSet.setPropertyValue("ZoomValue", Short.valueOf("20"));
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.FOOTER);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ PropSet.setPropertyValue("FooterLeftMargin",
+ Integer.valueOf(1000));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ throw new StatusException("Can't change footer.", e);
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java
new file mode 100644
index 000000000..0899108a8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+public class SwAccessibleFootnoteView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Inserts the created footnote to the document.
+ * Changes zoom value to 10%(endnote must be in visible area of the document).
+ * Obtains accessible object for the inserted footnote.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XFootnote oFootnote = null;
+
+ log.println( "Creating a test environment" );
+ // get a soffice factory object
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+
+ oFootnote = UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ oText.insertTextContent(oCursor, oFootnote, false);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+
+ //change zoom value to 10%
+ //footer should be in the visible area of the document
+ xPropSet.setPropertyValue("ZoomValue", Short.valueOf("10"));
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.FOOTNOTE);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 130%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("15"));
+ //and back to 10%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("10"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java
new file mode 100644
index 000000000..b946304a0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java
@@ -0,0 +1,148 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XModel;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test of accessible object for a header of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleHeaderView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. Obtains style
+ * <code>Standard</code> from style family <code>PageStyles</code>.
+ * Changes values of properties <code>HeaderIsOn</code> and
+ * <code>FooterIsOn</code> by <code>true</code>. Obtains accessible component
+ * for header.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+
+ // obtains style 'Standard' from style family 'PageStyles'
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Standard"));
+
+ final XPropertySet PropSet = UnoRuntime.queryInterface( XPropertySet.class, StdStyle);
+
+ // changing/getting some properties
+ log.println( "Switching on header" );
+ PropSet.setPropertyValue("HeaderIsOn", Boolean.TRUE);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.HEADER);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ PropSet.setPropertyValue("HeaderLeftMargin",
+ Integer.valueOf(1000));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ throw new StatusException("Can't change footer.", e);
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java b/qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java
new file mode 100644
index 000000000..62f6e8454
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java
@@ -0,0 +1,214 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleValue;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class SwAccessiblePageView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switches the document to Print Preview mode.
+ * Obtains accessible object for the page view.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XInterface port = null;
+ XInterface para = null;
+ XPropertySet paraP = null;
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ for (int i=0; i<2; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = UnoRuntime.queryInterface(XEnumerationAccess.class, oText );
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ para = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum.nextElement());
+ XEnumerationAccess oEnumB = UnoRuntime.queryInterface( XEnumerationAccess.class, para );
+ XEnumeration oEnum2 = oEnumB.createEnumeration();
+ port = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum2.nextElement());
+
+ UnoRuntime.queryInterface(XPropertySet.class, port);
+ paraP = UnoRuntime.queryInterface(XPropertySet.class, para);
+ paraP.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_AFTER);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XController xController = xTextDoc.getCurrentController();
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ //switch to 'Print Preview' mode
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ System.out.println("Panel: "+AccessibleRole.PANEL);
+ System.out.println("ScrollPane: "+AccessibleRole.SCROLL_PANE);
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL,"Page");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ getAccessibleObjectForRole(xRoot, AccessibleRole.SCROLL_BAR);
+ final XAccessibleValue xAccVal = UnoRuntime.queryInterface
+ (XAccessibleValue.class, SearchedContext) ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Integer old = (Integer) xAccVal.getCurrentValue();
+ Integer newValue = Integer.valueOf(old.intValue()+10);
+ xAccVal.setCurrentValue(newValue);
+ xAccVal.setCurrentValue(old);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ public static boolean first = false;
+ public static XAccessibleContext SearchedContext = null;
+
+ public static void getAccessibleObjectForRole(XAccessible xacc,short role) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ if (ac.getAccessibleRole()==role) {
+ if (first) SearchedContext = ac;
+ else first=true;
+ } else {
+ int k = ac.getAccessibleChildCount();
+ for (int i=0;i<k;i++) {
+ try {
+ getAccessibleObjectForRole(ac.getAccessibleChild(i),role);
+ if (SearchedContext != null) return ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java
new file mode 100644
index 000000000..01af4ed5d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java
@@ -0,0 +1,126 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test of accessible object for paragraph of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleParagraphView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. Obtains accessible object
+ * for one of document paragraph.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XText oText = xTextDoc.getText();
+ oText.setString("XAccessibleText");
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PARAGRAPH);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XText paraText = xTextDoc.getText();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ String old = paraText.getString();
+ paraText.setString("Just a line");
+ paraText.setString(old);
+ }
+ });
+
+ final String text = "XAccessibleText";
+
+ tEnv.addObjRelation("XAccessibleText.Text", text);
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc( Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java
new file mode 100644
index 000000000..c16f1f497
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java
@@ -0,0 +1,129 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Test of accessible object for the table cell of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTableCellView extends TestCase {
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a text table and inserts it to document. Then obtains accessible
+ * object for one of table cell.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XAccessibleContext oObj = null;
+ XTextTable oTable = null;
+
+ SOfficeFactory.getFactory( Param.getMSF());
+
+ oTable = SOfficeFactory.createTextTable(xTextDoc);
+
+ SOfficeFactory.insertTextContent(xTextDoc, oTable);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE_CELL);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleSelection accSel = UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj.getAccessibleParent());
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ accSel.selectAllAccessibleChildren();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println("creating a text document");
+ xTextDoc = WriterTools.createTextDoc( Param.getMSF());
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java
new file mode 100644
index 000000000..1d47445ce
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java
@@ -0,0 +1,147 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the table of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTableView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a text table and inserts it into the document.
+ * Then obtains accessible object for the table.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ SOfficeFactory.getFactory(Param.getMSF());
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 15%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("15"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java
new file mode 100644
index 000000000..e7ce3df98
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java
@@ -0,0 +1,142 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the text embedded object of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTextEmbeddedObject extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Obtains accessible object for the embedded object.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.EMBEDDED_OBJECT);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 15%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("15"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Loads the text document <code>SwXTextEmbeddedObject.sxw</code>
+ * with a text embedded object.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "open a text document" );
+ String testdoc = utils.getFullTestURL("SwXTextEmbeddedObject.sxw");
+ log.println(testdoc);
+ xTextDoc = WriterTools.loadTextDoc(Param.getMSF(),testdoc);
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java
new file mode 100644
index 000000000..133cfcb78
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java
@@ -0,0 +1,166 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.TextContentAnchorType;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the text frame of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTextFrameView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a frame and inserts it into document.
+ * Obtains accessible object for the inserted text frame.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XPropertySet oPropSet = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+
+ // get a soffice factory object
+ SOfficeFactory.getFactory( Param.getMSF() );
+ // creating Frames
+ log.println( "creating Frames" );
+ oFrame1 = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+ oPropSet = UnoRuntime.queryInterface(
+ XPropertySet.class, oFrame1 );
+ oPropSet.setPropertyValue("AnchorType",
+ TextContentAnchorType.AS_CHARACTER);
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ log.println( "inserting Frame1" );
+ XTextContent the_content = UnoRuntime.queryInterface(XTextContent.class, oFrame1);
+ oText.insertTextContent(oCursor, the_content, true);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TEXT_FRAME);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 15%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("15"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java
new file mode 100644
index 000000000..f3b23fbdf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the graphic object of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTextGraphicObject extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a graphic object and inserts it into the document.
+ * Obtains accessible object for graphic object.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+ Object oGraphObj = SOF.createInstance(
+ xTextDoc, "com.sun.star.text.GraphicObject");
+
+ XText the_text = xTextDoc.getText();
+ XTextCursor the_cursor = the_text.createTextCursor();
+ XTextContent the_content = UnoRuntime.queryInterface(XTextContent.class, oGraphObj);
+
+ log.println( "inserting graphic" );
+ the_text.insertTextContent(the_cursor, the_content, true);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.GRAPHIC);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 20%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("20"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+
+ return tEnv;
+
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java b/qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java
new file mode 100644
index 000000000..edaa1aed9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java
@@ -0,0 +1,75 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XAutoTextContainer;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.AutoTextContainer</code>.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::text::XAutoTextContainer</code></li>
+* </ul>
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.text.XAutoTextContainer
+* @see com.sun.star.text.AutoTextContainer
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+* @see ifc.text._XAutoTextContainer
+*/
+public class SwXAutoTextContainer extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.AutoTextContainer</code>.<p>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XAutoTextContainer oContainer = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating an AutoTextContainer");
+ XMultiServiceFactory myMSF = Param.getMSF();
+ Object oInst = myMSF.createInstance
+ ("com.sun.star.text.AutoTextContainer");
+ oContainer = UnoRuntime.queryInterface
+ (XAutoTextContainer.class,oInst);
+
+ TestEnvironment tEnv = new TestEnvironment(oContainer);
+
+ return tEnv;
+ }
+
+} // finish class SwXAutoTextcontainer
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java b/qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java
new file mode 100644
index 000000000..30a7ada71
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java
@@ -0,0 +1,198 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XAutoTextContainer;
+import com.sun.star.text.XAutoTextEntry;
+import com.sun.star.text.XAutoTextGroup;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.AutoTextEntry</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XAutoTextEntry</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.AutoTextEntry
+ * @see com.sun.star.text.AutoTextContainer
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XAutoTextEntry
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XAutoTextEntry
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XText
+ */
+public class SwXAutoTextEntry extends TestCase {
+ XTextDocument xTextDoc;
+ XAutoTextGroup oGroup;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ XMultiServiceFactory msf = tParam.getMSF();
+ SOfficeFactory SOF = SOfficeFactory.getFactory( msf );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Removes added element from AutoTextGroup
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ try {
+ if ( oGroup.hasByName("NewEntryName") ) {
+ log.println("Removing 'NewEntryName' element");
+ ((com.sun.star.lang.XComponent) AnyConverter.toObject(
+ new Type(com.sun.star.lang.XComponent.class),
+ oGroup.getByName("NewEntryName"))).dispose();
+ oGroup.removeByName("NewEntryName");
+ }
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Cannot remove TextEntry from group...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Cannot remove TextEntry from group...");
+ e.printStackTrace(log);
+ }
+ log.println( "disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.AutoTextContainer</code>, then selects the 'mytexts'
+ * group from the given container using <code>XNameAccess</code> interface,
+ * and inserts some text entry to this group. Then entry passed as test
+ * component.<p>
+ * Object relations created :
+ * <ul>
+ * <li><code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} : creates tables 6x4</li>
+ * <li><code>'TEXTDOC'</code> for
+ * {@link ifc.text._XAutoTextEntry} : text document</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ XAutoTextEntry oEntry = null;
+ XAutoTextContainer oContainer;
+ XInterface oObj = null;
+ log.println( "creating a test environment" );
+ XMultiServiceFactory myMSF = Param.getMSF();
+ Object oInst = myMSF.createInstance
+ ("com.sun.star.text.AutoTextContainer");
+ oContainer = UnoRuntime.queryInterface(XAutoTextContainer.class,oInst);
+
+ XNameAccess oContNames = UnoRuntime.queryInterface(XNameAccess.class, oContainer);
+
+ String contNames[] = oContNames.getElementNames();
+ for (int i =0; i < contNames.length; i++){
+ log.println("ContainerNames[ "+ i + "]: " + contNames[i]);
+ }
+
+ oObj = (XInterface) AnyConverter.toObject(new Type(XInterface.class),oContNames.getByName("mytexts"));
+
+ oGroup = UnoRuntime.queryInterface
+ (XAutoTextGroup.class, oObj);
+ String[] oENames = oGroup.getElementNames();
+ for (int i=0; i<oENames.length; i++) {
+ log.println("AutoTextEntryNames[" + i + "]: " + oENames[i]);
+ }
+
+ XText oText = xTextDoc.getText();
+ oText.insertString(oText.getStart(), "New AutoText", true);
+ XTextRange oTextRange = oText;
+ try {
+ if ( oGroup.hasByName("NewEntryName") ) {
+ oGroup.removeByName("NewEntryName");
+ log.println("Element 'NewEntryName' exists, removing...");
+ }
+ log.println("Adding new element 'NewEntryName' to group...");
+ oGroup.insertNewByName("NewEntryName", "NewEntryTitle", oTextRange);
+ oEntry = (XAutoTextEntry) AnyConverter.toObject(
+ new Type(XAutoTextEntry.class),oGroup.getByName("NewEntryName"));
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ }
+
+ oObj = oEntry;
+
+ log.println("Trying to use XText as TextRange in the method applyTo");
+ oEntry.applyTo(oTextRange);
+
+ oTextRange = oText.createTextCursor();
+ log.println("Trying to use XTextCursor as TextRange in the method applyTo");
+ oEntry.applyTo(oTextRange);
+
+ log.println( "creating a new environment for AutoTextEntry object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XText
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.DateTime");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXAutoTextEntry
diff --git a/qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java b/qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java
new file mode 100644
index 000000000..eb9ff16e0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java
@@ -0,0 +1,149 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import com.sun.star.container.XNameAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XAutoTextContainer;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import util.utils;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.AutoTextGroup</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::text::XAutoTextGroup</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.XAutoTextGroup
+ * @see com.sun.star.text.AutoTextContainer
+ * @see ifc.container._XNamed
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.text._XAutoTextGroup
+ */
+public class SwXAutoTextGroup extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.AutoTextContainer</code>, then creates a new
+ * group into the container.<p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TextRange'</code> for
+ * {@link ifc.text._XAutoTextGroup} range of text</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XAutoTextContainer oContainer;
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory myMSF = Param.getMSF();
+ Object oInst = myMSF.createInstance("com.sun.star.text.AutoTextContainer");
+ oContainer = UnoRuntime.queryInterface(XAutoTextContainer.class,oInst);
+ String myGroupName="myNewGroup2*1";
+
+ XAutoTextContainer xATC = UnoRuntime.queryInterface(XAutoTextContainer.class, oContainer);
+
+ try {
+ log.println("removing element with name '" + myGroupName + "'");
+ xATC.removeByName(myGroupName);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ }
+
+ log.println("adding element with name '" + myGroupName + "'");
+ xATC.insertNewByName(myGroupName);
+
+ XNameAccess oContNames = UnoRuntime.queryInterface(XNameAccess.class, oContainer);
+
+ if (Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE)){
+ String contNames[] = oContNames.getElementNames();
+ for (int i =0; i < contNames.length; i++){
+ log.println("ContainerNames[ "+ i + "]: " + contNames[i]);
+ }
+ }
+
+ oObj = (XInterface) AnyConverter.toObject(new Type(XInterface.class),oContNames.getByName(myGroupName));
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ log.println( "creating a new environment for AutoTextGroup object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XText oText = xTextDoc.getText();
+ oText.insertString(oText.getStart(), "New AutoText", true);
+
+ log.println( "adding TextRange as mod relation to environment" );
+ tEnv.addObjRelation("TextRange", oText);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXAutoTextGroup
diff --git a/qadevOOo/tests/java/mod/_sw/SwXBodyText.java b/qadevOOo/tests/java/mod/_sw/SwXBodyText.java
new file mode 100644
index 000000000..e79c25993
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXBodyText.java
@@ -0,0 +1,136 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Text</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXBodyText extends TestCase {
+ XTextDocument xTextDoc = null;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Obtains body text from text document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TEXT'</code> for
+ * {@link ifc.text._XTextRangeCompare} : text</li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : creates 6x4 tables</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+
+ // get the bodytext of textdocument here
+ log.println( " getting the bodytext of textdocument with getText()" );
+ oObj = xTextDoc.getText();
+
+ log.println( " creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println(" adding Text as ObjRelation");
+ tEnv.addObjRelation("TEXT", oObj );
+
+ log.println( " adding InstDescriptor object" );
+ TableDsc tDsc = new TableDsc( 6, 4 );
+
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXBodyText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXBookmark.java b/qadevOOo/tests/java/mod/_sw/SwXBookmark.java
new file mode 100644
index 000000000..034a64b8e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXBookmark.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Bookmark</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::TextContent</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.TextContent
+ * @see ifc.container._XNamed
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XTextContent
+ * @see ifc.text._TextContent
+ */
+public class SwXBookmark extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After creating
+ * a bookmark, it is inserted to the text document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ XInterface oObj = null;
+ Object instance = null;
+ log.println( "creating a test environment" );
+ oObj = SOfficeFactory.createBookmark( xTextDoc );
+ SOfficeFactory.insertTextContent( xTextDoc, (XTextContent) oObj );
+ instance = SOF.createInstance(xTextDoc,"com.sun.star.text.Bookmark");
+ log.println( "creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ util.dbg.printInterfaces((XInterface) instance);
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXBookmark
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXBookmarks.java b/qadevOOo/tests/java/mod/_sw/SwXBookmarks.java
new file mode 100644
index 000000000..3c830212e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXBookmarks.java
@@ -0,0 +1,101 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XBookmarksSupplier;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Bookmarks</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXBookmarks extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. Method
+ * creates two bookmarks and inserts them to the text document. Then bookmarks
+ * are gotten from text document using <code>XBookmarksSupplier</code>
+ * interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ oObj = SOfficeFactory.createBookmark( xTextDoc );
+ SOfficeFactory.insertTextContent( xTextDoc, (XTextContent) oObj );
+ oObj = SOfficeFactory.createBookmark( xTextDoc );
+ SOfficeFactory.insertTextContent( xTextDoc, (XTextContent) oObj );
+
+ XBookmarksSupplier oBSupp = UnoRuntime.queryInterface(XBookmarksSupplier.class, xTextDoc);
+ XNameAccess oBookNA = oBSupp.getBookmarks();
+ oObj = oBookNA;
+ log.println( "creating a new environment for Bookmarks object" );
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXBookmarks
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXCell.java b/qadevOOo/tests/java/mod/_sw/SwXCell.java
new file mode 100644
index 000000000..6773e5d59
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXCell.java
@@ -0,0 +1,118 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is a cell of the table in a text document, and
+ * represented by service <code>com.sun.star.table.Cell</code><p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::CellProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.table.Cell
+ * @see com.sun.star.text.CellProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.text._CellProperties
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXCell extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After creating
+ * a text table, it is inserted to the text document. Finally, first cell of
+ * this table is gotten.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CellProperties.TextSection'</code> for
+ * {@link ifc.text._CellProperties} : range of complete paragraphs
+ * within a text</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextContent oTable = null;
+
+ SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a test environment" );
+ oTable = SOfficeFactory.createTextTable(xTextDoc, 3, 4);
+ try {
+ SOfficeFactory.insertTextContent( xTextDoc, oTable );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Unable to insert TextContent...");
+ e.printStackTrace(log);
+ }
+ oObj = SOfficeFactory.getFirstTableCell( oTable );
+
+ log.println( " creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ try {
+ XInterface oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ log.println(" adding TextSection object");
+ tEnv.addObjRelation("CellProperties.TextSection", oTS);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Could not get instance of TextSection");
+ e.printStackTrace(log);
+ }
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXCell
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXCellRange.java b/qadevOOo/tests/java/mod/_sw/SwXCellRange.java
new file mode 100644
index 000000000..7b60a1f6c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXCellRange.java
@@ -0,0 +1,137 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.table.CellRange</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::CellProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.table.CellRange
+ * @see com.sun.star.text.CellProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.text._CellProperties
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXCellRange extends TestCase {
+ SOfficeFactory SOF;
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. At first
+ * method creates and initializes the table, then if text document has no
+ * tables, previously created table is inserted to text document. Finally,
+ * custom cell range is gotten from the table created.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CellProperties.TextSection'</code> for
+ * {@link ifc.text._CellProperties} : range of complete paragraphs
+ * within a text</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XTextTable the_table = null;
+ XInterface oObj = null;
+ the_table = SOfficeFactory.createTextTable( xTextDoc );
+ the_table.initialize(5, 5);
+
+ if( SOfficeFactory.getTableCollection( xTextDoc ).getCount() == 0 ) {
+ SOfficeFactory.insertTextContent(xTextDoc, the_table );
+ }
+ XCellRange the_Range = UnoRuntime.queryInterface(XCellRange.class, the_table);
+ oObj = the_Range.getCellRangeByPosition(0, 0, 3, 4);
+
+ log.println("Creating instance...");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ log.println("ImplName: " + util.utils.getImplName(oObj));
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ try {
+ XInterface oTS = (XInterface)
+ oDocMSF.createInstance("com.sun.star.text.TextSection");
+ log.println(" adding TextSection object");
+ tEnv.addObjRelation("CellProperties.TextSection", oTS);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Could not get instance of TextSection");
+ e.printStackTrace(log);
+ }
+
+ Object[][] NewData = new Object[5][];
+ NewData[0] = new Double[]
+ {new Double(2.5),new Double(5),new Double(2.5),new Double(5)};
+ NewData[1] = new Double[]
+ {new Double(4),new Double(9),new Double(2.5),new Double(5)};
+ NewData[2] = new Double[]
+ {new Double(2.5),new Double(5),new Double(2.5),new Double(5)};
+ NewData[3] = new Double[]
+ {new Double(2.5),new Double(5),new Double(2.5),new Double(5)};
+ NewData[4] = new Double[]
+ {new Double(4),new Double(9),new Double(2.5),new Double(5)};
+ tEnv.addObjRelation("NewData",NewData);
+
+ // com::sun::star::chart::XChartDataArray
+ tEnv.addObjRelation("CRDESC",
+ "Column and RowDescriptions can't be changed for this Object");
+
+
+ return tEnv;
+ }
+} // finish class SwXCellRange
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java b/qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java
new file mode 100644
index 000000000..b219a82a0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java
@@ -0,0 +1,108 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import com.sun.star.beans.PropertyValue;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XChapterNumberingSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object, which is a collection of chapter numbering rules of document.
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::text::NumberingRules</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.NumberingRules
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.text._NumberingRules
+ */
+public class SwXChapterNumbering extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. Chapter
+ * numbering rules are gotten from text document using interface
+ * <code>XChapterNumberingSupplier</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ XChapterNumberingSupplier oCNSupp = UnoRuntime.queryInterface(XChapterNumberingSupplier.class,xTextDoc);
+ oObj = oCNSupp.getChapterNumberingRules();
+
+ PropertyValue[] instance1 = null;
+ try {
+ instance1 = (PropertyValue[]) oCNSupp.getChapterNumberingRules().getByIndex(1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("INSTANCE1", instance1);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXChapterNumbering
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java
new file mode 100644
index 000000000..94ff90072
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java
@@ -0,0 +1,118 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.DocumentIndex</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XDocumentIndex</code></li>
+ * <li> <code>com::sun::star::text::BaseIndex</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::DocumentIndex</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XDocumentIndex
+ * @see com.sun.star.text.BaseIndex
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.DocumentIndex
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XDocumentIndex
+ * @see ifc.text._BaseIndex
+ * @see ifc.text._XTextContent
+ * @see ifc.text._DocumentIndex
+ */
+public class SwXDocumentIndex extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.DocumentIndex</code>, then created document index
+ * is inserted to the text of the document as content.
+ *
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XTextContent xTC = null;
+ Object instance = null;
+
+ SOfficeFactory.getFactory(tParam.getMSF());
+ log.println( "creating a test environment" );
+ xTC = SOfficeFactory.createIndex(xTextDoc, "com.sun.star.text.DocumentIndex");
+ instance = SOfficeFactory.createIndex(xTextDoc, "com.sun.star.text.DocumentIndex");
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the Index into text document");
+ oText.insertTextContent(oCursor, xTC, false);
+
+ TestEnvironment tEnv = new TestEnvironment(xTC);
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ oCursor.gotoEnd(false);
+ tEnv.addObjRelation("RANGE", UnoRuntime.queryInterface(XTextRange.class, oCursor));
+
+ // relation for XDocumentIndex
+ tEnv.addObjRelation("TextDoc", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXDocumentIndex
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java
new file mode 100644
index 000000000..1e18e920f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java
@@ -0,0 +1,124 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDocumentIndexMark;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.DocumentIndexMark</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::BaseIndexMark</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::TextContent</code></li>
+ * <li> <code>com::sun::star::text::DocumentIndexMark</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.BaseIndexMark
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.text.DocumentIndexMark
+ * @see ifc.lang._XComponent
+ * @see ifc.text._BaseIndexMark
+ * @see ifc.text._XTextContent
+ * @see ifc.text._TextContent
+ * @see ifc.text._DocumentIndexMark
+ */
+public class SwXDocumentIndexMark extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.DocumentIndexMark</code>, attaches text to
+ * created DocumentIndexMark, and inserts DocumentIndexMark to the
+ * text document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ Object oDIM = null;
+ Object instance = null;
+ try {
+ oDIM = oDocMSF.createInstance
+ ("com.sun.star.text.DocumentIndexMark");
+ instance = oDocMSF.createInstance
+ ("com.sun.star.text.DocumentIndexMark");
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Error:" + e);
+ }
+
+ XDocumentIndexMark xDIM = UnoRuntime.queryInterface(XDocumentIndexMark.class, oDIM);
+
+ oText.insertTextContent(oCursor, xDIM, false);
+
+ TestEnvironment tEnv = new TestEnvironment(xDIM);
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ } // finish class SwXDocumentIndexMark
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java
new file mode 100644
index 000000000..06459e4d7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java
@@ -0,0 +1,108 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XDocumentIndexesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for the object, which is represented by collection of document indexes.
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXDocumentIndexes extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.ContentIndex</code>, then created content index is
+ * inserted to the text document, and finally all document indexes are gotten
+ * from a text document using <code>XDocumentIndexesSupplier</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+ SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a test environment" );
+ XTextContent xTC = SOfficeFactory.createIndex(xTextDoc,"com.sun.star.text.ContentIndex");
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the Index into text document");
+ oText.insertTextContent(oCursor, xTC, false);
+
+ XDocumentIndexesSupplier xDocInd = UnoRuntime.queryInterface(XDocumentIndexesSupplier.class,xTextDoc);
+
+ oObj = xDocInd.getDocumentIndexes();
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXDocumentIndexes
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDrawPage.java b/qadevOOo/tests/java/mod/_sw/SwXDrawPage.java
new file mode 100644
index 000000000..d6d44644e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDrawPage.java
@@ -0,0 +1,149 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.DrawPage</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::drawing::GenericDrawPage</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeBinder</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeGrouper</code></li>
+ * <li> <code>com::sun::star::drawing::XShapes</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::drawing::XMasterPageTarget</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeCombiner</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.drawing.GenericDrawPage
+ * @see com.sun.star.drawing.XShapeBinder
+ * @see com.sun.star.drawing.XShapeGrouper
+ * @see com.sun.star.drawing.XShapes
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.drawing.XMasterPageTarget
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.drawing.XShapeCombiner
+ * @see ifc.drawing._GenericDrawPage
+ * @see ifc.drawing._XShapeBinder
+ * @see ifc.drawing._XShapeGrouper
+ * @see ifc.drawing._XShapes
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.drawing._XMasterPageTarget
+ * @see ifc.container._XNamed
+ * @see ifc.drawing._XShapeCombiner
+ */
+public class SwXDrawPage extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After
+ * obtaining DrawPage object several shapes are inserted to it.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes} : shape creator. </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeBinder},
+ * {@link ifc.drawing._XShapeCombiner},
+ * {@link ifc.drawing._XShapeGrouper} : DrawPage component we are
+ * testing.</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XDrawPageSupplier XDPSupp;
+ XDrawPage xDP = null;
+ XShapes oShapes = null;
+
+ log.println( "creating a test environment" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ XDPSupp = UnoRuntime.queryInterface
+ (XDrawPageSupplier.class, xTextDoc);
+ xDP = XDPSupp.getDrawPage();
+ oObj = xDP;
+
+ log.println( "inserting some Shapes" );
+ oShapes = UnoRuntime.queryInterface(XShapes.class, oObj);
+ oShapes.add(SOF.createShape(xTextDoc,2000,1500,1000,1000,"Line"));
+ oShapes.add(SOF.createShape(xTextDoc,3000,4500,15000,1000,"Ellipse"));
+ oShapes.add(SOF.createShape(xTextDoc,5000,3500,7500,5000,"Rectangle"));
+
+ log.println( "creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ ShapeDsc sDsc = new ShapeDsc(15000,13500,7500,10000,"Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator( xTextDoc, sDsc));
+ tEnv.addObjRelation("DrawPage", oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXDrawPage
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java b/qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java
new file mode 100644
index 000000000..c2dbba2d7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.dbg;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XEndnotesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.FootnoteSettings</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::FootnoteSettings</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.FootnoteSettings
+ * @see ifc.text._FootnoteSettings
+ */
+public class SwXEndnoteProperties extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Endnote</code>. Then created endnote is inserted
+ * to the text document, and finally endnote settings are gotten from text
+ * document using <code>XEndnotesSupplier</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XEndnotesSupplier oInterface = null;
+ XInterface oObj = null;
+ XInterface oEndnote;
+
+ log.println( "Creating a test environment" );
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating an endnote");
+ oEndnote = UnoRuntime.queryInterface(XInterface.class,
+ msf.createInstance("com.sun.star.text.Endnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ XTextContent xTC = UnoRuntime.queryInterface(XTextContent.class, oEndnote);
+ oText.insertTextContent(oCursor, xTC, false);
+
+ oInterface = UnoRuntime.queryInterface(XEndnotesSupplier.class, xTextDoc);
+ oObj = oInterface.getEndnoteSettings();
+ dbg.printPropertiesNames((XPropertySet) oObj);
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java b/qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java
new file mode 100644
index 000000000..dcfbf1c2f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDependentTextField;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XEnumeration</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XEnumeration
+ * @see ifc.container._XEnumeration
+ */
+public class SwXFieldEnumeration extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. FieldMaster
+ * object is created and attached to Bibliography database. After setting
+ * properties of created FieldMaster object, it is attached to the TextField
+ * object. Then TextField is inserted as TextContent to the text document.
+ * At the end, TextFields of text document are obtained and
+ * enumeration of these fields is created.<br>
+ * Creates instances of the services:
+ * <code>com.sun.star.text.FieldMaster.Database</code>,
+ * <code>com.sun.star.text.TextField.Database</code>.<br>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ENUM'</code> for
+ * {@link ifc.container._XEnumeration} : text fields</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ Object FieldMaster = null;
+ XPropertySet PFieldMaster = null;
+ XDependentTextField xTF = null;
+ XEnumerationAccess xFEA = null;
+ XText the_Text;
+ XTextCursor the_Cursor;
+ XTextContent the_Field;
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface( XMultiServiceFactory.class, xTextDoc );
+
+ try {
+ FieldMaster = oDocMSF.createInstance
+ ( "com.sun.star.text.FieldMaster.Database" );
+ PFieldMaster = UnoRuntime.queryInterface
+ (XPropertySet.class,FieldMaster);
+ oObj = (XInterface)
+ oDocMSF.createInstance("com.sun.star.text.TextField.Database");
+ xTF = UnoRuntime.queryInterface(XDependentTextField.class,oObj);
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace(log);
+ }
+
+ try {
+ PFieldMaster.setPropertyValue("DataBaseName","Bibliography");
+ PFieldMaster.setPropertyValue("DataTableName","biblio");
+ PFieldMaster.setPropertyValue("DataColumnName","Address");
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ }
+
+ the_Text = xTextDoc.getText();
+ the_Cursor = the_Text.createTextCursor();
+ the_Field = UnoRuntime.queryInterface(XTextContent.class, oObj);
+
+ xTF.attachTextFieldMaster(PFieldMaster);
+ the_Text.insertTextContent(the_Cursor,the_Field,false);
+
+ // create testobject here
+ XTextFieldsSupplier oTFS = UnoRuntime.queryInterface( XTextFieldsSupplier.class, xTextDoc );
+ xFEA = oTFS.getTextFields();
+ oObj = oTFS.getTextFields().createEnumeration();
+
+ log.println( "creating a new environment for FieldEnumeration object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM", xFEA);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFieldEnumeration
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java b/qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java
new file mode 100644
index 000000000..ce1009e05
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java
@@ -0,0 +1,99 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.FieldMaster.Database</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::TextFieldMaster</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.TextFieldMaster
+ * @see com.sun.star.text.FieldMaster.Database
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.text._TextFieldMaster
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXFieldMaster extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.FieldMaster.Database</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ try {
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface( XMultiServiceFactory.class, xTextDoc );
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.FieldMaster.Database" );
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldMaster object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFieldMaster
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnote.java b/qadevOOo/tests/java/mod/_sw/SwXFootnote.java
new file mode 100644
index 000000000..745e3d69c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnote.java
@@ -0,0 +1,134 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FrameDsc;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Footnote</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XFootnote</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::Footnote</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XFootnote
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.Footnote
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XFootnote
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._Footnote
+ * @see ifc.text._XTextContent
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XText
+ */
+public class SwXFootnote extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created footnote
+ * to a text of document as content.
+ * Object relations created :
+ * <ul>
+ * <li><code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XFootnote oFootnote;
+
+ log.println( "Creating a test environment" );
+ // get a soffice factory object
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+ Object instance = null;
+ oFootnote = UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+ instance = msf.createInstance("com.sun.star.text.Footnote");
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ oText.insertTextContent(oCursor, oFootnote, false);
+
+ TestEnvironment tEnv = new TestEnvironment(oFootnote);
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ log.println( "adding InstDescriptor object" );
+ FrameDsc tDsc = new FrameDsc( 3000, 6000 );
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ return tEnv;
+ }
+
+} // finish class SwXFootnote
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java b/qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java
new file mode 100644
index 000000000..c86bc30c7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java
@@ -0,0 +1,108 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for the object, which is represented as set of footnote properties
+ * (instance of <code>com.sun.star.text.FootnoteSettings</code> service).
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::FootnoteSettings</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.FootnoteSettings
+ * @see ifc.text._FootnoteSettings
+ */
+public class SwXFootnoteProperties extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created Footnote
+ * to the text document, and finally gets footnote settings from text
+ * document through <code>XFootnotesSupplier</code> interface.<br>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XFootnotesSupplier oInterface = null;
+ XInterface oObj = null;
+ XFootnote oFootnote;
+
+ log.println( "Creating a test environment" );
+ // get a soffice factory object
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+
+ oFootnote = UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ oText.insertTextContent(oCursor, oFootnote, false);
+
+ oInterface = UnoRuntime.queryInterface(XFootnotesSupplier.class, xTextDoc);
+ oObj = oInterface.getFootnoteSettings();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java b/qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java
new file mode 100644
index 000000000..374e89c66
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java
@@ -0,0 +1,151 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TextSectionDsc;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXFootnoteText extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created Footnote
+ * to the text, and finally sets a string to the footnote. Then the text
+ * gotten from the footnote is returned as tested component.<br>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TEXT'</code> for
+ * {@link ifc.text._XTextRangeCompare} : footnote text</li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : text section creator</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+ XFootnote oFootnote;
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+
+ oFootnote = UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ oText.insertTextContent(oCursor, oFootnote, false);
+
+ XSimpleText oFootText = UnoRuntime.queryInterface(XSimpleText.class, oFootnote);
+ oFootText.setString("SwXFootnoteText");
+
+ oObj = oFootText.getText();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXT", oObj);
+
+ TextSectionDsc tDsc = new TextSectionDsc();
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFootnoteText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnotes.java b/qadevOOo/tests/java/mod/_sw/SwXFootnotes.java
new file mode 100644
index 000000000..d62e20971
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnotes.java
@@ -0,0 +1,110 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Footnotes</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXFootnotes extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created Footnote
+ * to the text, and finally gets all footnotes of text document
+ * through <code>XFootnotesSupplier</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XFootnotesSupplier oInterface = null;
+ XInterface oObj = null;
+
+ log.println( "Creating a test environment" );
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+ XFootnote oFootnote;
+
+ oFootnote = UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ oText.insertTextContent(oCursor, oFootnote, false);
+ oInterface = UnoRuntime.queryInterface(XFootnotesSupplier.class, xTextDoc);
+ oObj = oInterface.getFootnotes();
+
+ log.println( "creating a new environment for Footnotes object" );
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+} // finish class SwXFootnote
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFrames.java b/qadevOOo/tests/java/mod/_sw/SwXFrames.java
new file mode 100644
index 000000000..5a85e0bfe
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFrames.java
@@ -0,0 +1,116 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.text.XTextFramesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XContainer</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XContainer
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XContainer
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXFrames extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.TextFrame</code>. Then inserts created text frame
+ * to the text, and finally gets all frames of text document using
+ * <code>XTextFramesSupplier</code> interface.<br>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+ XMultiServiceFactory oDocMSF = null;
+ XTextFramesSupplier oInterface = null;
+
+ log.println( "creating a test environment" );
+ oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ Object oInt = oDocMSF.createInstance("com.sun.star.text.TextFrame");
+ oFrame1 = UnoRuntime.queryInterface( XTextFrame.class, oInt );
+
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ oText.insertTextContent(oCursor, oFrame1, false);
+
+ oInterface = UnoRuntime.queryInterface( XTextFramesSupplier.class, xTextDoc );
+
+ oObj = oInterface.getTextFrames();
+
+ log.println( "creating a new environment for Frame object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFrames
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java b/qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java
new file mode 100644
index 000000000..7ac8e02e6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java
@@ -0,0 +1,158 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXHeadFootText extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. At first
+ * style families are obtained from text document, then style 'Standard' has
+ * gotten from style family 'PageStyles'. At the end, document header and
+ * footer are switched on and document text is obtained.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : creates tables 6x4</li>
+ * <li> <code>'TEXTDOC'</code> for
+ * {@link ifc.text._XTextRangeCompare} : text document</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XPropertySet PropSet;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ log.println( "creating a test environment" );
+ XStyleFamiliesSupplier StyleFam = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+
+ // obtains style 'Standard' from style family 'PageStyles'
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Standard"));
+
+ PropSet = UnoRuntime.queryInterface( XPropertySet.class, StdStyle);
+
+ // changing/getting some properties
+ log.println( "Switching on header" );
+ PropSet.setPropertyValue("HeaderIsOn", Boolean.TRUE);
+ log.println( "Switching on footer" );
+ PropSet.setPropertyValue("FooterIsOn", Boolean.TRUE);
+ log.println( "Get header text" );
+ oObj = UnoRuntime.queryInterface(
+ XText.class, PropSet.getPropertyValue("HeaderText"));
+
+ log.println( "creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ log.println( "adding InstDescriptor object" );
+ TableDsc tDsc = new TableDsc( 6, 4 );
+
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ tEnv.addObjRelation( "TEXT", oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXHeadFootText
diff --git a/qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java b/qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java
new file mode 100644
index 000000000..815493062
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java
@@ -0,0 +1,106 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.dbg;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XLineNumberingProperties;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.LineNumberingProperties</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::LineNumberingProperties</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.LineNumberingProperties
+ * @see ifc.text._LineNumberingProperties
+ */
+public class SwXLineNumberingProperties extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After inserting
+ * string and control character to the text document, line numbering
+ * properties are gotten using <code>XLineNumberingProperties</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ // insert some Text
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ try {
+ for (int i=0; i<5; i++) {
+ oText.insertString(oCursor, "The quick brown fox jumps "+
+ "over the lazy Dog", false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ log.println("Exception occurred: " + e);
+ }
+
+ XLineNumberingProperties oLNP = UnoRuntime.queryInterface(XLineNumberingProperties.class,xTextDoc);
+ XPropertySet lineNumProps = oLNP.getLineNumberingProperties();
+ dbg.printPropertiesNames(lineNumProps);
+ TestEnvironment tEnv = new TestEnvironment(lineNumProps);
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXLineNumberingProperties
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXMailMerge.java b/qadevOOo/tests/java/mod/_sw/SwXMailMerge.java
new file mode 100644
index 000000000..f3bb2b2f2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXMailMerge.java
@@ -0,0 +1,355 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import com.sun.star.beans.NamedValue;
+
+import util.DBTools;
+import util.utils;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.CommandType;
+import com.sun.star.sdbc.*;
+import com.sun.star.sdbcx.XRowLocate;
+import com.sun.star.task.XJob;
+import com.sun.star.text.MailMergeType;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Here <code>com.sun.star.text.MailMerge</code> service is tested.<p>
+* @see com.sun.star.text.MailMerge
+* @see com.sun.star.task.XJob
+* @see com.sun.star.text.XMailMergeBroadcaster
+*/
+public class SwXMailMerge extends TestCase {
+
+ @Override
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ if (! Param.containsKey("uniqueSuffix")){
+ Param.put("uniqueSuffix", Integer.valueOf(0));
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. <p>
+ * Creates <code>MailMerge</code> service * Object relations created :
+ * <ul>
+ * <li> <code>'executeArgs'</code> for
+ * {@link ifc.text._XMailMergeBroadcaster} : NamedValue[]</li>
+ * <li> <code>'Job'</code> for
+ * {@link ifc.text._XMailMergeBroadcaster} : XJob</li>
+ * <li> <code>'XJobArgs'</code> for
+ * {@link ifc.task._XJob} : Object[]</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XInterface oRowSet = null;
+ XJob Job = null;
+
+ log.println(" instantiate MailMerge service");
+ oObj = (XInterface) Param.getMSF().createInstance
+ ("com.sun.star.text.MailMerge");
+
+ // <set some variables>
+ String cTestDoc = utils.getFullTestURL("MailMerge.sxw");
+ //cMailMerge_DocumentURL = cTestDoc
+ String cOutputURL = utils.getOfficeTemp( Param.getMSF());
+ String cDataSourceName = "Bibliography";
+ String cDataCommand = "biblio";
+ Object[] myBookMarks = new Object[2];
+ // </set some variables>
+
+ // <create XResultSet>
+ log.println("create a XResultSet");
+ oRowSet = (XInterface) Param.getMSF().createInstance
+ ("com.sun.star.sdb.RowSet");
+ XPropertySet oRowSetProps = UnoRuntime.queryInterface(XPropertySet.class, oRowSet);
+ XRowSet xRowSet = UnoRuntime.queryInterface(XRowSet.class, oRowSet);
+ oRowSetProps.setPropertyValue("DataSourceName",cDataSourceName);
+ oRowSetProps.setPropertyValue("Command",cDataCommand);
+ oRowSetProps.setPropertyValue("CommandType", Integer.valueOf(CommandType.TABLE));
+ xRowSet.execute();
+
+ XResultSet oResultSet = UnoRuntime.queryInterface(XResultSet.class, oRowSet);
+
+
+
+
+ // <create Bookmarks>
+ log.println("create bookmarks");
+ XRowLocate oRowLocate = UnoRuntime.queryInterface(
+ XRowLocate.class, oResultSet);
+ oResultSet.first();
+ myBookMarks[0] = oRowLocate.getBookmark();
+ oResultSet.next();
+ myBookMarks[1] = oRowLocate.getBookmark();
+ // </create Bookmarks>
+
+ // <fill object with values>
+
+ log.println("fill MailMerge with default connection");
+
+ XPropertySet oObjProps = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ oObjProps.setPropertyValue("ActiveConnection", getLocalXConnection(Param));
+ oObjProps.setPropertyValue("DataSourceName", cDataSourceName);
+ oObjProps.setPropertyValue("Command", cDataCommand);
+ oObjProps.setPropertyValue("CommandType", Integer.valueOf(CommandType.TABLE));
+ oObjProps.setPropertyValue("OutputType", Short.valueOf(MailMergeType.FILE));
+ oObjProps.setPropertyValue("DocumentURL", cTestDoc);
+ oObjProps.setPropertyValue("OutputURL", cOutputURL);
+ oObjProps.setPropertyValue("FileNamePrefix", "Author");
+ oObjProps.setPropertyValue("FileNameFromColumn", Boolean.FALSE);
+ oObjProps.setPropertyValue("Selection", new Object[0]);
+
+ // </fill object with values>
+
+
+ // <create object relations>
+ Object[] vXJobArgs = new Object[4];
+ NamedValue[] vXJobArg0 = new NamedValue[8];
+ NamedValue[] vXJobArg1 = new NamedValue[7];
+ NamedValue[] vXJobArg2 = new NamedValue[10];
+ NamedValue[] vXJobArg3 = new NamedValue[0];
+
+ // first Arguments
+ vXJobArg0[0] = new NamedValue("DataSourceName", cDataSourceName);
+ vXJobArg0[1] = new NamedValue("Command", cDataCommand);
+ vXJobArg0[2] = new NamedValue("CommandType",Integer.valueOf(CommandType.TABLE));
+ vXJobArg0[3] = new NamedValue("OutputType",Short.valueOf(MailMergeType.FILE));
+ vXJobArg0[4] = new NamedValue("DocumentURL", cTestDoc);
+ vXJobArg0[5] = new NamedValue("OutputURL", cOutputURL);
+ vXJobArg0[6] = new NamedValue("FileNamePrefix", "Identifier");
+ vXJobArg0[7] = new NamedValue("FileNameFromColumn", Boolean.TRUE);
+
+ //second Arguments
+ vXJobArg1[0] = new NamedValue("DataSourceName", cDataSourceName);
+ vXJobArg1[1] = new NamedValue("Command", cDataCommand);
+ vXJobArg1[2] = new NamedValue("CommandType",Integer.valueOf(CommandType.TABLE));
+ vXJobArg1[3] = new NamedValue("OutputType",
+ Short.valueOf(MailMergeType.PRINTER));
+ vXJobArg1[4] = new NamedValue("DocumentURL", cTestDoc);
+ vXJobArg1[5] = new NamedValue("FileNamePrefix", "Author");
+ vXJobArg1[6] = new NamedValue("FileNameFromColumn", Boolean.TRUE);
+
+ // third Arguments
+ vXJobArg2[0] = new NamedValue("ActiveConnection", getLocalXConnection(Param));
+ vXJobArg2[1] = new NamedValue("DataSourceName", cDataSourceName);
+ vXJobArg2[2] = new NamedValue("Command", cDataCommand);
+ vXJobArg2[3] = new NamedValue("CommandType",Integer.valueOf(CommandType.TABLE));
+ vXJobArg2[4] = new NamedValue("OutputType",
+ Short.valueOf(MailMergeType.FILE));
+ vXJobArg2[5] = new NamedValue("ResultSet", oResultSet);
+ vXJobArg2[6] = new NamedValue("OutputURL", cOutputURL);
+ vXJobArg2[7] = new NamedValue("FileNamePrefix", "Identifier");
+ vXJobArg2[8] = new NamedValue("FileNameFromColumn", Boolean.TRUE);
+ vXJobArg2[9] = new NamedValue("Selection", myBookMarks);
+
+ vXJobArgs[0] = vXJobArg0;
+ vXJobArgs[1] = vXJobArg1;
+ vXJobArgs[2] = vXJobArg2;
+ vXJobArgs[3] = vXJobArg3;
+
+
+ Job = UnoRuntime.queryInterface(XJob.class, oObj);
+ try{
+ Job.execute(vXJobArg2);
+ } catch ( IllegalArgumentException e){
+ System.out.println(e.toString());
+ } catch ( Exception e){
+ System.out.println(e.toString());
+ }
+
+
+ // <create XResultSet>
+ log.println("create XResultSet");
+
+ oRowSet = (XInterface) Param.getMSF().createInstance
+ ("com.sun.star.sdb.RowSet");
+ oRowSetProps = UnoRuntime.queryInterface(XPropertySet.class, oRowSet);
+
+ xRowSet = UnoRuntime.queryInterface(XRowSet.class, oRowSet);
+
+ oRowSetProps.setPropertyValue("DataSourceName",cDataSourceName);
+ oRowSetProps.setPropertyValue("Command",cDataCommand);
+ oRowSetProps.setPropertyValue("CommandType", Integer.valueOf(CommandType.TABLE));
+ xRowSet.execute();
+
+ oResultSet = UnoRuntime.queryInterface(XResultSet.class, oRowSet);
+
+ XResultSet oMMXResultSet = null;
+ oMMXResultSet = UnoRuntime.queryInterface(XResultSet.class,
+ Param.getMSF().createInstance("com.sun.star.sdb.RowSet"));
+ // </create object relations>
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // <adding object relations>
+
+ // com.sun.star.sdb.DataAccessDescriptor
+ tEnv.addObjRelation("DataAccessDescriptor.XResultSet", oResultSet);
+ tEnv.addObjRelation("DataAccessDescriptor.XConnection", getRemoteXConnection(Param));
+
+ // com.sun.star.text.MailMerge
+ tEnv.addObjRelation("MailMerge.XConnection", getRemoteXConnection(Param));
+ tEnv.addObjRelation("MailMerge.XResultSet", oMMXResultSet);
+
+ // com.sun.star.text.XMailMergeBroadcaster
+ tEnv.addObjRelation( "executeArgs", vXJobArg0);
+ tEnv.addObjRelation( "Job", Job);
+
+ // com.sun.star.task.XJob
+ tEnv.addObjRelation("XJobArgs", vXJobArgs);
+
+ // </adding object relations>
+
+ return tEnv ;
+ }
+
+ private XConnection getRemoteXConnection(TestParameters Param){
+
+ log.println("create remote connection");
+
+ String databaseName = null ;
+ XMultiServiceFactory xMSF = null ;
+ int uniqueSuffix = Param.getInt("uniqueSuffix");
+
+ try {
+ xMSF = Param.getMSF();
+ xMSF.createInstance( "com.sun.star.sdb.DatabaseContext" );
+
+ // retrieving temp directory for database
+ String tmpDatabaseUrl = utils.getOfficeTempDir(Param.getMSF());
+
+ databaseName = "NewDatabaseSource" + uniqueSuffix ;
+
+ String tmpDatabaseFile = tmpDatabaseUrl + databaseName + ".odb";
+ System.out.println("try to delete '"+tmpDatabaseFile+"'");
+ utils.deleteFile(Param.getMSF(), tmpDatabaseFile);
+
+
+ tmpDatabaseUrl = "sdbc:dbase:file:///" + tmpDatabaseUrl ;
+
+ // Creating new DBase data source in the TEMP directory
+ XInterface newSource = (XInterface) xMSF.createInstance
+ ("com.sun.star.sdb.DataSource") ;
+
+ XPropertySet xSrcProp = UnoRuntime.queryInterface(XPropertySet.class, newSource);
+
+ xSrcProp.setPropertyValue("URL", tmpDatabaseUrl) ;
+
+ DBTools dbt = new DBTools( Param.getMSF() );
+ // registering source in DatabaseContext
+ log.println("register database '"+tmpDatabaseUrl+"' as '"+databaseName+"'" );
+ dbt.reRegisterDB(databaseName, newSource) ;
+
+ uniqueSuffix++;
+ Param.put("uniqueSuffix", Integer.valueOf(uniqueSuffix));
+
+ return dbt.connectToSource(newSource);
+ }
+ catch( Exception e ) {
+ uniqueSuffix++;
+ Param.put("uniqueSuffix", Integer.valueOf(uniqueSuffix));
+ log.println("could not register new database" );
+ e.printStackTrace();
+ throw new StatusException("could not register new database", e) ;
+ }
+ }
+
+ private XConnection getLocalXConnection(TestParameters Param){
+
+ log.println("create local connection");
+
+ XInterface oDataCont = null;
+ try {
+ oDataCont = (XInterface)Param.getMSF().createInstance
+ ("com.sun.star.sdb.DatabaseContext");
+ } catch(Exception e) {
+ throw new StatusException("Couldn't create instance of 'com.sun.star.sdb.DatabaseContext'", e);
+ }
+ XNameAccess xNADataCont = UnoRuntime.queryInterface(XNameAccess.class, oDataCont);
+
+ String[] dataNames = xNADataCont.getElementNames();
+
+ String dataName="";
+ for (int i = 0; i < dataNames.length; i++){
+ if (dataNames[i].startsWith("Biblio")) dataName=dataNames[i];
+ }
+
+ try{
+
+ Object oDataBase = xNADataCont.getByName(dataName);
+ XDataSource xDataSource = UnoRuntime.queryInterface(XDataSource.class, oDataBase);
+
+ return xDataSource.getConnection("","");
+
+ } catch ( NoSuchElementException e){
+ throw new StatusException("Couldn't get registered data base", e);
+ } catch ( WrappedTargetException e){
+ throw new StatusException("Couldn't get registered data base", e);
+ } catch ( SQLException e){
+ throw new StatusException("Couldn't get XConnection from registered data base", e);
+ }
+
+ }
+
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("closing connections...");
+ XMultiServiceFactory xMsf = Param.getMSF();
+ DBTools dbt = new DBTools( xMsf );
+
+ if (Param.containsKey("uniqueSuffix")){
+ int uniqueSuffix = Param.getInt("uniqueSuffix");
+ uniqueSuffix--;
+ String databaseName = "";
+ while (uniqueSuffix >= 0){
+
+ databaseName = "NewDatabaseSource" + uniqueSuffix ;
+
+ log.println("revoke '"+databaseName+"'");
+
+ try{
+ dbt.revokeDB(databaseName);
+ } catch (com.sun.star.uno.Exception e){
+ }
+
+ uniqueSuffix--;
+ }
+ }
+
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXModule.java b/qadevOOo/tests/java/mod/_sw/SwXModule.java
new file mode 100644
index 000000000..6d074c86f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXModule.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.GlobalSettings</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::view::XPrintSettingsSupplier</code></li>
+ * <li> <code>com::sun::star::view::XViewSettingsSupplier</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.view.XPrintSettingsSupplier
+ * @see com.sun.star.view.XViewSettingsSupplier
+ * @see ifc.view._XPrintSettingsSupplier
+ * @see ifc.view._XViewSettingsSupplier
+ */
+public class SwXModule extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.GlobalSettings</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ Object oInterface = Param.getMSF().createInstance(
+ "com.sun.star.text.GlobalSettings" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXModule
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java b/qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java
new file mode 100644
index 000000000..cfc957228
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java
@@ -0,0 +1,162 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.NumberingRules</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::text::NumberingRules</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.NumberingRules
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.text._NumberingRules
+ */
+public class SwXNumberingRules extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * At first some strings are inserted to a text document, then style families
+ * are gotten from text document using <code>XStyleFamiliesSupplier</code>.
+ * Then style family 'NumberingRules' is retrieved, then style indexed '0'
+ * is obtained. At the end property value 'NumberingRules' is obtained from
+ * given style.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XInterface oObj = null;
+ XIndexAccess NumStyleI = null;
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ try {
+ for (int i=0; i<5; i++) {
+ oText.insertString(oCursor, "The quick brown fox jumps "+
+ "over the lazy Dog", false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ }
+
+ XStyleFamiliesSupplier oStyleFamiliesSupplier = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+
+ try {
+ XNameAccess oStyleFamilies = oStyleFamiliesSupplier.getStyleFamilies();
+ XNameContainer NumStyles = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oStyleFamilies.getByName("NumberingStyles"));
+ NumStyleI = UnoRuntime.queryInterface(XIndexAccess.class,NumStyles);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Error, no such style family...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ }
+
+ Object instance1 = null;
+
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),NumStyleI.getByIndex(0));
+ XPropertySet props = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),props.getPropertyValue("NumberingRules"));
+ XIndexAccess nRules = UnoRuntime.queryInterface(XIndexAccess.class, props.getPropertyValue("NumberingRules"));
+ instance1 = nRules.getByIndex(0);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("INSTANCE1", instance1);
+ return tEnv;
+ }
+
+} // finish class SwXNumberingRules
diff --git a/qadevOOo/tests/java/mod/_sw/SwXParagraph.java b/qadevOOo/tests/java/mod/_sw/SwXParagraph.java
new file mode 100644
index 000000000..c32d63b28
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXParagraph.java
@@ -0,0 +1,225 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Paragraph</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::TextContent</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.style.CharacterPropertiesComplex
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.style.CharacterPropertiesAsian
+ * @see com.sun.star.text.Paragraph
+ * @see ifc.text._XTextContent
+ * @see ifc.text._TextContent
+ * @see ifc.style._CharacterPropertiesComplex
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.beans._XPropertyState
+ * @see ifc.style._CharacterProperties
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.lang._XComponent
+ * @see ifc.style._CharacterPropertiesAsian
+ */
+public class SwXParagraph extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. To obtain
+ * test component, at first several paragraphs are inserted to a major text
+ * of text document. Then enumeration of text paragraphs is created, and
+ * some paragraph is gotten using <code>XEnumeration</code> interface.<p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.style._CharacterProperties} : paragraph </li>
+ * <li> <code>'PORTION'</code> for
+ * {@link ifc.style._CharacterProperties} : some text portion of
+ * paragraph. To obtain text portion, enumeration of paragraph text portions is
+ * created, and some text portion is gotten using <code>XEnumeration</code>
+ * interface. </li>
+ * <li> <code>'NRULES'</code> for
+ * {@link ifc.style._ParagraphProperties} : value of property
+ * 'NumberingRules' of paragraph. Method changes property
+ * 'NumberingStyleName' of previously obtained paragraph, and gets value of
+ * a property 'NumberingRules'. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ if (xTextDoc != null) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+
+ XInterface oObj = null;
+ XPropertySet paraP = null;
+ XPropertySet portP = null;
+ Object nRules = null;
+ XInterface port = null;
+ XInterface para = null;
+
+ log.println( "creating a test environment" );
+
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ for (int i=0; i<5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = UnoRuntime.queryInterface(XEnumerationAccess.class, oText );
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ try {
+ para = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum.nextElement());
+ XEnumerationAccess oEnumB = UnoRuntime.queryInterface( XEnumerationAccess.class, para );
+ XEnumeration oEnum2 = oEnumB.createEnumeration();
+ port = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum2.nextElement());
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occurred...");
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occurred...");
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occurred...");
+ }
+
+ portP = UnoRuntime.queryInterface(XPropertySet.class, port);
+ paraP = UnoRuntime.queryInterface(XPropertySet.class, para);
+ paraP.setPropertyValue("NumberingStyleName","Numbering IVX");
+ nRules = paraP.getPropertyValue("NumberingRules");
+
+
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum.nextElement());
+
+
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println("adding ObjectRelation 'PARA' for CharacterProperties");
+ tEnv.addObjRelation("PARA", paraP);
+
+ log.println("adding ObjectRelation 'PORTION' for CharacterProperties");
+ tEnv.addObjRelation("PORTION", portP);
+
+ log.println("adding ObjectRelation 'NRULES' for ParagraphProperties");
+ tEnv.addObjRelation("NRULES", nRules);
+
+ tEnv.addObjRelation("NoAttach","SwXParagraph");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXParagraph
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java b/qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java
new file mode 100644
index 000000000..3e17bfce3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java
@@ -0,0 +1,141 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.ParagraphEnumeration</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XEnumeration</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XEnumeration
+ * @see ifc.container._XEnumeration
+ */
+public class SwXParagraphEnumeration extends TestCase {
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After major
+ * text is gotten from a text document, three paragraphs (each of them
+ * filled by 5 strings) are inserted to major text. Finally, paragraph
+ * enumeration is created using <code>XEnumeration</code> interface.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ENUM'</code> for
+ * {@link ifc.container._XEnumeration} : major text of text document
+ * with several paragraphs inserted, queried to
+ * <code>XEnumerationAccess</code> interface.</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ for (int i=0; i<3; i++) {
+ try {
+ oText.insertString( oCursor, "Paragraph Number: " + i, false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println( "EXCEPTION: " + e);
+ }
+
+ for (int j=0; j<5; j++){
+ try {
+ oText.insertString( oCursor,"The quick brown fox jumps"+
+ " over the lazy Dog: SwXParagraph", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ oText.insertString( oCursor, "THE QUICK BROWN FOX JUMPS"+
+ " OVER THE LAZY DOG: SwXParagraph", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ try {
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = UnoRuntime.queryInterface( XEnumerationAccess.class, oText );
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ oObj = oEnum;
+
+ log.println("creating a new environment for ParagraphEnumeration object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM", oEnumA);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXParagraphEnumeration
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java b/qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java
new file mode 100644
index 000000000..109b947f6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java
@@ -0,0 +1,91 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XPrintSettingsSupplier;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.PrintSettings</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::PrintSettings</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.PrintSettings
+ * @see ifc.text._PrintSettings
+ */
+public class SwXPrintSettings extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.GlobalSettings</code>, then print settings are
+ * gotten using <code>XPrintSettingsSupplier</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+ Object oInst = null;
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory myMSF = tParam.getMSF();
+ oInst = myMSF.createInstance("com.sun.star.text.GlobalSettings");
+ XPrintSettingsSupplier xPSS = UnoRuntime.queryInterface(XPrintSettingsSupplier.class, oInst);
+ oObj = xPSS.getPrintSettings();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXPrintSettings
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXPropertySet.java b/qadevOOo/tests/java/mod/_sw/SwXPropertySet.java
new file mode 100644
index 000000000..0089c2f11
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXPropertySet.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+
+/**
+ * Test for object which is represented by text document.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXPropertySet extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Method creates text document as a test component.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+
+ log.println( "creating a test environment" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc( null );
+
+ TestEnvironment tEnv = new TestEnvironment( xTextDoc );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXPropertySet
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java b/qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java
new file mode 100644
index 000000000..c47e0080b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java
@@ -0,0 +1,82 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by PropertySetInfo of
+ * text document.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySetInfo</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.beans.XPropertySetInfo
+ * @see ifc.beans._XPropertySetInfo
+ */
+public class SwXPropertySetInfo extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. Method
+ * creates text document, then obtains PropertySetInfo of created text
+ * document using <code>XPropertySet</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+
+ log.println( " getting the XPropertySetInfo" );
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, xTextDoc);
+ oObj = xProp.getPropertySetInfo();
+ log.println( " creating a new environment for PropertySetInfo object" );
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXPropertySetInfo
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java b/qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java
new file mode 100644
index 000000000..8b257ba13
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java
@@ -0,0 +1,117 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.ReferenceMark</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.ReferenceMark
+ * @see ifc.container._XNamed
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XTextContent
+ */
+public class SwXReferenceMark extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.ReferenceMark</code>, then sets new
+ * name of created ReferenceMark using <code>XNamed</code> interface.
+ * Finally, renamed ReferenceMark is inserted to a major text of text
+ * document as a text content.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception{
+ XInterface oObj = null;
+ XText oText = null;
+ String Name = "SwXReferenceMark";
+
+ log.println( "creating a test environment" );
+ oText = xTextDoc.getText();
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ Object instance = null;
+ oObj = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.ReferenceMark");
+ instance = oDocMSF.createInstance
+ ("com.sun.star.text.ReferenceMark");
+
+ XNamed oObjN = UnoRuntime.queryInterface(XNamed.class, oObj);
+ oObjN.setName(Name);
+ XTextContent oObjTC = UnoRuntime.queryInterface(XTextContent.class, oObj);
+
+ XTextCursor oCursor = oText.createTextCursor();
+ oText.insertTextContent(oCursor, oObjTC, false);
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXReferenceMark
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java b/qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java
new file mode 100644
index 000000000..40b99adec
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java
@@ -0,0 +1,128 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XReferenceMarksSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.ReferenceMarks</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.ReferenceMarks
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXReferenceMarks extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instances of the service
+ * <code>com.sun.star.text.ReferenceMark</code>, then sets new names to
+ * created ReferenceMark's using <code>XNamed</code> interface. Then renamed
+ * ReferenceMark's are inserted to a major text of text document. Finally,
+ * ReferenceMarks are gotten from text document using
+ * <code>XReferenceMarksSupplier</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+ XText oText = null;
+ String Name = "SwXReferenceMark01";
+ String Name2 = "SwXReferenceMark02";
+
+ log.println( "creating a test environment" );
+ oText = xTextDoc.getText();
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ // Creation and insertion of ReferenceMark01
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.ReferenceMark" );
+ XNamed oObjN = UnoRuntime.queryInterface(XNamed.class, oObj);
+ oObjN.setName(Name);
+ XTextContent oObjTC = UnoRuntime.queryInterface(XTextContent.class, oObj);
+ XTextCursor oCursor = oText.createTextCursor();
+ oText.insertTextContent(oCursor, oObjTC, false);
+
+ // Creation and insertion of ReferenceMark02
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.ReferenceMark" );
+ XNamed oObjN2 = UnoRuntime.queryInterface(XNamed.class, oObj);
+ oObjN2.setName(Name2);
+
+ XTextContent oObjTC2 = UnoRuntime.queryInterface(XTextContent.class, oObj);
+ oText.insertTextContent(oCursor, oObjTC2, false);
+
+ // getting ReferenceMarks from text document
+ XReferenceMarksSupplier oRefSupp = UnoRuntime.queryInterface(XReferenceMarksSupplier.class, xTextDoc);
+ oObj = oRefSupp.getReferenceMarks();
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXReferenceMarks
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXShape.java b/qadevOOo/tests/java/mod/_sw/SwXShape.java
new file mode 100644
index 000000000..e3309db61
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXShape.java
@@ -0,0 +1,120 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.Shape</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.drawing.Shape
+ * @see ifc.lang._XComponent
+ * @see ifc.drawing._XShape
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.beans._XPropertySet
+ * @see ifc.drawing._Shape
+ */
+public class SwXShape extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. At first,
+ * DrawPage is gotten from text document using <code>XDrawPageSupplier</code>
+ * interface. Then shape (rectangle) is created and added to DrawPage
+ * obtained before, then returned as a test component.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XDrawPage oDP = null;
+ XShapes oShapes = null;
+
+ log.println( "creating a test environment" );
+ log.println( "getting Drawpage" );
+ XDrawPageSupplier oDPS = UnoRuntime.queryInterface(XDrawPageSupplier.class, xTextDoc);
+ oDP = oDPS.getDrawPage();
+
+ log.println( "getting Shape" );
+ oShapes = UnoRuntime.queryInterface(XShapes.class, oDP);
+ oObj = SOF.createShape(xTextDoc,5000,3500,7500,5000,"Rectangle");
+ oShapes.add((XShape) oObj);
+
+ for ( int i = 0; i < 9; i++){
+ XInterface oShape = SOF.createShape(xTextDoc,
+ 5000 + 100*i,3500,7500,5000,"Rectangle");
+ oShapes.add((XShape) oShape);
+ }
+
+ log.println( "creating a new environment for XShape object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXShape
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXStyle.java b/qadevOOo/tests/java/mod/_sw/SwXStyle.java
new file mode 100644
index 000000000..6a01b029e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXStyle.java
@@ -0,0 +1,181 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.Style</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::style::Style</code></li>
+ * <li> <code>com::sun::star::style::XStyle</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.style.Style
+ * @see com.sun.star.style.XStyle
+ * @see ifc.container._XNamed
+ * @see ifc.style._Style
+ * @see ifc.style._XStyle
+ */
+public class SwXStyle extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * At first style families are gotten from a text document using
+ * <code>XStyleFamiliesSupplier</code> interface, then family indexed '0' is
+ * gotten from this style family using <code>XIndexAccess</code> interface.
+ * Next, method creates an instance of the service
+ * <code>com.sun.star.style.CharacterStyle</code> and inserts it to a
+ * previously obtained style family using <code>XNameContainer</code>
+ * interface. Finally, method creates a cursor of a major text of text
+ * document and sets it's property 'CharStyleName' value to the name of
+ * previously created style's name.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PoolStyle'</code> for
+ * {@link ifc.style._XStyle} : style indexed '10' obtained from
+ * StyleFamily indexed '0' from text document using
+ * <code>XIndexAccess</code> interface.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ XIndexAccess oSFsIA = UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+ oSFNA = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),oSFsIA.getByIndex(0));
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oSFIA.getByIndex(10));
+
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.CharacterStyle");
+ oMyStyle = UnoRuntime.queryInterface(XStyle.class, oInt);
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+ XNameContainer oSFNC = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+
+ xProp.setPropertyValue("CharStyleName", oMyStyle.getName());
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+ tEnv.addObjRelation("PropertyNames",getPropertyNames(xStyleProp));
+
+ return tEnv;
+ }
+
+ public String[] getPropertyNames(XPropertySet props) {
+ Property[] the_props = props.getPropertySetInfo().getProperties();
+ String[] names = new String[the_props.length];
+ String placebo = "";
+ for (int i=0;i<the_props.length;i++) {
+ boolean isWritable =
+ ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
+ if (isWritable) placebo=the_props[i].Name;
+ }
+ for (int i=0;i<the_props.length;i++) {
+ boolean isWritable =
+ ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
+ if (isWritable) {
+ names[i]=the_props[i].Name;
+ } else {
+ names[i] = placebo;
+ }
+ }
+ return names;
+ }
+
+} // finish class SwXStyle
diff --git a/qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java b/qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java
new file mode 100644
index 000000000..ebbc4690a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.StyleFamilies</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.style.StyleFamilies
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XIndexAccess
+ */
+public class SwXStyleFamilies extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. Style families
+ * are gotten from text document using <code>XStyleFamiliesSupplier</code>
+ * interface and returned as a test component.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+
+
+ log.println( "Creating a test environment" );
+ XTextDocument xArea = UnoRuntime.queryInterface(XTextDocument.class, xTextDoc);
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xArea);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+
+ TestEnvironment tEnv = new TestEnvironment(oSF);
+ return tEnv;
+ }
+
+
+} // finish class SwXStyle
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java b/qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java
new file mode 100644
index 000000000..c785ebd84
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java
@@ -0,0 +1,169 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.StyleFamily</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameContainer</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XNameReplace</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNameContainer
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XNameReplace
+ * @see ifc.container._XNameContainer
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XNameReplace
+ */
+public class SwXStyleFamily extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. At first,
+ * style families of text document are gotten using
+ * <code>XStyleFamiliesSupplier</code> interface, then family indexed '0' is
+ * gotten from previously obtained style families collection using
+ * <code>XIndexAccess</code> interface. Finally, method creates an instance
+ * of the service <code>com.sun.star.style.CharacterStyle</code> and inserts
+ * it to a gotten style family as 'SwXStyleFamily' using
+ * <code>XNameContainer</code> interface.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XNameReplaceINDEX'</code> for
+ * {@link ifc.container._XNameReplace} : number of last taken instance
+ * of <code>com.sun.star.style.CharacterStyle</code>, when multithread
+ * testing is going.</li>
+ * <li> <code>'NAMEREPLACE'</code> for
+ * {@link ifc.container._XNameReplace} : name of style family, inserted
+ * to style families of a text document.</li>
+ * <li> <code>'INSTANCEn'</code> for
+ * {@link ifc.container._XIndexContainer},
+ * {@link ifc.container._XIndexReplace},
+ * {@link ifc.container._XNameContainer},
+ * {@link ifc.container._XNameReplace} : several relations, which are
+ * represented by instances of service
+ * <code>com.sun.star.style.CharacterStyle</code>.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XNameAccess oSFNA = null;
+
+ log.println( "Creating Test Environment..." );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ XComponent xComp = UnoRuntime.queryInterface(XComponent.class, xTextDoc);
+ XInterface oInstance = (XInterface)
+ SOF.createInstance(xComp, "com.sun.star.style.CharacterStyle");
+ XStyleFamiliesSupplier oSFsS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess oSF = oSFsS.getStyleFamilies();
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+
+ oSFNA = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),oSFIA.getByIndex(0));
+
+ XNameContainer oContainer = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ // insert a Style which can be replaced by name
+ try {
+ oContainer.insertByName("SwXStyleFamily",oInstance);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Could not insert style family.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Could not insert style family.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ log.println("Could not insert style family.");
+ e.printStackTrace(log);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oSFNA);
+
+ int THRCNT = 1;
+ if ((String)Param.get("THRCNT") != null) {
+ THRCNT = Integer.parseInt((String)Param.get("THRCNT"));
+ }
+ String nr = Integer.toString(THRCNT+1);
+
+ log.println( "adding NameReplaceIndex as mod relation to environment" );
+ tEnv.addObjRelation("XNameReplaceINDEX", nr);
+
+ for (int n=1; n<(THRCNT+3); n++ ) {
+ log.println( "adding INSTANCE"+n+" as mod relation to environment");
+ tEnv.addObjRelation("INSTANCE"+n,
+ SOF.createInstance(xComp,"com.sun.star.style.CharacterStyle"));
+ }
+
+ log.println("adding NAMEREPLACE as mod relation to environment");
+ tEnv.addObjRelation("NAMEREPLACE", "SwXStyleFamily");
+
+ return tEnv;
+ }
+
+} // finish class SwXStyleFamily
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTableCellText.java b/qadevOOo/tests/java/mod/_sw/SwXTableCellText.java
new file mode 100644
index 000000000..336aba189
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTableCellText.java
@@ -0,0 +1,146 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TextSectionDsc;
+
+import com.sun.star.table.XCell;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by cell text of the text table.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXTableCellText extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After creation
+ * of text table, it is inserted to a text document. Then cell named 'A1' is
+ * obtained from table, string 'SwXTableCellText' is set to this cell, then
+ * cell text is gotten from cell obtained before and returned as a test
+ * component.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TEXT'</code> for
+ * {@link ifc.text._XTextRangeCompare} : table cell text</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : creates text sections</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ log.println( "Creating a test environment" );
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+
+ XCell oCell = oTable.getCellByName("A1");
+ XSimpleText oCellText = UnoRuntime.queryInterface(XSimpleText.class, oCell);
+ oCellText.setString("SwXTableCellText");
+ oObj = oCellText.getText();
+
+ log.println( "creating a new environment for Cell object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXT", oObj);
+
+ log.println( " adding InstCreator object" );
+ TextSectionDsc tDsc = new TextSectionDsc();
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXTableCellText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTableColumns.java b/qadevOOo/tests/java/mod/_sw/SwXTableColumns.java
new file mode 100644
index 000000000..2acfbf586
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTableColumns.java
@@ -0,0 +1,112 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.table.TableColumns</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::table::XTableColumns</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.table.XTableColumns
+ * @see com.sun.star.table.TableColumns
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XNameAccess
+ * @see ifc.table._XTableColumns
+ */
+public class SwXTableColumns extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After creation
+ * of text table, it is inserted to text document, then columns are gotten
+ * from table.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ log.println( "creating a test environment" );
+
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+
+ oObj = oTable.getColumns();
+
+ log.println( "creating a new environment for TableColumns object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XTableColumns
+ tEnv.addObjRelation("XTableColumns.XCellRange",
+ UnoRuntime.queryInterface(XCellRange.class, oTable));
+
+ tEnv.addObjRelation("XIndexAccess.getByIndex.mustBeNull", Boolean.TRUE);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTableColumns
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTableRows.java b/qadevOOo/tests/java/mod/_sw/SwXTableRows.java
new file mode 100644
index 000000000..1dc1be9d2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTableRows.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.table.TableRows</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::table::XTableRows</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.table.XTableRows
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.table._XTableRows
+ */
+public class SwXTableRows extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After creation
+ * of text table, it is inserted to text document, then rows are gotten
+ * from table.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ log.println( "creating a test environment" );
+ SOfficeFactory.getFactory( tParam.getMSF() );
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+ oObj = oTable.getRows();
+
+ log.println( "creating a new environment for TableColumns object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XTableColumns
+ tEnv.addObjRelation("XTableRows.XCellRange",
+ UnoRuntime.queryInterface(XCellRange.class, oTable));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTableRows
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextColumns.java b/qadevOOo/tests/java/mod/_sw/SwXTextColumns.java
new file mode 100644
index 000000000..d198e4468
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextColumns.java
@@ -0,0 +1,168 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextColumns;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.TextColumns</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextColumns</code></li>
+ * <li> <code>com::sun::star::text::TextColumns</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextColumns
+ * @see com.sun.star.text.TextColumns
+ * @see ifc.text._XTextColumns
+ * @see ifc.text._TextColumns
+ */
+public class SwXTextColumns extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After style
+ * families are gotten from text document using
+ * <code>XStyleFamiliesSupplier</code> interface, style family indexed '2'
+ * is obtained using <code>XIndexAccess</code> interface. Then style
+ * named 'Standard' is gotten from previously obtained style family using
+ * <code>XNameAccess</code> interface, and 'TextColumns' property value
+ * of this style is returned as a test component. Finally, several
+ * paragraphs within the text are inserted to a text document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XInterface oObj = null;
+ TestEnvironment tEnv = null;
+ XStyle oStyle = null;
+
+ log.println( "creating a test environment" );
+ log.println("getting PageStyle");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+
+ try {
+ XNameAccess oSFNA = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),oSFIA.getByIndex(2));
+ oStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oSFNA.getByName("Standard"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error, exception occurred while getting style.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ log.println("Error, exception occurred while getting style.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Error, exception occurred while getting style.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occurred while getting style.");
+ e.printStackTrace(log);
+ }
+
+ try {
+ log.println("Getting property ('TextColumns') value of style "
+ + oStyle.getName());
+ XPropertySet xProps = UnoRuntime.queryInterface(XPropertySet.class,oStyle);
+ oObj = (XTextColumns) AnyConverter.toObject(
+ new Type(XTextColumns.class),xProps.getPropertyValue("TextColumns"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Exception occurred while getting style property");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ log.println("Exception occurred while getting style property");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Exception occurred while getting style property");
+ e.printStackTrace(log);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some text to text document..." );
+ try {
+ for (int i =0; i < 5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ "The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println("Exception occurred while inserting Text");
+ e.printStackTrace(log);
+ }
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextColumns
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java b/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java
new file mode 100644
index 000000000..5b641b1e7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java
@@ -0,0 +1,307 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Arrays;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XParagraphCursor;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.TextCursor</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextCursor</code></li>
+ * <li> <code>com::sun::star::text::XWordCursor</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XContentEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::text::XSentenceCursor</code></li>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::text::XParagraphCursor</code></li>
+ * <li> <code>com::sun::star::document::XDocumentInsertable</code></li>
+ * <li> <code>com::sun::star::util::XSortable</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextCursor
+ * @see com.sun.star.text.XWordCursor
+ * @see com.sun.star.style.CharacterPropertiesComplex
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XContentEnumerationAccess
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.text.XSentenceCursor
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XParagraphCursor
+ * @see com.sun.star.document.XDocumentInsertable
+ * @see com.sun.star.util.XSortable
+ * @see com.sun.star.style.CharacterPropertiesAsian
+ * @see ifc.text._XTextCursor
+ * @see ifc.text._XWordCursor
+ * @see ifc.style._CharacterPropertiesComplex
+ * @see ifc.text._XTextRange
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XContentEnumerationAccess
+ * @see ifc.beans._XPropertyState
+ * @see ifc.style._CharacterProperties
+ * @see ifc.text._XSentenceCursor
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.text._XParagraphCursor
+ * @see ifc.document._XDocumentInsertable
+ * @see ifc.util._XSortable
+ * @see ifc.style._CharacterPropertiesAsian
+ */
+public class SwXTextCursor extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After major
+ * text of text document is obtained, text cursor is created and several
+ * paragraphs within the text are inserted to a text document. Finally,
+ * text cursor is returned as a test component.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XTEXT'</code> for
+ * {@link ifc.text._XTextRange} : major text of text document</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ log.println("creating a test environment");
+
+
+ // get the bodytext of textdocument here
+ log.println("getting the TextCursor");
+
+ final XSimpleText aText = xTextDoc.getText();
+ final XTextCursor textCursor = aText.createTextCursor();
+ oObj = textCursor;
+
+ log.println("inserting some text");
+
+ try {
+ for (int i = 0; i < 3; i++) {
+ aText.insertString(textCursor, "" + (3 - i), false);
+
+ for (int j = 0; j < 5; j++) {
+ aText.insertString(textCursor, "XTextCursor,XTextCursor",
+ false);
+ aText.insertString(textCursor, "The quick brown fox ",
+ false);
+ aText.insertString(textCursor, "jumps over the lazy dog ",
+ false);
+ }
+
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.LINE_BREAK,
+ false);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Error, insert text to text document.");
+ e.printStackTrace(log);
+ }
+
+ log.println("creating a new environment for SwXTextCursor object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XTEXT", xTextDoc.getText());
+
+ XPropertySet xCursorProp = UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+
+ String[] skipNames = { "ParaBackGraphicURL" };
+ String[] propertyNames = getPropertyNames(xCursorProp, skipNames);
+
+ tEnv.addObjRelation("PropertyNames", propertyNames);
+ tEnv.addObjRelation("SkipProperties", propertyNames);
+
+ //Adding relation for util.XSortable
+ final XParagraphCursor paragrCursor = UnoRuntime.queryInterface(
+ XParagraphCursor.class,
+ oObj);
+ final PrintWriter finalLog = log;
+
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ textCursor.gotoEnd(false);
+
+ try {
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "4", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "b", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "3", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "a", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "23", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "ab", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ out.println("Unexpected exception:" + e);
+ }
+
+ out.println(
+ "Preparing cursor to sorting. Text before sorting:");
+ paragrCursor.gotoEnd(true);
+
+ for (int i = 0; i < 6; i++) {
+ paragrCursor.gotoPreviousParagraph(true);
+ }
+
+ out.println(textCursor.getString());
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ String ls = System.getProperty("line.separator");
+
+ String text = paragrCursor.getString();
+ out.println("Text after sorting:\n" + text);
+
+ boolean res = false;
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ res = text.endsWith(ls+"3"+ls+"4"+ls+"23");
+
+ if (!res) {
+ out.println("Text must ends by:\n" + "\r\n3\r\n4\r\n23\r\n");
+ }
+ } else {
+ res = text.startsWith("23"+ls+"4"+ls+"3"+ls);
+
+ if (!res) {
+ out.println("Text must starts with:\n" + "23\r\n4\r\n3\r\n");
+ }
+ }
+ } else {
+ if (isSortAscending) {
+ res = text.equals(ls+"23"+ls+"3"+ls+"4"+ls+"a"+ls+"ab"+ls+"b");
+
+ if (!res) {
+ out.println("Text must be equal to:\n" + "\r\n23\r\n3\r\n4\r\na\r\nab\r\nb\r\n");
+ }
+ } else {
+ res = text.endsWith("b"+ls+"ab"+ls+"a"+ls+"4"+ls+"3"+ls+"23"+ls);
+
+ if (!res) {
+ out.println("Text must be equal to:\n" + "b\r\nab\r\na\r\n4\r\n3\r\n23\r\n");
+ }
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ }
+
+ return res;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ public String[] getPropertyNames(XPropertySet props, String[] skipList) {
+ Property[] the_props = props.getPropertySetInfo().getProperties();
+ ArrayList<String> names = new ArrayList<String>();
+
+ for (int i = 0; i < the_props.length; i++) {
+ boolean isWritable = ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
+ if (isWritable && !Arrays.asList(skipList).contains(the_props[i].Name)) {
+ names.add(the_props[i].Name);
+ }
+ }
+
+ return names.toArray(new String[names.size()]);
+ }
+} // finish class SwXTextCursor
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java b/qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java
new file mode 100644
index 000000000..1b02f44d3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java
@@ -0,0 +1,106 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+//API Interfaces
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Defaults</code> created by a writer
+ * document's <code>XMultiServiceFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+ * <li> <code>com::sun::star::text::Defaults</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::style::ParagraphPropertiesComplex</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.style.CharacterPropertiesComplex
+ * @see com.sun.star.style.CharacterPropertiesAsian
+ * @see com.sun.star.text.Defaults
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.style.ParagraphPropertiesComplex
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.style._CharacterPropertiesComplex
+ * @see ifc.style._CharacterPropertiesAsian
+ * @see ifc.text._Defaults
+ * @see ifc.style._CharacterProperties
+ * @see ifc.beans._XPropertySet
+ * @see ifc.style._ParagraphPropertiesComplex
+ */
+public class SwXTextDefaults extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates the service <code>com.sun.star.text.Defaults</code>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ XMultiServiceFactory docMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class,xTextDoc);
+
+ oObj = (XInterface)
+ docMSF.createInstance("com.sun.star.text.Defaults");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java b/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java
new file mode 100644
index 000000000..442d94b2c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java
@@ -0,0 +1,215 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.text.XTextSection;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.text.XTextTable;
+import com.sun.star.text.XWordCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XSelectionSupplier;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+
+import util.SOfficeFactory;
+import util.WriterTools;
+
+public class SwXTextDocument extends TestCase {
+ XTextDocument xTextDoc;
+ XTextDocument xSecondTextDoc;
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ DesktopTools.closeDoc(xSecondTextDoc);
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+ TestEnvironment tEnv = null;
+ XTextTable the_table = null;
+
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting some lines");
+
+ for (int i = 0; i < 5; i++) {
+ oText.insertString(oCursor, "Paragraph Number: " + i, false);
+ oText.insertString(
+ oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ oText.insertString(
+ oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ oText.insertControlCharacter(oCursor, ControlCharacter.LINE_BREAK,
+ false);
+ }
+ for (int i = 0; i < 11; i++) {
+ oText.insertString(oCursor, "xTextDoc ", false);
+
+ }
+
+ // insert two sections parent and child
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xTextDoc);
+
+ XInterface oTS;
+ XTextSection xTS;
+
+ XTextSectionsSupplier oTSSupp = UnoRuntime.queryInterface(
+ XTextSectionsSupplier.class, xTextDoc);
+ XNameAccess oTSSuppName = oTSSupp.getTextSections();
+
+ oTS = (XInterface) oDocMSF
+ .createInstance("com.sun.star.text.TextSection");
+
+ XTextContent oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ XWordCursor oWordC = UnoRuntime.queryInterface(XWordCursor.class,
+ oCursor);
+ oCursor.setString("End of TextSection");
+ oCursor.gotoStart(false);
+ oCursor.setString("Start of TextSection ");
+ oWordC.gotoEndOfWord(false);
+
+ XInterface oTS2 = (XInterface) oDocMSF
+ .createInstance("com.sun.star.text.TextSection");
+ oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS2);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ XIndexAccess oTSSuppIndex = UnoRuntime.queryInterface(
+ XIndexAccess.class, oTSSuppName);
+ log.println("getting a TextSection with the XTextSectionSupplier()");
+ xTS = UnoRuntime.queryInterface(XTextSection.class,
+ oTSSuppIndex.getByIndex(0));
+
+ XNamed xTSName = UnoRuntime.queryInterface(XNamed.class, xTS);
+ xTSName.setName("SwXTextSection");
+
+ log.println(" adding TextTable");
+ the_table = SOfficeFactory.createTextTable(xTextDoc, 6, 4);
+
+ XNamed the_name = UnoRuntime.queryInterface(XNamed.class, the_table);
+ the_name.setName("SwXTextDocument");
+ SOfficeFactory.insertTextContent(xTextDoc, the_table);
+
+ log.println(" adding ReferenceMark");
+
+ XInterface aMark = (XInterface) oDocMSF
+ .createInstance("com.sun.star.text.ReferenceMark");
+ the_name = UnoRuntime.queryInterface(XNamed.class, aMark);
+ the_name.setName("SwXTextDocument");
+
+ XTextContent oTC = UnoRuntime.queryInterface(XTextContent.class, aMark);
+ SOfficeFactory.insertTextContent(xTextDoc, oTC);
+
+ log.println(" adding TextGraphic");
+ WriterTools.insertTextGraphic(xTextDoc, oDocMSF, Param.getComponentContext(),
+ 5200, 4200, 4400, 4000, "space-metal.jpg", "SwXTextDocument");
+
+ log.println(" adding EndNote");
+
+ XInterface aEndNote = (XInterface) oDocMSF
+ .createInstance("com.sun.star.text.Endnote");
+ oTC = UnoRuntime.queryInterface(XTextContent.class, aEndNote);
+ SOfficeFactory.insertTextContent(xTextDoc, oTC);
+
+ log.println(" adding Bookmark");
+ SOfficeFactory.insertTextContent(xTextDoc,
+ SOfficeFactory.createBookmark(xTextDoc));
+
+ log.println(" adding DocumentIndex");
+ oTC = SOfficeFactory.createIndex(xTextDoc,
+ "com.sun.star.text.DocumentIndex");
+ SOfficeFactory.insertTextContent(xTextDoc, oTC);
+
+ log.println(" adding TextFrame");
+
+ XTextFrame frame = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+ oTC = UnoRuntime.queryInterface(XTextContent.class, frame);
+ SOfficeFactory.insertTextContent(xTextDoc, oTC);
+
+ log.println("creating a second textdocument");
+ xSecondTextDoc = WriterTools.createTextDoc(Param.getMSF());
+
+ XText oText2 = xTextDoc.getText();
+ XTextCursor oTextCursor = oText2.createTextCursor();
+
+ for (int i = 0; i < 11; i++) {
+ oText2.insertString(oTextCursor, "xTextDoc ", false);
+ }
+
+ tEnv = new TestEnvironment(xTextDoc);
+
+ XModel model1 = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+ XModel model2 = UnoRuntime.queryInterface(XModel.class, xSecondTextDoc);
+
+ XController cont1 = model1.getCurrentController();
+ XController cont2 = model2.getCurrentController();
+
+ cont1.getFrame().setName("cont1");
+ cont2.getFrame().setName("cont2");
+
+ XSelectionSupplier sel = UnoRuntime.queryInterface(
+ XSelectionSupplier.class, cont1);
+
+ log.println("Adding SelectionSupplier and Shape to select for XModel");
+ tEnv.addObjRelation("SELSUPP", sel);
+ tEnv.addObjRelation("TOSELECT", the_table);
+
+ log.println("adding Controller as ObjRelation for XModel");
+ tEnv.addObjRelation("CONT1", cont1);
+ tEnv.addObjRelation("CONT2", cont2);
+
+ return tEnv;
+ }
+} // finish class SwXTextDocument
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java
new file mode 100644
index 000000000..59019e91d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java
@@ -0,0 +1,153 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import com.sun.star.beans.XPropertySet;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextEmbeddedObjectsSupplier;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.document.XEmbeddedObjectSupplier
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.TextEmbeddedObject
+ * @see com.sun.star.text.XTextContent
+ *
+ */
+public class SwXTextEmbeddedObject extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+ // create testobject here
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+
+ XTextCursor xCursor = xTextDoc.getText().createTextCursor();
+ try {
+ XMultiServiceFactory xMultiServiceFactory = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ Object o = xMultiServiceFactory.createInstance("com.sun.star.text.TextEmbeddedObject" );
+ XTextContent xTextContent = UnoRuntime.queryInterface(XTextContent.class, o);
+ String sChartClassID = "12dcae26-281f-416f-a234-c3086127382e";
+ XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xTextContent);
+ xPropertySet.setPropertyValue( "CLSID", sChartClassID );
+
+ xTextDoc.getText().insertTextContent( xCursor, xTextContent, false );
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ }
+
+ XTextEmbeddedObjectsSupplier oTEOS = UnoRuntime.queryInterface(
+ XTextEmbeddedObjectsSupplier.class,
+ xTextDoc);
+
+ XNameAccess oEmObj = oTEOS.getEmbeddedObjects();
+ XIndexAccess oEmIn = UnoRuntime.queryInterface(
+ XIndexAccess.class, oEmObj);
+
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class), oEmIn.getByIndex(0));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("NoAttach", "SwXTextEmbeddedObject");
+
+ XTextFrame aFrame = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XTextContent the_content = UnoRuntime.queryInterface(
+ XTextContent.class, aFrame);
+
+ try {
+ oText.insertTextContent(oCursor, the_content, true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't insert frame " + e.getMessage());
+ }
+
+ tEnv.addObjRelation("TextFrame", aFrame);
+
+ tEnv.addObjRelation("NoSetSize", "SwXTextEmbeddedObject");
+ tEnv.addObjRelation("NoPos", "SwXTextEmbeddedObject");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextEmbeddedObject
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java
new file mode 100644
index 000000000..4b0e3ae72
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java
@@ -0,0 +1,121 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import com.sun.star.beans.XPropertySet;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextEmbeddedObjectsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+public class SwXTextEmbeddedObjects extends TestCase {
+
+ XTextDocument oDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ oDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(oDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ // create testobject here
+ XTextCursor xCursor = oDoc.getText().createTextCursor();
+ try {
+ XMultiServiceFactory xMultiServiceFactory = UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+ Object o = xMultiServiceFactory.createInstance("com.sun.star.text.TextEmbeddedObject" );
+ XTextContent xTextContent = UnoRuntime.queryInterface(XTextContent.class, o);
+ String sChartClassID = "12dcae26-281f-416f-a234-c3086127382e";
+ XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xTextContent);
+ xPropertySet.setPropertyValue( "CLSID", sChartClassID );
+
+ oDoc.getText().insertTextContent( xCursor, xTextContent, false );
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ }
+
+ XTextEmbeddedObjectsSupplier oTEOS = UnoRuntime.queryInterface(XTextEmbeddedObjectsSupplier.class, oDoc);
+
+ oObj = oTEOS.getEmbeddedObjects();
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextEmbeddedObjects
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextField.java b/qadevOOo/tests/java/mod/_sw/SwXTextField.java
new file mode 100644
index 000000000..61afb8e30
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextField.java
@@ -0,0 +1,150 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDependentTextField;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.XTextField
+ *
+ */
+public class SwXTextField extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ Object instance = null;
+
+ // create testobject here
+ try {
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ Object FieldMaster = oDocMSF.createInstance
+ ( "com.sun.star.text.FieldMaster.Database" );
+ XPropertySet PFieldMaster = UnoRuntime.queryInterface
+ (XPropertySet.class,FieldMaster);
+ oObj = (XInterface) oDocMSF.createInstance
+ ( "com.sun.star.text.TextField.Database" );
+
+ instance = oDocMSF.createInstance
+ ( "com.sun.star.text.TextField.DateTime" );
+
+ XDependentTextField xTF = UnoRuntime.queryInterface(XDependentTextField.class,oObj);
+
+ PFieldMaster.setPropertyValue("DataBaseName","Address Book File");
+ PFieldMaster.setPropertyValue("DataTableName","address");
+ PFieldMaster.setPropertyValue("DataColumnName","FIRSTNAME");
+ XText the_Text = xTextDoc.getText();
+ XTextCursor the_Cursor = the_Text.createTextCursor();
+ XTextContent the_Field = UnoRuntime.queryInterface(XTextContent.class,oObj);
+
+ xTF.attachTextFieldMaster(PFieldMaster);
+ the_Text.insertTextContent(the_Cursor,the_Field,false);
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create instance");
+ ex.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldMaster object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextField
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java b/qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java
new file mode 100644
index 000000000..3f6d70705
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java
@@ -0,0 +1,125 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XContainer
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XNameContainer
+ * @see com.sun.star.container.XNameReplace
+ *
+ */
+public class SwXTextFieldMasters extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ // create testobject here
+ try {
+ XTextFieldsSupplier oTFS = UnoRuntime.queryInterface( XTextFieldsSupplier.class, xTextDoc );
+
+ oObj = oTFS.getTextFieldMasters();
+
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create instance");
+ ex.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldMasters object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextFieldMasters
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java b/qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java
new file mode 100644
index 000000000..03cb9721e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java
@@ -0,0 +1,126 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XContainer
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ *
+ */
+public class SwXTextFieldTypes extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ // create testobject here
+ try {
+ XTextFieldsSupplier oTFS = UnoRuntime.queryInterface( XTextFieldsSupplier.class, xTextDoc );
+
+ oObj = oTFS.getTextFields();
+
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create instance");
+ ex.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldTypes object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextFieldTypes
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFrame.java b/qadevOOo/tests/java/mod/_sw/SwXTextFrame.java
new file mode 100644
index 000000000..e3eb3c299
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFrame.java
@@ -0,0 +1,138 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.TextContentAnchorType;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XText
+ *
+ */
+public class SwXTextFrame extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XTextFrame oFrame2 = null;
+ XPropertySet oPropSet = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+
+ // creating Frames
+ log.println("creating Frames");
+
+
+ Object instance = null;
+
+ oFrame1 = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+ oFrame2 = SOfficeFactory.createTextFrame(xTextDoc, 1500, 1500);
+ oPropSet = UnoRuntime.queryInterface(
+ XPropertySet.class, oFrame1);
+
+
+ // AnchorTypes: 0 = paragraph, 1 = as char, 2 = page,
+ // 3 = frame/paragraph 4= at char
+ oPropSet.setPropertyValue("AnchorType",
+ TextContentAnchorType.AS_CHARACTER);
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ log.println("inserting Frame1");
+
+ XTextContent the_content = UnoRuntime.queryInterface(
+ XTextContent.class, oFrame1);
+ oText.insertTextContent(oCursor, the_content, true);
+
+ log.println("inserting Frame2");
+ the_content = UnoRuntime.queryInterface(
+ XTextContent.class, oFrame2);
+ oText.insertTextContent(oCursor, the_content, true);
+
+ XText oFrameText = oFrame1.getText();
+ oFrameText.insertString(oFrameText.getStart(), "The FrameText",
+ true);
+
+ instance = SOF.createInstance(xTextDoc,
+ "com.sun.star.text.TextFrame");
+ oObj = oFrame1;
+
+ log.println("creating a new environment for TextFrame object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("CONTENT",
+ UnoRuntime.queryInterface(
+ XTextContent.class, instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ log.println("adding ObjRelation for XShape " +
+ "(get/setPosition won't work there)");
+ tEnv.addObjRelation("NoPos", "SwXTextFrame");
+ tEnv.addObjRelation("NoSetSize", "SwXTextFrame");
+
+ tEnv.addObjRelation("TextFrame", oFrame2);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextFrame
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java b/qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java
new file mode 100644
index 000000000..1b12794f0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java
@@ -0,0 +1,137 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ *
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XTextRangeMover
+ *
+ */
+public class SwXTextFrameText extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XPropertySet oPropSet = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory.getFactory(tParam.getMSF());
+
+ // create testobject here
+
+ oFrame1 = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+ oPropSet = UnoRuntime.queryInterface(XPropertySet.class, oFrame1);
+ // AnchorTypes: 0 = paragraph, 1 = as char, 2 = page,
+ // 3 = frame/paragraph 4= at char
+ oPropSet.setPropertyValue("AnchorType", Integer.valueOf(2));
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ log.println("inserting Frame1");
+ oText.insertTextContent(oCursor, oFrame1, false);
+
+ XText oFText = UnoRuntime.queryInterface(XText.class, oFrame1);
+ XTextCursor oFCursor = oFText.createTextCursor();
+ oFText.insertString(oFCursor, "SwXTextFrameText", false);
+
+ oObj = oFText.getText();
+
+ log.println("creating a new environment for TextFrameText object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("adding TextDocument as mod relation to environment");
+ tEnv.addObjRelation("TEXT", oObj);
+
+ log.println("adding InstDescriptor object");
+ TableDsc tDsc = new TableDsc(6, 4);
+
+ log.println("adding InstCreator object");
+ tEnv.addObjRelation("XTEXTINFO", new InstCreator(xTextDoc, tDsc));
+
+ log.println(" adding Paragraph");
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation("PARA", new InstCreator(xTextDoc, pDsc));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextFrameText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java
new file mode 100644
index 000000000..d078516e2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java
@@ -0,0 +1,187 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.TextContentAnchorType;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.graphic.XGraphic;
+import com.sun.star.graphic.XGraphicProvider;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.XComponentContext;
+
+public class SwXTextGraphicObject extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+ log.println("creating a textdoc");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oGObject = null;
+ Object xTextFrame = null;
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ Object instance = null;
+
+ oGObject = SOF.createInstance(xTextDoc,
+ "com.sun.star.text.GraphicObject");
+ instance = SOF.createInstance(xTextDoc,
+ "com.sun.star.text.GraphicObject");
+ xTextFrame = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+
+ oObj = (XInterface) oGObject;
+
+ XText the_text = xTextDoc.getText();
+ XTextCursor the_cursor = the_text.createTextCursor();
+ XTextContent the_content = UnoRuntime.queryInterface(
+ XTextContent.class, oObj);
+
+ log.println("inserting Frame");
+ XTextContent Framecontent = UnoRuntime.queryInterface(
+ XTextContent.class, xTextFrame);
+ the_text.insertTextContent(the_cursor, Framecontent, true);
+
+ log.println("inserting graphic");
+ the_text.insertTextContent(the_cursor, the_content, true);
+
+ log.println("adding graphic");
+
+ XComponentContext xContext = tParam.getComponentContext();
+
+ XGraphicProvider xGraphicProvider = UnoRuntime.queryInterface(XGraphicProvider.class,
+ xContext.getServiceManager().createInstanceWithContext("com.sun.star.graphic.GraphicProvider", xContext));
+
+ String fullURL = util.utils.getFullTestURL("space-metal.jpg");
+
+ PropertyValue[] aMediaProps = new PropertyValue[] { new PropertyValue() };
+ aMediaProps[0].Name = "URL";
+ aMediaProps[0].Value = fullURL;
+
+ XGraphic xGraphic = UnoRuntime.queryInterface(XGraphic.class,
+ xGraphicProvider.queryGraphic(aMediaProps));
+
+ XPropertySet oProps = UnoRuntime.queryInterface(XPropertySet.class,
+ oObj);
+
+ oProps.setPropertyValue("AnchorType", TextContentAnchorType.AT_PARAGRAPH);
+ oProps.setPropertyValue("Graphic", xGraphic);
+ oProps.setPropertyValue("HoriOrientPosition", Integer.valueOf(5500));
+ oProps.setPropertyValue("VertOrientPosition", Integer.valueOf(4200));
+ oProps.setPropertyValue("Width", Integer.valueOf(4400));
+ oProps.setPropertyValue("Height", Integer.valueOf(4000));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("adding ObjRelation for XShape "
+ + "(get/setPosition won't work there)");
+ tEnv.addObjRelation("NoPos", "SwXTextGraphicObject");
+ tEnv.addObjRelation("NoSetSize", "SwXTextGraphicObject");
+ Object ImgMap = null;
+ // creating ObjectRelation for the property
+ // 'ImageMap' of 'TextGraphicObject'
+ try {
+ XMultiServiceFactory xDocMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xTextDoc);
+ ImgMap = xDocMSF
+ .createInstance("com.sun.star.image.ImageMapRectangleObject");
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ tEnv.addObjRelation("IMGMAP", ImgMap);
+
+ tEnv.addObjRelation("CONTENT",
+ UnoRuntime.queryInterface(XTextContent.class, instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ // object relation for text.BaseFrameProperties
+ tEnv.addObjRelation("TextFrame", xTextFrame);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextGraphicObject
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java
new file mode 100644
index 000000000..4a0de3b0b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java
@@ -0,0 +1,152 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextGraphicObjectsSupplier;
+import com.sun.star.graphic.XGraphic;
+import com.sun.star.graphic.XGraphicProvider;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.XComponentContext;
+
+public class SwXTextGraphicObjects extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+ log.println("creating a textdoc");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oGObject = null;
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ oGObject = SOF.createInstance(xTextDoc,
+ "com.sun.star.text.GraphicObject");
+
+ oObj = (XInterface) oGObject;
+
+ XText the_text = xTextDoc.getText();
+ XTextCursor the_cursor = the_text.createTextCursor();
+ XTextContent the_content = UnoRuntime.queryInterface(
+ XTextContent.class, oObj);
+
+ log.println("inserting graphic");
+ the_text.insertTextContent(the_cursor, the_content, true);
+
+ log.println("adding graphic");
+
+ XComponentContext xContext = tParam.getComponentContext();
+
+ XGraphicProvider xGraphicProvider = UnoRuntime.queryInterface(XGraphicProvider.class,
+ xContext.getServiceManager().createInstanceWithContext("com.sun.star.graphic.GraphicProvider", xContext));
+
+ String fullURL = util.utils.getFullTestURL("space-metal.jpg");
+
+ PropertyValue[] aMediaProps = new PropertyValue[] { new PropertyValue() };
+ aMediaProps[0].Name = "URL";
+ aMediaProps[0].Value = fullURL;
+
+ XGraphic xGraphic = UnoRuntime.queryInterface(XGraphic.class,
+ xGraphicProvider.queryGraphic(aMediaProps));
+
+ XPropertySet oProps = UnoRuntime.queryInterface(XPropertySet.class,
+ oObj);
+ oProps.setPropertyValue("Graphic", xGraphic);
+ oProps.setPropertyValue("HoriOrientPosition", Integer.valueOf(5500));
+ oProps.setPropertyValue("VertOrientPosition", Integer.valueOf(4200));
+ oProps.setPropertyValue("Width", Integer.valueOf(4400));
+ oProps.setPropertyValue("Height", Integer.valueOf(4000));
+
+ XTextGraphicObjectsSupplier xTGS = UnoRuntime.queryInterface(
+ XTextGraphicObjectsSupplier.class, xTextDoc);
+ oObj = xTGS.getGraphicObjects();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextGraphicObjects
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextPortion.java b/qadevOOo/tests/java/mod/_sw/SwXTextPortion.java
new file mode 100644
index 000000000..50fc0c532
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextPortion.java
@@ -0,0 +1,154 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ *
+ * @see com.sun.star.text.TextPortion
+ *
+ */
+public class SwXTextPortion extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XInterface param = null;
+ XPropertySet paraP = null;
+ XPropertySet portP = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // create testobject here
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting Strings");
+ log.println("inserting ControlCharacter");
+
+ for (int i = 0; i < 5; i++) {
+ oText.insertString(oCursor, "Paragraph Number: " + i, false);
+ oText.insertControlCharacter(oCursor, ControlCharacter.LINE_BREAK,
+ false);
+ oText.insertString(
+ oCursor,
+ "The quick brown fox jumps over the lazy Dog: SwXParagraph\n",
+ false);
+ oText.insertControlCharacter(oCursor, ControlCharacter.LINE_BREAK,
+ false);
+ oText.insertString(
+ oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = UnoRuntime.queryInterface(
+ XEnumerationAccess.class, oText);
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ int n = 0;
+ while (oEnum.hasMoreElements()) {
+ param = (XInterface) AnyConverter.toObject(new Type(
+ XInterface.class), oEnum.nextElement());
+ log.println("Element Nr.: " + n);
+ n++;
+ }
+
+ XEnumerationAccess oEnumP = UnoRuntime.queryInterface(
+ XEnumerationAccess.class, param);
+ XEnumeration oEnum2 = oEnumP.createEnumeration();
+ oObj = (XInterface) AnyConverter.toObject(new Type(XInterface.class),
+ oEnum2.nextElement());
+
+ portP = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ paraP = UnoRuntime.queryInterface(XPropertySet.class, param);
+
+ log.println("creating a new environment for Paragraph object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("adding ObjRelation TRO for TextContent");
+ tEnv.addObjRelation("TRO", Boolean.TRUE);
+
+ log.println("adding ObjectRelation 'PARA' for CharacterProperties");
+ tEnv.addObjRelation("PARA", paraP);
+
+ log.println("adding ObjectRelation 'PORTION' for CharacterProperties");
+ tEnv.addObjRelation("PORTION", portP);
+
+ tEnv.addObjRelation("XTEXT", oText);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextPortion
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java b/qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java
new file mode 100644
index 000000000..b5cf80e30
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java
@@ -0,0 +1,137 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ *
+ * @see com.sun.star.text.TextPortion
+ *
+ */
+public class SwXTextPortionEnumeration extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface param = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // create testobject here
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting Strings");
+ log.println("inserting ControlCharacter");
+
+ for (int i = 0; i < 5; i++) {
+ oText.insertString(oCursor, "Paragraph Number: " + i, false);
+ oText.insertControlCharacter(oCursor, ControlCharacter.LINE_BREAK,
+ false);
+ oText.insertString(
+ oCursor,
+ "The quick brown fox jumps over the lazy Dog: SwXParagraph\n",
+ false);
+ oText.insertControlCharacter(oCursor, ControlCharacter.LINE_BREAK,
+ false);
+ oText.insertString(
+ oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = UnoRuntime.queryInterface(
+ XEnumerationAccess.class, oText);
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ while (oEnum.hasMoreElements()) {
+ param = (XInterface) AnyConverter.toObject(new Type(
+ XInterface.class), oEnum.nextElement());
+ }
+
+ XEnumerationAccess oEnumP = UnoRuntime.queryInterface(
+ XEnumerationAccess.class, param);
+ XEnumeration oEnum2 = oEnumP.createEnumeration();
+
+ log.println("creating a new environment for TextPortionEnumeration object");
+ TestEnvironment tEnv = new TestEnvironment(oEnum2);
+
+ log.println("adding ObjRelation ENUM for XEnumeration");
+ tEnv.addObjRelation("ENUM", oEnumP);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextPortionEnumeration
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextRange.java b/qadevOOo/tests/java/mod/_sw/SwXTextRange.java
new file mode 100644
index 000000000..e96c722b4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextRange.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+public class SwXTextRange extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+
+ XText aText = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ // get the bodytext of textdocument here
+ log.println( "getting the TextRange of the text document" );
+ aText = xTextDoc.getText();
+ XTextCursor oCursor = aText.createTextCursor();
+
+ XInterface oObj = oCursor.getStart();
+
+ log.println( "creating a new environment for textrange object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ System.out.println("Implementation Name: "+utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextRange
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextRanges.java b/qadevOOo/tests/java/mod/_sw/SwXTextRanges.java
new file mode 100644
index 000000000..32e97b47d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextRanges.java
@@ -0,0 +1,115 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XSearchDescriptor;
+import com.sun.star.util.XSearchable;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ *
+ */
+public class SwXTextRanges extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ for (int j =0; j < 5; j++){
+ try{
+ oText.insertString( oCursor,
+ "SwXTextRanges...SwXTextRanges...SwXTextRanges", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ }
+ catch( Exception e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ XSearchable oSearch = UnoRuntime.queryInterface
+ (XSearchable.class, xTextDoc);
+ XSearchDescriptor xSDesc = oSearch.createSearchDescriptor();
+ xSDesc.setSearchString("SwXTextRanges");
+
+ oObj = oSearch.findAll(xSDesc);
+
+ log.println( "creating a new environment for textrange object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextRanges
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextSearch.java b/qadevOOo/tests/java/mod/_sw/SwXTextSearch.java
new file mode 100644
index 000000000..0ca1bbef7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextSearch.java
@@ -0,0 +1,116 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XSearchDescriptor;
+import com.sun.star.util.XSearchable;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.util.SearchDescriptor
+ * @see com.sun.star.util.XSearchDescriptor
+ *
+ */
+public class SwXTextSearch extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ for (int j =0; j < 5; j++){
+ try{
+ oText.insertString( oCursor,
+ "SwXTextSearch...SwXTextSearch...SwXTextSearch", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ }
+ catch( Exception e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ XSearchable oSearch = UnoRuntime.queryInterface
+ (XSearchable.class, xTextDoc);
+ XSearchDescriptor xSDesc = oSearch.createSearchDescriptor();
+ xSDesc.setSearchString("SwXTextSearch");
+
+ oObj = xSDesc;
+
+ log.println( "creating a new environment for TextSearch object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextSearch
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextSection.java b/qadevOOo/tests/java/mod/_sw/SwXTextSection.java
new file mode 100644
index 000000000..9fd67a72a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextSection.java
@@ -0,0 +1,159 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextColumns;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextSection;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.text.XWordCursor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XText
+ *
+ */
+
+public class SwXTextSection extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XInterface oTS = null;
+ XTextSection xTS = null;
+ XText oText = null;
+ XTextColumns TC = null;
+ Object instance = null;
+
+ log.println( "creating a test environment" );
+
+ oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ try {
+ XTextSectionsSupplier oTSSupp = UnoRuntime.queryInterface
+ ( XTextSectionsSupplier.class, xTextDoc );
+ XNameAccess oTSSuppName = oTSSupp.getTextSections();
+
+ //cleanup if necessary
+ if (oTSSuppName.hasByName("SwXTextSection")) {
+ XTextSection old = (XTextSection) AnyConverter.toObject(
+ new Type(XTextSection.class),
+ oTSSuppName.getByName("SwXTextSection"));
+ XComponent oldC = UnoRuntime.queryInterface(XComponent.class,old);
+ oldC.dispose();
+ oText.setString("");
+ }
+
+ //insert two sections parent and child
+ oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ instance = oDocMSF.createInstance("com.sun.star.text.TextSection");
+ XTextContent oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC, false);
+ XWordCursor oWordC = UnoRuntime.queryInterface(XWordCursor.class, oCursor);
+ oCursor.setString("End of TextSection");
+ oCursor.gotoStart(false);
+ oCursor.setString("Start of TextSection ");
+ oWordC.gotoEndOfWord(false);
+ XInterface oTS2 = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS2);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ XIndexAccess oTSSuppIndex = UnoRuntime.queryInterface(XIndexAccess.class, oTSSuppName);
+
+ log.println( "getting a TextSection with the XTextSectionSupplier()" );
+ xTS = (XTextSection) AnyConverter.toObject(
+ new Type(XTextSection.class),oTSSuppIndex.getByIndex(0));
+ XNamed xTSName = UnoRuntime.queryInterface( XNamed.class, xTS);
+ xTSName.setName("SwXTextSection");
+ }
+ catch(Exception e){
+ System.out.println("Couldn't get Textsection " + e);
+ }
+
+ oObj = xTS;
+
+ log.println( "creating a new environment for TextSection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding InstDescriptor object" );
+ TableDsc tDsc = new TableDsc( 6, 4 );
+
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ tEnv.addObjRelation("TRO",Boolean.TRUE);
+
+ TC = UnoRuntime.queryInterface(XTextColumns.class,
+ oDocMSF.createInstance("com.sun.star.text.TextColumns"));
+ tEnv.addObjRelation("TC",TC);
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}// finish class SwXTextSection
+
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextSections.java b/qadevOOo/tests/java/mod/_sw/SwXTextSections.java
new file mode 100644
index 000000000..c00d0cb5e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextSections.java
@@ -0,0 +1,122 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XText
+ *
+ */
+public class SwXTextSections extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ XInterface oTS = null;
+ XNameAccess oTSSuppName = null;
+
+ XText oText = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+
+ log.println( "inserting TextSections" );
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ // First TextSection
+ oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ XTextContent oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ // Second TextSection
+ oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ XTextContent oTSC2 = UnoRuntime.queryInterface(XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC2, false);
+
+
+ log.println( "try to get a TextSection with the XTextSectionSupplier()" );
+
+ try{
+ XTextSectionsSupplier oTSSupp = UnoRuntime.queryInterface( XTextSectionsSupplier.class,
+ xTextDoc );
+ oTSSuppName = oTSSupp.getTextSections();
+ }
+ catch(Exception e){
+ System.out.println("Couldn't get Textsection " + e);
+ }
+
+
+ oObj = oTSSuppName;
+
+ log.println( "creating a new environment for TextSections object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextSection
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTable.java b/qadevOOo/tests/java/mod/_sw/SwXTextTable.java
new file mode 100644
index 000000000..2ff21ff52
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTable.java
@@ -0,0 +1,235 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.ValueComparer;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * this class tests the implementation of listed interfaces
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.XTextTable
+ */
+public class SwXTextTable extends TestCase {
+ SOfficeFactory SOF;
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ this method creates the testenvironment
+ @param tParam TestParameters class which contains additional
+ test parameters
+ @param log PrintWriter class to log the test state and result
+
+ @return TestEnvironment class
+
+ @see TestParameters
+ @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ // creation of testobject here
+ XTextTable oObj = null;
+ TestEnvironment tEnv = null;
+ Object instance = null;
+
+ oObj = SOfficeFactory.createTextTable(xTextDoc);
+ instance = SOfficeFactory.createTextTable(xTextDoc);
+
+ int nRow = 6;
+ int nCol = 2;
+ oObj.initialize(nRow, nCol);
+
+ log.println("Creating instance...");
+ tEnv = new TestEnvironment(oObj);
+
+ if (SOfficeFactory.getTableCollection(xTextDoc).getCount() == 0) {
+ SOfficeFactory.insertTextContent(xTextDoc, oObj);
+ }
+
+ XPropertySet props = UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+
+ try {
+ props.setPropertyValue("ChartRowAsLabel", Boolean.TRUE);
+ props.setPropertyValue("ChartColumnAsLabel", Boolean.TRUE);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ }
+
+
+ //Adding relation for util.XTextTable
+ tEnv.addObjRelation("NROW", Integer.valueOf(nRow));
+ tEnv.addObjRelation("NCOL", Integer.valueOf(nCol));
+
+ //Adding ObjRelation for XCellRangeData
+ Object[][] newData = new Object[6][];
+ Object[] line = new Object[2];
+ line[0] = new Double(1.5);
+ line[1] = new Double(2.5);
+ newData[0] = line;
+ newData[1] = line;
+ newData[2] = line;
+ newData[3] = line;
+ newData[4] = line;
+ newData[5] = line;
+ tEnv.addObjRelation("NewData", newData);
+
+ //Adding relation for util.XSortable
+ final PrintWriter finalLog = log;
+ final XTextTable oTable = oObj;
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ oTable.getCellByName("A1").setValue(4);
+
+ XTextRange textRange = UnoRuntime.queryInterface(
+ XTextRange.class,
+ oTable.getCellByName("A2"));
+ textRange.setString("b");
+ oTable.getCellByName("A3").setValue(3);
+ textRange = UnoRuntime.queryInterface(
+ XTextRange.class,
+ oTable.getCellByName("A4"));
+ textRange.setString("a");
+ oTable.getCellByName("A5").setValue(23);
+ textRange = UnoRuntime.queryInterface(
+ XTextRange.class,
+ oTable.getCellByName("A6"));
+ textRange.setString("ab");
+
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ boolean res = false;
+ String[] value = new String[6];
+
+ for (int i = 0; i < 6; i++) {
+ XCell cell = oTable.getCellByName("A" + (i + 1));
+ XTextRange textRange = UnoRuntime.queryInterface(
+ XTextRange.class, cell);
+ value[i] = textRange.getString();
+ }
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ String[] rightVal = { "3", "4", "23" };
+ String[] vals = { value[3], value[4], value[5] };
+ res = ValueComparer.equalValue(vals, rightVal);
+
+ if (!res) {
+ out.println("Expected: 3, 4, 23");
+ out.println("Getting: " + value[3] + ", " +
+ value[4] + ", " + value[5]);
+ }
+ } else {
+ String[] rightVal = { "23", "4", "3" };
+ String[] vals = { value[0], value[1], value[2] };
+ res = ValueComparer.equalValue(vals, rightVal);
+
+ if (!res) {
+ out.println("Expected: 23, 4, 3");
+ out.println("Getting: " + value[1] + ", " +
+ value[2] + ", " + value[3]);
+ }
+ }
+ } else {
+ if (isSortAscending) {
+ String[] rightVal = { "23", "3", "4", "a", "ab", "b" };
+ res = ValueComparer.equalValue(value, rightVal);
+
+ if (!res) {
+ out.println("Expected: 23, 3, 4, a, ab, b");
+ out.println("Getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] +
+ ", " + value[3] + ", " +
+ value[4] + ", " + value[5]);
+ }
+ } else {
+ String[] rightVal = { "b", "ab", "a", "4", "3", "23" };
+ res = ValueComparer.equalValue(value, rightVal);
+
+ if (!res) {
+ out.println("Expected: b, ab, a, 4, 3, 23");
+ out.println("Getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] +
+ ", " + value[3] + ", " +
+ value[4] + ", " + value[5]);
+ }
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ } else {
+ out.println("Sorted incorrectly");
+ }
+
+ return res;
+ }
+ });
+
+ tEnv.addObjRelation("CONTENT",
+ UnoRuntime.queryInterface(
+ XTextContent.class, instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ }
+} // finish class SwXTextTable
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java b/qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java
new file mode 100644
index 000000000..6417a9a3e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.XTextTableCursor
+ *
+ */
+public class SwXTextTableCursor extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory.getFactory( tParam.getMSF() );
+
+ // create testobject here
+
+ XTextTable oTable = null;
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+
+ oObj = oTable.createCursorByCellName("A1");
+
+ log.println( "creating a new environment for TextTableCursor object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ tEnv.addObjRelation("STYLENAME1", "Table");
+ tEnv.addObjRelation("STYLENAME2", "Text");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextTableCursor
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java b/qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java
new file mode 100644
index 000000000..a8f4144f2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java
@@ -0,0 +1,113 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.table.XTableRows;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+public class SwXTextTableRow extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory.getFactory( Param.getMSF() );
+
+ try {
+ log.println("creating a texttable");
+ oTable = SOfficeFactory.createTextTable(xTextDoc,5,5);
+ } catch( Exception e ) {
+ e.printStackTrace(log);
+ }
+
+ XText oText = xTextDoc.getText();
+
+ XTextCursor oCursor = oText.createTextCursor();
+
+ try {
+ log.println("inserting texttable");
+ oText.insertTextContent(oCursor, oTable, false);
+ } catch (Exception e) {
+ log.println("Exception!");
+ }
+
+ try {
+ log.println("getting table row");
+ XTableRows oTRn = oTable.getRows();
+ XIndexAccess oIA = UnoRuntime.queryInterface
+ (XIndexAccess.class,oTRn);
+ oObj = (XPropertySet) AnyConverter.toObject(
+ new Type(XPropertySet.class),oIA.getByIndex(1));
+ } catch( Exception e ) {
+ e.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for TextTableRow object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextTableRow
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTables.java b/qadevOOo/tests/java/mod/_sw/SwXTextTables.java
new file mode 100644
index 000000000..28ad076e4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTables.java
@@ -0,0 +1,118 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.text.XTextTablesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XNameAccess
+ *
+ */
+public class SwXTextTables extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ int nRow = 4;
+ int nCol = 5;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory.getFactory( tParam.getMSF() );
+
+ // create testobject here
+ TestEnvironment tEnv = null;
+ XTextTable oTable = null;
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+
+ // Number two
+ XTextTable oTable2 = null;
+ oTable2 = SOfficeFactory.createTextTable( xTextDoc );
+ SOfficeFactory.insertTextContent(xTextDoc, oTable2 );
+
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XTextTablesSupplier oTTSupp = UnoRuntime.queryInterface(XTextTablesSupplier.class, msf);
+ oObj = oTTSupp.getTextTables();
+
+ if ( oTable != null ) {
+ log.println("Creating instance...");
+ tEnv = new TestEnvironment(oObj);
+ }
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation( "TEXTDOC", xTextDoc );
+ tEnv.addObjRelation( "ROW", Integer.valueOf( nRow ) );
+ tEnv.addObjRelation( "COL", Integer.valueOf( nCol ) );
+ tEnv.addObjRelation( "INST", SOfficeFactory.createTextTable( xTextDoc ));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextTables
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextView.java b/qadevOOo/tests/java/mod/_sw/SwXTextView.java
new file mode 100644
index 000000000..9c72b2f0d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextView.java
@@ -0,0 +1,254 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.WrappedTargetException;
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.form.XForm;
+import com.sun.star.frame.XController;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XSearchDescriptor;
+import com.sun.star.util.XSearchable;
+import com.sun.star.view.XSelectionSupplier;
+import util.FormTools;
+import util.WriterTools;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XTextViewCursorSupplier
+ * @see com.sun.star.view.XControlAccess
+ * @see com.sun.star.view.XSelectionSupplier
+ * @see com.sun.star.view.XViewSettingsSupplier
+ *
+ */
+public class SwXTextView extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ boolean debug = false;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ debug = tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE);
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws com.sun.star.uno.Exception
+ {
+
+
+ // creation of testobject here
+ log.println( "creating a test environment" );
+
+ XController xContr = xTextDoc.getCurrentController();
+
+ TestEnvironment tEnv = new TestEnvironment(xContr);
+
+ util.dbg.getSuppServices(xContr);
+
+ SOfficeFactory SOF=SOfficeFactory.getFactory( tParam.getMSF() );
+ XTextFrame first =null;
+ XTextFrame second =null;
+
+ Object oFrame1 = null;
+ Object oFrame2 = null;
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ oFrame1 = SOF.createInstance
+ (xTextDoc, "com.sun.star.text.TextFrame" );
+ first = UnoRuntime.queryInterface
+ ( XTextFrame.class, oFrame1);
+ oText.insertTextContent(oCursor,first, false);
+ first.getText().setString("Frame 1");
+ oFrame2 = SOF.createInstance(xTextDoc, "com.sun.star.text.TextFrame" );
+ second = UnoRuntime.queryInterface
+ ( XTextFrame.class, oFrame2);
+ oText.insertTextContent(oCursor,second, false);
+ second.getText().setString("Frame 2");
+ oText.insertString( oCursor,
+ "SwXTextRanges...SwXTextRanges...SwXTextRanges", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ oText.insertString( oCursor,
+ "bla...bla...", false);
+
+ XSearchable oSearch = UnoRuntime.queryInterface
+ (XSearchable.class, xTextDoc);
+ XSearchDescriptor xSDesc = oSearch.createSearchDescriptor();
+ xSDesc.setSearchString("SwXTextRanges");
+ XIndexAccess textRanges1 = oSearch.findAll(xSDesc);
+
+ xSDesc.setSearchString("bla");
+ XIndexAccess textRanges2 = oSearch.findAll(xSDesc);
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oFrame1, oFrame2, textRanges1, textRanges2});
+ tEnv.addObjRelation("Comparer", new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XServiceInfo serv1 = UnoRuntime.queryInterface(XServiceInfo.class, o1);
+ XServiceInfo serv2 = UnoRuntime.queryInterface(XServiceInfo.class, o2);
+
+ String implName1 = serv1.getImplementationName();
+ String implName2 = serv2.getImplementationName();
+ if (!implName1.equals(implName2)) {
+ return -1;
+ }
+
+ XIndexAccess indAc1 = UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = UnoRuntime.queryInterface(XIndexAccess.class, o2);
+
+ if (indAc1 != null && indAc2 != null) {
+ int c1 = indAc1.getCount();
+ int c2 = indAc2.getCount();
+ return c1 == c2 ? 0 : 1;
+ }
+
+ XText text1 = UnoRuntime.queryInterface(XText.class, o1);
+ XText text2 = UnoRuntime.queryInterface(XText.class, o2);
+
+ if (text1 != null && text2 != null) {
+ return text1.getString().equals(text2.getString()) ? 0 : 1;
+ }
+
+ return -1;
+ }
+ });
+
+ XSelectionSupplier xsel = UnoRuntime.queryInterface(XSelectionSupplier.class,xContr);
+ xsel.select(second);
+
+ tEnv.addObjRelation("DOCUMENT",xTextDoc);
+ XForm myForm = null;
+ String kindOfControl="CommandButton";
+ XShape aShape = null;
+ log.println("adding control shape '" + kindOfControl + "'");
+ aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ kindOfControl);
+
+
+ log.println("adding relation for com.sun.star.view.XFormLayerAccess: XForm");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ try {
+
+ XDrawPage xDP = WriterTools.getDrawPage(xTextDoc);
+ if (xDP == null)
+ log.println("ERROR: could not get DrawPage");
+
+ XNameContainer xForms = FormTools.getForms(xDP);
+ if (xForms == null)
+ log.println("ERROR: could not get Forms");
+
+ log.println("the draw page contains following elements:");
+ String[] elements = FormTools.getForms(WriterTools.getDrawPage(xTextDoc)).getElementNames();
+ for (int i = 0; i< elements.length; i++){
+ log.println("Element[" + i + "] :" + elements[i]);
+ }
+
+ myForm = (XForm) AnyConverter.toObject(new Type(XForm.class), xForms.getByName("Standard"));
+ if (myForm == null){
+ log.println("ERROR: could not get 'Standard' from drawpage!");
+ if (debug){
+ log.println("the draw page contains following elements:");
+ }
+ }
+ else
+ tEnv.addObjRelation("XFormLayerAccess.XForm", myForm);
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (NoSuchElementException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ }
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+} // finish class SwXTextView
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java b/qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java
new file mode 100644
index 000000000..1ee16ff4e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java
@@ -0,0 +1,107 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextViewCursorSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.document.XDocumentInsertable
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XPageCursor
+ * @see com.sun.star.text.XParagraphCursor
+ * @see com.sun.star.text.XSentenceCursor
+ * @see com.sun.star.text.XTextCursor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XWordCursor
+ * @see com.sun.star.util.XSortable
+ * @see com.sun.star.view.XScreenCursor
+ *
+ */
+public class SwXTextViewCursor extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ oObj = xTextDoc.getCurrentController();
+
+ XTextViewCursorSupplier oTVCSupp = UnoRuntime.queryInterface(XTextViewCursorSupplier.class, oObj);
+
+ oObj = oTVCSupp.getViewCursor();
+
+ log.println( "creating a new environment for TextViewCursor object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+ tEnv.addObjRelation("XTEXT", xTextDoc.getText());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXTextViewCursor
diff --git a/qadevOOo/tests/java/mod/_sw/SwXViewSettings.java b/qadevOOo/tests/java/mod/_sw/SwXViewSettings.java
new file mode 100644
index 000000000..b1ea4407c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXViewSettings.java
@@ -0,0 +1,97 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.ViewSettings
+ *
+ */
+public class SwXViewSettings extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+
+ oObj = xTextDoc.getCurrentController();
+ XViewSettingsSupplier oVSSupp = UnoRuntime.queryInterface(XViewSettingsSupplier.class, oObj);
+
+ oObj = oVSSupp.getViewSettings();
+
+ log.println( "creating a new environment for ViewSettings object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXViewSettings
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLContentExporter.java b/qadevOOo/tests/java/mod/_sw/XMLContentExporter.java
new file mode 100644
index 000000000..e05a117a0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLContentExporter.java
@@ -0,0 +1,178 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLContentExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLContentExporter extends TestCase {
+ XTextDocument xTextDoc;
+ ContentFilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLContentExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. A string inserted into document. This made
+ * for checking if this string is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ final String CONTENT = "XMLContentExporter";
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new ContentFilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLContentExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ // text added to the document
+ XSimpleText aText = xTextDoc.getText();
+ XTextCursor curs = aText.createTextCursor();
+ aText.insertString(curs, CONTENT, false);
+
+ // adding tags which must be contained in XML output
+ Filter.addTag("office:document-content") ;
+ Filter.addTagEnclosed("office:body", "office:document-content") ;
+ Filter.addTagEnclosed("office:script", "office:document-content") ;
+ Filter.addTagEnclosed("office:body", "office:document-content") ;
+ Filter.addCharactersEnclosed(CONTENT, "text:p") ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter) ;
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class ContentFilterChecker extends XMLTools.XMLTagsChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private ContentFilterChecker(PrintWriter log) {
+ super(log) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return checkTags();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLContentImporter.java b/qadevOOo/tests/java/mod/_sw/XMLContentImporter.java
new file mode 100644
index 000000000..e10549ced
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLContentImporter.java
@@ -0,0 +1,157 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLContentImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLContentImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLContentImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only content tags including test text.
+ * After import text getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impText = "XMLContentImporter test." ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLContentImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-content",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"
+ },
+ {"start", "office:body"},
+ {"start", "text:p"},
+ {"chars", impText},
+ {"end", "text:p"},
+ {"end", "office:body"},
+ {"end", "office:document-content"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final XTextDocument textDoc = UnoRuntime.queryInterface
+ (XTextDocument.class, xTextDoc) ;
+ final PrintWriter fLog = log ;
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ String docText = textDoc.getText().getString() ;
+ fLog.println("Document text returned = '" + docText + "'") ;
+ return impText.equals(docText) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLExporter.java b/qadevOOo/tests/java/mod/_sw/XMLExporter.java
new file mode 100644
index 000000000..4cee8fb68
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLExporter.java
@@ -0,0 +1,181 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ XTextDocument xTextDoc;
+ FilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. A string inserted into document. This made
+ * for checking if this string is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ final String TEST_STR = "XMLExporter";
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),Filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLExporter", new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ XSimpleText aText = xTextDoc.getText();
+ XTextCursor curs = aText.createTextCursor();
+ aText.insertString(curs, TEST_STR, false);
+
+ // adding tags which must be contained in XML output
+ Filter.addTag("office:document") ;
+ Filter.addTagEnclosed("office:meta", "office:document") ;
+ Filter.addTagEnclosed("office:settings", "office:document") ;
+ Filter.addTagEnclosed("office:script", "office:document") ;
+ Filter.addTagEnclosed("office:styles", "office:document") ;
+ Filter.addTagEnclosed("office:body", "office:document") ;
+ Filter.addCharactersEnclosed(TEST_STR, "text:p") ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter) ;
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLTagsChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return checkTags() ;
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLImporter.java b/qadevOOo/tests/java/mod/_sw/XMLImporter.java
new file mode 100644
index 000000000..92291cde6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLImporter.java
@@ -0,0 +1,153 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported tags contain tag including tag with test text.
+ * After import text getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ oObj = (XInterface) xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLImporter");
+ XImporter xIm = UnoRuntime.queryInterface
+ (XImporter.class,oObj);
+ xIm.setTargetDocument(xTextDoc);
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ final String impText = "XMLImporter test." ;
+ String[][] xml = new String[][] {
+ {"start", "office:document" ,
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "office:class", "CDATA", "text",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"},
+ {"start", "office:body" },
+ {"start", "text:p" },
+ {"chars", impText},
+ {"end", "text:p"},
+ {"end", "office:body"},
+ {"end", "office:document"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ tEnv.addObjRelation("TargetDocument",xTextDoc);
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ final XTextDocument textDoc = UnoRuntime.queryInterface
+ (XTextDocument.class, xTextDoc) ;
+ final PrintWriter fLog = log ;
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ String docText = textDoc.getText().getString() ;
+ fLog.println("Document text returned = '" + docText + "'") ;
+ return impText.equals(docText) ;
+ }
+ }) ;
+
+ return tEnv;
+
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java b/qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java
new file mode 100644
index 000000000..7c4b7df26
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java
@@ -0,0 +1,178 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLMetaExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLMetaExporter extends TestCase {
+
+ XTextDocument xTextDoc;
+ MetaFilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLMetaExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. The 'Title' metadata property is set to a value. This made
+ * for checking if this property is successfully exported within
+ * the document metadata.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log ) throws Exception {
+ final String TITLE = "Title for testing of XMLMetaExporter";
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new MetaFilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLMetaExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ //set some meta data
+ XDocumentPropertiesSupplier xPropSup = UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xTextDoc);
+ final XDocumentProperties xDocProps = xPropSup.getDocumentProperties();
+ xDocProps.setTitle(TITLE);
+
+ // adding tags which must be contained in XML output
+ Filter.addTag("office:document-meta");
+ Filter.addTagEnclosed("office:meta", "office:document-meta");
+ Filter.addCharactersEnclosed(TITLE, "dc:title");
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument", xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class MetaFilterChecker extends XMLTools.XMLTagsChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private MetaFilterChecker(PrintWriter log) {
+ super(log) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return checkTags();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java b/qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java
new file mode 100644
index 000000000..354444f82
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java
@@ -0,0 +1,161 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLMetaImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLMetaImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLMetaImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only meta tags including
+ * title tag with test name.
+ * After import title name getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impTitle = "XMLMetaImporter test." ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLMetaImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-meta" ,
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"},
+ {"start", "office:meta"} ,
+ {"start", "dc:title"},
+ {"chars", impTitle},
+ {"end", "dc:title"},
+ {"end", "office:meta"},
+ {"end", "office:document-meta"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XDocumentPropertiesSupplier xPropSup = UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xTextDoc);
+ final XDocumentProperties xDocProps = xPropSup.getDocumentProperties();
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ String title = xDocProps.getTitle();
+ logF.println("Title returned = '" + title + "'") ;
+ return impTitle.equals(title) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java b/qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java
new file mode 100644
index 000000000..f736f5869
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java
@@ -0,0 +1,187 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.frame.XController;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLSettingsExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLSettingsExporter extends TestCase {
+
+ XTextDocument xTextDoc;
+ SettingsFilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLSettingsExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. New document zoom is set as one of the 'View' settings. This made
+ * for checking if this setting is successfully exported within
+ * the document settings.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ final short ZOOM = 50;
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new SettingsFilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLSettingsExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ //set some settings
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+ xPropSet.setPropertyValue("ZoomValue", Short.valueOf(ZOOM));
+
+ // adding tags which must be contained in XML output
+ Filter.addTag( new XMLTools.Tag("office:document-settings") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:settings"),
+ new XMLTools.Tag("office:document-settings") );
+ Filter.addCharactersEnclosed(
+ String.valueOf(ZOOM),
+ new XMLTools.Tag("config:config-item",
+ "config:name", "ZoomFactor") );
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter);
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class SettingsFilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private SettingsFilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java b/qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java
new file mode 100644
index 000000000..0c10e971a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java
@@ -0,0 +1,187 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLSettingsImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLSettingsImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLSettingsImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only settings tags including
+ * title tag with test zoom factor.
+ * After import zoom factor getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final short impZoom = 50 ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLSettingsImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-settings",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config",
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink",
+ },
+ {"start", "office:settings"},
+ {"start", "config:config-item-set",
+ "config:name", "CDATA", "view-settings"
+ },
+ {"start", "config:config-item-map-indexed",
+ "config:name", "CDATA", "Views"},
+ {"start", "config:config-item-map-entry"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ZoomFactor",
+ "config:type", "CDATA", "short"
+ },
+ {"chars", String.valueOf(impZoom)},
+ {"end", "config:config-item"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ZoomType",
+ "config:type", "CDATA", "short"
+ },
+ {"chars", "0"},
+ {"end", "config:config-item"},
+ {"end", "config:config-item-map-entry"},
+ {"end", "config:config-item-map-indexed"},
+ {"end", "config:config-item-set"},
+ {"end", "office:settings"},
+ {"end", "office:document-settings"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class, xController);
+ final XPropertySet xPropSet = xViewSetSup.getViewSettings();
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ Short gValue = (Short)
+ xPropSet.getPropertyValue("ZoomValue");
+ logF.println("ZoomValue property value = " + gValue) ;
+ return impZoom == gValue.shortValue() ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception while checking import :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java b/qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java
new file mode 100644
index 000000000..f676430dd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java
@@ -0,0 +1,180 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLStylesExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLStylesExporter extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /*
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLStylesExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. Footnote property 'Prefix' is set to a new value. This made
+ * for checking if this property value is successfully exported within
+ * the document styles.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log) ;
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLStylesExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ // Checking Head Tag existence and that property has changed
+ filter.addTag(new XMLTools.Tag ("office:document-styles"));
+ filter.addTag(new XMLTools.Tag ("text:footnotes-configuration",
+ "style:num-prefix","New Property")) ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Obtain Footnotes properties
+ XFootnotesSupplier supp = UnoRuntime.queryInterface
+ (XFootnotesSupplier.class, xTextDoc);
+ XPropertySet set = supp.getFootnoteSettings();
+
+ // Change property "Prefix"
+ set.setPropertyValue("Prefix","New Property");
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log,false) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java b/qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java
new file mode 100644
index 000000000..c51f1d2e0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java
@@ -0,0 +1,169 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLStylesImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLStylesImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLStylesImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only style tags including
+ * title tag with test prefix.
+ * After import prefixes getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impPrefix = "Prefix" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLStylesImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-styles",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"
+ },
+ {"start", "office:styles"},
+ {"start", "text:footnotes-configuration",
+ "style:num-prefix", "CDATA", impPrefix},
+ {"end", "text:footnotes-configuration"},
+ {"end", "office:styles"},
+ {"end", "office:document-styles"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XFootnotesSupplier supp = UnoRuntime.queryInterface
+ (XFootnotesSupplier.class, xTextDoc);
+ final XPropertySet set = supp.getFootnoteSettings();
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String prefix = (String) set.getPropertyValue("Prefix");
+ logF.println("Prefix returned = '" + prefix + "'") ;
+ return impPrefix.equals(prefix) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occurred while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/package.html b/qadevOOo/tests/java/mod/_sw/package.html
new file mode 100644
index 000000000..3be3b188f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'sw'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_sysdtrans/SystemClipboard.java b/qadevOOo/tests/java/mod/_sysdtrans/SystemClipboard.java
new file mode 100644
index 000000000..f70dcd961
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sysdtrans/SystemClipboard.java
@@ -0,0 +1,44 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._sysdtrans;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+public class SystemClipboard extends TestCase {
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.datatransfer.clipboard.SystemClipboard");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sysdtrans/package.html b/qadevOOo/tests/java/mod/_sysdtrans/package.html
new file mode 100644
index 000000000..a530c6b12
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sysdtrans/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'sysdtrans'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_syssh/SystemShellExecute.java b/qadevOOo/tests/java/mod/_syssh/SystemShellExecute.java
new file mode 100644
index 000000000..08b0af7dd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_syssh/SystemShellExecute.java
@@ -0,0 +1,44 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._syssh;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+public class SystemShellExecute extends TestCase {
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.system.SystemShellExecute");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_tcv/TypeConverter.java b/qadevOOo/tests/java/mod/_tcv/TypeConverter.java
new file mode 100644
index 000000000..e0019b8ea
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_tcv/TypeConverter.java
@@ -0,0 +1,59 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._tcv;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+public class TypeConverter extends TestCase {
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.script.Converter" );
+ }
+ catch( Exception e ) {
+ log.println("Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class TypeConverter
+
diff --git a/qadevOOo/tests/java/mod/_tcv/package.html b/qadevOOo/tests/java/mod/_tcv/package.html
new file mode 100644
index 000000000..45007682b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_tcv/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'tcv'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_tdmgr/TypeDescriptionManager.java b/qadevOOo/tests/java/mod/_tdmgr/TypeDescriptionManager.java
new file mode 100644
index 000000000..f2e2a2831
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_tdmgr/TypeDescriptionManager.java
@@ -0,0 +1,76 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._tdmgr;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+
+public class TypeDescriptionManager extends TestCase {
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XPropertySet xProp = UnoRuntime.queryInterface(
+ XPropertySet.class, xMSF);
+ // get context
+ XComponentContext xContext = UnoRuntime.queryInterface(XComponentContext.class,
+ xProp.getPropertyValue("DefaultContext"));
+ // get the type description manager from context
+ oInterface = xContext.getValueByName("/singletons/" +
+ "com.sun.star.reflection.theTypeDescriptionManager");
+ }
+ catch( Exception e ) {
+ log.println("Introspection Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Object relation for XHierarchicalNameAccess ifc
+ // Name of the existing object
+ tEnv.addObjRelation("ElementName", "com.sun.star.container.XNameAccess") ;
+ tEnv.addObjRelation("SearchString", "com.sun.star.loader");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class TypeDescriptionManager
+
diff --git a/qadevOOo/tests/java/mod/_tdmgr/package.html b/qadevOOo/tests/java/mod/_tdmgr/package.html
new file mode 100644
index 000000000..277a28045
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_tdmgr/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'tdmgr'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_text/DefaultNumberingProvider.java b/qadevOOo/tests/java/mod/_text/DefaultNumberingProvider.java
new file mode 100644
index 000000000..a673cba8d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_text/DefaultNumberingProvider.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._text;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.DefaultNumberingProvider</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::text::XDefaultNumberingProvider</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see ifc.text._DefaultNumberingProvider
+* @see ifc.text._XDefaultNumberingProvider
+*/
+public class DefaultNumberingProvider extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.DefaultNumberingProvider</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ("com.sun.star.text.DefaultNumberingProvider" );
+
+ oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleButton.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleButton.java
new file mode 100644
index 000000000..299e366dc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleButton.java
@@ -0,0 +1,195 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul>
+ * <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleButton extends lib.TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Opens 'Printer Settings' dialog using document dispatch provider running
+ * in a separate thread. Finds active top window (the dialog window) and
+ * finds accessible button 'OK' walking through the accessible component
+ * tree.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XMultiServiceFactory msf = Param.getMSF();
+
+ oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class,
+ oObj);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ // Opening PrinterSetupDialog
+ String aSlotID = ".uno:Zoom";
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ msf.createInstance("com.sun.star.util.URLTransformer"));
+
+ // Because it's an in/out parameter
+ // we must use an array of URL objects.
+ URL[] aParseURL = new URL[] { new URL() };
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+
+ XDispatch xDispatcher = xDispProv.queryDispatch(aParseURL[0], "", 0);
+ if (xDispatcher != null) {
+ xDispatcher.dispatch(aParseURL[0], null);
+ }
+
+ util.utils.waitForEventIdle(msf);
+
+ Object atw = tk.getActiveTopWindow();
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class, atw);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot,
+ Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON, "Cancel");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ action = UnoRuntime.queryInterface(XAccessibleAction.class, oObj);
+
+ final XAccessibleComponent acomp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class, oObj);
+
+ tEnv.addObjRelation(
+ "EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ System.out.println("Grabbing focus ... ");
+ acomp.grabFocus();
+ }
+ });
+
+ XAccessibleText text = UnoRuntime.queryInterface(XAccessibleText.class,
+ oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ return tEnv;
+ }
+
+ /**
+ * Closes the dialog using accessible button 'OK' found in
+ * <code>createTestEnvironment()</code>.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Opens new writer document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log)
+ throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleCheckBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleCheckBox.java
new file mode 100644
index 000000000..8c737225a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleCheckBox.java
@@ -0,0 +1,207 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Test for object which is represented by accessible component of check box in
+ * 'InsertTable' dialog.
+ * <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul>
+ * <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleCheckBox extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Opens 'Insert Table' dialog using document dispatch provider running in a
+ * separate thread. Finds active top window (the dialog window) and finds
+ * first accessible check box walking through the accessible component tree.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory msf = Param.getMSF();
+ log.println("Creating text document");
+
+ if (xTextDoc == null) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XInterface oObj = null;
+
+ log.println("getting toolkit");
+
+ oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class,
+ oObj);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ log.println("Opening Dialog in second thread");
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ // Opening PrinterSetupDialog
+ String aSlotID = ".uno:InsertTable";
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ msf.createInstance("com.sun.star.util.URLTransformer"));
+
+ // Because it's an in/out parameter we must use an array of URL
+ // objects.
+ URL[] aParseURL = new URL[] { new URL() };
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+
+ XDispatch xDispatcher = xDispProv.queryDispatch(aParseURL[0], "", 0);
+ if (xDispatcher != null) {
+ xDispatcher.dispatch(aParseURL[0], null);
+ }
+
+ util.utils.waitForEventIdle(msf);
+
+ log.println("Getting the active TopWindow");
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot,
+ Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON, "Cancel");
+
+ action = UnoRuntime.queryInterface(XAccessibleAction.class, oObj);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.CHECK_BOX);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acomp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class, oObj);
+
+ tEnv.addObjRelation(
+ "EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ System.out.println("Grabbing focus ... ");
+ acomp.grabFocus();
+ }
+ });
+
+ XAccessibleText text = UnoRuntime.queryInterface(XAccessibleText.class,
+ oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ return tEnv;
+ }
+
+ /**
+ * Closes the dialog using accessible button 'Cancel' found in
+ * <code>createTestEnvironment()</code>.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try {
+ log.println("closing dialog");
+ action.doAccessibleAction(0);
+ log.println("closing the document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ log.println("reinitialize the variable");
+ xTextDoc = null;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleComboBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleComboBox.java
new file mode 100644
index 000000000..5e04b73da
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleComboBox.java
@@ -0,0 +1,194 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Test for object which is represented by accessible component of the 'Font'
+ * combo box in Format->Character... dialog box.
+ * <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li>
+ * <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul>
+ * <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleComboBox extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Opens CharacterStyle dialog and finds AccessibleComboBox walking through
+ * the accessible component tree.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class,
+ oObj);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XController xController = aModel.getCurrentController();
+
+ // Opening PrinterSetupDialog
+ String aSlotID = ".uno:FontDialog";
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(
+ XURLTransformer.class,
+ Param.getMSF().createInstance(
+ "com.sun.star.util.URLTransformer"));
+
+ // Because it's an in/out parameter we must use an array of URL
+ // objects.
+ URL[] aParseURL = new URL[] { new URL() };
+ aParseURL[0].Complete = aSlotID;
+ xParser.parseStrict(aParseURL);
+
+ XDispatch xDispatcher = xDispProv.queryDispatch(aParseURL[0], "", 0);
+ if (xDispatcher != null) {
+ xDispatcher.dispatch(aParseURL[0], null);
+ }
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ Object atw = tk.getActiveTopWindow();
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class, atw);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON, "Cancel");
+ action = UnoRuntime.queryInterface(XAccessibleAction.class, oObj);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PAGE_TAB_LIST);
+
+ XAccessibleSelection xAccSel = UnoRuntime.queryInterface(
+ XAccessibleSelection.class, oObj);
+
+ try {
+ xAccSel.selectAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ AccessibilityTools.printAccessibleTree(log, xRoot,
+ Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PANEL, "", "AccessibleComboBox");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acomp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class, oObj);
+ final XAccessibleComponent acomp1 = UnoRuntime.queryInterface(
+ XAccessibleComponent.class, action);
+
+ tEnv.addObjRelation(
+ "EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acomp1.grabFocus();
+ acomp.grabFocus();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Closes the dialog using accessible button 'Cancel' found in
+ * <code>createTestEnvironment()</code>.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" closing dialog ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creates writer doc
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log)
+ throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownComboBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownComboBox.java
new file mode 100644
index 000000000..d1b465c0e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownComboBox.java
@@ -0,0 +1,123 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XWindow;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by accessible component
+ * of the URL locator combo box located in the left upper corner
+ * of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleDropDownComboBox extends TestCase {
+ private static XTextDocument xTextDoc = null;
+
+ /**
+ * Finds AccessibleDropDownComboBox walking through the
+ * accessible component tree of a writer document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ XWindow xWindow = AccessibilityTools.getCurrentContainerWindow(
+ xTextDoc);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.COMBO_BOX,
+ "", "AccessibleDropDownComboBox");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleAction editAction = UnoRuntime.queryInterface(
+ XAccessibleAction.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ editAction.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Creates writer document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownListBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownListBox.java
new file mode 100644
index 000000000..7adcc1c2e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleDropDownListBox.java
@@ -0,0 +1,127 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XWindow;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by style list box
+ * on toolbar of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleDropDownListBox extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ /**
+ * Finds AccessibleDropDownListBox walking through the
+ * accessible component tree of a writer document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(
+ xTextDoc);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.COMBO_BOX,
+ "", "AccessibleDropDownListBox");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleAction acomp = UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ acomp.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ throw new StatusException("Can't perform action 0", e);
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Creates writer document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ // Dock the Navigator to supply an AccessibleDropDownListBox
+ DesktopTools.dockNavigator(Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleEdit.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleEdit.java
new file mode 100644
index 000000000..d28592b6c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleEdit.java
@@ -0,0 +1,194 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleEditableText;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by edit field
+ * of 'Insert Hyperlink' dialog. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEditableText</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEditableText
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleEditableText
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleEdit extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Opens 'Insert Hyperlink' dialog using document dispatch provider.
+ * Finds active top window (the dialog
+ * window) and finds first accessible edit field and
+ * button 'Close' (for closing this dialog when disposing)
+ * walking through the accessible component tree.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ XInterface transf = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Close");
+ action = UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TEXT);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleEditableText edText = UnoRuntime.queryInterface(
+ XAccessibleEditableText.class,
+ oObj);
+ edText.setText("AccessibleEdit");
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ edText.setText("firing event ...");
+ edText.setText("firing event ... 2");
+ edText.setText("AccessibleEdit");
+ }
+ });
+
+ XAccessibleText text = UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("XAccessibleEditableText.hasAttr", Boolean.FALSE);
+
+ return tEnv;
+ }
+
+ /**
+ * Closes dialog using action of button 'Close'
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog ... ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creates writer document
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleFixedText.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleFixedText.java
new file mode 100644
index 000000000..f7a756685
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleFixedText.java
@@ -0,0 +1,189 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XFixedText;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XLayoutConstrains;
+import com.sun.star.awt.Size;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by accessible component
+ * of the fixed text label in 'Hyperlink' Dialog. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleFixedText extends TestCase {
+ private static XWindow xWinDlg = null;
+
+ /**
+ * Creates a new dialog adds fixed text control to it and
+ * displays it. Then the text's accessible component is
+ * obtained.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XControlModel dlgModel = null;
+
+ XControl txtControl = null;
+ XControlModel txtModel = null;
+
+ try {
+ dlgModel = UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlDialogModel"));
+
+ XControl dlgControl = UnoRuntime.queryInterface(
+ XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlDialog"));
+
+ dlgControl.setModel(dlgModel);
+
+ txtModel = UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlFixedTextModel"));
+
+ txtControl = UnoRuntime.queryInterface(XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlFixedText"));
+
+ txtControl.setModel(txtModel);
+
+ XFixedText xFT = UnoRuntime.queryInterface(
+ XFixedText.class, txtControl);
+ xFT.setText("FxedText");
+
+ /* Set the text control to its preferred size, otherwise it
+ * defaults to the size hard coded in its constructor (100 x 12) */
+ XLayoutConstrains xLCTxt = UnoRuntime.queryInterface(
+ XLayoutConstrains.class, txtControl);
+ Size textSize = xLCTxt.getPreferredSize();
+ XWindow xWinTxt = UnoRuntime.queryInterface(
+ XWindow.class, txtControl);
+ xWinTxt.setPosSize(0, 0, textSize.Width, textSize.Height,
+ PosSize.SIZE);
+
+ XControlContainer ctrlCont = UnoRuntime.queryInterface(
+ XControlContainer.class,
+ dlgControl);
+
+ ctrlCont.addControl("Text", txtControl);
+
+ xWinDlg = UnoRuntime.queryInterface(XWindow.class,
+ dlgControl);
+
+ xWinDlg.setVisible(true);
+
+ xWinDlg.setPosSize(0, 0, 200, 100, PosSize.SIZE);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error creating dialog :");
+ e.printStackTrace(log);
+ }
+
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.Toolkit");
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWinDlg);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.LABEL);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XWindow xWin = UnoRuntime.queryInterface(XWindow.class,
+ txtControl);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ xWin.setEnable(false);
+ xWin.setEnable(true);
+ }
+ });
+
+ XAccessibleText text = UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ return tEnv;
+ }
+
+ /**
+ * Closes dialog using action of button 'Close'
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog ... ");
+ if (xWinDlg != null)
+ xWinDlg.dispose();
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleList.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleList.java
new file mode 100644
index 000000000..f88b7dbe1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleList.java
@@ -0,0 +1,191 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+public class AccessibleList extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+ private static XMultiServiceFactory msf = null;
+
+ /**
+ * Opens 'Insert Hyperlink' dialog using document dispatch provider.
+ * Finds active top window (the dialog
+ * window) and finds button 'Close' (for closing this dialog when
+ * disposing) walking through the accessible component tree.
+ * Then the TREE component is found and the 'New Document' tab is
+ * selected to make list box visible. After that list box is obtained.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ XInterface transf = (XInterface) msf.createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ // obtaining 'Close' button
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Close");
+ action = UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ // Selecting 'New Document' tab
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TREE);
+
+ XAccessibleSelection xAccSel = UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+ xAccSel.selectAccessibleChild(3);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ log.println("# Getting the ListBox");
+
+ XAccessibleContext parent = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PANEL,
+ "",
+ "com.sun.star.comp.toolkit.AccessibleListBox");
+
+ log.println("# Getting the first child");
+
+ try {
+ oObj = parent.getAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ Boolean.FALSE);
+
+ final XAccessibleComponent acomp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+ final XAccessibleComponent acomp1 = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ action);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ System.out.println("Grabbing focus ... ");
+ acomp1.grabFocus();
+ acomp.grabFocus();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Closes dialog using action of button 'Close'
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog ... ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creates writer document
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ msf = Param.getMSF();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xTextDoc = SOF.createTextDoc(null);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleListBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleListBox.java
new file mode 100644
index 000000000..dcbef787f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleListBox.java
@@ -0,0 +1,205 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented accessible component
+ * of 'File type' list box situated in 'Insert Hyperlink'
+ * dialog on tab 'New Document'. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleListBox extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Opens 'Insert Hyperlink' dialog using document dispatch provider.
+ * Finds active top window (the dialog
+ * window) and finds button 'Close' (for closing this dialog when
+ * disposing) walking through the accessible component tree.
+ * Then the TREE component is found and the 'New Document' tab is
+ * selected to make list box visible. After that list box is obtained.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ XInterface transf = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+
+ // obtaining 'Close' button
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Close");
+ action = UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ // Selecting 'New Document' tab
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TREE);
+
+ XAccessibleSelection xAccSel = UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+ xAccSel.selectAccessibleChild(3);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL, "",
+ "com.sun.star.comp.toolkit.AccessibleListBox");
+
+ Object list = AccessibilityTools.getAccessibleObjectForRole(AccessibilityTools.SearchedAccessible,
+ AccessibleRole.LIST);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acomp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ list);
+ final XAccessibleComponent acomp1 = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ action);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ System.out.println("Grabbing focus ... ");
+ acomp1.grabFocus();
+ acomp.grabFocus();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Closes dialog using action of button 'Close'
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog ... ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creates writer document
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleListItem.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleListItem.java
new file mode 100644
index 000000000..58726c366
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleListItem.java
@@ -0,0 +1,197 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented accessible component
+ * of 'File type' list box item situated in 'Insert Hyperlink'
+ * dialog on tab 'New Document'. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleListItem extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XAccessibleAction action = null;
+
+ /**
+ * Opens 'Insert Hyperlink' dialog using document dispatch provider.
+ * Finds active top window (the dialog
+ * window) and finds button 'Close' (for closing this dialog when
+ * disposing) walking through the accessible component tree.
+ * Then the TREE component is found and the 'New Document' tab is
+ * selected to make list box visible. After that listbox item is obtained.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory msf = Param.getMSF();
+ XInterface oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ XInterface transf = (XInterface) msf.createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ // obtaining 'Close' button
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PUSH_BUTTON,
+ "Close");
+ action = UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ // Selecting 'New Document' tab
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TREE);
+
+ XAccessibleSelection xAccSel = UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+ xAccSel.selectAccessibleChild(3);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.LIST_ITEM,"Spr");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ final XAccessibleComponent acomp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acomp.grabFocus();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Closes dialog using action of button 'Close'
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println(" Closing dialog ... ");
+
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ioe) {
+ log.println("Couldn't close dialog");
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Dialog already disposed");
+ }
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creates writer document
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleMenu.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenu.java
new file mode 100644
index 000000000..b050f6108
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenu.java
@@ -0,0 +1,158 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented accessible component of
+ * main menu of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleText
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleMenu extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ /**
+ * Finds accessible component with role <code>MENU</code>
+ * walking through the accessible component tree of a document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(final TestParameters Param,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory msf = Param.getMSF();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XModel.class, xTextDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XAccessibleContext menubar = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.MENU_BAR);
+ XInterface oObj = null;
+ Object menu2 = null;
+
+ try {
+ oObj = menubar.getAccessibleChild(2);
+ menu2 = menubar.getAccessibleChild(1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleAction act1 = UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+ final XAccessibleAction act2 = UnoRuntime.queryInterface(
+ XAccessibleAction.class, menu2);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ act2.doAccessibleAction(0);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ act1.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ });
+
+ XAccessibleText text = UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("EditOnly", "Can't change or select Text in Menu");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ tEnv.addObjRelation("XAccessibleSelection.OneAlwaysSelected",
+ Boolean.FALSE);
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ Boolean.FALSE);
+
+ return tEnv;
+ }
+
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try {
+ util.DesktopTools.closeDoc(xTextDoc);
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Object already disposed");
+ }
+ }
+
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuBar.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuBar.java
new file mode 100644
index 000000000..d50050394
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuBar.java
@@ -0,0 +1,126 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented accessible component of
+ * menu bar of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleSelection</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleMenuBar extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ /**
+ * Finds accessible component with role <code>MENUBAR</code>
+ * walking through the accessible component tree of a document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XModel.class, xTextDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XInterface oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.MENU_BAR);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleComponent acomp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ System.out.println("Grabbing focus ... ");
+ acomp.grabFocus();
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleSelection.OneAlwaysSelected",
+ Boolean.FALSE);
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ Boolean.FALSE);
+
+ return tEnv;
+ }
+
+ /**
+ * Creates writer document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes document.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuItem.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuItem.java
new file mode 100644
index 000000000..0e9fa36ea
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuItem.java
@@ -0,0 +1,165 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleText;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by accessible component
+ * of a menu item in main menu of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleMenuItem extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XMultiServiceFactory msf = null;
+
+ /**
+ * Finds first accessible component with role <code>MENUITEM</code>
+ * walking through the accessible component tree of a document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = (XInterface) msf.createInstance("com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ Object atw = tk.getActiveTopWindow();
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ atw);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XAccessibleContext MenuBar = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.MENU_BAR);
+
+ try {
+ //activate Edit-Menu
+ XAccessible Menu = MenuBar.getAccessibleChild(1);
+ XAccessibleAction act = UnoRuntime.queryInterface(
+ XAccessibleAction.class, Menu);
+ act.doAccessibleAction(0);
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ //get a menu-item
+ oObj = Menu.getAccessibleContext().getAccessibleChild(11);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleAction action = UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ });
+
+ XAccessibleText text = UnoRuntime.queryInterface(
+ XAccessibleText.class, oObj);
+
+ tEnv.addObjRelation("XAccessibleText.Text", text.getText());
+
+ tEnv.addObjRelation("EditOnly",
+ "Can't change or select Text in MenuBarItem");
+
+ tEnv.addObjRelation("Destroy", Boolean.TRUE);
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ return tEnv;
+ }
+
+ /**
+ * Creates writer document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ msf = Param.getMSF();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes document.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuSeparator.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuSeparator.java
new file mode 100644
index 000000000..48e14436f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleMenuSeparator.java
@@ -0,0 +1,141 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by accessible component
+ * of a menu separator in main menu of a document. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleEventBroadcaster</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li> <code>::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleContext
+ */
+public class AccessibleMenuSeparator extends TestCase {
+ private static XTextDocument xTextDoc = null;
+ private static XMultiServiceFactory msf = null;
+
+ /**
+ * Finds first accessible component with role <code>SEPARATOR</code>
+ * and implementation name <code>AccessibleMenuSeparator</code>
+ * walking through the accessible component tree of a document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XModel.class, xTextDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XAccessibleContext MenuBar = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.MENU_BAR);
+ XAccessibleAction act = null;
+ XInterface oObj = null;
+
+ try {
+ //activate Edit-Menu
+ XAccessible Menu = MenuBar.getAccessibleChild(1);
+ act = UnoRuntime.queryInterface(
+ XAccessibleAction.class, Menu);
+ act.doAccessibleAction(0);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ //get a menu-separator
+ oObj = Menu.getAccessibleContext().getAccessibleChild(3);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleAction aAct = act;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ aAct.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Creates writer document.
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ msf = Param.getMSF();
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes document.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessiblePopupMenu.java b/qadevOOo/tests/java/mod/_toolkit/AccessiblePopupMenu.java
new file mode 100644
index 000000000..ed60cb7dc
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessiblePopupMenu.java
@@ -0,0 +1,191 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.Point;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+public class AccessiblePopupMenu extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static Point point;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+
+ log.println("release the popup menu");
+ try {
+ Robot rob = new Robot();
+ int x = point.X;
+ int y = point.Y;
+ rob.mouseMove(x, y);
+ rob.mousePress(InputEvent.BUTTON1_MASK);
+ rob.mouseRelease(InputEvent.BUTTON1_MASK);
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document. Then obtains an accessible object with the role
+ * <code>AccessibleRole.PUSHBUTTON</code> and with the name
+ * <code>"Bold"</code>. Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}</li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}: the name of button</li>
+ * </ul>
+ *
+ * @param tParam
+ * test parameters
+ * @param log
+ * writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception{
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ XInterface toolkit = null;
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ toolkit = (XInterface) tParam.getMSF().createInstance(
+ "com.sun.star.awt.Toolkit");
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XInterface oObj = null;
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PANEL);
+
+ XAccessibleComponent window = UnoRuntime.queryInterface(
+ XAccessibleComponent.class, oObj);
+
+ point = window.getLocationOnScreen();
+ Rectangle rect = window.getBounds();
+
+ try {
+ Robot rob = new Robot();
+ int x = point.X + (rect.Width / 2);
+ int y = point.Y + (rect.Height / 2);
+ rob.mouseMove(x, y);
+ rob.mousePress(InputEvent.BUTTON3_MASK);
+ rob.mouseRelease(InputEvent.BUTTON3_MASK);
+ } catch (java.awt.AWTException e) {
+ log.println("couldn't press mouse button");
+ }
+
+ util.utils.shortWait();
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(XExtendedToolkit.class,
+ toolkit);
+
+ try {
+ xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getTopWindow(0));
+
+ xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot,
+ tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Couldn't get Window");
+ }
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.POPUP_MENU);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ Boolean.FALSE);
+
+ final XAccessibleSelection sel = UnoRuntime.queryInterface(
+ XAccessibleSelection.class, oObj);
+
+ tEnv.addObjRelation(
+ "EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ sel.selectAccessibleChild(2);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't fire event");
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ protected void closeDoc() {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleRadioButton.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleRadioButton.java
new file mode 100644
index 000000000..29cdbc71e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleRadioButton.java
@@ -0,0 +1,266 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.accessibility.XAccessibleValue;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleText</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleText
+ */
+public class AccessibleRadioButton extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XAccessibleAction accCloseButton;
+
+ /**
+ * Closes a hyperlink dialog, disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try {
+ if (accCloseButton != null) {
+ log.println("closing HyperlinkDialog");
+ accCloseButton.doAccessibleAction(0);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.DisposedException de) {
+ log.println("Already disposed");
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document, opens a hyperlink dialog, selects a first item
+ * in IconChoiceCtrl.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.RADIOBUTTON</code> with the name <code>
+ * "Internet"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus </li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}:
+ * the text of the component </li>
+ * <li> <code>'XAccessibleValue.anotherFromGroup'</code> for
+ * {@link ifc.accessibility._XAccessibleValue}:
+ * <code>'FTP'</code> button </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ XInterface transf = (XInterface) tParam.getMSF().createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+
+ XDispatch getting = null;
+ log.println("opening HyperlinkDialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:HyperlinkDialog";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XInterface oObj = (XInterface) tParam.getMSF().createInstance(
+ "com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XAccessibleContext iconChoiceCtrl = AccessibilityTools.getAccessibleObjectForRole(
+ xRoot, AccessibleRole.TREE,
+ "IconChoiceControl");
+
+ XAccessibleSelection sel = UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ iconChoiceCtrl);
+
+ try {
+ sel.selectAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ log.println("Unexpected exception");
+ e.printStackTrace(log);
+ }
+
+ AccessibilityTools.printAccessibleTree(log,xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.RADIO_BUTTON,
+ "Web");
+
+ XAccessibleContext anotherButton = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.RADIO_BUTTON,
+ "FTP");
+
+ XAccessibleContext closeButton = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON,
+ "Close");
+
+
+ accCloseButton = UnoRuntime.queryInterface(
+ XAccessibleAction.class, closeButton);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this component");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ final XAccessibleComponent acomp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ acomp.grabFocus();
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleText.Text", "Web");
+
+ tEnv.addObjRelation("EditOnly",
+ "Can't change or select Text in AccessibleRadioButton");
+
+ XAccessibleValue anotherButtonValue = UnoRuntime.queryInterface(
+ XAccessibleValue.class,
+ anotherButton);
+
+ tEnv.addObjRelation("XAccessibleValue.anotherFromGroup",
+ anotherButtonValue);
+
+ return tEnv;
+ }
+
+ protected void closeDoc() {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleScrollBar.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleScrollBar.java
new file mode 100644
index 000000000..e06c73423
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleScrollBar.java
@@ -0,0 +1,155 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleAction
+ */
+public class AccessibleScrollBar extends TestCase {
+ private static XComponent xDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.SCROLLBAR</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a text document");
+ xDoc = SOF.createDrawDoc(null);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xDoc);
+
+ XInterface oObj = null;
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(
+ aModel);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.SCROLL_BAR);
+
+ final XAccessibleAction act = UnoRuntime.queryInterface(
+ XAccessibleAction.class, oObj);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ act.doAccessibleAction(1);
+ } catch (Exception e) {
+ }
+ }
+ });
+
+ return tEnv;
+ }
+
+ protected void closeDoc() {
+ util.DesktopTools.closeDoc(xDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBar.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBar.java
new file mode 100644
index 000000000..db248108d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBar.java
@@ -0,0 +1,160 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleAction
+ */
+public class AccessibleStatusBar extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.SCROLLBAR</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ XInterface toolkit = null;
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ toolkit = (XInterface) tParam.getMSF().createInstance(
+ "com.sun.star.awt.Toolkit");
+
+ XInterface oObj = null;
+
+ final XWindow xWindow =
+ UnoRuntime.queryInterface(XModel.class, xTextDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.STATUS_BAR);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Rectangle newPosSize = xWindow.getPosSize();
+ newPosSize.Width = newPosSize.Width - 20;
+ newPosSize.Height = newPosSize.Height - 20;
+ newPosSize.X = newPosSize.X + 20;
+ newPosSize.Y = newPosSize.Y + 20;
+ xWindow.setPosSize(
+ newPosSize.X, newPosSize.Y, newPosSize.Width,
+ newPosSize.Height, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBarItem.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBarItem.java
new file mode 100644
index 000000000..aa10a8b00
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleStatusBarItem.java
@@ -0,0 +1,163 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleValue
+ * @see ifc.accessibility._XAccessibleAction
+ */
+public class AccessibleStatusBarItem extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.SCROLLBAR</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XInterface oObj = null;
+ XInterface secondItem = null;
+
+ XWindow xWindow = AccessibilityTools.getCurrentContainerWindow(
+ aModel);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ XAccessibleContext statusbar = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.STATUS_BAR);
+
+ try {
+ oObj = statusbar.getAccessibleChild(6);
+ secondItem = statusbar.getAccessibleChild(1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "Can't change or select Text in StatusBarItem");
+ tEnv.addObjRelation("XAccessibleText", secondItem);
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ final XTextDocument doc = xTextDoc;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ doc.getText().setString("AccessibleStatusBarItem");
+ }
+ });
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleTabControl.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleTabControl.java
new file mode 100644
index 000000000..f73b34894
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleTabControl.java
@@ -0,0 +1,225 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleSelection
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleSelection
+ */
+public class AccessibleTabControl extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XAccessibleAction accCloseButton = null;
+
+ /**
+ * Closes an InsertFields dialog, disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try {
+ if (accCloseButton != null) {
+ log.println("closing InsertFields Dialog");
+ accCloseButton.doAccessibleAction(0);
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+ }
+
+ /**
+ * Creates a text document, opens an InsertField dialog.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.PAGETABLIST</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * selects items </li>
+ * <li> <code>'XAccessibleSelection.multiSelection'</code>
+ * of type <code>Boolean</code> for
+ * {@link ifc.accessibility._XAccessibleSelection}:
+ * indicates that component supports single selection mode.</li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleSelection
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleSelection
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ XInterface transf = (XInterface) tParam.getMSF().createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+
+ XDispatch getting = null;
+ log.println("opening InsertField dialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:InsertField";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XInterface oObj = (XInterface) tParam.getMSF().createInstance(
+ "com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PAGE_TAB_LIST);
+
+ XAccessibleContext closeButton = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON,
+ "Close");
+
+ accCloseButton = UnoRuntime.queryInterface(
+ XAccessibleAction.class, closeButton);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleSelection selection = UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ selection.selectAccessibleChild(1);
+ selection.selectAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleSelection.OneAlwaysSelected",
+ Boolean.TRUE);
+
+ tEnv.addObjRelation("XAccessibleSelection.multiSelection",
+ Boolean.FALSE);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java
new file mode 100644
index 000000000..f31182703
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleTabPage.java
@@ -0,0 +1,237 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.accessibility.XAccessibleComponent;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ */
+public class AccessibleTabPage extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XAccessibleAction accCloseButton = null;
+
+ /**
+ * Closes an InsertFields dialog, disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ try {
+ if (accCloseButton != null) {
+ log.println("closing InsertFields Dialog");
+ accCloseButton.doAccessibleAction(0);
+ util.utils.waitForEventIdle(Param.getMSF());
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Couldn't close dialog " + e.getMessage());
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document, opens an InsertField dialog.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.PAGETAB</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ try {
+ if (accCloseButton != null) {
+ log.println("closing InsertFields Dialog");
+ accCloseButton.doAccessibleAction(0);
+ util.utils.waitForEventIdle(tParam.getMSF());
+ }
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace(log);
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("Couldn't close dialog " + e.getMessage());
+ }
+
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XModel aModel1 = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XController secondController = aModel1.getCurrentController();
+
+ XDispatchProvider aProv = UnoRuntime.queryInterface(
+ XDispatchProvider.class,
+ secondController);
+
+ XURLTransformer urlTransf = null;
+
+ XInterface transf = (XInterface) tParam.getMSF().createInstance(
+ "com.sun.star.util.URLTransformer");
+ urlTransf = UnoRuntime.queryInterface(
+ XURLTransformer.class, transf);
+
+ XDispatch getting = null;
+ log.println("opening InsertField dialog");
+
+ URL[] url = new URL[1];
+ url[0] = new URL();
+ url[0].Complete = ".uno:InsertField";
+ urlTransf.parseStrict(url);
+ getting = aProv.queryDispatch(url[0], "", 0);
+
+ PropertyValue[] noArgs = new PropertyValue[0];
+ getting.dispatch(url[0], noArgs);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XInterface oObj = null;
+
+ oObj = (XInterface) tParam.getMSF().createInstance(
+ "com.sun.star.awt.Toolkit");
+
+ XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, oObj);
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class,
+ tk.getActiveTopWindow());
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ XAccessibleContext closeButton = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.PUSH_BUTTON,
+ "Close");
+
+ accCloseButton = UnoRuntime.queryInterface(
+ XAccessibleAction.class, closeButton);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PAGE_TAB);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly", "toolkit.AccessibleTabPage");
+ tEnv.addObjRelation("LimitedBounds", "toolkit.AccessibleTabPage");
+
+ XAccessibleComponent accComp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ oObj);
+ accComp.getLocationOnScreen();
+
+ util.utils.waitForEventIdle(tParam.getMSF());
+
+ XInterface xEventInt = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PAGE_TAB, "Variables");
+ final XAccessibleComponent eventAccComp = UnoRuntime.queryInterface(
+ XAccessibleComponent.class,
+ xEventInt);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ eventAccComp.grabFocus();
+ }
+ });
+
+ return tEnv;
+ }
+
+ protected void closeDoc() {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBox.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBox.java
new file mode 100644
index 000000000..868eac149
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBox.java
@@ -0,0 +1,159 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ */
+public class AccessibleToolBox extends TestCase {
+ private XTextDocument xTextDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.TOOLBAR</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}:
+ * grabs focus
+ * </li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ XMultiServiceFactory msf = tParam.getMSF();
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(msf);
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ XInterface oObj = null;
+
+ XWindow xWindow = UnoRuntime.queryInterface(XModel.class, xTextDoc).
+ getCurrentController().getFrame().getContainerWindow();
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TOOL_BAR);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ XAccessible acc = AccessibilityTools.getAccessibleObject(oObj);
+ XAccessible child = null;
+
+ try {
+ child = acc.getAccessibleContext().getAccessibleChild(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+
+ util.dbg.printInterfaces(child);
+
+ final XAccessibleAction action = UnoRuntime.queryInterface(
+ XAccessibleAction.class,
+ child);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ action.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't fire event");
+ }
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBoxItem.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBoxItem.java
new file mode 100644
index 000000000..c92a14b61
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleToolBoxItem.java
@@ -0,0 +1,176 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleAction;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleText</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleText
+ * @see ifc.accessibility._XAccessibleValue
+ */
+public class AccessibleToolBoxItem extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.PUSHBUTTON</code> and with the name
+ * <code>"Bold"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}</li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}: the name of button</li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ closeDoc();
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XInterface oObj = null;
+
+ XWindow xWindow = AccessibilityTools.getCurrentContainerWindow(
+ aModel);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot,
+ AccessibleRole.TOGGLE_BUTTON,
+ "Bold");
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EditOnly",
+ "This method isn't supported in this dialog");
+
+ tEnv.addObjRelation("LimitedBounds", "yes");
+
+ final XAccessibleAction oAction = UnoRuntime.queryInterface(
+ XAccessibleAction.class,
+ oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ oAction.doAccessibleAction(0);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ }
+ }
+ });
+
+ tEnv.addObjRelation("XAccessibleText.Text", "Bold");
+
+ return tEnv;
+ }
+
+ protected void closeDoc() {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/AccessibleWindow.java b/qadevOOo/tests/java/mod/_toolkit/AccessibleWindow.java
new file mode 100644
index 000000000..ff3f63c84
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/AccessibleWindow.java
@@ -0,0 +1,173 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XExtendedToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+
+
+/**
+ * Test for object that implements the following interfaces :
+ * <ul>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleContext</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleEventBroadcaster
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleComponent</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleExtendedComponent
+ * </code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleAction</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleText</code></li>
+ * <li><code>
+ * ::com::sun::star::accessibility::XAccessibleValue</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleContext
+ * @see com.sun.star.accessibility.XAccessibleComponent
+ * @see com.sun.star.accessibility.XAccessibleExtendedComponent
+ * @see com.sun.star.accessibility.XAccessibleAction
+ * @see com.sun.star.accessibility.XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleValue
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleContext
+ * @see ifc.accessibility._XAccessibleComponent
+ * @see ifc.accessibility._XAccessibleExtendedComponent
+ * @see ifc.accessibility._XAccessibleAction
+ * @see ifc.accessibility._XAccessibleText
+ * @see ifc.accessibility._XAccessibleValue
+ */
+public class AccessibleWindow extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Disposes the document, if exists, created in
+ * <code>createTestEnvironment</code> method.
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+ }
+
+ /**
+ * Creates a text document.
+ * Then obtains an accessible object with
+ * the role <code>AccessibleRole.PUSHBUTTON</code> and with the name
+ * <code>"Bold"</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'EventProducer'</code> for
+ * {@link ifc.accessibility._XAccessibleEventBroadcaster}</li>
+ * <li> <code>'XAccessibleText.Text'</code> for
+ * {@link ifc.accessibility._XAccessibleText}: the name of button</li>
+ * </ul>
+ *
+ * @param tParam test parameters
+ * @param log writer to log information while testing
+ *
+ * @see com.sun.star.awt.Toolkit
+ * @see com.sun.star.accessibility.AccessibleRole
+ * @see ifc.accessibility._XAccessibleEventBroadcaster
+ * @see ifc.accessibility._XAccessibleText
+ * @see com.sun.star.accessibility.XAccessibleEventBroadcaster
+ * @see com.sun.star.accessibility.XAccessibleText
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ log.println("creating a test environment");
+
+ if (xTextDoc != null) {
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ XInterface toolkit = null;
+
+ log.println("creating a text document");
+ xTextDoc = SOF.createTextDoc(null);
+ toolkit = (XInterface) tParam.getMSF().createInstance(
+ "com.sun.star.awt.Toolkit");
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XInterface oObj = null;
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(
+ aModel);
+
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL);
+
+ log.println("ImplementationName: " + util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XExtendedToolkit tk = UnoRuntime.queryInterface(
+ XExtendedToolkit.class, toolkit);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ XWindow xWin = UnoRuntime.queryInterface(
+ XWindow.class, tk.getActiveTopWindow());
+ Rectangle newPosSize = xWin.getPosSize();
+ newPosSize.Width = newPosSize.Width - 20;
+ newPosSize.Height = newPosSize.Height - 20;
+ newPosSize.X = newPosSize.X + 20;
+ newPosSize.Y = newPosSize.Y + 20;
+ xWin.setPosSize(newPosSize.X, newPosSize.Y, newPosSize.Width,
+ newPosSize.Height, PosSize.POSSIZE);
+ }
+ });
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/MutableTreeDataModel.java b/qadevOOo/tests/java/mod/_toolkit/MutableTreeDataModel.java
new file mode 100644
index 000000000..10a5f2d1d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/MutableTreeDataModel.java
@@ -0,0 +1,98 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.tree.XMutableTreeDataModel;
+import com.sun.star.awt.tree.XMutableTreeNode;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class MutableTreeDataModel extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XInterface oObj = null;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.tree.MutableTreeDataModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for MutableTreeDataModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "toolkit.MutableTreeDataModel");
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ tEnv.addObjRelation("XTreeDataModelListenerEvent", new XTreeDataModelListenerEvent());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ private class XTreeDataModelListenerEvent implements ifc.awt.tree._XTreeDataModel.XTreeDataModelListenerEvent{
+
+ public void fireEvent(){
+
+ XMutableTreeDataModel xModel = UnoRuntime.queryInterface(XMutableTreeDataModel.class, oObj);
+ XMutableTreeNode node = xModel.createNode("EventNode", true);
+ try {
+ xModel.setRoot(node);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not perform event: " + ex.toString());
+ ex.printStackTrace();
+ }
+
+ }
+ }
+} // finish class UnoControlListBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/MutableTreeNode.java b/qadevOOo/tests/java/mod/_toolkit/MutableTreeNode.java
new file mode 100644
index 000000000..e08d2dd65
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/MutableTreeNode.java
@@ -0,0 +1,153 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.tree.XMutableTreeDataModel;
+import com.sun.star.awt.tree.XMutableTreeNode;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.CommandAbortedException;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import ifc.awt.tree._XMutableTreeNode.XMutableTreeNodeCreator;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+
+public class MutableTreeNode extends TestCase {
+ private static XInterface oObj = null;
+ private static XMutableTreeDataModel mXTreeDataModel;
+ private static XMultiServiceFactory mxMSF;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ mxMSF = tParam.getMSF();
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XMutableTreeNode xNode;
+
+ mXTreeDataModel = UnoRuntime.queryInterface(XMutableTreeDataModel.class,
+ mxMSF.createInstance("com.sun.star.awt.tree.MutableTreeDataModel"));
+
+ xNode = mXTreeDataModel.createNode("UnoTreeControl", false);
+
+ String sDisplayValue = "UnoTreeControl";
+ String sExpandedGraphicURL = "private:graphicrepository/sd/res/triangle_down.png";
+ String sCollapsedGraphicURL = "private:graphicrepository/sd/res/triangle_right.png";
+ String sNodeGraphicURL = "private:graphicrepository/sw/res/nc20010.png";
+
+ xNode.setDisplayValue( sDisplayValue);
+ xNode.setDataValue(sDisplayValue);
+ xNode.setExpandedGraphicURL(sExpandedGraphicURL);
+ xNode.setCollapsedGraphicURL(sCollapsedGraphicURL);
+ xNode.setNodeGraphicURL(sNodeGraphicURL);
+ xNode.setHasChildrenOnDemand(true);
+
+ fillNode(xNode);
+
+ TestEnvironment tEnv = new TestEnvironment(xNode);
+
+ tEnv.addObjRelation("OBJNAME", "toolkit.MutableTreeDataModel");
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ tEnv.addObjRelation("XTreeNode_DisplayValue", sDisplayValue);
+ tEnv.addObjRelation("XTreeNode_ExpandedGraphicURL", sExpandedGraphicURL);
+ tEnv.addObjRelation("XTreeNode_CollapsedGraphicURL", sCollapsedGraphicURL);
+ tEnv.addObjRelation("XTreeNode_NodeGraphicURL", sNodeGraphicURL);
+
+ tEnv.addObjRelation("XMutableTreeNode_NodeToAppend",
+ mXTreeDataModel.createNode("XMutableTreeNode_NodeToAppend", true));
+
+ tEnv.addObjRelation("XMutableTreeNodeCreator", new XMutableTreeNodeCreator(){
+ public XMutableTreeNode createNode(String name){
+ return mXTreeDataModel.createNode(name, true);
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ private void fillNode( XMutableTreeNode xNode ) throws com.sun.star.uno.Exception {
+
+ if( xNode.getChildCount() == 0 )
+ {
+ xNode.getDataValue();
+
+ String officeUserPath = utils.getOfficeUserPath(mxMSF);
+ Object fileacc = mxMSF.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ UnoRuntime.queryInterface(XSimpleFileAccess.class,fileacc);
+
+
+ dirlist(officeUserPath, xNode);
+ }
+ }
+
+ private void dirlist(String dir, XMutableTreeNode xNode){
+
+ Object fileacc = null;
+ try {
+ fileacc = mxMSF.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+ XSimpleFileAccess sfa = UnoRuntime.queryInterface(XSimpleFileAccess.class,fileacc);
+ XMutableTreeNode xChildNode = null;
+ try {
+ xChildNode = mXTreeDataModel.createNode(dir.substring(dir.lastIndexOf("/")+1, dir.length()), sfa.isFolder(dir));
+ xChildNode.setDataValue(dir);
+ sfa.isFolder(dir);
+ if (sfa.isFolder(dir)){
+ xChildNode.setExpandedGraphicURL( "private:graphicrepository/sd/res/triangle_down.png");
+ xChildNode.setCollapsedGraphicURL("private:graphicrepository/sd/res/triangle_right.png");
+ String[] children = sfa.getFolderContents(dir, true);
+ if (children != null){
+ for (int i=0; i<children.length; i++) {
+ // Get filename of file or directory
+ String filename = children[i];
+ dirlist( filename , xChildNode);
+ }
+ }
+ }
+ else{
+ xChildNode.setNodeGraphicURL( "private:graphicrepository/sw/res/nc20010.png");
+ }
+ } catch (CommandAbortedException ex) {
+ ex.printStackTrace();
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+
+ try {
+ xNode.appendChild( xChildNode );
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ ex.printStackTrace();
+ }
+ }
+} // finish class UnoControlListBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/TabController.java b/qadevOOo/tests/java/mod/_toolkit/TabController.java
new file mode 100644
index 000000000..0f483bb04
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/TabController.java
@@ -0,0 +1,126 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XTabControllerModel;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.form.XForm;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.WriterTools;
+import util.utils;
+
+
+public class TabController extends TestCase {
+ private static XTextDocument xTextDoc = null;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ Param.getMSF());
+ }
+
+ @Override
+ protected void cleanup(TestParameters param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters param,
+ PrintWriter log)
+ throws com.sun.star.uno.Exception
+ {
+ XInterface oObj = null;
+ XControl xCtrl1 = null;
+ XTabControllerModel tabCtrlModel = null;
+ XControlContainer aCtrlContainer = null;
+
+
+ // create object relations
+ FormTools.insertForm(xTextDoc,
+ FormTools.getForms(WriterTools.getDrawPage(
+ xTextDoc)), "MyForm");
+
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "CommandButton",
+ "UnoControlButton");
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel model = aShape.getControl();
+ XControlAccess access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ try {
+ xCtrl1 = access.getControl(model);
+ } catch (Exception e) {
+ }
+
+ XForm form = null;
+
+ try {
+ Object temp = FormTools.getForms( WriterTools.getDrawPage(xTextDoc) ).getByName("MyForm");
+ form = (XForm) AnyConverter.toObject(new Type(XForm.class), temp);
+ } catch (Exception e) {
+ log.println("Couldn't get Form");
+ e.printStackTrace(log);
+ }
+
+ tabCtrlModel = UnoRuntime.queryInterface(
+ XTabControllerModel.class, form);
+
+ aCtrlContainer = UnoRuntime.queryInterface(
+ XControlContainer.class, xCtrl1.getContext());
+
+ // create object
+ try {
+ oObj = (XInterface) param.getMSF().createInstance(
+ "com.sun.star.awt.TabController");
+ } catch (Exception e) {
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ String objName = "TabController";
+ tEnv.addObjRelation("OBJNAME", "toolkit." + objName);
+ tEnv.addObjRelation("MODEL", tabCtrlModel);
+ tEnv.addObjRelation("CONTAINER", aCtrlContainer);
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/TabControllerModel.java b/qadevOOo/tests/java/mod/_toolkit/TabControllerModel.java
new file mode 100644
index 000000000..1c227f0b3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/TabControllerModel.java
@@ -0,0 +1,83 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.WriterTools;
+import util.utils;
+
+
+public class TabControllerModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+
+ @Override
+ protected void cleanup(TestParameters param, PrintWriter log) {
+ log.println("disposing xTextDoc");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+ log.println("inserting some ControlShapes");
+
+ XControlShape shape1 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 1000,
+ "CommandButton");
+ XControlShape shape2 = FormTools.createControlShape(xTextDoc, 5000,
+ 3500, 7500, 5000,
+ "TextField");
+
+ oObj = (XInterface) param.getMSF().createInstance(
+ "com.sun.star.awt.TabControllerModel");
+
+ log.println("creating a new environment for TabControllerModel");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME",
+ "stardiv.vcl.controlmodel.TabController");
+ tEnv.addObjRelation("Model1", shape1.getControl());
+ tEnv.addObjRelation("Model2", shape2.getControl());
+
+
+ //Object Relation for XPersistObject
+ tEnv.addObjRelation("noPS", Boolean.TRUE);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class TabControllerModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/Toolkit.java b/qadevOOo/tests/java/mod/_toolkit/Toolkit.java
new file mode 100644
index 000000000..346ef21f5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/Toolkit.java
@@ -0,0 +1,118 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+/**
+* Test for <code>com.sun.star.awt.Toolkit</code> service.
+*/
+public class Toolkit extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates <code>com.sun.star.awt.Toolkit</code> service.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XWindow win = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ "CommandButton");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+ XController cntrlr = UnoRuntime.queryInterface(
+ XController.class,
+ xTextDoc.getCurrentController());
+
+ //now get the toolkit
+ win = cntrlr.getFrame().getContainerWindow();
+
+ the_win = the_access.getControl(the_Model).getPeer();
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.Toolkit");
+
+ XModel xModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ log.println(" creating a new environment for toolkit object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("Implementation Name: " + utils.getImplName(oObj));
+
+ tEnv.addObjRelation("WINPEER", the_win);
+
+ tEnv.addObjRelation("XModel", xModel);
+
+
+ // adding relation for XDataTransferProviderAccess
+ tEnv.addObjRelation("XDataTransferProviderAccess.XWindow", win);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class Toolkit
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlButton.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlButton.java
new file mode 100644
index 000000000..3522c9629
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlButton.java
@@ -0,0 +1,129 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlButton extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XTextDocument xTD2;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ xTD2 = WriterTools.createTextDoc(
+ Param.getMSF());
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ util.DesktopTools.closeDoc(xTD2);
+ }
+
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XWindow anotherWindow = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "CommandButton",
+ "UnoControlButton");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the ButtonControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for UnoControlButton object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ XController aController = xTD2.getCurrentController();
+ XFrame aFrame = aController.getFrame();
+ anotherWindow = aFrame.getComponentWindow();
+
+
+ // Object Relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlButton
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlButtonModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlButtonModel.java
new file mode 100644
index 000000000..24be3535d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlButtonModel.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlButtonModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlButtonModel");
+
+ log.println(
+ "creating a new environment for UnoControlButtonModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.Button");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlButtonModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBox.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBox.java
new file mode 100644
index 000000000..0132bd4b0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBox.java
@@ -0,0 +1,137 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XCheckBox;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlCheckBox extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XTextDocument xTD2;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ xTD2 = WriterTools.createTextDoc(
+ Param.getMSF());
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ util.DesktopTools.closeDoc(xTD2);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XWindow anotherWindow = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "CheckBox",
+ "UnoControlCheckBox");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the CheckBoxControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for UnoControlCheckBox object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // adding object relation for XItemListener
+ ifc.awt._XItemListener.TestItemListener listener =
+ new ifc.awt._XItemListener.TestItemListener();
+ XCheckBox check = UnoRuntime.queryInterface(
+ XCheckBox.class, oObj);
+ check.addItemListener(listener);
+ tEnv.addObjRelation("TestItemListener", listener);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ XController aController = xTD2.getCurrentController();
+ XFrame aFrame = aController.getFrame();
+ anotherWindow = aFrame.getComponentWindow();
+
+
+ // Object Relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlCheckBox
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBoxModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBoxModel.java
new file mode 100644
index 000000000..0a2930756
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlCheckBoxModel.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlCheckBoxModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlCheckBoxModel");
+
+ log.println(
+ "creating a new environment for UnoControlCheckBoxModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.CheckBox");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlCheckBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBox.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBox.java
new file mode 100644
index 000000000..243e90c26
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBox.java
@@ -0,0 +1,138 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+
+public class UnoControlComboBox extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "ComboBox",
+ "UnoControlComboBox");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the ComboBoxControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for UnoControlComboBox object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlComboBox
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBoxModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBoxModel.java
new file mode 100644
index 000000000..7c6477321
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlComboBoxModel.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlComboBoxModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlComboBoxModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlComboBoxModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.ComboBox");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlComboBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlContainer.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlContainer.java
new file mode 100644
index 000000000..7c872dfaa
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlContainer.java
@@ -0,0 +1,204 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlContainer extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XTextDocument xTD2;
+ private static XControl xCtrl1;
+ private static XControl xCtrl2;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTD2 = WriterTools.createTextDoc(
+ Param.getMSF());
+ xTextDoc = WriterTools.createTextDoc(
+ Param.getMSF());
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ util.DesktopTools.closeDoc(xTD2);
+ }
+
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters param,
+ PrintWriter log) throws Exception {
+ // create Object Relations -------------------------------------------
+ XInterface oObj = null;
+ XControlShape shape = null;
+ XControlModel model = null;
+ XControlAccess access = null;
+ XWindow anotherWindow = null;
+
+ // for XControl
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+
+ XControlContainer ctrlCont = null;
+
+ XGraphics aGraphic = null;
+
+
+ // create 3 XControls
+ // create first XControl
+ shape = FormTools.createControlShape(xTextDoc, 3000, 4500, 15000,
+ 10000, "TextField");
+ WriterTools.getDrawPage(xTextDoc).add(shape);
+ model = shape.getControl();
+ access = UnoRuntime.queryInterface(
+ XControlAccess.class, xTextDoc.getCurrentController());
+
+ access.getControl(model);
+
+
+ // create second XControl
+ shape = FormTools.createControlShape(xTextDoc, 3000, 4500, 15000,
+ 10000, "TextField");
+ WriterTools.getDrawPage(xTextDoc).add(shape);
+ model = shape.getControl();
+ access = UnoRuntime.queryInterface(
+ XControlAccess.class, xTextDoc.getCurrentController());
+
+ xCtrl1 = access.getControl(model);
+
+
+ // create third XControl
+ shape = FormTools.createControlShape(xTextDoc, 3000, 4500, 15000,
+ 10000, "CommandButton");
+ WriterTools.getDrawPage(xTextDoc).add(shape);
+ model = shape.getControl();
+ access = UnoRuntime.queryInterface(
+ XControlAccess.class, xTextDoc.getCurrentController());
+
+ xCtrl2 = access.getControl(model);
+
+ // create XToolkit, XWindowPeer, XDevice
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "CommandButton",
+ "UnoControlButton");
+
+ WriterTools.getDrawPage(xTD2).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTD2.getCurrentController());
+
+ //get the ButtonControl for the needed Object relations
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+
+ XDevice aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ XController aController = xTD2.getCurrentController();
+ XFrame aFrame = aController.getFrame();
+ anotherWindow = aFrame.getComponentWindow();
+
+ // finished create Object Relations -----------------------------------
+ // create the UnoControlContainer
+ oObj = (XInterface) param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlContainer");
+
+ XControl xCtrl = UnoRuntime.queryInterface(
+ XControl.class, oObj);
+ xCtrl.setModel(the_Model);
+
+ ctrlCont = UnoRuntime.queryInterface(
+ XControlContainer.class, oObj);
+ ctrlCont.addControl("jupp", access.getControl(aShape.getControl()));
+
+ log.println(
+ "creating a new environment for UnoControlContainer object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XWindow xWindow = UnoRuntime.queryInterface(XWindow.class, oObj);
+ Rectangle ps = xWindow.getPosSize();
+ xWindow.setPosSize(ps.X+10, ps.Y+10, ps.Width+10, ps.Height+10, PosSize.POSSIZE);
+
+ String objName = "UnoControlContainer";
+ tEnv.addObjRelation("OBJNAME", "toolkit." + objName);
+
+
+ // Object relation for XContainer
+ tEnv.addObjRelation("XContainer.Container", ctrlCont);
+ tEnv.addObjRelation("INSTANCE", xCtrl);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ // Object Relation for XControlContainer
+ tEnv.addObjRelation("CONTROL1", xCtrl1);
+ tEnv.addObjRelation("CONTROL2", xCtrl2);
+
+
+ // Object Relation for XControl
+ tEnv.addObjRelation("CONTEXT", xTD2);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+
+ // Object Relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlContainerModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlContainerModel.java
new file mode 100644
index 000000000..cd3845560
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlContainerModel.java
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+
+public class UnoControlContainerModel extends TestCase {
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = (XInterface) param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlContainerModel");
+
+ log.println(
+ "creating a new environment for UnoControlContainer object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ tEnv.addObjRelation("OBJNAME",
+ "stardiv.vcl.controlmodel.ControlContainer");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyField.java
new file mode 100644
index 000000000..60c65000c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyField.java
@@ -0,0 +1,140 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlCurrencyField extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "CurrencyField",
+ "UnoControlCurrencyField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the CurrencyFieldControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for UnoControlCurrencyField object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlCurrencyField
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyFieldModel.java
new file mode 100644
index 000000000..65f9b528c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlCurrencyFieldModel.java
@@ -0,0 +1,78 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlCurrencyFieldModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlCurrencyFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println("creating a new environment for " +
+ "UnoControlCurrencyFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME",
+ "stardiv.vcl.controlmodel.CurrencyField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlCurrencyFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlDateField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlDateField.java
new file mode 100644
index 000000000..f9abc3c69
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlDateField.java
@@ -0,0 +1,139 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XFrame;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlDateField extends TestCase {
+ private static XTextDocument xTextDoc;
+ private static XTextDocument xTD2;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ xTD2 = WriterTools.createTextDoc(
+ Param.getMSF());
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ util.DesktopTools.closeDoc(xTD2);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XWindow anotherWindow = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "DateField",
+ "UnoControlDateField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the DateFieldControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for UnoControlDateField object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ XController aController = xTD2.getCurrentController();
+ XFrame aFrame = aController.getFrame();
+ anotherWindow = aFrame.getComponentWindow();
+
+
+ // Object Relation for XWindow
+ tEnv.addObjRelation("XWindow.AnotherWindow", anotherWindow);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlDateField
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlDateFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlDateFieldModel.java
new file mode 100644
index 000000000..82344269d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlDateFieldModel.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlDateFieldModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlDateFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlDateFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.DateField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlDateFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlDialog.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlDialog.java
new file mode 100644
index 000000000..2f0e6ddc7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlDialog.java
@@ -0,0 +1,241 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.PosSize;
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTabController;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.awt.UnoControlDialog</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::awt::XWindow</code></li>
+* <li> <code>com::sun::star::awt::XDialog</code></li>
+* <li> <code>com::sun::star::awt::XControl</code></li>
+* <li> <code>com::sun::star::awt::XTopWindow</code></li>
+* <li> <code>com::sun::star::awt::XControlContainer</code></li>
+* <li> <code>com::sun::star::awt::XView</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.awt.XWindow
+* @see com.sun.star.awt.XDialog
+* @see com.sun.star.awt.XControl
+* @see com.sun.star.awt.XTopWindow
+* @see com.sun.star.awt.XControlContainer
+* @see com.sun.star.awt.XView
+* @see ifc.lang._XComponent
+* @see ifc.awt._XWindow
+* @see ifc.awt._XDialog
+* @see ifc.awt._XControl
+* @see ifc.awt._XTopWindow
+* @see ifc.awt._XControlContainer
+* @see ifc.awt._XView
+*/
+public class UnoControlDialog extends TestCase {
+ private static XWindow xWinDlg = null;
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates a Dialog Control and Model instance defines Model
+ * for Control, adds to Dialog a button, sets its size and
+ * sets the dialog visible. <p>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XControlModel dlgModel = null;
+
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+
+ XControl butControl = null;
+ XControl butControl1 = null;
+ XControl butControl2 = null;
+ XTabController tabControl1 = null;
+ XTabController tabControl2 = null;
+
+ XControlContainer ctrlCont = null;
+
+ if (xWinDlg != null) {
+ xWinDlg.dispose();
+ }
+
+ try {
+ dlgModel = UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlDialogModel"));
+
+ XControl dlgControl = UnoRuntime.queryInterface(
+ XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlDialog"));
+
+ dlgControl.setModel(dlgModel);
+
+ XControlModel butModel = UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButtonModel"));
+
+ butControl = UnoRuntime.queryInterface(XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButton"));
+
+ butControl.setModel(butModel);
+
+
+ // creating additional controls for XUnoControlContainer
+ tabControl1 = UnoRuntime.queryInterface(
+ XTabController.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.TabController"));
+
+ tabControl2 = UnoRuntime.queryInterface(
+ XTabController.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.TabController"));
+
+
+ // creating additional controls for XControlContainer
+ butModel = UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButtonModel"));
+
+ butControl1 = UnoRuntime.queryInterface(XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButton"));
+
+ butControl1.setModel(butModel);
+
+ butModel = UnoRuntime.queryInterface(
+ XControlModel.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButtonModel"));
+
+ butControl2 = UnoRuntime.queryInterface(XControl.class,
+ xMSF.createInstance(
+ "com.sun.star.awt.UnoControlButton"));
+
+ butControl2.setModel(butModel);
+
+ ctrlCont = UnoRuntime.queryInterface(
+ XControlContainer.class, dlgControl);
+
+ xWinDlg = UnoRuntime.queryInterface(XWindow.class,
+ dlgControl);
+
+ xWinDlg.setVisible(true);
+
+ xWinDlg.setPosSize(10, 10, 220, 110, PosSize.SIZE);
+
+ the_win = dlgControl.getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(220, 220);
+ aGraphic = aDevice.createGraphics();
+
+ oObj = dlgControl;
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Error creating dialog :");
+ e.printStackTrace(log);
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", dlgModel);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", dlgModel);
+
+ tEnv.addObjRelation("INSTANCE", butControl);
+ tEnv.addObjRelation("XContainer.Container", ctrlCont);
+
+
+ // adding relations for XUnoControlContainer
+ tEnv.addObjRelation("TABCONTROL1", tabControl1);
+ tEnv.addObjRelation("TABCONTROL2", tabControl2);
+
+
+ // adding relations for XControlContainer
+ tEnv.addObjRelation("CONTROL1", butControl1);
+ tEnv.addObjRelation("CONTROL2", butControl2);
+
+ XWindow forObjRel = xTextDoc.getCurrentController().getFrame()
+ .getComponentWindow();
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println("Disposing dialog ...");
+ xWinDlg.dispose();
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ tParam.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlDialogModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlDialogModel.java
new file mode 100644
index 000000000..8e2aa77b0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlDialogModel.java
@@ -0,0 +1,173 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.utils;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.awt.UnoControlDialogModel</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::awt::UnoControlDialogModel</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.awt.UnoControlDialogModel
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see ifc.awt._UnoControlDialogModel
+* @see ifc.io._XPersistObject
+* @see ifc.lang._XComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XMultiPropertySet
+*/
+public class UnoControlDialogModel extends TestCase {
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.UnoControlDialogModel</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XInterface dialogModel = null;
+ String _buttonName = "MyButton";
+ String _labelName = "MyLabel";
+ String _labelPrefix = "MyLabelPrefix";
+ XMultiServiceFactory xMultiServiceFactory = null;
+
+ dialogModel = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlDialogModel");
+
+ // create the dialog model and set the properties
+ XPropertySet xPSetDialog = UnoRuntime.queryInterface(
+ XPropertySet.class, dialogModel);
+ xPSetDialog.setPropertyValue("PositionX", Integer.valueOf(100));
+ xPSetDialog.setPropertyValue("PositionY", Integer.valueOf(100));
+ xPSetDialog.setPropertyValue("Width", Integer.valueOf(150));
+ xPSetDialog.setPropertyValue("Height", Integer.valueOf(100));
+ xPSetDialog.setPropertyValue("Title", "Runtime Dialog Demo");
+
+ // get the service manager from the dialog model
+ xMultiServiceFactory = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class,
+ dialogModel);
+
+ // create the button model and set the properties
+ Object buttonModel = xMultiServiceFactory.createInstance(
+ "com.sun.star.awt.UnoControlButtonModel");
+ XPropertySet xPSetButton = UnoRuntime.queryInterface(
+ XPropertySet.class, buttonModel);
+ xPSetButton.setPropertyValue("PositionX", Integer.valueOf(50));
+ xPSetButton.setPropertyValue("PositionY", Integer.valueOf(30));
+ xPSetButton.setPropertyValue("Width", Integer.valueOf(50));
+ xPSetButton.setPropertyValue("Height", Integer.valueOf(14));
+ xPSetButton.setPropertyValue("Name", _buttonName);
+ xPSetButton.setPropertyValue("TabIndex", Short.valueOf((short) 0));
+ xPSetButton.setPropertyValue("Label", "Click Me");
+
+ // create the label model and set the properties
+ Object labelModel = xMultiServiceFactory.createInstance(
+ "com.sun.star.awt.UnoControlFixedTextModel");
+ XPropertySet xPSetLabel = UnoRuntime.queryInterface(
+ XPropertySet.class, labelModel);
+ xPSetLabel.setPropertyValue("PositionX", Integer.valueOf(40));
+ xPSetLabel.setPropertyValue("PositionY", Integer.valueOf(60));
+ xPSetLabel.setPropertyValue("Width", Integer.valueOf(100));
+ xPSetLabel.setPropertyValue("Height", Integer.valueOf(14));
+ xPSetLabel.setPropertyValue("Name", _labelName);
+ xPSetLabel.setPropertyValue("TabIndex", Short.valueOf((short) 1));
+ xPSetLabel.setPropertyValue("Label", _labelPrefix);
+
+ // insert the control models into the dialog model
+ XNameContainer xNameCont = UnoRuntime.queryInterface(
+ XNameContainer.class,
+ dialogModel);
+ xNameCont.insertByName(_buttonName, buttonModel);
+ xNameCont.insertByName(_labelName, labelModel);
+
+ // create the dialog control and set the model
+ XControl dialog = UnoRuntime.queryInterface(
+ XControl.class,
+ Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlDialog"));
+ XControl xControl = UnoRuntime.queryInterface(
+ XControl.class, dialog);
+ XControlModel xControlModel = UnoRuntime.queryInterface(
+ XControlModel.class,
+ dialogModel);
+ xControl.setModel(xControlModel);
+
+ oObj = dialogModel;
+
+ log.println("creating a new environment for object");
+
+ UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, oObj);
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ try {
+ // XNameReplace
+ tEnv.addObjRelation("INSTANCE1",
+ xMultiServiceFactory.createInstance(
+ "com.sun.star.awt.UnoControlFixedTextModel"));
+
+
+ //XContainer
+ tEnv.addObjRelation("INSTANCE",
+ xMultiServiceFactory.createInstance(
+ "com.sun.star.awt.UnoControlFixedTextModel"));
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Could not add object relations 'INSTANCEn'");
+ e.printStackTrace(log);
+ }
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.Dialog");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlEdit.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlEdit.java
new file mode 100644
index 000000000..0199acd57
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlEdit.java
@@ -0,0 +1,139 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlEdit extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "TextField",
+ "UnoControlEdit");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the EditControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for UnoControlEdit object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlEdit
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlEditModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlEditModel.java
new file mode 100644
index 000000000..e312b64a6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlEditModel.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlEditModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlEditModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlEditModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.Edit");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlEditModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControl.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControl.java
new file mode 100644
index 000000000..ab4486a70
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControl.java
@@ -0,0 +1,140 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFileControl extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "FileControl",
+ "UnoControlFileControl");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the FileControlControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for UnoControlFileControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlFileControl
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControlModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControlModel.java
new file mode 100644
index 000000000..63f2a8309
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFileControlModel.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFileControlModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlFileControlModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlFileControlModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.FileControl");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlFileControlModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedLineModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedLineModel.java
new file mode 100644
index 000000000..fffcca77b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedLineModel.java
@@ -0,0 +1,88 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.awt.UnoControlFixedLineModel</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::awt::UnoControlFixedLineModel</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.awt.UnoControlFixedLineModel
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see ifc.awt._UnoControlFixedLineModel
+* @see ifc.io._XPersistObject
+* @see ifc.lang._XComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XMultiPropertySet
+*/
+public class UnoControlFixedLineModel extends TestCase {
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.UnoControlFixedLineModel</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlFixedLineModel");
+ } catch (Exception e) {
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.FixedLine");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedText.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedText.java
new file mode 100644
index 000000000..16951a36c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedText.java
@@ -0,0 +1,130 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFixedText extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "FixedText",
+ "UnoControlFixedText");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the FixedTextControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for UnoControlFixedText object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlFixedText
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedTextModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedTextModel.java
new file mode 100644
index 000000000..9433d8c26
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFixedTextModel.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFixedTextModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlFixedTextModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlFixedTextModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.FixedText");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlFixedTextModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedField.java
new file mode 100644
index 000000000..d2091caba
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedField.java
@@ -0,0 +1,145 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFormattedField extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "DatabaseFormattedField",
+ "UnoControlFormattedField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ XPropertySet xPS = UnoRuntime.queryInterface(
+ XPropertySet.class, the_Model);
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the EditControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ xPS.setPropertyValue("Spin", Boolean.TRUE);
+
+ log.println("creating a new environment for UnoControlEdit object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedFieldModel.java
new file mode 100644
index 000000000..bb5e1b355
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlFormattedFieldModel.java
@@ -0,0 +1,78 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlFormattedFieldModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlFormattedFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlFormattedFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME",
+ "stardiv.vcl.controlmodel.FormattedField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlFormattedFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBox.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBox.java
new file mode 100644
index 000000000..714085696
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBox.java
@@ -0,0 +1,129 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlGroupBox extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "GroupBox",
+ "UnoControlGroupBox");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the GroupBoxControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for UnoControlGroupBox object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlGroupBox
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBoxModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBoxModel.java
new file mode 100644
index 000000000..1a6cae71e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlGroupBoxModel.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlGroupBoxModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlGroupBoxModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlGroupBoxModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.GroupBox");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlGroupBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControl.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControl.java
new file mode 100644
index 000000000..ea320d043
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControl.java
@@ -0,0 +1,138 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlImageControl extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "DatabaseImageControl",
+ "UnoControlImageControl");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XPropertySet xPS = UnoRuntime.queryInterface(
+ XPropertySet.class, the_Model);
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the ImageControlControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ String imgUrl = util.utils.getFullTestURL("poliball.gif");
+
+ xPS.setPropertyValue("ImageURL", imgUrl);
+
+ log.println(
+ "creating a new environment for UnoControlImageControl object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlImageControl
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControlModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControlModel.java
new file mode 100644
index 000000000..e0f0ff0ad
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlImageControlModel.java
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+public class UnoControlImageControlModel extends TestCase {
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlImageControlModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlImageControlModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.ImageControl");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlImageControlModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlListBox.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlListBox.java
new file mode 100644
index 000000000..1d733bd06
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlListBox.java
@@ -0,0 +1,139 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XListBox;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlListBox extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "ListBox",
+ "UnoControlListBox");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the ListBoxControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println("creating a new environment for UnoControlListBox object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ // adding object relation for XItemListener
+ ifc.awt._XItemListener.TestItemListener listener =
+ new ifc.awt._XItemListener.TestItemListener();
+ XListBox list = UnoRuntime.queryInterface(XListBox.class,
+ oObj);
+ list.addItemListener(listener);
+ tEnv.addObjRelation("TestItemListener", listener);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlListBox
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlListBoxModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlListBoxModel.java
new file mode 100644
index 000000000..a0d26319c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlListBoxModel.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlListBoxModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlListBoxModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlListBoxModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.ListBox");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlListBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericField.java
new file mode 100644
index 000000000..073b63756
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericField.java
@@ -0,0 +1,150 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+import com.sun.star.view.XControlAccess;
+
+
+public class UnoControlNumericField extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "NumericField",
+ "UnoControlNumericField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the NumericFieldControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for UnoControlNumericField object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ tEnv.addObjRelation("XTextComponent.onlyNumbers", "");
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlNumericField
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericFieldModel.java
new file mode 100644
index 000000000..bcee5feaf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlNumericFieldModel.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlNumericFieldModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlNumericFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlNumericFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.NumericField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlNumericFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternField.java
new file mode 100644
index 000000000..72a864373
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternField.java
@@ -0,0 +1,140 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlPatternField extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "PatternField",
+ "UnoControlPatternField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the PatternFieldControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for UnoControlPatternField object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlPatternField
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternFieldModel.java
new file mode 100644
index 000000000..e2dcd18cf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlPatternFieldModel.java
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+public class UnoControlPatternFieldModel extends TestCase {
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlPatternFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlPatternFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.PatternField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlPatternFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlProgressBarModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlProgressBarModel.java
new file mode 100644
index 000000000..f36d39d0b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlProgressBarModel.java
@@ -0,0 +1,85 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.awt.UnoControlProgressBarModel</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::awt::UnoControlProgressBarModel</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.awt.UnoControlProgressBarModel
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see ifc.awt._UnoControlProgressBarModel
+* @see ifc.io._XPersistObject
+* @see ifc.lang._XComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XMultiPropertySet
+*/
+public class UnoControlProgressBarModel extends TestCase {
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.UnoControlProgressBarModel</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlProgressBarModel");
+ } catch (Exception e) {
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.ProgressBar");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButton.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButton.java
new file mode 100644
index 000000000..1f13ae6c0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButton.java
@@ -0,0 +1,130 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlRadioButton extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "RadioButton",
+ "UnoControlRadioButton");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the RadioButtonControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for UnoControlRadioButton object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlRadioButton
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButtonModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButtonModel.java
new file mode 100644
index 000000000..859280865
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlRadioButtonModel.java
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+public class UnoControlRadioButtonModel extends TestCase {
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlRadioButtonModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlRadioButtonModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.RadioButton");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlRadioButtonModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlScrollBarModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlScrollBarModel.java
new file mode 100644
index 000000000..1a8e21a38
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlScrollBarModel.java
@@ -0,0 +1,88 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.awt.UnoControlScrollBarModel</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::awt::UnoControlScrollBarModel</code></li>
+* <li> <code>com::sun::star::io::XPersistObject</code></li>
+* <li> <code>com::sun::star::lang::XComponent</code></li>
+* <li> <code>com::sun::star::beans::XPropertySet</code></li>
+* <li> <code>com::sun::star::beans::XMultiPropertySet</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.awt.UnoControlScrollBarModel
+* @see com.sun.star.io.XPersistObject
+* @see com.sun.star.lang.XComponent
+* @see com.sun.star.beans.XPropertySet
+* @see com.sun.star.beans.XMultiPropertySet
+* @see ifc.awt._UnoControlScrollBarModel
+* @see ifc.io._XPersistObject
+* @see ifc.lang._XComponent
+* @see ifc.beans._XPropertySet
+* @see ifc.beans._XMultiPropertySet
+*/
+public class UnoControlScrollBarModel extends TestCase {
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.UnoControlScrollBarModel</code>.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'OBJNAME'</code> for
+ * {@link ifc.io._XPersistObject} </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlScrollBarModel");
+ } catch (Exception e) {
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.ScrollBar");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeField.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeField.java
new file mode 100644
index 000000000..574330987
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeField.java
@@ -0,0 +1,140 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XTextComponent;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoControlTimeField extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "TimeField",
+ "UnoControlTimeField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the TimeFieldControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for UnoControlTimeField object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+ tEnv.addObjRelation("XWindow.ControlShape", aShape);
+
+ // Adding relation for XTextListener
+ ifc.awt._XTextListener.TestTextListener listener =
+ new ifc.awt._XTextListener.TestTextListener();
+ XTextComponent textComp = UnoRuntime.queryInterface(
+ XTextComponent.class, oObj);
+ textComp.addTextListener(listener);
+ tEnv.addObjRelation("TestTextListener", listener);
+
+ log.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlTimeField
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeFieldModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeFieldModel.java
new file mode 100644
index 000000000..90f75d027
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoControlTimeFieldModel.java
@@ -0,0 +1,53 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+public class UnoControlTimeFieldModel extends TestCase {
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlTimeFieldModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for UnoControlTimeFieldModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "stardiv.vcl.controlmodel.TimeField");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlTimeFieldModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoScrollBarControl.java b/qadevOOo/tests/java/mod/_toolkit/UnoScrollBarControl.java
new file mode 100644
index 000000000..3a6b27474
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoScrollBarControl.java
@@ -0,0 +1,156 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.Rectangle;
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.frame.XFrame;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.awt.Dimension;
+import java.awt.Toolkit;
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoScrollBarControl extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+
+ log.println("maximize the window size");
+ XModel xModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+ XFrame xFrame = xModel.getCurrentController().getFrame();
+ XWindow xWin = xFrame.getContainerWindow();
+
+ Toolkit.getDefaultToolkit();
+ Dimension dim = new Dimension(800, 600);
+
+ Rectangle newPosSize = xWin.getPosSize();
+ newPosSize.Width = (int) dim.getWidth();
+ newPosSize.Height = (int) dim.getHeight();
+ newPosSize.X = 0;
+ newPosSize.Y = 0;
+
+ xWin.setPosSize(newPosSize.X, newPosSize.Y, newPosSize.Width,
+ newPosSize.Height, com.sun.star.awt.PosSize.POSSIZE);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "ScrollBar",
+ "UnoControlScrollBar");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the ScrollBarControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for UnoControlScrollBar object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //adding Object-Relation for XScrollBar
+ tEnv.addObjRelation("Document", xTextDoc);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControl.java b/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControl.java
new file mode 100644
index 000000000..df8506f9e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControl.java
@@ -0,0 +1,133 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDevice;
+import com.sun.star.awt.XGraphics;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.drawing.XControlShape;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XControlAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FormTools;
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoSpinButtonControl extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ Param.getMSF());
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XWindowPeer the_win = null;
+ XToolkit the_kit = null;
+ XDevice aDevice = null;
+ XGraphics aGraphic = null;
+ XControl aControl = null;
+
+ //Insert a ControlShape and get the ControlModel
+ XControlShape aShape = FormTools.createUnoControlShape(xTextDoc, 3000,
+ 4500, 15000,
+ 10000,
+ "SpinButton",
+ "UnoControlSpinButton");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ XControlModel the_Model = aShape.getControl();
+
+ XControlShape aShape2 = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 5000, 10000,
+ "TextField");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape2);
+
+ XControlModel the_Model2 = aShape2.getControl();
+
+ //Try to query XControlAccess
+ XControlAccess the_access = UnoRuntime.queryInterface(
+ XControlAccess.class,
+ xTextDoc.getCurrentController());
+
+ //get the SpinButtonControl for the needed Object relations
+ oObj = the_access.getControl(the_Model);
+ aControl = the_access.getControl(the_Model2);
+ the_win = the_access.getControl(the_Model).getPeer();
+ the_kit = the_win.getToolkit();
+ aDevice = the_kit.createScreenCompatibleDevice(200, 200);
+ aGraphic = aDevice.createGraphics();
+
+ log.println(
+ "creating a new environment for UnoControlSpinButton object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+
+ //adding Object-Relation for XScrollBar
+ tEnv.addObjRelation("Document", xTextDoc);
+
+
+ //Adding ObjRelation for XView
+ tEnv.addObjRelation("GRAPHICS", aGraphic);
+
+
+ //Adding ObjRelation for XControl
+ tEnv.addObjRelation("CONTEXT", xTextDoc);
+ tEnv.addObjRelation("WINPEER", the_win);
+ tEnv.addObjRelation("TOOLKIT", the_kit);
+ tEnv.addObjRelation("MODEL", the_Model);
+
+ XWindow forObjRel = UnoRuntime.queryInterface(XWindow.class,
+ aControl);
+
+ tEnv.addObjRelation("XWindow.AnotherWindow", forObjRel);
+
+ tEnv.addObjRelation("Document", xTextDoc);
+
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControlModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControlModel.java
new file mode 100644
index 000000000..911e81b96
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoSpinButtonControlModel.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.utils;
+
+
+public class UnoSpinButtonControlModel extends TestCase {
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.awt.UnoControlSpinButtonModel</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log)
+ throws StatusException {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.UnoControlSpinButtonModel");
+ } catch (Exception e) {
+ }
+
+ log.println("creating a new environment for object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME",
+ "com.sun.star.awt.UnoControlSpinButtonModel");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoTreeControl.java b/qadevOOo/tests/java/mod/_toolkit/UnoTreeControl.java
new file mode 100644
index 000000000..95f9c56d9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoTreeControl.java
@@ -0,0 +1,265 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.awt.XControl;
+import com.sun.star.awt.XControlContainer;
+import com.sun.star.awt.XControlModel;
+import com.sun.star.awt.XDialog;
+import com.sun.star.awt.XToolkit;
+import com.sun.star.awt.tree.XMutableTreeDataModel;
+import com.sun.star.awt.tree.XMutableTreeNode;
+import com.sun.star.awt.tree.XTreeControl;
+import com.sun.star.awt.tree.XTreeNode;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.CommandAbortedException;
+import com.sun.star.ucb.XSimpleFileAccess;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+
+public class UnoTreeControl extends TestCase {
+ private static XMutableTreeDataModel mXTreeDataModel;
+ private static XMultiServiceFactory mxMSF;
+
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(
+ Param.getMSF());
+
+ log.println("creating a textdocument");
+ SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ String sTreeControlName = "UnoTreeControl-Test";
+ mxMSF = Param.getMSF();
+ XInterface oObj = null;
+ XMutableTreeNode xNode = null;
+
+ try {
+
+ mXTreeDataModel = UnoRuntime.queryInterface(XMutableTreeDataModel.class,
+ mxMSF.createInstance("com.sun.star.awt.tree.MutableTreeDataModel"));
+
+ xNode = mXTreeDataModel.createNode("UnoTreeControl", false);
+
+ xNode.setDataValue( "UnoTreeControl");
+ xNode.setExpandedGraphicURL( "private:graphicrepository/sd/res/triangle_down.png");
+ xNode.setCollapsedGraphicURL( "private:graphicrepository/sd/res/triangle_right.png");
+
+ fillNode(xNode);
+
+ mXTreeDataModel.setRoot(xNode);
+
+ XControlModel xDialogModel = UnoRuntime.queryInterface(XControlModel.class,
+ mxMSF.createInstance("com.sun.star.awt.UnoControlDialogModel"));
+
+ XPropertySet xDialogPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xDialogModel);
+ xDialogPropertySet.setPropertyValue( "PositionX", Integer.valueOf(50) );
+ xDialogPropertySet.setPropertyValue( "PositionY", Integer.valueOf(50) );
+ xDialogPropertySet.setPropertyValue( "Width", Integer.valueOf(256) );
+ xDialogPropertySet.setPropertyValue( "Height", Integer.valueOf(256) );
+ xDialogPropertySet.setPropertyValue( "Title", "Tree Control Test");
+
+ XMultiServiceFactory xDialogMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xDialogModel);
+
+ XControlModel xTreeControlModel = UnoRuntime.queryInterface(XControlModel.class,
+ xDialogMSF.createInstance("com.sun.star.awt.tree.TreeControlModel"));
+
+ XPropertySet XTreeControlModelSet = UnoRuntime.queryInterface(XPropertySet.class, xTreeControlModel);
+
+ XTreeControlModelSet.setPropertyValue( "SelectionType",com.sun.star.view.SelectionType.NONE);
+ XTreeControlModelSet.setPropertyValue( "PositionX", Integer.valueOf(3 ));
+ XTreeControlModelSet.setPropertyValue( "PositionY", Integer.valueOf(3 ));
+ XTreeControlModelSet.setPropertyValue( "Width", Integer.valueOf(253));
+ XTreeControlModelSet.setPropertyValue( "Height", Integer.valueOf(253) );
+ XTreeControlModelSet.setPropertyValue( "DataModel", mXTreeDataModel );
+ XTreeControlModelSet.setPropertyValue( "ShowsRootHandles", Boolean.FALSE);
+ XTreeControlModelSet.setPropertyValue( "ShowsHandles", Boolean.FALSE);
+ XTreeControlModelSet.setPropertyValue( "RootDisplayed", Boolean.TRUE);
+ XTreeControlModelSet.setPropertyValue( "Editable", Boolean.TRUE);
+
+ XNameContainer xDialogModelContainer = UnoRuntime.queryInterface(XNameContainer.class, xDialogModel);
+
+ xDialogModelContainer.insertByName( sTreeControlName, xTreeControlModel);
+
+ XControl xDialogControl = UnoRuntime.queryInterface(XControl.class,
+ mxMSF.createInstance("com.sun.star.awt.UnoControlDialog"));
+
+ xDialogControl.setModel( xDialogModel );
+
+ XToolkit xToolkit = UnoRuntime.queryInterface(XToolkit.class,
+ mxMSF.createInstance("com.sun.star.awt.Toolkit" ));
+
+ xDialogControl.createPeer( xToolkit, null );
+
+ // get the peers of the sub controls from the dialog peer container
+ XControlContainer xDialogContainer = UnoRuntime.queryInterface(XControlContainer.class ,xDialogControl);
+
+ XTreeControl xTreeControl = UnoRuntime.queryInterface(XTreeControl.class, xDialogContainer.getControl( sTreeControlName ));
+
+ xTreeControl.expandNode(xNode);
+ oObj = xTreeControl;
+
+ XDialog xDialog = UnoRuntime.queryInterface(XDialog.class, xDialogControl);
+
+ execurteDialog aDialog = new execurteDialog(xDialog);
+
+ aDialog.start();
+
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XTreeControl_Node", xNode);
+
+ //com.sun.star.view.XSelectionSupplier
+ try {
+
+ System.out.println("count of children: " + xNode.getChildCount());
+ tEnv.addObjRelation("Selections", new Object[]{xNode.getChildAt(0), xNode});
+ } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
+ log.println("ERROR: could not add object relation 'Selections' because 'xNode.getChildAt(1) failed: " +
+ ex.toString());
+ }
+
+ tEnv.addObjRelation("Comparer",
+ new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XMutableTreeNode xNode1 = UnoRuntime.queryInterface(
+ XMutableTreeNode.class, o1);
+ XTreeNode xNode2a = null;
+ try {
+ xNode2a = (XTreeNode) AnyConverter.toObject(new Type(XTreeNode.class), o2);
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ ex.printStackTrace();
+ }
+
+ XMutableTreeNode xNode2 = UnoRuntime.queryInterface(
+ XMutableTreeNode.class, xNode2a);
+
+ if (((String) xNode1.getDataValue()).equals(xNode2.getDataValue())) {
+ return 0;
+ }
+
+ return -1;
+ }
+ });
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ private void fillNode( XMutableTreeNode xNode ){
+
+ if( xNode.getChildCount() == 0 )
+ {
+ xNode.getDataValue();
+
+ String officeUserPath = utils.getOfficeUserPath(mxMSF);
+ Object fileacc = null;
+ try {
+ fileacc = mxMSF.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+ UnoRuntime.queryInterface(XSimpleFileAccess.class,fileacc);
+
+
+ dirlist(officeUserPath, xNode);
+ }
+ }
+
+ private void dirlist(String dir, XMutableTreeNode xNode){
+
+ Object fileacc = null;
+ try {
+ fileacc = mxMSF.createInstance("com.sun.star.comp.ucb.SimpleFileAccess");
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+ XSimpleFileAccess sfa = UnoRuntime.queryInterface(XSimpleFileAccess.class,fileacc);
+ XMutableTreeNode xChildNode = null;
+ try {
+ xChildNode = mXTreeDataModel.createNode(dir.substring(dir.lastIndexOf("/")+1, dir.length()), sfa.isFolder(dir));
+ xChildNode.setDataValue(dir);
+ sfa.isFolder(dir);
+ if (sfa.isFolder(dir)){
+ xChildNode.setExpandedGraphicURL( "private:graphicrepository/sd/res/triangle_down.png");
+ xChildNode.setCollapsedGraphicURL("private:graphicrepository/sd/res/triangle_right.png");
+ String[] children = sfa.getFolderContents(dir, true);
+ if (children != null){
+ for (int i=0; i<children.length; i++) {
+ // Get filename of file or directory
+ String filename = children[i];
+ dirlist( filename , xChildNode);
+ }
+ }
+ }
+ else{
+ xChildNode.setNodeGraphicURL( "private:graphicrepository/sw/res/nc20010.png");
+ }
+ } catch (CommandAbortedException ex) {
+ ex.printStackTrace();
+ } catch (com.sun.star.uno.Exception ex) {
+ ex.printStackTrace();
+ }
+
+ try {
+ xNode.appendChild( xChildNode );
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ private static class execurteDialog extends Thread{
+ private final XDialog mXDialog;
+
+ public execurteDialog(XDialog xDialog){
+ mXDialog = xDialog;
+ }
+
+ @Override
+ public void run() {
+ mXDialog.endExecute();
+ }
+ }
+
+
+} // finish class UnoControlRadioButton
diff --git a/qadevOOo/tests/java/mod/_toolkit/UnoTreeModel.java b/qadevOOo/tests/java/mod/_toolkit/UnoTreeModel.java
new file mode 100644
index 000000000..bb7534ebd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/UnoTreeModel.java
@@ -0,0 +1,77 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+package mod._toolkit;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.WriterTools;
+import util.utils;
+
+
+public class UnoTreeModel extends TestCase {
+ private static XTextDocument xTextDoc;
+
+ /**
+ * Creates StarOffice Writer document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(
+ tParam.getMSF());
+ }
+
+ /**
+ * Disposes StarOffice Writer document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ try {
+ oObj = (XInterface) Param.getMSF().createInstance(
+ "com.sun.star.awt.tree.TreeControlModel");
+ } catch (Exception e) {
+ }
+
+ log.println(
+ "creating a new environment for TreeControlModel object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("OBJNAME", "com.sun.star.awt.tree.TreeControlModel");
+ System.out.println("ImplementationName: " + utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class UnoControlListBoxModel
diff --git a/qadevOOo/tests/java/mod/_toolkit/package.html b/qadevOOo/tests/java/mod/_toolkit/package.html
new file mode 100644
index 000000000..1ab783205
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_toolkit/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'toolkit'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_typeconverter/uno/TypeConverter.java b/qadevOOo/tests/java/mod/_typeconverter/uno/TypeConverter.java
new file mode 100644
index 000000000..775c6bad5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_typeconverter/uno/TypeConverter.java
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._typeconverter.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+public class TypeConverter extends TestCase {
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.script.Converter" );
+ }
+ catch( Exception e ) {
+ log.println("Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class TypeConverter
+
diff --git a/qadevOOo/tests/java/mod/_typeconverter/uno/package.html b/qadevOOo/tests/java/mod/_typeconverter/uno/package.html
new file mode 100644
index 000000000..45007682b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_typeconverter/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'tcv'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_typemgr/uno/TypeDescriptionManager.java b/qadevOOo/tests/java/mod/_typemgr/uno/TypeDescriptionManager.java
new file mode 100644
index 000000000..8fd210c0a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_typemgr/uno/TypeDescriptionManager.java
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._typemgr.uno;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+public class TypeDescriptionManager extends TestCase {
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XPropertySet xProp = UnoRuntime.queryInterface(
+ XPropertySet.class, xMSF);
+ // get context
+ XComponentContext xContext = UnoRuntime.queryInterface(XComponentContext.class,
+ xProp.getPropertyValue("DefaultContext"));
+ // get the type description manager from context
+ oInterface = xContext.getValueByName("/singletons/" +
+ "com.sun.star.reflection.theTypeDescriptionManager");
+ }
+ catch( Exception e ) {
+ log.println("Introspection Service not available" );
+ }
+ oObj = (XInterface) oInterface;
+
+
+
+ log.println( " creating a new environment for Introspection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Object relation for XHierarchicalNameAccess ifc
+ // Name of the existing object
+ tEnv.addObjRelation("ElementName", "com.sun.star.container.XNameAccess") ;
+ tEnv.addObjRelation("SearchString", "com.sun.star.loader");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class TypeDescriptionManager
+
diff --git a/qadevOOo/tests/java/mod/_typemgr/uno/package.html b/qadevOOo/tests/java/mod/_typemgr/uno/package.html
new file mode 100644
index 000000000..277a28045
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_typemgr/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'tdmgr'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_ucb/UcbContentProviderProxyFactory.java b/qadevOOo/tests/java/mod/_ucb/UcbContentProviderProxyFactory.java
new file mode 100644
index 000000000..b24ca70e7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucb/UcbContentProviderProxyFactory.java
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucb;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.ContentProviderFactory</code>. <p>
+*/
+public class UcbContentProviderProxyFactory extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.ContentProviderFactory</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters Param,PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UcbContentProviderProxyFactory" );
+
+ oObj = (XInterface) oInterface;
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class UcbContentProviderProxyFactory
+
diff --git a/qadevOOo/tests/java/mod/_ucb/UcbPropertiesManager.java b/qadevOOo/tests/java/mod/_ucb/UcbPropertiesManager.java
new file mode 100644
index 000000000..5f04e3864
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucb/UcbPropertiesManager.java
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucb;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+public class UcbPropertiesManager extends TestCase {
+
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UcbPropertiesManager" );
+
+ oObj = (XInterface) oInterface;
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class UcbPropertiesManager
+
diff --git a/qadevOOo/tests/java/mod/_ucb/UcbStore.java b/qadevOOo/tests/java/mod/_ucb/UcbStore.java
new file mode 100644
index 000000000..784210db5
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucb/UcbStore.java
@@ -0,0 +1,62 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucb;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.Store</code>. <p>
+*/
+public class UcbStore extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.Store</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance( "com.sun.star.comp.ucb.UcbStore" );
+
+ oObj = (XInterface) oInterface;
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class UcbStore
+
diff --git a/qadevOOo/tests/java/mod/_ucb/UniversalContentBroker.java b/qadevOOo/tests/java/mod/_ucb/UniversalContentBroker.java
new file mode 100644
index 000000000..17f415569
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucb/UniversalContentBroker.java
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucb;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.UniversalContentBroker</code>. <p>
+*/
+public class UniversalContentBroker extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucb.UniversalContentBroker</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = UnoRuntime.queryInterface(XContentIdentifierFactory.class,oObj);
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+
+ tEnv.addObjRelation("CONTENT1",
+ "vnd.sun.star.webdav://localhost/davhome/");
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class UniversalContentBroker
+
diff --git a/qadevOOo/tests/java/mod/_ucpchelp/CHelpContentProvider.java b/qadevOOo/tests/java/mod/_ucpchelp/CHelpContentProvider.java
new file mode 100644
index 000000000..0cc406fd2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucpchelp/CHelpContentProvider.java
@@ -0,0 +1,67 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucpchelp;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class CHelpContentProvider extends TestCase {
+
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param,PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ Object aUCB = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.HelpContentProvider" );
+ aUCB = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = UnoRuntime.queryInterface(XContentIdentifierFactory.class,aUCB);
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+ tEnv.addObjRelation("CONTENT1", "vnd.sun.star.help://swriter?System=WIN&Language=de&Query=text&HitCount=120&Scope=Heading");
+ tEnv.addObjRelation("CONTENT2",
+ util.utils.getFullTestURL("SwXTextEmbeddedObject.sdw"));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class FileProvider
+
diff --git a/qadevOOo/tests/java/mod/_ucpdav/WebDAVContentProvider.java b/qadevOOo/tests/java/mod/_ucpdav/WebDAVContentProvider.java
new file mode 100644
index 000000000..cc0736f32
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucpdav/WebDAVContentProvider.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucpdav;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Creates a <code>com.sun.star.ucb.WebDAVContentProvider</code> instance.
+ */
+public class WebDAVContentProvider extends TestCase {
+ /**
+ * Creates a <code>com.sun.star.ucb.WebDAVContentProvider</code> instance
+ * and adds a <code>XContentIdentifierFactory</code> instance as a "FACTORY"
+ * relation for <code>XContentProviderTest</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ XInterface xInt;
+
+ log.println("creating WebDAVContentProvider instance");
+ xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.ucb.WebDAVContentProvider");
+
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+
+ log.println("creating XContentIdentifierFactory");
+ XContentIdentifierFactory xCIF;
+
+ xCIF = UnoRuntime.queryInterface(
+ XContentIdentifierFactory.class,
+ xMSF.createInstance(
+ "com.sun.star.comp.ucb.UniversalContentBroker"));
+
+ tEnv.addObjRelation("FACTORY", xCIF);
+
+ tEnv.addObjRelation("CONTENT1",
+ "vnd.sun.star.webdav://localhost/davhome/");
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_ucpfile/FileProvider.java b/qadevOOo/tests/java/mod/_ucpfile/FileProvider.java
new file mode 100644
index 000000000..f4fab5e9b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucpfile/FileProvider.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucpfile;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class FileProvider extends TestCase {
+
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param,PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.FileProvider" );
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = UnoRuntime.queryInterface(XContentIdentifierFactory.class,oObj);
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+ tEnv.addObjRelation("CONTENT1",
+ util.utils.getOfficeTemp(Param.getMSF()));
+ tEnv.addObjRelation("CONTENT2",
+ util.utils.getFullTestURL("SwXTextEmbeddedObject.sdw"));
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class FileProvider
+
diff --git a/qadevOOo/tests/java/mod/_ucpftp/FTPContentProvider.java b/qadevOOo/tests/java/mod/_ucpftp/FTPContentProvider.java
new file mode 100644
index 000000000..7bb047214
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucpftp/FTPContentProvider.java
@@ -0,0 +1,66 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucpftp;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class FTPContentProvider extends TestCase {
+
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param,PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ Object aUCB = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.ucb.FTPContentProvider" );
+ aUCB = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = UnoRuntime.queryInterface(XContentIdentifierFactory.class,aUCB);
+
+ log.println("ImplementationName: "+util.utils.getImplName(oObj));
+ util.dbg.printInterfaces(oObj);
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+ tEnv.addObjRelation("CONTENT1","ftp:///ftp.sun.com");
+ tEnv.addObjRelation("CONTENT2","ftp:///ftp.openoffice.org");
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class FileProvider
+
diff --git a/qadevOOo/tests/java/mod/_ucphier/HierarchyContentProvider.java b/qadevOOo/tests/java/mod/_ucphier/HierarchyContentProvider.java
new file mode 100644
index 000000000..1d0cf0e81
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucphier/HierarchyContentProvider.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucphier;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class HierarchyContentProvider extends TestCase {
+
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ Object ucb = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.HierarchyContentProvider" );
+ ucb = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = UnoRuntime.queryInterface(XContentIdentifierFactory.class,ucb);
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+ tEnv.addObjRelation("CONTENT1","vnd.sun.star.hier:/");
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class HierarchyContentProvider
+
diff --git a/qadevOOo/tests/java/mod/_ucphier/HierarchyDataSource.java b/qadevOOo/tests/java/mod/_ucphier/HierarchyDataSource.java
new file mode 100644
index 000000000..c0d5a8146
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucphier/HierarchyDataSource.java
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucphier;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Creates <code>HierarchyDataSource</code> implementation of
+ * <code>ucphier</code> module.
+ *
+ * @see ifc.lang._XMultiServiceFactory
+ */
+public class HierarchyDataSource extends TestCase {
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ XInterface oObj = null;
+ Object oInterface = null;
+
+ try {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ oInterface = xMSF.createInstance(
+ "com.sun.star.ucb.DefaultHierarchyDataSource");
+ }
+ catch( com.sun.star.uno.Exception e ) {
+ log.println("Service not available" );
+ }
+
+ oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_ucppkg/PackageContentProvider.java b/qadevOOo/tests/java/mod/_ucppkg/PackageContentProvider.java
new file mode 100644
index 000000000..72b7f3577
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucppkg/PackageContentProvider.java
@@ -0,0 +1,68 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucppkg;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class PackageContentProvider extends TestCase {
+
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param,PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInterface = null;
+ Object ucb = null;
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ oInterface = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.PackageContentProvider" );
+ ucb = xMSF.createInstance
+ ( "com.sun.star.comp.ucb.UniversalContentBroker" );
+
+ oObj = (XInterface) oInterface;
+
+ XContentIdentifierFactory CIF = UnoRuntime.queryInterface(XContentIdentifierFactory.class,ucb);
+
+ System.out.println("ImplementationName: "+util.utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //Adding ObjRelation for XContentProvider
+ tEnv.addObjRelation("FACTORY",CIF);
+ tEnv.addObjRelation("CONTENT1",
+ "vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fmy.xsw/");
+ tEnv.addObjRelation("CONTENT2",
+ "vnd.sun.star.pkg://file:%2F%2F%2Fe:%2Fyour.xsw/");
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class PackageContentProvider
+
diff --git a/qadevOOo/tests/java/mod/_ucprmt/ContentProvider.java b/qadevOOo/tests/java/mod/_ucprmt/ContentProvider.java
new file mode 100644
index 000000000..22c788522
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucprmt/ContentProvider.java
@@ -0,0 +1,96 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucprmt;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.ucb.RemoteAccessContentProvider</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::ucb::XContentProvider</code></li>
+* <li> <code>com::sun::star::ucb::XFileIdentifierConverter</code></li>
+* <li> <code>com::sun::star::ucb::XContentIdentifierFactory</code></li>
+* <li> <code>com::sun::star::ucb::XParameterizedContentProvider</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see com.sun.star.ucb.XContentProvider
+* @see com.sun.star.ucb.XFileIdentifierConverter
+* @see com.sun.star.ucb.XContentIdentifierFactory
+* @see com.sun.star.ucb.XParameterizedContentProvider
+* @see ifc.ucb._XContentProvider
+* @see ifc.ucb._XFileIdentifierConverter
+* @see ifc.ucb._XContentIdentifierFactory
+* @see ifc.ucb._XParameterizedContentProvider
+*/
+public class ContentProvider extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.ucprmt.ContentProvider</code>. <p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'FACTORY'</code> for
+ * {@link ifc.ucb._XContentProvider} factory for
+ * content identifiers. Here it is
+ * <code>UniversalContentBroker</code> service.</li>
+ * <li> <code>'CONTENT1'</code> for
+ * {@link ifc.ucb._XContentProvider}: suitable
+ * content URL for this provider </li>
+ * <li> <code>'CONTENT2'</code> for
+ * {@link ifc.ucb._XContentProvider}: another suitable
+ * content URL for this provider </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XContentIdentifierFactory cntIDFac = null ;
+
+ oObj = (XInterface) xMSF.createInstance
+ ("com.sun.star.ucb.RemoteAccessContentProvider");
+ cntIDFac = UnoRuntime.queryInterface
+ (XContentIdentifierFactory.class, oObj) ;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XContentProvider
+ tEnv.addObjRelation("FACTORY", cntIDFac) ;
+ tEnv.addObjRelation("CONTENT1","vnd.sun.star.wfs:///user/work");
+ tEnv.addObjRelation("CONTENT2","vnd.sun.star.wfs:///user/config");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_ucprmt/ProviderAcceptor.java b/qadevOOo/tests/java/mod/_ucprmt/ProviderAcceptor.java
new file mode 100644
index 000000000..733b8d1be
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucprmt/ProviderAcceptor.java
@@ -0,0 +1,52 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucprmt;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.ucb.XRemoteContentProviderAcceptor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ProviderAcceptor extends TestCase {
+
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ Object oInterface = Param.getMSF().createInstance
+ ("com.sun.star.ucb.RemoteContentProviderAcceptor");
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ //adding ObjRelation for XRemoteContentProviderAcceptor
+ XRemoteContentProviderAcceptor xRCPA = UnoRuntime.queryInterface(XRemoteContentProviderAcceptor.class,oObj);
+
+ tEnv.addObjRelation("RCPA",xRCPA);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_ucprmt/ProxyProvider.java b/qadevOOo/tests/java/mod/_ucprmt/ProxyProvider.java
new file mode 100644
index 000000000..2c075ca0d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_ucprmt/ProxyProvider.java
@@ -0,0 +1,57 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._ucprmt;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.ucb.XContentIdentifierFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+public class ProxyProvider extends TestCase {
+
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters Param, PrintWriter log ) throws Exception {
+
+ XMultiServiceFactory xMSF = Param.getMSF();
+ XInterface oObj = (XInterface) xMSF.createInstance
+ ("com.sun.star.ucb.RemoteProxyContentProvider");
+ XContentIdentifierFactory cntIDFac = UnoRuntime.queryInterface
+ (XContentIdentifierFactory.class, oObj) ;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XContentProvider
+ tEnv.addObjRelation("FACTORY", cntIDFac) ;
+ tEnv.addObjRelation("CONTENT1","vnd.sun.star.pkg:///user/work");
+ tEnv.addObjRelation("CONTENT1","vnd.sun.star.wfs://");
+
+ tEnv.addObjRelation("NoCONTENT",Boolean.TRUE);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_uui/UUIInteractionHandler.java b/qadevOOo/tests/java/mod/_uui/UUIInteractionHandler.java
new file mode 100644
index 000000000..bcabde63d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_uui/UUIInteractionHandler.java
@@ -0,0 +1,63 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._uui;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.uui.InteractionHandler</code>. <p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::task::XInteractionHandler</code></li>
+* </ul>
+* This object test <b> is NOT </b> designed to be run in several
+* threads concurrently.
+* @see ifc.task._XInteractionHandler
+*/
+public class UUIInteractionHandler extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.uui.InteractionHandler</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws Exception {
+ XMultiServiceFactory xMSF = Param.getMSF();
+ Object oInterface = xMSF.createInstance
+ ( "com.sun.star.uui.InteractionHandler" );
+ XInterface oObj = (XInterface) oInterface;
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_uuresolver/UnoUrlResolver.java b/qadevOOo/tests/java/mod/_uuresolver/UnoUrlResolver.java
new file mode 100644
index 000000000..594c67178
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_uuresolver/UnoUrlResolver.java
@@ -0,0 +1,65 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._uuresolver;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+public class UnoUrlResolver extends TestCase {
+
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.UnoUrlResolver");
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+ Object oBFctr = xMSF.createInstance(
+ "com.sun.star.bridge.BridgeFactory");
+ tEnv.addObjRelation("BRIDGEFACTORY", oBFctr);
+
+ Object oAcctr = xMSF.createInstance(
+ "com.sun.star.connection.Acceptor") ;
+ tEnv.addObjRelation("ACCEPTOR", oAcctr);
+
+ String os = System.getProperty("OS");
+ System.out.println("OS: " + os);
+ int port = 20004;
+ if (os.equalsIgnoreCase("wntmsci"))
+ port = 20004;
+ if (os.equalsIgnoreCase("unxsols"))
+ port = 20004;
+ if (os.equalsIgnoreCase("unxsoli"))
+ port = 30004;
+ if (os.equalsIgnoreCase("unxlngi"))
+ port = 20006;
+
+ tEnv.addObjRelation("PORT", Integer.valueOf(port));
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_uuresolver/package.html b/qadevOOo/tests/java/mod/_uuresolver/package.html
new file mode 100644
index 000000000..20c38e20e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_uuresolver/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'uuresolver'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_uuresolver/uno/UnoUrlResolver.java b/qadevOOo/tests/java/mod/_uuresolver/uno/UnoUrlResolver.java
new file mode 100644
index 000000000..ffb7c5820
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_uuresolver/uno/UnoUrlResolver.java
@@ -0,0 +1,54 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._uuresolver.uno;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+public class UnoUrlResolver extends TestCase {
+
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XMultiServiceFactory xMSF = tParam.getMSF();
+
+ XInterface xInt = (XInterface)xMSF.createInstance(
+ "com.sun.star.bridge.UnoUrlResolver");
+ TestEnvironment tEnv = new TestEnvironment(xInt);
+ Object oBFctr = xMSF.createInstance(
+ "com.sun.star.bridge.BridgeFactory");
+ tEnv.addObjRelation("BRIDGEFACTORY", oBFctr);
+
+ Object oAcctr = xMSF.createInstance(
+ "com.sun.star.connection.Acceptor") ;
+ tEnv.addObjRelation("ACCEPTOR", oAcctr);
+
+ int port = util.utils.getNextFreePort(20004);
+ tEnv.addObjRelation("PORT", Integer.valueOf(port));
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_uuresolver/uno/package.html b/qadevOOo/tests/java/mod/_uuresolver/uno/package.html
new file mode 100644
index 000000000..20c38e20e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_uuresolver/uno/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'uuresolver'.</P>
+</BODY>
+</HTML>
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentExporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentExporter.java
new file mode 100644
index 000000000..9edbe3aa3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentExporter.java
@@ -0,0 +1,182 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLContentExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLContentExporter extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+ }
+
+ /**
+ * Close document
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLContentExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The chart document is set as a source document for exporter
+ * created. A new 'main title' is set for chart. This made
+ * for checking if this title is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ final String exportStr = "XMLContentExporter" ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Chart.XMLContentExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xChartDoc);
+
+ Object oTitle = xChartDoc.getTitle() ;
+ XPropertySet xTitleProp = UnoRuntime.queryInterface
+ (XPropertySet.class, oTitle) ;
+ xTitleProp.setPropertyValue("String", exportStr) ;
+
+ filter.addTag(new XMLTools.Tag("office:document-content")) ;
+ filter.addTagEnclosed(new XMLTools.Tag("office:body"),
+ new XMLTools.Tag("office:document-content"));
+ filter.addCharactersEnclosed(exportStr,
+ new XMLTools.Tag("chart:title")) ;
+
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"schart: StarOffice XML (Chart)"}));
+ tEnv.addObjRelation("SourceDocument",xChartDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check() ;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentImporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentImporter.java
new file mode 100644
index 000000000..1481e0134
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLContentImporter.java
@@ -0,0 +1,188 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLContentImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLContentImporter extends TestCase {
+ XComponent comp ;
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New chart document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ comp = xChartDoc;
+ }
+
+ /**
+ * Close document
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ comp = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLContentImporter</code><p>
+ *
+ * The chart document is set as a target document for importer.
+ * Imported XML-data contains the tag which specifies the title
+ * of a chart.
+ * After import title name getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impValue = "XMLContentImporter_test" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ final XPropertySet xTitleProp ;
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Chart.XMLContentImporter") ;
+
+
+ Object oTitle = xChartDoc.getTitle() ;
+ xTitleProp = UnoRuntime.queryInterface
+ (XPropertySet.class, oTitle) ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-content",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text",
+ "xmlns:chart", "CDATA", "http://openoffice.org/2000/chart",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table",
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg",
+ "office:class", "CDATA", "chart"
+ ,"office:version", "CDATA", "1.0"
+ },
+ {"start", "office:body"},
+ {"start", "chart:chart"},
+ {"start", "chart:title"},
+ {"start", "text:p"},
+ {"chars", impValue},
+ {"end", "text:p"},
+ {"end", "chart:title"},
+ {"end", "chart:chart"},
+ {"end", "office:body"},
+ {"end", "office:document-content"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String title = (String)
+ xTitleProp.getPropertyValue("String") ;
+ logF.println("Title returned = '" + title + "'") ;
+ return impValue.equals(title) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println
+ ("Exception occurred while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLExporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLExporter.java
new file mode 100644
index 000000000..6a4eda292
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLExporter.java
@@ -0,0 +1,184 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+ }
+
+ /**
+ * Close document
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The chart document is set as a source document for exporter
+ * created. A new 'main title' is set for chart. This made
+ * for checking if this title is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ final String exportStr = "XMLExporter test." ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Chart.XMLExporter", new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xChartDoc);
+
+ Object oTitle = xChartDoc.getTitle() ;
+ XPropertySet xTitleProp = UnoRuntime.queryInterface
+ (XPropertySet.class, oTitle) ;
+ xTitleProp.setPropertyValue("String", exportStr) ;
+
+ filter.addTag(new XMLTools.Tag("office:document")) ;
+ filter.addTagEnclosed(new XMLTools.Tag("office:meta"),
+ new XMLTools.Tag("office:document"));
+ filter.addTagEnclosed(new XMLTools.Tag("office:body"),
+ new XMLTools.Tag("office:document"));
+ filter.addCharactersEnclosed(exportStr,
+ new XMLTools.Tag("chart:title")) ;
+
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"schart: StarOffice XML (Chart)"}));
+ tEnv.addObjRelation("SourceDocument",xChartDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check() ;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLImporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLImporter.java
new file mode 100644
index 000000000..eb60684b8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLImporter.java
@@ -0,0 +1,186 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+ XComponent comp ;
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New chart document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ comp = xChartDoc;
+ }
+
+ /**
+ * Close document
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ comp = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLImporter</code><p>
+ *
+ * The chart document is set as a target document for importer.
+ * Imported XML-data contains the tag which specifies the title
+ * of a chart.
+ * After import title name getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impValue = "XMLImporter_test" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ final XPropertySet xTitleProp ;
+ oInt = xMSF.createInstance("com.sun.star.comp.Chart.XMLImporter") ;
+
+ Object oTitle = xChartDoc.getTitle() ;
+ xTitleProp = UnoRuntime.queryInterface
+ (XPropertySet.class, oTitle) ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text",
+ "xmlns:chart", "CDATA", "http://openoffice.org/2000/chart",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table",
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg",
+ "office:class", "CDATA", "chart"
+ ,"office:version", "CDATA", "1.0"
+ },
+ {"start", "office:body"},
+ {"start", "chart:chart"},
+ {"start", "chart:title"},
+ {"start", "text:p"},
+ {"chars", impValue},
+ {"end", "text:p"},
+ {"end", "chart:title"},
+ {"end", "chart:chart"},
+ {"end", "office:body"},
+ {"end", "office:document-content"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String title = (String)
+ xTitleProp.getPropertyValue("String") ;
+ logF.println("Title returned = '" + title + "'") ;
+ return impValue.equals(title) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println
+ ("Exception occurred while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesExporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesExporter.java
new file mode 100644
index 000000000..66f46ba52
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesExporter.java
@@ -0,0 +1,171 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLStylesExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLStylesExporter extends TestCase {
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+ }
+
+ /**
+ * Close document
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLStylesExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * Existing of some tags checked in XML data exported.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Chart.XMLStylesExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xChartDoc);
+
+
+ filter.addTag(new XMLTools.Tag("office:document-styles")) ;
+ filter.addTagEnclosed(new XMLTools.Tag("office:styles"),
+ new XMLTools.Tag("office:document-styles"));
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"schart: StarOffice XML (Chart)"}));
+ tEnv.addObjRelation("SourceDocument",xChartDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check() ;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesImporter.java b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesImporter.java
new file mode 100644
index 000000000..4944e1806
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Chart/XMLStylesImporter.java
@@ -0,0 +1,161 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Chart;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.chart.XChartDocument;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Chart.XMLStylesImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLStylesImporter extends TestCase {
+ XComponent comp ;
+ XChartDocument xChartDoc = null;
+
+ /**
+ * New chart document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a chartdocument" );
+ xChartDoc = SOF.createChartDoc();
+
+ comp = xChartDoc;
+ }
+
+ /**
+ * Close document
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ if( xChartDoc!=null ) {
+ log.println( " closing xChartDoc" );
+ util.DesktopTools.closeDoc(xChartDoc);
+ xChartDoc = null;
+ comp = null;
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Chart.XMLStylesImporter</code><p>
+ *
+ * The chart document is set as a target document for importer.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Chart.XMLStylesImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", comp) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-styles",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text",
+ "xmlns:chart", "CDATA", "http://openoffice.org/2000/chart",
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style",
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg",
+ "office:class", "CDATA", "chart",
+ "office:version", "CDATA", "1.0"
+ },
+ {"start", "office:styles"},
+ {"end", "office:styles"},
+ {"end", "office:document-styles"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ logF.println("No ways to check styles import were not found.");
+ logF.println(" TRUE returned.");
+ return true ;
+ }
+ }) ;
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentExporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentExporter.java
new file mode 100644
index 000000000..e0e26b710
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentExporter.java
@@ -0,0 +1,190 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.document.XExporter;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLOasisContentExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLContentExporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLOasisContentExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The draw document is set as a source document for exporter
+ * created. Then a new page (Slide) created in this document and
+ * both two pages renamed to 'NewSlide1' and 'NewSlide2'. After this
+ * filter checks that new tags exist in the XML output.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ // Adding tags for checking existence of head tag and other tags
+ filter.addTag(new XMLTools.Tag("office:document-content"));
+ filter.addTag(new XMLTools.Tag("office:body"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag("draw:page"),
+ new XMLTools.Tag("office:body"));
+ filter.addTag(new XMLTools.Tag("draw:page","draw:name","NewSlide1"));
+ filter.addTag(new XMLTools.Tag("draw:page","draw:name","NewSlide2"));
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Draw.XMLOasisContentExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+
+ XDrawPagesSupplier supp = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages set = supp.getDrawPages();
+
+ // This is an XML-export BUG (new slide named "NewSlide2"
+ // can not be exported to XML)
+ set.insertNewByIndex(1);
+
+ XDrawPage page1 = UnoRuntime.queryInterface(XDrawPage.class, set.getByIndex(0));
+ XNamed NPage1 = UnoRuntime.queryInterface(XNamed.class,page1);
+ NPage1.setName("NewSlide1");
+ XDrawPage page2 = UnoRuntime.queryInterface(XDrawPage.class, set.getByIndex(1));
+ XNamed NPage2 = UnoRuntime.queryInterface(XNamed.class,page2);
+ NPage2.setName("NewSlide2");
+ xEx.setSourceDocument(xDrawDoc);
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"sdraw: StarOffice XML (Draw)"}));
+ tEnv.addObjRelation("SourceDocument",xDrawDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log,true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentImporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentImporter.java
new file mode 100644
index 000000000..7225b192b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLContentImporter.java
@@ -0,0 +1,192 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLContentImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLContentImporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLContentImporter</code><p>
+ *
+ * The Draw document is set as a target document for importer.
+ * Imported XML-data contains only content tags including pages
+ * named 'NewSlide1' and 'NewSlide2'.
+ * Pages getting from target document is checked after import
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Draw.XMLContentImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xDrawDoc) ;
+
+ // New XML document generated to be imported to Draw document
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing",
+ "office:class", "CDATA", "drawing"
+ ,"office:version", "CDATA", "1.0"
+ },
+ {"start", "office:body"},
+ {"start", "draw:page",
+ "draw:name", "CDATA", "NewSlide1",
+ "draw:master-page-name", "CDATA", "Default"},
+ {"end", "draw:page"},
+ {"start", "draw:page", "draw:name", "CDATA", "NewSlide2",
+ "draw:master-page-name", "CDATA", "Default"},
+ {"end","draw:page"},
+ {"end", "draw:page"},
+ {"end", "office:body"},
+ {"end", "office:document"}};
+
+ // adding relation for XDocumentHandler
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml);
+
+ //save to log content before import
+ final PrintWriter fLog = log;
+
+ // Checking target document after import
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ XDrawPagesSupplier supp = UnoRuntime.queryInterface
+ (XDrawPagesSupplier.class, xDrawDoc);
+ final XDrawPages xPages = supp.getDrawPages();
+ XNamed[] pageArray = new XNamed[ xPages.getCount() ];
+ for (int i=0; i < xPages.getCount(); i++) {
+ try {
+ pageArray[i] = UnoRuntime.queryInterface
+ (XNamed.class, xPages.getByIndex(i));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(fLog) ;
+ throw new StatusException
+ ("Can't get page name by index.", e) ;
+ }
+ }
+ fLog.println("Slide names after import:");
+ for ( int i = 0; i < xPages.getCount(); i++ ) {
+ if ((pageArray[i].getName().equals("NewSlide1"))
+ || (pageArray[i].getName().equals("NewSlide2"))) {
+ fLog.println(" " + pageArray[i].getName());
+ }
+ else {
+ fLog.println("Error: some imported values are not exist in target document!");
+ return false;
+ }
+ }
+ return true;
+ }
+ });
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLExporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLExporter.java
new file mode 100644
index 000000000..5bf74b1cb
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLExporter.java
@@ -0,0 +1,190 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.document.XExporter;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The draw document is set as a source document for exporter
+ * created. Then a new page (Slide) created in this document and
+ * both two pages renamed to 'NewSlide1' and 'NewSlide2'. After this
+ * filter checks that new tags exist in the XML output.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ // Adding tags for checking existence of head tag and other tags
+ filter.addTag(new XMLTools.Tag("office:document"));
+ filter.addTag(new XMLTools.Tag("office:body"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag("draw:page"),
+ new XMLTools.Tag("office:body"));
+ filter.addTag(new XMLTools.Tag("draw:page","draw:name","NewSlide1"));
+ filter.addTag(new XMLTools.Tag("draw:page","draw:name","NewSlide2"));
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Draw.XMLExporter", new Object[] {arg});
+
+
+ XDrawPagesSupplier supp = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xDrawDoc);
+ XDrawPages set = supp.getDrawPages();
+
+ // This is an XML-export BUG (new slide named "NewSlide2" can not be exported to XML)
+ set.insertNewByIndex(1);
+
+ XDrawPage page1 = UnoRuntime.queryInterface(XDrawPage.class, set.getByIndex(0));
+ XNamed NPage1 = UnoRuntime.queryInterface(XNamed.class,page1);
+ NPage1.setName("NewSlide1");
+ XDrawPage page2 = UnoRuntime.queryInterface(XDrawPage.class, set.getByIndex(1));
+ XNamed NPage2 = UnoRuntime.queryInterface(XNamed.class,page2);
+ NPage2.setName("NewSlide2");
+
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xDrawDoc);
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"sdraw: StarOffice XML (Draw)"}));
+ tEnv.addObjRelation("SourceDocument",xDrawDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log,true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLImporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLImporter.java
new file mode 100644
index 000000000..b550ffea6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLImporter.java
@@ -0,0 +1,192 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLImporter</code><p>
+ *
+ * The Draw document is set as a target document for importer.
+ * Imported XML-data contains only content tags including pages
+ * named 'NewSlide1' and 'NewSlide2'.
+ * Pages getting from target document are checked after import.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance("com.sun.star.comp.Draw.XMLImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xDrawDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing",
+ "office:class", "CDATA", "drawing"
+ ,"office:version", "CDATA", "1.0"
+ },
+ {"start", "office:body"},
+ {"start", "draw:page",
+ "draw:name", "CDATA", "NewSlide1",
+ "draw:master-page-name", "CDATA", "Default"},
+ {"end", "draw:page"},
+ {"start", "draw:page",
+ "draw:name", "CDATA", "NewSlide2",
+ "draw:master-page-name", "CDATA", "Default"},
+ {"end","draw:page"},
+ {"end", "draw:page"},
+ {"end", "office:body"},
+ {"end", "office:document"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ //save to log content before import
+ final PrintWriter fLog = log;
+
+ // Checking target document after import
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ XDrawPagesSupplier supp = UnoRuntime.queryInterface
+ (XDrawPagesSupplier.class, xDrawDoc);
+ final XDrawPages xPages = supp.getDrawPages();
+ XNamed[] pageArray = new XNamed[ xPages.getCount() ];
+ for (int i=0; i < xPages.getCount(); i++) {
+ try {
+ pageArray[i] = UnoRuntime.queryInterface
+ (XNamed.class, xPages.getByIndex(i));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(fLog) ;
+ throw new StatusException
+ ("Can't get page name by index.", e) ;
+ }
+ }
+ fLog.println("Slide names after import:");
+ for ( int i = 0; i < xPages.getCount(); i++ ) {
+ if ((pageArray[i].getName().equals("NewSlide1"))
+ || (pageArray[i].getName().equals("NewSlide2"))) {
+ fLog.println(" " + pageArray[i].getName());
+ }
+ else {
+ fLog.println("Error: some imported values are not exist in target document!");
+ return false;
+ }
+ }
+ return true;
+ }
+ });
+
+ return tEnv;
+ } // end of getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaExporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaExporter.java
new file mode 100644
index 000000000..0e2835d41
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaExporter.java
@@ -0,0 +1,183 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLOasisMetaExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLMetaExporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New draw document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLOasisMetaExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The draw document is set as a source document for exporter
+ * created. Set title of document to 'XMLMetaExporter'.
+ * This made for checking if this title is successfully exported within
+ * the document meta information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ final String TITLE = "XMLMetaExporter";
+
+ FilterChecker filter = new FilterChecker(log) ;
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Draw.XMLOasisMetaExporter", new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class, oObj);
+ xEx.setSourceDocument(xDrawDoc);
+
+ //set some meta data
+ XDocumentPropertiesSupplier xPropSup = UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xDrawDoc);
+ final XDocumentProperties xDocProps = xPropSup.getDocumentProperties();
+ xDocProps.setTitle(TITLE);
+
+ // Checking Head Tag existence and that property has changed
+ filter.addTag(new XMLTools.Tag ("office:document-meta"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag("office:meta"),
+ new XMLTools.Tag("office:document-meta") );
+ filter.addTagEnclosed(
+ new XMLTools.Tag("dc:title"),
+ new XMLTools.Tag("office:meta") );
+ filter.addCharactersEnclosed( TITLE,
+ new XMLTools.Tag("dc:title") );
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"sdraw: StarOffice XML (Draw)"}));
+ tEnv.addObjRelation("SourceDocument", xDrawDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaImporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaImporter.java
new file mode 100644
index 000000000..8bcf5b355
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLMetaImporter.java
@@ -0,0 +1,162 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLMetaImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLMetaImporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New draw document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Draw document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLMetaImporter</code><p>
+ *
+ * The draw document is set as a target document for importer.
+ * Imported XML-data contains only meta tags including
+ * title tag with test name.
+ * After import title name getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam,PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance("com.sun.star.comp.Draw.XMLMetaImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xDrawDoc) ;
+
+ final String impTitle = "XMLMetaImporter" ;
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-meta",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:meta", "CDATA", "http://openoffice.org/2000/meta",
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"
+ },
+ {"start", "office:meta"},
+ {"start", "dc:title"},
+ {"chars", impTitle},
+ {"end", "dc:title"},
+ {"end", "office:meta"},
+ {"end", "office:document-meta"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ //set some meta data
+ XDocumentPropertiesSupplier xPropSup = UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xDrawDoc);
+ final XDocumentProperties xDocProps = xPropSup.getDocumentProperties();
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ String title = xDocProps.getTitle();
+ logF.println("Title returned = '" + title + "'") ;
+ return impTitle.equals(title) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsExporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsExporter.java
new file mode 100644
index 000000000..261852b8e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsExporter.java
@@ -0,0 +1,189 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLOasisSettingsExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLSettingsExporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New draw document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>om.sun.star.comp.Draw.XMLSettingsExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The draw document is set as a source document for exporter
+ * created. Property 'IsLayerMode' set to true.
+ * This made for checking if this property is successfully exported within
+ * the document styles information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ FilterChecker filter = new FilterChecker(log) ;
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Draw.XMLOasisSettingsExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class, oObj);
+ xEx.setSourceDocument(xDrawDoc);
+
+ //set some settings
+ XModel xDrawModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+ XController xController = xDrawModel.getCurrentController();
+ XPropertySet xPropSet = UnoRuntime.queryInterface(XPropertySet.class, xController);
+ xPropSet.setPropertyValue("IsLayerMode", Boolean.TRUE);
+
+ // Checking Head Tag existence and that property has changed
+ filter.addTag(new XMLTools.Tag ("office:document-settings"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag ("office:settings"),
+ new XMLTools.Tag ("office:document-settings") );
+ filter.addTagEnclosed(
+ new XMLTools.Tag ("config:config-item-set"),
+ new XMLTools.Tag ("office:settings") );
+ filter.addTagEnclosed(
+ new XMLTools.Tag ("config:config-item-map-indexed"),
+ new XMLTools.Tag ("config:config-item-set") );
+ filter.addCharactersEnclosed( "true",
+ new XMLTools.Tag( "config:config-item",
+ "config:name",
+ "IsLayerMode" ));
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"sdraw: StarOffice XML (Draw)"}));
+ tEnv.addObjRelation("SourceDocument", xDrawDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsImporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsImporter.java
new file mode 100644
index 000000000..ec6d5625d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLSettingsImporter.java
@@ -0,0 +1,178 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLSettingsImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLSettingsImporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New draw document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Text draw destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLSettingsImporter</code><p>
+ *
+ * The draw document is set as a target document for importer.
+ * Imported XML-data contains only settings tags including
+ * tag with property 'IsLayerMode'.
+ * After import property 'IsLayerMode' getting from target
+ * document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Draw.XMLSettingsImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xDrawDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-settings",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config"},
+ {"start", "office:settings"},
+ {"start", "config:config-item-set",
+ "config:name", "CDATA", "view-settings"},
+ {"start", "config:config-item-map-indexed",
+ "config:name", "CDATA", "Views"},
+ {"start", "config:config-item-map-entry"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "IsLayerMode",
+ "config:type", "CDATA", "boolean"},
+ {"chars", "true"},
+ {"end", "config:config-item"},
+ {"end", "config:config-item-map-entry"},
+ {"end", "config:config-item-map-indexed"},
+ {"end", "config:config-item-set"},
+ {"end", "office:settings"},
+ {"end", "office:document-settings"} };
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml);
+ final PrintWriter logF = log;
+ XModel xDrawModel = UnoRuntime.queryInterface(XModel.class, xDrawDoc);
+ XController xController = xDrawModel.getCurrentController();
+ final XPropertySet xPropSet = UnoRuntime.queryInterface(XPropertySet.class, xController);
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ Boolean value = (Boolean)
+ xPropSet.getPropertyValue("IsLayerMode");
+ logF.println("'IsLayerMode' property value is '"
+ + value + "'");
+ return value.booleanValue();
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception while checking import :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesExporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesExporter.java
new file mode 100644
index 000000000..2fbf238ca
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesExporter.java
@@ -0,0 +1,193 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLOasisStylesExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLStylesExporter extends TestCase {
+ XComponent xDrawDoc = null;
+ protected static int counter = 0;
+
+ /**
+ * New draw document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xDrawDoc " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLOasisStylesExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The draw document is set as a source document for exporter
+ * created. New style is added to the style family 'graphics' with unique name
+ * every time. This made for checking if this style is successfully exported
+ * within the document styles information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log) ;
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+ final String STYLE_NAME = "New style" + counter++ ;
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Draw.XMLOasisStylesExporter", new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xDrawDoc);
+
+ //obtain style families
+ XStyleFamiliesSupplier styleSup = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xDrawDoc);
+ XNameAccess StyleFamilies = styleSup.getStyleFamilies();
+ //obtain all style family names
+ String[] styleFamiliesNames = StyleFamilies.getElementNames();
+ String styleFamilyName = styleFamiliesNames[0];
+ //obtain style family with name[0]
+ Object objectStyle = StyleFamilies.getByName(styleFamilyName);
+ XNameContainer xStyleFamilyName = UnoRuntime.queryInterface(XNameContainer.class, objectStyle);
+ //create new style
+ Object SC = SOF.createInstance(xDrawDoc, "com.sun.star.style.Style");
+ XStyle Style = UnoRuntime.queryInterface(XStyle.class,SC);
+ //add new style to style family with name[0]
+ xStyleFamilyName.insertByName(STYLE_NAME,Style);
+
+ // Checking Head Tag existence and that property has changed
+ filter.addTag(new XMLTools.Tag ("office:document-styles"));
+ filter.addTag(new XMLTools.Tag ("office:styles"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag("style:style"),
+ new XMLTools.Tag("office:styles") );
+ filter.addTag(new XMLTools.Tag("style:style", "style:name", STYLE_NAME));
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"sdraw: StarOffice XML (Draw)"}));
+ tEnv.addObjRelation("SourceDocument",xDrawDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesImporter.java b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesImporter.java
new file mode 100644
index 000000000..63dae1c1b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Draw/XMLStylesImporter.java
@@ -0,0 +1,176 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Draw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Draw.XMLStylesImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLStylesImporter extends TestCase {
+ XComponent xDrawDoc = null;
+
+ /**
+ * New draw document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating a drawdocument" );
+ xDrawDoc = SOF.createDrawDoc(null);
+ }
+
+ /**
+ * Text draw destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xDrawDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Draw.XMLStylesImporter</code><p>
+ *
+ * The draw document is set as a target document for importer.
+ * Imported XML-data contains only styles tags including
+ * tag with new style.
+ * After import checked existing of this new style in style
+ * collection obtained from target document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Draw.XMLStylesImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xDrawDoc) ;
+
+ final String impStyleName = "New style for test XMLStylesImporter";
+ final String impFamilyName = "graphics";
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-styles",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style"},
+ {"start", "office:styles"},
+ {"start", "style:style",
+ "style:name", "CDATA", impStyleName,
+ "style:family", "CDATA", impFamilyName},
+ {"end", "style:style"},
+ {"end", "office:styles"},
+ {"end", "office:document"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log;
+ //obtain style families
+ XStyleFamiliesSupplier styleSup = UnoRuntime.queryInterface (XStyleFamiliesSupplier.class, xDrawDoc) ;
+ final XNameAccess StyleFamilies = styleSup.getStyleFamilies();
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ Object objectStyle =
+ StyleFamilies.getByName(impFamilyName);
+ XNameContainer StyleFamilyName = UnoRuntime.queryInterface
+ (XNameContainer.class, objectStyle);
+ boolean hasStyle =
+ StyleFamilyName.hasByName(impStyleName);
+ logF.println("Does style with name '" + impStyleName
+ + "' exist? " + hasStyle );
+ return hasStyle;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception while checking import :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentExporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentExporter.java
new file mode 100644
index 000000000..b5a46cfff
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentExporter.java
@@ -0,0 +1,187 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.document.XExporter;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLOasisContentExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLContentExporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xImpressDoc " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLOasisContentExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The impress document is set as a source document for exporter
+ * created. The existing draw page is gotten a new name. This made
+ * for checking if this new name is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ final String expPageName = "XMLContentExporter" ;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Impress.XMLOasisContentExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xImpressDoc);
+
+ // assigning a draw page a new name
+ XDrawPagesSupplier xPagesSup = UnoRuntime.queryInterface
+ (XDrawPagesSupplier.class, xImpressDoc) ;
+ XDrawPages xPages = xPagesSup.getDrawPages() ;
+ XNamed xPageName = UnoRuntime.queryInterface
+ (XNamed.class, xPages.getByIndex(0)) ;
+ xPageName.setName(expPageName) ;
+
+ // adding tags required to be in XML data exported.
+ filter.addTag(new XMLTools.Tag("office:document-content")) ;
+ filter.addTagEnclosed(new XMLTools.Tag("office:body"),
+ new XMLTools.Tag("office:document-content")) ;
+ filter.addTagEnclosed(
+ new XMLTools.Tag("draw:page", "draw:name", expPageName),
+ new XMLTools.Tag("office:body")) ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"simpress: StarOffice XML (Impress)"}));
+ tEnv.addObjRelation("SourceDocument",xImpressDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check() ;
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentImporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentImporter.java
new file mode 100644
index 000000000..23ed91b47
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLContentImporter.java
@@ -0,0 +1,201 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLContentImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLContentImporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New chart document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Disposes document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLContentImporter</code><p>
+ *
+ * The chart document is set as a target document for importer.
+ * Imported XML-data contains the tag with a new page which has
+ * some name.
+ * After import page name getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam,PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impPageName = "XMLImporterPage" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Impress.XMLContentImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xImpressDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:presentation", "CDATA", "http://openoffice.org/2000/presentation",
+ "xmlns:svg", "CDATA", "http://openoffice.org/2000/svg",
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing",
+ "office:class", "CDATA", "presentation"
+ ,"office:version", "CDATA", "1.0"
+ },
+ {"start", "office:body"},
+ {"start", "draw:page",
+ "draw:name", "CDATA", impPageName,
+ "draw:master-page-name", "CDATA", "Default"
+ },
+ {"start", "presentation:notes"},
+ {"start", "draw:page-thumbnail",
+ "draw:style-name", "CDATA", "gr1",
+ "draw:layer", "CDATA", "layout",
+ "svg:width", "CDATA", "12.768cm",
+ "svg:height", "CDATA", "9.576cm",
+ "svg:x", "CDATA", "4.411cm",
+ "svg:y", "CDATA", "2.794cm",
+ "presentation:class", "CDATA", "page",
+ "draw:page-number", "CDATA", "1"
+ },
+ {"end", "draw:page-thumbnail"},
+ {"start", "draw:text-box",
+ "presentation:style-name", "CDATA", "Default-notes",
+ "draw:layer", "CDATA", "layout",
+ "svg:width", "CDATA", "15.021cm",
+ "svg:height", "CDATA", "10.63cm",
+ "svg:x", "CDATA", "3.292cm",
+ "svg:y", "CDATA", "13.299cm",
+ "presentation:class", "CDATA", "notes",
+ "presentation:placeholder", "CDATA", "true"
+ },
+ {"end", "draw:text-box"},
+ {"end", "presentation:notes"},
+ {"end", "draw:page"},
+ {"end", "office:body"},
+ {"end", "office:document"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ XDrawPagesSupplier xPagesSup = UnoRuntime.queryInterface
+ (XDrawPagesSupplier.class, xImpressDoc) ;
+ XDrawPages xPages = xPagesSup.getDrawPages() ;
+ XNamed xPageName = UnoRuntime.queryInterface
+ (XNamed.class, xPages.getByIndex(0)) ;
+ String gName = xPageName.getName() ;
+ logF.println("Page name returned = '" + gName + "'") ;
+ return impPageName.equals(gName) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occurred while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLExporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLExporter.java
new file mode 100644
index 000000000..03080f9d3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLExporter.java
@@ -0,0 +1,188 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.document.XExporter;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New impress document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xImpressDoc " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The impress document is set as a source document for exporter
+ * created. A new draw page with specific name created. This made
+ * for checking if this draw page is successfully exported within
+ * the document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ FilterChecker Filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+
+ final String NAME = "XMLExporter";
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Impress.XMLExporter", new Object[] {arg});
+
+ //get draw pages
+ XDrawPagesSupplier drawPagesSupplier = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xImpressDoc);
+ XDrawPages drawPages = drawPagesSupplier.getDrawPages();
+ //insert new draw page
+ XDrawPage newDrawPage = drawPages.insertNewByIndex(0);
+ //set specific test name
+ XNamed newPageNamed = UnoRuntime.queryInterface(XNamed.class, newDrawPage);
+ newPageNamed.setName(NAME);
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xImpressDoc);
+
+ // adding tags which must be contained in XML output
+ Filter.addTag( new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:body"),
+ new XMLTools.Tag("office:document") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("draw:page", "draw:name", NAME),
+ new XMLTools.Tag("office:body") );
+
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"simpress: StarOffice XML (Impress)"}));
+ tEnv.addObjRelation("SourceDocument",xImpressDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter) ;
+
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, true) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLImporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLImporter.java
new file mode 100644
index 000000000..1331d9130
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLImporter.java
@@ -0,0 +1,160 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.drawing.XDrawPages;
+import com.sun.star.drawing.XDrawPagesSupplier;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New impress document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Impress document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLImporter</code><p>
+ *
+ * The impress document is set as a target document for importer.
+ * Imported tags contain page with the specific name.
+ * After import existence of the page with this specific
+ * name is checked in the target document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Impress.XMLImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xImpressDoc) ;
+
+ final String impName = "XMLImporter";
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:draw", "CDATA", "http://openoffice.org/2000/drawing"
+ },
+ {"start", "office:body"},
+ {"start", "draw:page",
+ "draw:name", "CDATA", impName },
+ {"end", "draw:page"},
+ {"end", "office:body"},
+ {"end", "office:document"} };
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml);
+
+ //get draw pages
+ XDrawPagesSupplier drawPagesSupplier = UnoRuntime.queryInterface(XDrawPagesSupplier.class, xImpressDoc);
+ XDrawPages drawPages = drawPagesSupplier.getDrawPages();
+ final XNameAccess xNamePages = UnoRuntime.queryInterface(XNameAccess.class, drawPages);
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ return xNamePages.hasByName(impName);
+ }
+ } );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaExporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaExporter.java
new file mode 100644
index 000000000..360a3ac3a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaExporter.java
@@ -0,0 +1,184 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLOasisMetaExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLMetaExporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New impress document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Impress document disposed
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( "disposing xImpressDoc " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLOasisMetaExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The impress document is set as a source document for exporter
+ * created. A meta property 'Title' is set to specific value. This made
+ * for checking if this value is successfully exported within
+ * the document meta information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), filter);
+ final String NAME = "XMLMetaExporter";
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Impress.XMLOasisMetaExporter",
+ new Object[]{arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xImpressDoc);
+
+ // change title name
+ XDocumentPropertiesSupplier xPropSup = UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xImpressDoc);
+ final XDocumentProperties xDocProps = xPropSup.getDocumentProperties();
+ xDocProps.setTitle(NAME);
+
+ // Checking tags existence and changed property value
+ filter.addTag(new XMLTools.Tag ("office:document-meta"));
+ filter.addTagEnclosed(
+ new XMLTools.Tag("office:meta"),
+ new XMLTools.Tag("office:document-meta") );
+ filter.addTagEnclosed(
+ new XMLTools.Tag("dc:title"),
+ new XMLTools.Tag("office:meta") );
+ filter.addCharactersEnclosed(
+ NAME,
+ new XMLTools.Tag ("dc:title") );
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"simpress: StarOffice XML (Impress)"}));
+ tEnv.addObjRelation("SourceDocument", xImpressDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, true);
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaImporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaImporter.java
new file mode 100644
index 000000000..c50782e7e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLMetaImporter.java
@@ -0,0 +1,161 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLMetaImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLMetaImporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New impress document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Impress document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLMetaImporter</code><p>
+ *
+ * The impress document is set as a target document for importer.
+ * Imported XML-data contains only meta tags including title tag
+ * with test title name. After import title name getting from
+ * target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam,PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impTitle = "XMLImporter_test" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Impress.XMLMetaImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xImpressDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-meta" ,
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"},
+ {"start", "office:meta"} ,
+ {"start", "dc:title"},
+ {"chars", impTitle},
+ {"end", "dc:title"},
+ {"end", "office:meta"},
+ {"end", "office:document-meta"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XDocumentPropertiesSupplier xPropSup = UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xImpressDoc);
+ final XDocumentProperties xDocProps = xPropSup.getDocumentProperties();
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ String title = xDocProps.getTitle();
+ logF.println("Title returned = '" + title + "'") ;
+ return impTitle.equals(title) ;
+ }
+ } );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsExporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsExporter.java
new file mode 100644
index 000000000..b733d67fd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsExporter.java
@@ -0,0 +1,187 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLOasisSettingsExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLSettingsExporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xImpressDoc " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLOasisSettingsExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The Impress document is set as a source document for exporter
+ * created. Then setting 'IsLayerMode' is changed to a new value.
+ * After this filter checks that value has changed in the XML output.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF();
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+ final boolean NewDataValue;
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Impress.XMLOasisSettingsExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xImpressDoc);
+
+ //set some settings
+ XModel xImpressModel = UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+ XController xController = xImpressModel.getCurrentController();
+ XPropertySet xPropSet = UnoRuntime.queryInterface(XPropertySet.class, xController);
+ NewDataValue = ! ((Boolean) xPropSet.getPropertyValue
+ ("IsLayerMode")).booleanValue();
+ xPropSet.setPropertyValue("IsLayerMode",
+ Boolean.valueOf(NewDataValue));
+
+
+ // Adding tags for checking existence of head tag and other tags
+ filter.addTagEnclosed(new XMLTools.Tag("office:settings"),
+ new XMLTools.Tag("office:document-settings"));
+ filter.addTagEnclosed(new XMLTools.Tag("config:config-item-set"),
+ new XMLTools.Tag("office:settings"));
+ filter.addTagEnclosed(new XMLTools.Tag("config:config-item-map-indexed"),
+ new XMLTools.Tag("config:config-item-set"));
+ filter.addTagEnclosed(new XMLTools.Tag("config:config-item-map-entry"),
+ new XMLTools.Tag("config:config-item-map-indexed"));
+ filter.addTagEnclosed(new XMLTools.Tag("config:config-item"),
+ new XMLTools.Tag("config:config-item-map-entry"));
+ filter.addCharactersEnclosed(String.valueOf(NewDataValue),
+ new XMLTools.Tag("config:config-item","config:name","IsLayerMode"));
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"simpress: StarOffice XML (Impress)"}));
+ tEnv.addObjRelation("SourceDocument",xImpressDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log,false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsImporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsImporter.java
new file mode 100644
index 000000000..32860a675
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLSettingsImporter.java
@@ -0,0 +1,183 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLSettingsImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLSettingsImporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New impress document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Impress document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLStylesImporter</code><p>
+ *
+ * The Impress document is set as a target document for importer.
+ * Value of a property "IsLayerMode" has imported as 'true' to a target
+ * document. After import property value getting from target document
+ * is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Impress.XMLSettingsImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xImpressDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-settings",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink",
+ "xmlns:presentation", "CDATA",
+ "http://openoffice.org/2000/presentation",
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config",
+ "office:version", "CDATA", "1.0"},
+ {"start", "office:settings"},
+ {"start", "config:config-item-map-indexed", "config:name",
+ "CDATA", "Views"},
+ {"start", "config:config-item-map-entry"},
+ {"start","config:config-item", "config:name", "CDATA",
+ "IsLayerMode"},
+ {"chars", "true"},
+ {"end", "config:config-item"},
+ {"end", "config:config-item-map-entry"},
+ {"end", "config:config-item-map-indexed"},
+ {"end", "office:settings"},
+ {"end", "office:document-settings"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ // get property before import
+ XModel xImpressModel = UnoRuntime.queryInterface(XModel.class, xImpressDoc);
+ XController xController = xImpressModel.getCurrentController();
+ final XPropertySet xPropSet = UnoRuntime.queryInterface(XPropertySet.class, xController);
+ log.println("Property \"IsLayerMode\" before import is " +
+ xPropSet.getPropertyValue("IsLayerMode"));
+ final PrintWriter logF = log;
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ Boolean propValue;
+ try {
+ propValue = (Boolean) xPropSet.getPropertyValue
+ ("IsLayerMode");
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(logF);
+ throw new StatusException
+ ("Can't get property value.", e);
+ }
+ logF.println("Property \"IsLayerMode\" after import is "
+ + propValue);
+ return propValue.booleanValue();
+ }
+ });
+
+ return tEnv;
+ } // end of getTestEnvironment
+
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesExporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesExporter.java
new file mode 100644
index 000000000..2a44f8a8e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesExporter.java
@@ -0,0 +1,185 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLOasisStylesExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLStylesExporter extends TestCase {
+ XComponent xImpressDoc = null;
+ protected static int counter = 0;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Spreadsheet document disposed
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xImpressDoc " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLOasisStylesExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The Impress document is set as a source document for exporter
+ * created. New style 'NewStyle' added to style family "Graphics".
+ * This made for checking if this style is successfully exported within
+ * the document styles information.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ String newName = "NewGraphicsStyle" + counter++;
+ // Adding tags for checking existence of head tag and property value
+ filter.addTag(new XMLTools.Tag("office:document-styles"));
+ filter.addTag(new XMLTools.Tag("office:styles"));
+ filter.addTag(new XMLTools.Tag("style:style","style:name", newName));
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Impress.XMLOasisStylesExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface(XExporter.class,oObj);
+ xEx.setSourceDocument(xImpressDoc);
+
+ // Obtaining and changing property values
+ XStyleFamiliesSupplier styleSup = UnoRuntime.queryInterface
+ (XStyleFamiliesSupplier.class, xImpressDoc) ;
+ XNameAccess styleFamilies = styleSup.getStyleFamilies();
+ String[] styleFamiliesNames = styleFamilies.getElementNames();
+ XNameContainer StyleFamilyName = UnoRuntime.queryInterface(XNameContainer.class,
+ styleFamilies.getByName(styleFamiliesNames[0]));
+ Object SC = SOF.createInstance
+ (xImpressDoc, "com.sun.star.style.Style");
+ XStyle StylePage = UnoRuntime.queryInterface(XStyle.class,SC);
+ StyleFamilyName.insertByName(newName, StylePage);
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"simpress: StarOffice XML (Impress)"}));
+ tEnv.addObjRelation("SourceDocument",xImpressDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesImporter.java b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesImporter.java
new file mode 100644
index 000000000..4b0823b44
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_xmloff/Impress/XMLStylesImporter.java
@@ -0,0 +1,180 @@
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+package mod._xmloff.Impress;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Impress.XMLStylesImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLStylesImporter extends TestCase {
+ XComponent xImpressDoc = null;
+
+ /**
+ * New spreadsheet document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println( "creating an impress document" );
+ xImpressDoc = SOF.createImpressDoc(null);
+ }
+
+ /**
+ * Spreadsheet document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing document " );
+ xImpressDoc.dispose();
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Impress.XMLStylesImporter</code><p>
+ *
+ * The Impress document is set as a target document for importer.
+ * Imported XML-data contains only style tags including tag
+ * with new style name.
+ * After import style names getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impValue = "XMLImporter_test" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Impress.XMLStylesImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xImpressDoc) ;
+
+ String[][] xml = new String[][] {
+ {"start", "office:document-styles",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style",
+ "xmlns:fo", "CDATA", "http://www.w3.org/1999/XSL/Format",
+ "xmlns:table", "CDATA", "http://openoffice.org/2000/table"},
+ {"start", "office:styles"},
+ {"start", "style:style",
+ "style:name", "CDATA", impValue,
+ "style:family", "CDATA", "graphics",
+ "style:parent-style-name", "CDATA", "standard"},
+ {"end", "style:style"},
+ {"end", "office:styles"},
+ {"end", "office:document-styles"}} ;
+
+ // adding relation for XDocumentHandler
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+ XNameAccess styles = null ;
+ try {
+ XStyleFamiliesSupplier sup = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xImpressDoc);
+ XNameAccess oStyleFamilies = sup.getStyleFamilies();
+ Object family = oStyleFamilies.getByName("graphics") ;
+ styles = UnoRuntime.queryInterface
+ (XNameAccess.class, family) ;
+ log.println("Styles before:") ;
+ String[] names = styles.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ log.println(" " + names[i]) ;
+ }
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace(log) ;
+ }
+ final XNameAccess stylesF = styles ;
+ final PrintWriter logF = log ;
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ logF.println("Styles after:") ;
+ String[] names = stylesF.getElementNames() ;
+ for (int i = 0; i < names.length; i++) {
+ logF.println(" " + names[i]) ;
+ }
+ return stylesF.hasByName(impValue) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // end of getTestEnvironment
+
+}
+