forked from amazingfate/loongoffice
Attempt to clean up most but certainly not all the spelling mistakes that found home in OpenOffice through decades. We could probably blame the international nature of the code but it is somewhat shameful that this wasn't done before. (cherry picked from commit a6efc99d19d533fcf53106b6667bafba4d364370) Conflicts: accessibility/bridge/org/openoffice/java/accessibility/AccessibleTextImpl.java accessibility/bridge/org/openoffice/java/accessibility/Component.java accessibility/bridge/org/openoffice/java/accessibility/Container.java accessibility/bridge/org/openoffice/java/accessibility/DescendantManager.java accessibility/bridge/org/openoffice/java/accessibility/Dialog.java accessibility/bridge/org/openoffice/java/accessibility/Frame.java accessibility/bridge/org/openoffice/java/accessibility/List.java accessibility/bridge/org/openoffice/java/accessibility/Menu.java accessibility/bridge/org/openoffice/java/accessibility/Table.java accessibility/bridge/org/openoffice/java/accessibility/Tree.java accessibility/bridge/org/openoffice/java/accessibility/Window.java accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx accessibility/inc/accessibility/extended/AccessibleBrowseBoxBase.hxx accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx accessibility/inc/accessibility/standard/vclxaccessiblebox.hxx accessibility/source/extended/accessibleiconchoicectrlentry.cxx accessibility/source/extended/accessiblelistboxentry.cxx accessibility/source/extended/accessibletablistbox.cxx accessibility/source/extended/accessibletablistboxtable.cxx accessibility/workben/org/openoffice/accessibility/awb/canvas/Canvas.java accessibility/workben/org/openoffice/accessibility/misc/OfficeConnection.java apple_remote/AppleRemote.m autodoc/inc/ary/cpp/c_gate.hxx autodoc/inc/ary/cpp/cp_ce.hxx autodoc/inc/ary/cpp/cp_def.hxx autodoc/inc/ary/cpp/cp_type.hxx autodoc/inc/ary/doc/d_parametrized.hxx autodoc/inc/ary/idl/i_type.hxx autodoc/source/ary/inc/cross_refs.hxx autodoc/source/ary/inc/sorted_idset.hxx autodoc/source/display/html/outfile.hxx autodoc/source/display/html/pagemake.cxx autodoc/source/display/idl/hi_env.hxx autodoc/source/parser/inc/tokens/tokproct.hxx autodoc/source/parser_i/inc/s2_luidl/tokproct.hxx autodoc/source/parser_i/inc/tokens/tkp2.hxx automation/inc/automation/commtypes.hxx automation/inc/automation/simplecm.hxx automation/source/server/recorder.cxx automation/source/server/recorder.hxx automation/source/server/statemnt.cxx automation/source/simplecm/packethandler.hxx automation/source/simplecm/simplecm.cxx avmedia/source/framework/soundhandler.cxx basegfx/inc/basegfx/range/rangeexpander.hxx basic/inc/basic/sbxdef.hxx basic/source/classes/sbunoobj.cxx basic/source/classes/sbxmod.cxx basic/source/comp/dim.cxx basic/source/comp/exprgen.cxx basic/source/runtime/step1.cxx basic/source/runtime/step2.cxx basic/source/sbx/sbxint.cxx basic/source/uno/namecont.cxx basic/workben/mgrtest.cxx bean/com/sun/star/beans/LocalOfficeConnection.java bean/com/sun/star/beans/LocalOfficeWindow.java bean/com/sun/star/comp/beans/LocalOfficeConnection.java bean/com/sun/star/comp/beans/LocalOfficeWindow.java bean/com/sun/star/comp/beans/OOoBean.java bridges/inc/bridges/cpp_uno/bridge.hxx bridges/source/cpp_uno/cc50_solaris_intel/cpp2uno.cxx bridges/source/cpp_uno/cc50_solaris_intel/except.cxx bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp.cxx bridges/source/cpp_uno/cc50_solaris_sparc/cpp2uno.cxx bridges/source/cpp_uno/cc50_solaris_sparc/except.cxx bridges/source/cpp_uno/cc50_solaris_sparc/uno2cpp.cxx bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx bridges/source/cpp_uno/gcc3_macosx_powerpc/cpp2uno.cxx bridges/source/cpp_uno/gcc3_macosx_x86-64/uno2cpp.cxx bridges/source/cpp_uno/gcc3_netbsd_intel/cpp2uno.cxx bridges/source/cpp_uno/gcc3_netbsd_intel/except.cxx bridges/source/cpp_uno/gcc3_netbsd_intel/uno2cpp.cxx bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx bridges/source/cpp_uno/gcc3_os2_intel/except.cxx bridges/source/cpp_uno/gcc3_os2_intel/uno2cpp.cxx bridges/source/cpp_uno/mingw_x86-64/uno2cpp.cxx bridges/source/cpp_uno/msvc_win32_intel/except.cxx bridges/source/cpp_uno/s5abi_macosx_x86-64/except.cxx bridges/source/cpp_uno/shared/component.cxx bridges/source/jni_uno/jni_base.h bridges/source/jni_uno/jni_bridge.cxx bridges/source/jni_uno/jni_java2uno.cxx bridges/source/jni_uno/jni_uno2java.cxx canvas/inc/canvas/base/doublebitmapbase.hxx canvas/inc/canvas/base/floatbitmapbase.hxx canvas/inc/canvas/base/integerbitmapbase.hxx canvas/source/cairo/cairo_canvasbitmap.cxx canvas/source/cairo/cairo_textlayout.cxx chart2/source/controller/dialogs/ObjectNameProvider.cxx chart2/source/view/diagram/VDiagram.cxx chart2/source/view/main/ChartView.cxx cli_ure/source/native/makefile.mk cli_ure/source/uno_bridge/cli_data.cxx codemaker/source/javamaker/javatype.cxx comphelper/inc/comphelper/componentcontext.hxx comphelper/inc/comphelper/interaction.hxx comphelper/inc/comphelper/locale.hxx comphelper/inc/comphelper/string.hxx comphelper/source/container/embeddedobjectcontainer.cxx comphelper/source/misc/accessiblecontexthelper.cxx comphelper/source/misc/asyncnotification.cxx comphelper/source/misc/locale.cxx comphelper/source/misc/mediadescriptor.cxx comphelper/source/misc/numberedcollection.cxx comphelper/source/misc/proxyaggregation.cxx comphelper/source/misc/scopeguard.cxx comphelper/source/misc/sequenceashashmap.cxx configure.in connectivity/source/commontools/parameters.cxx connectivity/source/drivers/dbase/DTable.cxx connectivity/source/drivers/evoab2/NStatement.cxx connectivity/source/drivers/file/FPreparedStatement.cxx connectivity/source/drivers/jdbc/DatabaseMetaData.cxx connectivity/source/inc/flat/ETable.hxx connectivity/source/parse/sqlnode.cxx cosv/inc/cosv/persist.hxx cosv/inc/cosv/ploc_dir.hxx cosv/inc/cosv/tpl/dyn.hxx cppu/source/LogBridge/LogBridge.cxx cppu/source/uno/data.cxx cppuhelper/source/bootstrap.cxx cppuhelper/source/component_context.cxx cppuhelper/source/propshlp.cxx cppuhelper/source/servicefactory.cxx cpputools/source/registercomponent/registercomponent.cxx cui/source/customize/acccfg.cxx cui/source/dialogs/about.cxx cui/source/dialogs/commonlingui.hxx cui/source/dialogs/showcols.cxx cui/source/inc/cuihyperdlg.hxx cui/source/inc/cuitabline.hxx cui/source/options/optsave.src cui/source/tabpages/tpline.cxx cui/source/tabpages/transfrm.cxx dbaccess/source/core/api/CacheSet.cxx dbaccess/source/core/api/KeySet.cxx dbaccess/source/core/api/RowSet.cxx dbaccess/source/core/api/RowSet.hxx dbaccess/source/core/api/RowSetBase.cxx dbaccess/source/core/api/RowSetBase.hxx dbaccess/source/core/api/RowSetCache.cxx dbaccess/source/core/api/querycomposer.cxx dbaccess/source/ext/adabas/Acomponentmodule.hxx dbaccess/source/ui/app/AppControllerDnD.cxx dbaccess/source/ui/app/AppDetailView.cxx dbaccess/source/ui/browser/brwctrlr.cxx dbaccess/source/ui/browser/sbagrid.cxx dbaccess/source/ui/browser/unodatbr.cxx dbaccess/source/ui/dlg/AdabasStat.hxx dbaccess/source/ui/dlg/UserAdmin.cxx dbaccess/source/ui/dlg/directsql.cxx dbaccess/source/ui/dlg/generalpage.hxx dbaccess/source/ui/dlg/tablespage.cxx dbaccess/source/ui/inc/JoinTableView.hxx dbaccess/source/ui/inc/TableController.hxx dbaccess/source/ui/inc/UITools.hxx dbaccess/source/ui/inc/brwctrlr.hxx dbaccess/source/ui/inc/datasourcemap.hxx dbaccess/source/ui/querydesign/JoinTableView.cxx dbaccess/source/ui/querydesign/QueryDesignView.cxx dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx dbaccess/source/ui/querydesign/TableWindow.cxx dbaccess/source/ui/querydesign/querycontroller.cxx dbaccess/source/ui/relationdesign/RelationTableView.cxx dbaccess/source/ui/tabledesign/TableController.cxx desktop/source/app/app.cxx desktop/source/app/appinit.cxx desktop/source/app/langselect.cxx desktop/source/app/officeipcthread.cxx desktop/source/deployment/manager/dp_extensionmanager.cxx desktop/source/deployment/misc/dp_misc.cxx desktop/source/deployment/misc/dp_resource.cxx desktop/source/deployment/registry/dp_backend.cxx desktop/source/deployment/registry/package/dp_package.cxx desktop/source/migration/cfgfilter.cxx desktop/source/migration/migration.cxx desktop/source/splash/splash.cxx desktop/win32/source/QuickStart/QuickStart.cpp desktop/win32/source/setup/setup.cpp drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx dtrans/source/win32/clipb/MtaOleClipb.hxx dtrans/source/win32/clipb/WinClipbImpl.cxx editeng/source/editeng/editview.cxx editeng/source/editeng/impedit2.cxx editeng/source/editeng/impedit3.cxx editeng/source/editeng/impedit4.cxx editeng/source/editeng/textconv.hxx editeng/source/misc/unolingu.cxx embeddedobj/source/commonembedding/persistence.cxx embeddedobj/source/general/dummyobject.cxx embeddedobj/source/msole/olecomponent.cxx embeddedobj/source/msole/olepersist.cxx embeddedobj/test/Container1/NativeView.java extensions/source/bibliography/framectr.cxx extensions/source/macosx/spotlight/OOoContentDataParser.m extensions/source/macosx/spotlight/unzip.h extensions/source/macosx/spotlight/unzip.m extensions/source/oooimprovement/myconfigurationhelper.hxx extensions/source/propctrlr/eventhandler.cxx extensions/source/propctrlr/formcomponenthandler.cxx extensions/source/propctrlr/pcrcomponentcontext.hxx extensions/source/scanner/twain.cxx extensions/source/update/check/updatecheckconfig.hxx external/mingwheaders/mingw_atl_headers.patch extras/source/misc_config/wizard/web/layouts/source.xml.xsl fileaccess/source/FileAccess.cxx filter/inc/filter/msfilter/msocximex.hxx filter/inc/filter/msfilter/svxmsbas.hxx filter/qa/complex/filter/detection/typeDetection/Helper.java filter/source/config/cache/basecontainer.cxx filter/source/config/cache/cacheitem.hxx filter/source/config/cache/contenthandlerfactory.cxx filter/source/config/cache/filtercache.cxx filter/source/config/cache/filtercache.hxx filter/source/config/cache/filterfactory.cxx filter/source/config/cache/frameloaderfactory.cxx filter/source/config/cache/querytokenizer.hxx filter/source/config/cache/typedetection.cxx filter/source/config/cache/typedetection.hxx filter/source/config/cache/versions.hxx filter/source/config/fragments/makefile.mk filter/source/config/tools/merge/pyAltFCFGMerge filter/source/flash/swfwriter.cxx filter/source/flash/swfwriter1.cxx filter/source/msfilter/msdffimp.cxx filter/source/msfilter/msocximex.cxx filter/source/msfilter/msvbahelper.cxx filter/source/msfilter/svxmsbas.cxx filter/source/xmlfilterdetect/filterdetect.cxx filter/source/xslt/import/uof2/uof2odf.xsl filter/source/xslt/odf2xhtml/export/xhtml/body.xsl filter/source/xsltfilter/com/sun/star/comp/xsltfilter/Base64.java forms/source/xforms/convert.hxx forms/source/xforms/model.cxx fpicker/source/aqua/SalAquaFilePicker.mm fpicker/source/office/fpinteraction.cxx fpicker/source/unx/gnome/SalGtkFolderPicker.cxx fpicker/source/unx/kde4/KDE4FilePicker.cxx fpicker/source/win32/filepicker/PreviewCtrl.cxx fpicker/source/win32/filepicker/PreviewCtrl.hxx fpicker/source/win32/filepicker/VistaFilePicker.cxx fpicker/source/win32/filepicker/VistaFilePickerImpl.hxx fpicker/source/win32/filepicker/helppopupwindow.hxx fpicker/source/win32/folderpicker/MtaFop.hxx framework/inc/classes/droptargetlistener.hxx framework/inc/classes/filtercache.hxx framework/inc/classes/filtercachedata.hxx framework/inc/classes/protocolhandlercache.hxx framework/inc/classes/servicemanager.hxx framework/inc/commands.h framework/inc/dispatch/basedispatcher.hxx framework/inc/dispatch/blankdispatcher.hxx framework/inc/dispatch/closedispatcher.hxx framework/inc/dispatch/createdispatcher.hxx framework/inc/dispatch/dispatchprovider.hxx framework/inc/dispatch/helpagentdispatcher.hxx framework/inc/dispatch/mailtodispatcher.hxx framework/inc/dispatch/menudispatcher.hxx framework/inc/dispatch/oxt_handler.hxx framework/inc/dispatch/popupmenudispatcher.hxx framework/inc/dispatch/selfdispatcher.hxx framework/inc/dispatch/servicehandler.hxx framework/inc/dispatch/startmoduledispatcher.hxx framework/inc/dispatch/systemexec.hxx framework/inc/helper/fixeddocumentproperties.hxx framework/inc/helper/ocomponentaccess.hxx framework/inc/helper/oframes.hxx framework/inc/helper/otasksenumeration.hxx framework/inc/helper/persistentwindowstate.hxx framework/inc/helper/statusindicator.hxx framework/inc/helper/statusindicatorfactory.hxx framework/inc/helper/tagwindowasmodified.hxx framework/inc/helper/titlebarupdate.hxx framework/inc/helper/vclstatusindicator.hxx framework/inc/interaction/quietinteraction.hxx framework/inc/jobs/helponstartup.hxx framework/inc/jobs/job.hxx framework/inc/jobs/jobdata.hxx framework/inc/jobs/jobexecutor.hxx framework/inc/loadstate.h framework/inc/macros/debug/assertion.hxx framework/inc/macros/debug/event.hxx framework/inc/macros/debug/filterdbg.hxx framework/inc/macros/debug/memorymeasure.hxx framework/inc/macros/debug/timemeasure.hxx framework/inc/macros/xserviceinfo.hxx framework/inc/queries.h framework/inc/recording/dispatchrecordersupplier.hxx framework/inc/services/autorecovery.hxx framework/inc/services/backingcomp.hxx framework/inc/services/contenthandlerfactory.hxx framework/inc/services/desktop.hxx framework/inc/services/detectorfactory.hxx framework/inc/services/frame.hxx framework/inc/services/frameloaderfactory.hxx framework/inc/services/layoutmanager.hxx framework/inc/services/license.hxx framework/inc/services/logindialog.hxx framework/inc/services/modulemanager.hxx framework/inc/services/pathsettings.hxx framework/inc/services/pluginframe.hxx framework/inc/services/substitutepathvars.hxx framework/inc/services/task.hxx framework/inc/services/taskcreatorsrv.hxx framework/inc/stdtypes.h framework/inc/threadhelp/fairrwlock.hxx framework/inc/threadhelp/inoncopyable.h framework/inc/threadhelp/itransactionmanager.h framework/inc/threadhelp/lockhelper.hxx framework/inc/threadhelp/readguard.hxx framework/inc/threadhelp/resetableguard.hxx framework/inc/threadhelp/transactionguard.hxx framework/inc/threadhelp/writeguard.hxx framework/inc/uifactory/uielementfactorymanager.hxx framework/inc/xml/acceleratorconfigurationreader.hxx framework/qa/complex/dispatches/checkdispatchapi.java framework/qa/complex/framework/autosave/AutoSave.java framework/qa/complex/framework/autosave/Protocol.java framework/qa/complex/framework/recovery/RecoveryTest.java framework/qa/complex/loadAllDocuments/StreamSimulator.java framework/source/accelerators/acceleratorconfiguration.cxx framework/source/accelerators/acceleratorexecute.cxx framework/source/accelerators/acceleratorexecute.hxx framework/source/accelerators/keymapping.cxx framework/source/accelerators/presethandler.cxx framework/source/application/framework.cxx framework/source/application/login.cxx framework/source/classes/framecontainer.cxx framework/source/classes/menumanager.cxx framework/source/classes/taskcreator.cxx framework/source/dispatch/closedispatcher.cxx framework/source/dispatch/dispatchprovider.cxx framework/source/dispatch/helpagentdispatcher.cxx framework/source/dispatch/interceptionhelper.cxx framework/source/dispatch/mailtodispatcher.cxx framework/source/dispatch/menudispatcher.cxx framework/source/dispatch/oxt_handler.cxx framework/source/dispatch/servicehandler.cxx framework/source/fwe/classes/framelistanalyzer.cxx framework/source/fwe/dispatch/interaction.cxx framework/source/fwe/helper/titlehelper.cxx framework/source/fwe/helper/undomanagerhelper.cxx framework/source/fwe/xml/eventsdocumenthandler.cxx framework/source/fwe/xml/statusbardocumenthandler.cxx framework/source/fwe/xml/toolboxdocumenthandler.cxx framework/source/fwi/classes/protocolhandlercache.cxx framework/source/fwi/threadhelp/lockhelper.cxx framework/source/fwi/threadhelp/transactionmanager.cxx framework/source/helper/persistentwindowstate.cxx framework/source/helper/statusindicatorfactory.cxx framework/source/helper/vclstatusindicator.cxx framework/source/inc/accelerators/acceleratorcache.hxx framework/source/inc/accelerators/acceleratorconfiguration.hxx framework/source/inc/accelerators/presethandler.hxx framework/source/inc/accelerators/storageholder.hxx framework/source/inc/loadenv/actionlockguard.hxx framework/source/inc/loadenv/loadenv.hxx framework/source/inc/loadenv/loadenvexception.hxx framework/source/inc/pattern/frame.hxx framework/source/inc/pattern/storages.hxx framework/source/inc/pattern/window.hxx framework/source/jobs/helponstartup.cxx framework/source/jobs/job.cxx framework/source/jobs/jobdata.cxx framework/source/jobs/jobdispatch.cxx framework/source/jobs/jobresult.cxx framework/source/jobs/joburl.cxx framework/source/jobs/shelljob.cxx framework/source/loadenv/loadenv.cxx framework/source/services/autorecovery.cxx framework/source/services/backingwindow.cxx framework/source/services/desktop.cxx framework/source/services/frame.cxx framework/source/services/modulemanager.cxx framework/source/services/pathsettings.cxx framework/source/services/substitutepathvars.cxx framework/source/uiconfiguration/moduleuicfgsupplier.cxx framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx framework/source/uiconfiguration/uicategorydescription.cxx framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx framework/source/uiconfiguration/windowstateconfiguration.cxx framework/source/uielement/uicommanddescription.cxx framework/source/unotypes/fwk.xml framework/source/xml/imagesdocumenthandler.cxx framework/test/test.cxx framework/test/test_componentenumeration.bas framework/test/test_statusindicatorfactory.bas framework/test/threadtest.cxx framework/test/threadtest/threadtest.cxx framework/test/typecfg/cfgview.cxx framework/test/typecfg/xml2xcd.cxx include/basegfx/polygon/b2dpolygon.hxx include/canvas/base/graphicdevicebase.hxx include/canvas/canvastools.hxx include/comphelper/configurationhelper.hxx include/comphelper/embeddedobjectcontainer.hxx include/comphelper/propagg.hxx include/comphelper/sequenceashashmap.hxx include/connectivity/sqlerror.hxx include/connectivity/sqlnode.hxx include/cppuhelper/propshlp.hxx include/editeng/AccessibleContextBase.hxx include/framework/framelistanalyzer.hxx sfx2/source/dialog/backingcomp.cxx vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx Change-Id: I2618bf83c0e30f68f23ff25f6eb466df04d34c6d
972 lines
34 KiB
Java
972 lines
34 KiB
Java
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
package complex.path_settings;
|
|
|
|
import com.sun.star.beans.Property;
|
|
import com.sun.star.beans.UnknownPropertyException;
|
|
import com.sun.star.beans.XFastPropertySet;
|
|
import com.sun.star.beans.XPropertySet;
|
|
import com.sun.star.beans.XPropertiesChangeListener;
|
|
import com.sun.star.beans.XPropertyChangeListener;
|
|
import com.sun.star.beans.XVetoableChangeListener;
|
|
import com.sun.star.lang.WrappedTargetException;
|
|
import com.sun.star.uno.UnoRuntime;
|
|
import com.sun.star.uno.AnyConverter;
|
|
import com.sun.star.util.thePathSettings;
|
|
|
|
// ---------- junit imports -----------------
|
|
import java.util.ArrayList;
|
|
import java.util.StringTokenizer;
|
|
import org.junit.AfterClass;
|
|
import org.junit.Before;
|
|
import org.junit.BeforeClass;
|
|
import org.junit.Test;
|
|
import org.openoffice.test.OfficeConnection;
|
|
import static org.junit.Assert.*;
|
|
|
|
|
|
public class PathSettingsTest
|
|
{
|
|
|
|
// the test object: an instance of the tested service
|
|
private static Object aPathSettings = null;
|
|
// the properties of the service
|
|
private static Property[] xPropertyInfoOfPathSettings = null;
|
|
private static String[] aPathSettingNames = null;
|
|
private static String[] availablePropNames = new String[]
|
|
{
|
|
"Addin",
|
|
"AutoCorrect",
|
|
"AutoText",
|
|
"Backup",
|
|
"Basic",
|
|
"Bitmap",
|
|
"Config",
|
|
"Dictionary",
|
|
"Favorite",
|
|
"Filter",
|
|
"Fingerprint",
|
|
"Gallery",
|
|
"Graphic",
|
|
"Help",
|
|
"Linguistic",
|
|
"Module",
|
|
"Palette",
|
|
"Plugin",
|
|
"Storage",
|
|
"Temp",
|
|
"Template",
|
|
"UIConfig",
|
|
"UserConfig",
|
|
"Work",
|
|
};
|
|
// every path name from availablePropNames exist in this characteristics
|
|
// name
|
|
// name_internal
|
|
// name_user
|
|
// name_writable
|
|
private static String[] availablePropNameExtensions = new String[]
|
|
{
|
|
"",
|
|
"_internal",
|
|
"_user",
|
|
"_writable"
|
|
};
|
|
private static String[] aPathSettingValues = null;
|
|
ArrayList<Property> aListOfWorkingProperty;
|
|
|
|
/**
|
|
* A function to tell the framework, which test functions are available.
|
|
* Right now, it's only 'checkComplexTemplateState'.
|
|
* @return All test methods.
|
|
*/
|
|
// public String[] getTestMethodNames() {
|
|
// return new String[]{"checkXFastPropertySet",
|
|
// "checkXMultiPropertySet",
|
|
// "checkXPropertySet"
|
|
// };
|
|
// }
|
|
/**
|
|
* Initialize before the tests start: this has to be done only once.
|
|
* This methods sets the 'aPathSettings' and 'xPropertyInfoOfPathSettings' variables.
|
|
*/
|
|
@Before
|
|
public void before()
|
|
{
|
|
try
|
|
{
|
|
aPathSettings = thePathSettings.get(connection.getComponentContext());
|
|
assertNotNull("Can't instantiate com.sun.star.util.thePathSettings.", aPathSettings);
|
|
// System.out.println("Implementation: " + util.utils.getImplName(aPathSettings));
|
|
// System.out.println("Service: ");
|
|
util.dbg.getSuppServices(aPathSettings);
|
|
final XPropertySet xPropSet_of_PathSettings = UnoRuntime.queryInterface(XPropertySet.class, aPathSettings);
|
|
|
|
xPropertyInfoOfPathSettings = xPropSet_of_PathSettings.getPropertySetInfo().getProperties();
|
|
aPathSettingNames = new String[xPropertyInfoOfPathSettings.length];
|
|
aPathSettingValues = new String[xPropertyInfoOfPathSettings.length];
|
|
|
|
aListOfWorkingProperty = new ArrayList<Property>();
|
|
|
|
// get intitial values and create new ones
|
|
for (int i = 0; i < xPropertyInfoOfPathSettings.length; i++)
|
|
{
|
|
final String sName = xPropertyInfoOfPathSettings[i].Name;
|
|
// System.out.println(sName);
|
|
aPathSettingNames[i] = sName;
|
|
Object o = xPropSet_of_PathSettings.getPropertyValue(sName);
|
|
|
|
String sValue = convertToString(o);
|
|
aPathSettingValues[i] = sValue;
|
|
aListOfWorkingProperty.add(xPropertyInfoOfPathSettings[i]);
|
|
}
|
|
}
|
|
catch (com.sun.star.uno.Exception e)
|
|
{
|
|
System.out.println(e.getClass().getName());
|
|
System.out.println("Message: " + e.getMessage());
|
|
// fail("Could not create an instance of the test object.");
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
fail("What exception?");
|
|
}
|
|
}
|
|
|
|
private String convertToString(Object o)
|
|
{
|
|
String sValue = "";
|
|
try
|
|
{
|
|
if (AnyConverter.isString(o))
|
|
{
|
|
sValue = AnyConverter.toString(o);
|
|
}
|
|
else if (AnyConverter.isArray(o))
|
|
{
|
|
Object oValueList = AnyConverter.toArray(o);
|
|
String[] aValueList = (String[]) oValueList;
|
|
String sValues = "";
|
|
for (int j = 0; j < aValueList.length; j++)
|
|
{
|
|
if (sValues.length() > 0)
|
|
{
|
|
sValues += ";";
|
|
}
|
|
sValues += aValueList[j];
|
|
}
|
|
sValue = sValues;
|
|
}
|
|
else
|
|
{
|
|
System.out.println("Can't convert Object to String");
|
|
}
|
|
}
|
|
catch (com.sun.star.lang.IllegalArgumentException e)
|
|
{
|
|
/* ignore */
|
|
}
|
|
return sValue;
|
|
}
|
|
|
|
/**
|
|
* Simple existence test, if this fails, the Lists must update
|
|
*/
|
|
@Test
|
|
public void checkInternalListConsistence()
|
|
{
|
|
// check if all Properties are in the internal test list
|
|
for (int i = 0; i < xPropertyInfoOfPathSettings.length; i++)
|
|
{
|
|
final String sName = xPropertyInfoOfPathSettings[i].Name;
|
|
boolean bOccur = checkIfNameExistsInList(sName, availablePropNames, availablePropNameExtensions);
|
|
assertTrue("TEST IS WRONG, Name:='" + sName + "' doesn't exist in internal Test list.", bOccur);
|
|
}
|
|
|
|
// check if all properties in the internal list also exist in real life
|
|
for (int i = 0; i < availablePropNames.length; i++)
|
|
{
|
|
final String aListName = availablePropNames[i];
|
|
for (int j = 0; j < availablePropNameExtensions.length; j++)
|
|
{
|
|
final String aSubListName = availablePropNameExtensions[j];
|
|
final String aName = aListName + aSubListName;
|
|
boolean bOccur = checkIfNameExistsInList(aName, aPathSettingNames, new String[]
|
|
{
|
|
""
|
|
} /* list must not empty! */);
|
|
assertTrue("TEST IS WRONG, Name:='" + aName + "' from the internal test list do not occur in real life path settings.", bOccur);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Simple O(n^n) check if a given String (_sNameMustOccur) exist in the given list(+SubList) values.
|
|
* @param _sNameMustOccur
|
|
* @param _aList
|
|
* @param _aSubList
|
|
* @return true, if name occur
|
|
*/
|
|
private boolean checkIfNameExistsInList(String _sNameMustOccur, String[] _aList, String[] _aSubList)
|
|
{
|
|
for (int i = 0; i < _aList.length; i++)
|
|
{
|
|
final String aListName = _aList[i];
|
|
for (int j = 0; j < _aSubList.length; j++)
|
|
{
|
|
final String aSubListName = _aSubList[j];
|
|
final String aName = aListName + aSubListName;
|
|
if (aName.equals(_sNameMustOccur))
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Shows the path settings
|
|
* @throws UnknownPropertyException
|
|
* @throws WrappedTargetException
|
|
*/
|
|
@Test
|
|
public void showPathSettings() throws UnknownPropertyException, WrappedTargetException
|
|
{
|
|
System.out.println("\n---- All properties ----");
|
|
final XPropertySet xPropSet_of_PathSettings = UnoRuntime.queryInterface(XPropertySet.class, aPathSettings);
|
|
|
|
// for (int i = 0; i < xPropertyInfoOfPathSettings.length; i++)
|
|
for (int i = 0; i < aListOfWorkingProperty.size(); i++)
|
|
{
|
|
final String sName = aListOfWorkingProperty.get(i).Name;
|
|
// aPathSettingWorkingNames[i] = sName;
|
|
// System.out.print("PathSettings: Name:=");
|
|
System.out.print(sName);
|
|
Object o = xPropSet_of_PathSettings.getPropertyValue(sName);
|
|
|
|
// System.out.println("#### Object: '" + o.getClass().getName() + "' - '" + o.toString() + "'");
|
|
try
|
|
{
|
|
final String sValue = AnyConverter.toString(o);
|
|
// aPathSettingValues[i] = sValue;
|
|
// System.out.println("#### String " + sValue);
|
|
// System.out.println("Property Name: " + sName);
|
|
// System.out.println("Property Value: " + sValue);
|
|
// System.out.print(" ==> ");
|
|
// System.out.print(sValue);
|
|
}
|
|
catch (com.sun.star.lang.IllegalArgumentException e)
|
|
{
|
|
// System.out.print(" FAILED ");
|
|
}
|
|
System.out.println();
|
|
}
|
|
System.out.println("---- Finish showing properties ----\n");
|
|
}
|
|
|
|
private boolean checkPaths(Object _o, Object _o2)
|
|
{
|
|
String sLeftPath = "";
|
|
String sRightPath = "";
|
|
if (AnyConverter.isArray(_o))
|
|
{
|
|
try
|
|
{
|
|
Object oValues = AnyConverter.toArray(_o);
|
|
sLeftPath = convertToString(oValues);
|
|
}
|
|
catch (com.sun.star.lang.IllegalArgumentException e)
|
|
{
|
|
}
|
|
}
|
|
else if (AnyConverter.isString(_o))
|
|
{
|
|
try
|
|
{
|
|
sLeftPath = AnyConverter.toString(_o);
|
|
}
|
|
catch (com.sun.star.lang.IllegalArgumentException e)
|
|
{
|
|
}
|
|
}
|
|
|
|
if (AnyConverter.isArray(_o2))
|
|
{
|
|
try
|
|
{
|
|
Object oValues = AnyConverter.toArray(_o2);
|
|
sRightPath = convertToString(oValues);
|
|
}
|
|
catch (com.sun.star.lang.IllegalArgumentException e)
|
|
{
|
|
}
|
|
}
|
|
else if (AnyConverter.isString(_o2))
|
|
{
|
|
try
|
|
{
|
|
sRightPath = AnyConverter.toString(_o2);
|
|
}
|
|
catch (com.sun.star.lang.IllegalArgumentException e)
|
|
{
|
|
}
|
|
}
|
|
return checkPaths(sLeftPath, sRightPath);
|
|
}
|
|
|
|
/**
|
|
* Check 2 given paths if the _aOtherPath exists in _aPath, _aPath could be a list separated by ';'
|
|
* @param _aPath
|
|
* @param _aOtherPath
|
|
* @return true, if _aOtherPath found
|
|
*/
|
|
private boolean checkPaths(String _aPath, String _aOtherPath)
|
|
{
|
|
if (_aOtherPath.contains(";"))
|
|
{
|
|
StringTokenizer aToken = new StringTokenizer(_aOtherPath, ";");
|
|
int nCount = 0;
|
|
int nFound = 0;
|
|
while (aToken.hasMoreElements())
|
|
{
|
|
String sPath = (String)aToken.nextElement();
|
|
nCount ++;
|
|
if (checkPaths(_aPath, sPath))
|
|
{
|
|
nFound++;
|
|
}
|
|
}
|
|
if (nFound == nCount)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
else if(_aPath.contains(";"))
|
|
{
|
|
StringTokenizer aToken = new StringTokenizer(_aPath, ";");
|
|
while (aToken.hasMoreElements())
|
|
{
|
|
String sToken = (String)aToken.nextElement();
|
|
if (sToken.equals(_aOtherPath))
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
else if (_aPath.equals(_aOtherPath))
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* This tests the XFastPropertySet interface implementation.
|
|
*/
|
|
@Test
|
|
public void checkXFastPropertySet()
|
|
{
|
|
System.out.println("---- Testing the XFastPropertySet interface ----");
|
|
|
|
|
|
// do for all properties
|
|
// xPropertyInfoOfPathSettings.length
|
|
for (int i = 0; i < aListOfWorkingProperty.size(); i++)
|
|
{
|
|
final Property property = aListOfWorkingProperty.get(i); // xPropertyInfoOfPathSettings[i];
|
|
String name = property.Name;
|
|
// get property name and initial value
|
|
System.out.println("Test property with name: " + name);
|
|
boolean bResult;
|
|
if (name.endsWith("_writable"))
|
|
{
|
|
bResult = checkStringProperty(property);
|
|
}
|
|
else if (name.endsWith("_user"))
|
|
{
|
|
bResult = checkStringListProperty(property);
|
|
}
|
|
else if (name.endsWith("_internal"))
|
|
{
|
|
bResult = checkStringListProperty(property);
|
|
}
|
|
else
|
|
{
|
|
// old path settings
|
|
bResult = checkStringProperty(property);
|
|
}
|
|
System.out.print(" Test of property " + name + " finished");
|
|
if (bResult)
|
|
{
|
|
System.out.println(" [ok]");
|
|
}
|
|
else
|
|
{
|
|
System.out.println(" [FAILED]");
|
|
}
|
|
System.out.println();
|
|
}
|
|
System.out.println("---- Test of XFastPropertySet finished ----\n");
|
|
}
|
|
|
|
private boolean checkStringListProperty(Property property)
|
|
{
|
|
// creating instances
|
|
boolean bResult = true;
|
|
XFastPropertySet xFPS = UnoRuntime.queryInterface(XFastPropertySet.class, aPathSettings);
|
|
|
|
String name = property.Name;
|
|
int handle = property.Handle;
|
|
|
|
Object oValue;
|
|
try
|
|
{
|
|
oValue = xFPS.getFastPropertyValue(handle);
|
|
}
|
|
catch (UnknownPropertyException ex)
|
|
{
|
|
return false;
|
|
}
|
|
catch (WrappedTargetException ex)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
if (!AnyConverter.isArray(oValue))
|
|
{
|
|
System.out.println(" Internal error, type wrong. PathSetting property with name:" + name + " should be an array.");
|
|
return false;
|
|
}
|
|
|
|
String val;
|
|
try
|
|
{
|
|
Object oValues = AnyConverter.toArray(oValue);
|
|
|
|
|
|
final String[] aValues = (String[])oValues;
|
|
|
|
// aNewValues contains a deep copy of aValues
|
|
String[] aNewValues = new String[aValues.length];
|
|
System.arraycopy(aValues, 0, aNewValues, 0, aValues.length);
|
|
if (aValues.length > 0)
|
|
{
|
|
val = aValues[0];
|
|
}
|
|
else
|
|
{
|
|
val = null;
|
|
aNewValues = new String[1]; // create a String list
|
|
}
|
|
System.out.println(" Property has initial value: '" + val + "'");
|
|
|
|
// set to a new correct value
|
|
String newVal = changeToCorrectValue(val);
|
|
assertFalse("newVal must not equal val.", newVal.equals(val));
|
|
|
|
System.out.println(" Try to change to a correct value '" + newVal + "'");
|
|
aNewValues[0] = newVal;
|
|
|
|
try
|
|
{
|
|
try
|
|
{
|
|
xFPS.setFastPropertyValue(handle, aNewValues);
|
|
}
|
|
catch (com.sun.star.lang.WrappedTargetException e)
|
|
{
|
|
System.out.println(" FAIL: setFastPropertyValue(handle:=" + handle + ", name:='" + name + "')" + e.getMessage());
|
|
bResult = false;
|
|
}
|
|
|
|
// Property_internal can't change we will not arrive bejond this line
|
|
|
|
// check the change
|
|
Object oObj = xFPS.getFastPropertyValue(handle);
|
|
if (!checkPaths(oObj, aNewValues))
|
|
{
|
|
System.out.println(" FAIL: Did not change value on property " + name + ".");
|
|
bResult = false;
|
|
}
|
|
|
|
// set back to initial setting
|
|
System.out.println(" Try to check");
|
|
try
|
|
{
|
|
xFPS.setFastPropertyValue(handle, oValue);
|
|
}
|
|
catch (com.sun.star.beans.PropertyVetoException e)
|
|
{
|
|
// should not occur
|
|
System.out.println(" FAIL: PropertyVetoException caught: " + e.getMessage());
|
|
bResult = false;
|
|
}
|
|
}
|
|
catch (com.sun.star.beans.PropertyVetoException e)
|
|
{
|
|
if (!name.endsWith("_internal"))
|
|
{
|
|
// should not occur
|
|
System.out.println(" FAIL: PropertyVetoException caught: " + e.getMessage());
|
|
bResult = false;
|
|
}
|
|
else
|
|
{
|
|
System.out.println(" OK: PropertyVetoException caught: " + e.getMessage() + " it seems not allowed to change internal values.");
|
|
}
|
|
}
|
|
|
|
// check if changed
|
|
Object checkVal3 = xFPS.getFastPropertyValue(handle);
|
|
if (!checkPaths(checkVal3, oValues))
|
|
{
|
|
System.out.println(" FAIL: Can't change value back to original on property " + name);
|
|
bResult = false;
|
|
}
|
|
}
|
|
catch (com.sun.star.uno.Exception e)
|
|
{
|
|
System.out.println(" FAIL: getFastPropertyValue(handle:=" + handle + ", name:='" + name + "')" + e.getMessage());
|
|
bResult = false;
|
|
}
|
|
return bResult;
|
|
}
|
|
|
|
private boolean checkStringProperty(Property property)
|
|
{
|
|
boolean bResult = true;
|
|
XFastPropertySet xFPS = UnoRuntime.queryInterface(XFastPropertySet.class, aPathSettings);
|
|
String name = property.Name;
|
|
int handle = property.Handle;
|
|
Object oValue;
|
|
try
|
|
{
|
|
oValue = xFPS.getFastPropertyValue(handle);
|
|
}
|
|
catch (UnknownPropertyException ex)
|
|
{
|
|
return false;
|
|
}
|
|
catch (WrappedTargetException ex)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
|
|
try
|
|
{
|
|
String val = "";
|
|
val = AnyConverter.toString(oValue);
|
|
System.out.println(" Property has initial value: '" + val + "'");
|
|
|
|
// set to a new correct value
|
|
String newVal = changeToCorrectValue(val);
|
|
System.out.println(" Try to change to a correct value '" + newVal + "'");
|
|
xFPS.setFastPropertyValue(handle, newVal);
|
|
|
|
// check the change
|
|
String checkVal = (String) xFPS.getFastPropertyValue(handle);
|
|
if (!checkPaths(checkVal, newVal))
|
|
{
|
|
System.out.println(" FAIL: Did not change value on property " + name + ".");
|
|
bResult = false;
|
|
}
|
|
newVal = changeToIncorrectValue(val);
|
|
System.out.println(" Try to change to incorrect value '" + newVal + "'");
|
|
try
|
|
{
|
|
xFPS.setFastPropertyValue(handle, newVal);
|
|
}
|
|
catch (com.sun.star.lang.IllegalArgumentException e)
|
|
{
|
|
System.out.println(" Correctly thrown Exception caught.");
|
|
}
|
|
|
|
// check if changed
|
|
String checkVal2 = (String) xFPS.getFastPropertyValue(handle);
|
|
if (!checkPaths(checkVal2, checkVal))
|
|
{
|
|
System.out.println(" FAIL: Value did change on property " + name + " though it should not have.");
|
|
bResult = false;
|
|
}
|
|
else
|
|
{
|
|
System.out.println(" OK: Incorrect value was not set.");
|
|
}
|
|
// set back to initial setting
|
|
System.out.println(" Set back to initial value.");
|
|
try
|
|
{
|
|
xFPS.setFastPropertyValue(handle, val);
|
|
}
|
|
catch (com.sun.star.lang.IllegalArgumentException e)
|
|
{
|
|
System.out.println(" IllegalArgumentException caught: " + e.getMessage());
|
|
bResult = false;
|
|
}
|
|
// check if changed
|
|
String checkVal3 = (String) xFPS.getFastPropertyValue(handle);
|
|
if (!checkVal3.equals(val))
|
|
{
|
|
if (!checkPaths(checkVal3, val))
|
|
{
|
|
System.out.println(" FAIL: Can't change value back to original on property " + name);
|
|
System.out.println(" Value is: " + checkVal3);
|
|
|
|
bResult = false;
|
|
}
|
|
else
|
|
{
|
|
System.out.println(" OK: the pathsettings contains the original path.");
|
|
System.out.println(" Value is: " + checkVal3);
|
|
System.out.println(" Value should be: " + val);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
System.out.println(" OK: Change value back to original on property " + name);
|
|
}
|
|
}
|
|
catch (com.sun.star.uno.Exception e)
|
|
{
|
|
System.out.println(" FAIL: getFastPropertyValue(handle:=" + handle + ", name:='" + name + "')" + e.getMessage());
|
|
bResult = false;
|
|
}
|
|
return bResult;
|
|
}
|
|
|
|
|
|
/**
|
|
* This tests the XMultiPropertySet interface implementation.
|
|
*/
|
|
|
|
// The test checkXMultiPropertySet() has been marked as outdated!
|
|
|
|
// @Test
|
|
// public void checkXMultiPropertySet()
|
|
// {
|
|
// System.out.println("---- Testing the XMultiPropertySet interface ----");
|
|
// XMultiPropertySet xMPS = UnoRuntime.queryInterface(XMultiPropertySet.class, aPathSettings);
|
|
//
|
|
// // xPropertyInfoOfPathSettings.length
|
|
// String[] propertiesToTest = new String[1];
|
|
// propertiesToTest[0] = availablePropNames[0];
|
|
//
|
|
// String[] correctVals = new String[propertiesToTest.length];
|
|
// String[] incorrectVals = new String[propertiesToTest.length];
|
|
//
|
|
// String[] aPathSettingWorkingNames = null;
|
|
// aPathSettingWorkingNames = new String[propertiesToTest.length];
|
|
//
|
|
// // get intitial values and create new ones
|
|
// for (int i = 0; i < propertiesToTest.length; i++)
|
|
// {
|
|
// // Property aProp = aListOfWorkingProperty.get(i);
|
|
// final String sName = propertiesToTest[i];
|
|
// final String sValue = getPropertyValueAsString(sName);
|
|
// aPathSettingWorkingNames[i] = sName;
|
|
// correctVals[i] = changeToCorrectValue(sValue);
|
|
// incorrectVals[i] = changeToIncorrectValue(sValue);
|
|
// }
|
|
//
|
|
// try
|
|
// {
|
|
// // add a change listener
|
|
// MyChangeListener mListener = new MyChangeListener();
|
|
// xMPS.addPropertiesChangeListener(aPathSettingWorkingNames, mListener);
|
|
//
|
|
// // first change xPropertyInfoOfPathSettings to correct values
|
|
// System.out.println("Change to correct values.");
|
|
// xMPS.setPropertyValues(aPathSettingWorkingNames, correctVals);
|
|
// assertTrue("Could not change to correct values with XMultiPropertySet.",
|
|
// verifyPropertySet(xMPS, aPathSettingWorkingNames, correctVals) > 0);
|
|
//
|
|
// // second, change to incorrect values: expect an exception
|
|
// System.out.println("Try to change to incorrect values.");
|
|
// try
|
|
// {
|
|
// xMPS.setPropertyValues(aPathSettingWorkingNames, incorrectVals);
|
|
// }
|
|
// catch (com.sun.star.lang.IllegalArgumentException r)
|
|
// {
|
|
// System.out.println("Correctly thrown Exception caught.");
|
|
// }
|
|
// assertTrue("Did change to incorrect values with XMultiPropertySet,"
|
|
// + " but should not have.",
|
|
// verifyPropertySet(xMPS, aPathSettingWorkingNames, correctVals) > 0);
|
|
//
|
|
// // third, change back to initial values
|
|
// System.out.println("Change back to initial values.");
|
|
// xMPS.setPropertyValues(aPathSettingWorkingNames, aPathSettingValues);
|
|
// assertTrue("Could not change back to initial values with"
|
|
// + " XMultiPropertySet.",
|
|
// verifyPropertySet(xMPS, aPathSettingWorkingNames, aPathSettingValues) > 0);
|
|
//
|
|
// // fire the event for the listener
|
|
// System.out.println("Fire event.");
|
|
// xMPS.firePropertiesChangeEvent(aPathSettingWorkingNames, mListener);
|
|
// assertTrue("Event was not fired on XMultiPropertySet.",
|
|
// mListener.changePropertiesEventFired());
|
|
// }
|
|
// catch (com.sun.star.uno.Exception e)
|
|
// {
|
|
//// e.printStackTrace();
|
|
// System.out.println(e.getClass().getName());
|
|
// System.out.println("Message: " + e.getMessage());
|
|
// fail("Unexpected exception on XMultiPropertySet.");
|
|
// }
|
|
//
|
|
// // test finished
|
|
// System.out.println("---- Test of XMultiPropertySet finished ----\n");
|
|
// }
|
|
|
|
/**
|
|
* Verify if the values of xPropSet_of_PathSettings are the same as vals.
|
|
* @param xPropSet_of_PathSettings A XMultiPropertySet.
|
|
* @param aPathSettingWorkingNames An array with property names.
|
|
* @param vals An array with values of the properties
|
|
* @return -1 if none are equal, 1 if all are equal, 0 if some were equal
|
|
* and some not.
|
|
* @throws com.sun.star.lang.IllegalArgumentException
|
|
*/
|
|
// private int verifyPropertySet(XMultiPropertySet xProp,
|
|
// String[] propNames, String[] vals)
|
|
// {
|
|
// int ret = 0;
|
|
// if (vals.length != propNames.length)
|
|
// {
|
|
// System.out.println("Length of array parameters must be equal.");
|
|
// return ret;
|
|
// }
|
|
// for (int i = 0; i < vals.length; i++)
|
|
// {
|
|
// Object[] objs = xProp.getPropertyValues(new String[]
|
|
// {
|
|
// propNames[i]
|
|
// });
|
|
// String retVal = (String) objs[0];
|
|
// boolean nCheck = retVal.equals(vals[i]);
|
|
// if (!nCheck)
|
|
// {
|
|
// System.out.println("Property '" + propNames[i]
|
|
// + "' was supposed to have value:");
|
|
// System.out.println(vals[i]);
|
|
// System.out.println("but has value:");
|
|
// System.out.println(retVal);
|
|
// }
|
|
// // initialize
|
|
// if (i == 0)
|
|
// {
|
|
// ret = nCheck ? 1 : -1;
|
|
// continue;
|
|
// }
|
|
// // return 0 if equal state changes compared to initial value
|
|
// if ((nCheck && ret < 0) || (!nCheck && ret > 0))
|
|
// {
|
|
// ret = 0;
|
|
// }
|
|
// }
|
|
// return ret;
|
|
// }
|
|
|
|
// ____________________
|
|
/**
|
|
* This tests the XPropertySet interface implementation.
|
|
*/
|
|
|
|
// The test checkXPropertySet() has been marked as outdated!
|
|
|
|
|
|
// @Test
|
|
// public void checkXPropertySet()
|
|
// {
|
|
// System.out.println("---- Testing the XPropertySet interface ----");
|
|
//
|
|
// XPropertySet xPS = UnoRuntime.queryInterface(XPropertySet.class, aPathSettings);
|
|
//
|
|
// MyChangeListener mListener1 = new MyChangeListener();
|
|
// MyChangeListener mListener2 = new MyChangeListener();
|
|
//
|
|
// for (int i = 0; i < xPropertyInfoOfPathSettings.length; i++)
|
|
// {
|
|
// // adding listeners
|
|
// String name = aPathSettingNames[i];
|
|
// System.out.println("Testing property '" + name + "'");
|
|
// try
|
|
// {
|
|
// System.out.println("Add 2 Listeners.");
|
|
// xPS.addPropertyChangeListener(name, mListener1);
|
|
// xPS.addVetoableChangeListener(name, mListener1);
|
|
// xPS.addPropertyChangeListener(name, mListener2);
|
|
// xPS.addVetoableChangeListener(name, mListener2);
|
|
//
|
|
// // change the property
|
|
// System.out.println("Change value.");
|
|
// String changeVal = changeToCorrectValue(aPathSettingValues[i]);
|
|
// xPS.setPropertyValue(name, changeVal);
|
|
// String newVal = (String) xPS.getPropertyValue(name);
|
|
//
|
|
// assertTrue("Value did not change on property " + name + ".",
|
|
// newVal.equals(changeVal));
|
|
//
|
|
// assertTrue("Listener 1 was not called.", checkListener(mListener1));
|
|
// assertTrue("Listener 2 was not called.", checkListener(mListener2));
|
|
//
|
|
// mListener1.resetListener();
|
|
// mListener2.resetListener();
|
|
//
|
|
// System.out.println("Remove Listener 1.");
|
|
//
|
|
// xPS.removePropertyChangeListener(name, mListener1);
|
|
// xPS.removeVetoableChangeListener(name, mListener1);
|
|
//
|
|
// // change the property
|
|
// System.out.println("Change value back.");
|
|
// xPS.setPropertyValue(name, aPathSettingValues[i]);
|
|
// newVal = (String) xPS.getPropertyValue(name);
|
|
// assertTrue("Value did not change on property " + name,
|
|
// newVal.equals(aPathSettingValues[i]));
|
|
//
|
|
// assertTrue("Listener was called, although it was removed on"
|
|
// + " property " + name + ".", !checkListener(mListener1));
|
|
// assertTrue("Listener 2 was not called on property " + name + ".",
|
|
// checkListener(mListener2));
|
|
// }
|
|
// catch (com.sun.star.uno.Exception e)
|
|
// {
|
|
// System.out.println(e.getClass().getName());
|
|
// System.out.println("Message: " + e.getMessage());
|
|
// fail("Unexpcted exception on property " + name);
|
|
// }
|
|
// System.out.println("Finish testing property '" + aPathSettingNames[i] + "'\n");
|
|
// }
|
|
// System.out.println("---- Test of XPropertySet finished ----\n");
|
|
//
|
|
// }
|
|
|
|
// private boolean checkListener(MyChangeListener ml)
|
|
// {
|
|
// return ml.changePropertyEventFired()
|
|
// || ml.changePropertiesEventFired()
|
|
// || ml.vetoableChangeEventFired();
|
|
// }
|
|
|
|
|
|
/**
|
|
* Change the given String to a correct path URL.
|
|
* @return The changed path URL.
|
|
*/
|
|
private String changeToCorrectValue(String path)
|
|
{
|
|
// the simplest possibility
|
|
if (path == null || path.equals(""))
|
|
{
|
|
String sTempDir = System.getProperty("java.io.tmpdir");
|
|
sTempDir = util.utils.getFullURL(sTempDir);
|
|
return sTempDir; // "file:///tmp";
|
|
}
|
|
return graphical.FileHelper.appendPath(path, "tmp");
|
|
}
|
|
|
|
/**
|
|
* Change the given String to an incorrect path URL.
|
|
* @return The changed path URL.
|
|
*/
|
|
private String changeToIncorrectValue(String path)
|
|
{
|
|
// return an illegal path
|
|
return "fileblablabla";
|
|
}
|
|
|
|
/**
|
|
* Listener implementation which sets a flag when
|
|
* listener was called.
|
|
*/
|
|
public class MyChangeListener implements XPropertiesChangeListener,
|
|
XPropertyChangeListener,
|
|
XVetoableChangeListener
|
|
{
|
|
|
|
private boolean propChanged = false;
|
|
private boolean propertiesChanged = false;
|
|
private boolean vetoableChanged = false;
|
|
|
|
public void propertiesChange(
|
|
com.sun.star.beans.PropertyChangeEvent[] e)
|
|
{
|
|
propertiesChanged = true;
|
|
}
|
|
|
|
public void vetoableChange(com.sun.star.beans.PropertyChangeEvent pE)
|
|
throws com.sun.star.beans.PropertyVetoException
|
|
{
|
|
vetoableChanged = true;
|
|
}
|
|
|
|
public void propertyChange(com.sun.star.beans.PropertyChangeEvent pE)
|
|
{
|
|
propChanged = true;
|
|
}
|
|
|
|
public void disposing(com.sun.star.lang.EventObject eventObject)
|
|
{
|
|
}
|
|
|
|
public void resetListener()
|
|
{
|
|
propChanged = false;
|
|
propertiesChanged = false;
|
|
vetoableChanged = false;
|
|
}
|
|
|
|
public boolean changePropertyEventFired()
|
|
{
|
|
return propChanged;
|
|
}
|
|
|
|
public boolean changePropertiesEventFired()
|
|
{
|
|
return propertiesChanged;
|
|
}
|
|
|
|
public boolean vetoableChangeEventFired()
|
|
{
|
|
return vetoableChanged;
|
|
}
|
|
}
|
|
|
|
// setup and close connections
|
|
@BeforeClass
|
|
public static void setUpConnection() throws Exception
|
|
{
|
|
System.out.println("setUpConnection()");
|
|
connection.setUp();
|
|
}
|
|
|
|
@AfterClass
|
|
public static void tearDownConnection()
|
|
throws InterruptedException, com.sun.star.uno.Exception
|
|
{
|
|
System.out.println("tearDownConnection()");
|
|
connection.tearDown();
|
|
}
|
|
private static final OfficeConnection connection = new OfficeConnection();
|
|
}
|