Repository.mk | 1 dbaccess/CppunitTest_dbaccess_embeddeddb_performancetest.mk | 1 dbaccess/CppunitTest_dbaccess_hsqldb_test.mk | 1 include/jvmfwk/framework.h | 13 include/jvmfwk/jvmfwkplugindllapi.h | 24 - include/jvmfwk/vendorplugin.h | 9 jvmfwk/Library_jvmfwk.mk | 23 jvmfwk/Library_sunjavaplugin.mk | 62 -- jvmfwk/Module_jvmfwk.mk | 1 jvmfwk/README | 2 jvmfwk/distributions/OpenOfficeorg/javavendors.xsd | 31 - jvmfwk/distributions/OpenOfficeorg/javavendors_freebsd.xml | 6 jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml | 8 jvmfwk/distributions/OpenOfficeorg/javavendors_macosx.xml | 6 jvmfwk/distributions/OpenOfficeorg/javavendors_template.xml | 4 jvmfwk/distributions/OpenOfficeorg/javavendors_unx.xml | 4 jvmfwk/distributions/OpenOfficeorg/javavendors_wnt.xml | 5 jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx | 16 jvmfwk/source/elements.hxx | 17 jvmfwk/source/framework.cxx | 277 +----------- jvmfwk/source/fwkbase.cxx | 111 ---- jvmfwk/source/fwkbase.hxx | 13 sal/qa/osl/process/osl_process.cxx | 91 +-- solenv/gbuild/CppunitTest.mk | 1 ure/source/README | 2 25 files changed, 120 insertions(+), 609 deletions(-)
New commits: commit 2ceeee914e3ff69811ca04ecccf30a582c58b34a Author: Stephan Bergmann <sberg...@redhat.com> Date: Thu Oct 9 17:24:52 2014 +0200 Remove jvmfwk plugin feature ...which was effectively unused; there only ever was a single sunjavaplugin that is now folded directly into jvmfwk. Leaves room for further clean up. Change-Id: I14dd2a3a09bd1ce9a8c3f5c156628ec11d954a0b diff --git a/Repository.mk b/Repository.mk index 05365ec..706bf7a 100644 --- a/Repository.mk +++ b/Repository.mk @@ -519,7 +519,6 @@ $(eval $(call gb_Helper_register_libraries_for_install,PRIVATELIBS_URE,ure, \ sal_textenc \ stocservices \ store \ - $(if $(ENABLE_JAVA),sunjavaplugin) \ unoidl \ uuresolver \ xmlreader \ diff --git a/dbaccess/CppunitTest_dbaccess_embeddeddb_performancetest.mk b/dbaccess/CppunitTest_dbaccess_embeddeddb_performancetest.mk index 0331398..2fe7e94 100644 --- a/dbaccess/CppunitTest_dbaccess_embeddeddb_performancetest.mk +++ b/dbaccess/CppunitTest_dbaccess_embeddeddb_performancetest.mk @@ -25,7 +25,6 @@ $(eval $(call gb_CppunitTest_use_libraries,dbaccess_embeddeddb_performancetest, jvmfwk \ sal \ subsequenttest \ - sunjavaplugin \ utl \ test \ tk \ diff --git a/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk b/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk index 07a96ec..9cc4718 100644 --- a/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk +++ b/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk @@ -25,7 +25,6 @@ $(eval $(call gb_CppunitTest_use_libraries,dbaccess_hsqldb_test, \ jvmfwk \ sal \ subsequenttest \ - sunjavaplugin \ utl \ test \ tk \ diff --git a/include/jvmfwk/framework.h b/include/jvmfwk/framework.h index dc99015..e791a1f 100644 --- a/include/jvmfwk/framework.h +++ b/include/jvmfwk/framework.h @@ -197,7 +197,6 @@ typedef enum _javaFrameworkError JFW_E_NEED_RESTART, JFW_E_RUNNING_JVM, JFW_E_JAVA_DISABLED, - JFW_E_NO_PLUGIN, JFW_E_NOT_RECOGNIZED, JFW_E_FAILED_VERSION, JFW_E_NO_JAVA_FOUND, @@ -376,7 +375,6 @@ JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_isVMRunning(sal_Bool *bRunning) @return JFW_E_NONE function ran successfully.<br/> JFW_E_ERROR an error occurred. <br/> - JFW_E_NO_PLUGIN a plug-in library could not be found.<br/> JFW_E_NO_JAVA_FOUND no JRE was found that meets the requirements.</br> JFW_E_DIRECT_MODE the function cannot be used in this mode. </br> JFW_E_CONFIGURATION mode was not properly set or their prerequisites @@ -407,7 +405,6 @@ JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_findAndSelectJRE(JavaInfo **pIn JFW_E_NONE function ran successfully.<br/> JFW_E_INVALID_ARG at least on of the parameters was NULL<br/> JFW_E_ERROR an error occurred. <br/> - JFW_E_NO_PLUGIN a plug-in library could not be found.<br/> JFW_E_CONFIGURATION mode was not properly set or their prerequisites were not met. */ @@ -439,7 +436,6 @@ JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_findAllJREs( JFW_E_ERROR an error occurred. <br/> JFW_E_CONFIGURATION mode was not properly set or their prerequisites were not met.</br> - JFW_E_NO_PLUGIN a plug-in library could not be found.<br/> JFW_E_NOT_RECOGNIZED neither plug-in library could detect a JRE. <br/> JFW_E_FAILED_VERSION a JRE was detected but if failed the version requirements as determined by the javavendors.xml @@ -496,8 +492,6 @@ JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_getJavaInfoByPath( JFW_E_ERROR an error occurred. <br/> JFW_E_CONFIGURATION mode was not properly set or their prerequisites were not met.</br> - JFW_E_NO_PLUGIN the plug-in library responsible for creating the VM - could not be found.<br/> JFW_E_JAVA_DISABLED the use of Java is currently disabled. <br/> JFW_E_NO_SELECT there is no JRE selected yet. <br/> JFW_E_RUNNIN_JVM there is already a VM running.<br/> @@ -768,7 +762,6 @@ JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_getJRELocations( JFW_E_NONE the function ran successfully.</br> JFW_E_ERROR an error occurred during execution.</br> JFW_E_INVALID_ARG pInfo contains invalid data</br> - JFW_E_NO_PLUGIN a plug-in library could not be found.<br/> */ JVMFWK_DLLPUBLIC javaFrameworkError SAL_CALL jfw_existJRE(const JavaInfo *pInfo, sal_Bool *exist); diff --git a/include/jvmfwk/jvmfwkplugindllapi.h b/include/jvmfwk/jvmfwkplugindllapi.h deleted file mode 100644 index d96016e..0000000 --- a/include/jvmfwk/jvmfwkplugindllapi.h +++ /dev/null @@ -1,24 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -#ifndef INCLUDED_JVMFWK_JVMFWKPLUGINDLLAPI_H -#define INCLUDED_JVMFWK_JVMFWKPLUGINDLLAPI_H - -#include <sal/types.h> - -#if defined JVMFWK_PLUGIN_DLLIMPLEMENTATION -# define JVMFWK_PLUGIN_DLLPUBLIC SAL_DLLPUBLIC_EXPORT -#else -# define JVMFWK_PLUGIN_DLLPUBLIC SAL_DLLPUBLIC_IMPORT -#endif -#define JVMFWK_PLUGIN_DLLPRIVATE SAL_DLLPRIVATE - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/jvmfwk/vendorplugin.h b/include/jvmfwk/vendorplugin.h index 2855e33..d51943e 100644 --- a/include/jvmfwk/vendorplugin.h +++ b/include/jvmfwk/vendorplugin.h @@ -21,7 +21,6 @@ #ifndef INCLUDED_JVMFWK_VENDORPLUGIN_H #define INCLUDED_JVMFWK_VENDORPLUGIN_H -#include <jvmfwk/jvmfwkplugindllapi.h> #include <jvmfwk/framework.h> #include <rtl/ustring.h> #include "jni.h" @@ -116,7 +115,7 @@ typedef enum <code>sMinVersion,sMaxVersion,arExcludeList</code> are not recognized as valid version strings. */ -JVMFWK_PLUGIN_DLLPUBLIC javaPluginError jfw_plugin_getAllJavaInfos( +javaPluginError jfw_plugin_getAllJavaInfos( rtl_uString *sVendor, rtl_uString *sMinVersion, rtl_uString *sMaxVersion, @@ -167,7 +166,7 @@ JVMFWK_PLUGIN_DLLPUBLIC javaPluginError jfw_plugin_getAllJavaInfos( does not mean necessarily that there is no JRE. There could be a JRE but it has a vendor which is not supported by this API implementation. */ -JVMFWK_PLUGIN_DLLPUBLIC javaPluginError jfw_plugin_getJavaInfoByPath( +javaPluginError jfw_plugin_getJavaInfoByPath( rtl_uString *sLocation, rtl_uString *sVendor, rtl_uString *sMinVersion, @@ -220,7 +219,7 @@ JVMFWK_PLUGIN_DLLPUBLIC javaPluginError jfw_plugin_getJavaInfoByPath( JFW_PLUGIN_E_VM_CREATION_FAILED a VM could not be created. The error was caused by the JRE. */ -JVMFWK_PLUGIN_DLLPUBLIC javaPluginError jfw_plugin_startJavaVirtualMachine( +javaPluginError jfw_plugin_startJavaVirtualMachine( const JavaInfo *pInfo, const JavaVMOption *arOptions, sal_Int32 nSizeOptions, @@ -246,7 +245,7 @@ JVMFWK_PLUGIN_DLLPUBLIC javaPluginError jfw_plugin_startJavaVirtualMachine( JFW_PLUGIN_E_ERROR an error occurred during execution.</br> JFW_PLUGIN_E_INVALID_ARG pInfo contains invalid data</br> */ -JVMFWK_PLUGIN_DLLPUBLIC javaPluginError jfw_plugin_existJRE(const JavaInfo *pInfo, sal_Bool *exist); +javaPluginError jfw_plugin_existJRE(const JavaInfo *pInfo, sal_Bool *exist); #ifdef __cplusplus } diff --git a/jvmfwk/Library_jvmfwk.mk b/jvmfwk/Library_jvmfwk.mk index f47caa2..5b99f58 100644 --- a/jvmfwk/Library_jvmfwk.mk +++ b/jvmfwk/Library_jvmfwk.mk @@ -13,16 +13,30 @@ $(eval $(call gb_Library_add_defs,jvmfwk,\ -DJVMFWK_DLLIMPLEMENTATION \ )) +ifneq ($(JVM_ONE_PATH_CHECK),) +$(eval $(call gb_Library_add_defs,jvmfwk,\ + -DJVM_ONE_PATH_CHECK=\"$(JVM_ONE_PATH_CHECK)\" \ +)) +endif + $(eval $(call gb_Library_use_api,jvmfwk,\ udkapi \ )) $(eval $(call gb_Library_use_libraries,jvmfwk,\ + cppu \ cppuhelper \ sal \ + salhelper \ $(gb_UWINAPI) \ )) +ifeq ($(OS),ANDROID) +$(eval $(call gb_Library_use_libraries,jvmfwk,\ + lo-bootstrap \ +)) +endif + ifeq ($(OS),WNT) $(eval $(call gb_Library_use_system_win32_libs,jvmfwk,\ advapi32 \ @@ -32,9 +46,18 @@ endif $(eval $(call gb_Library_use_externals,jvmfwk,\ boost_headers \ libxml2 \ + valgrind \ )) $(eval $(call gb_Library_add_exception_objects,jvmfwk,\ + jvmfwk/plugins/sunmajor/pluginlib/gnujre \ + jvmfwk/plugins/sunmajor/pluginlib/otherjre \ + jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin \ + jvmfwk/plugins/sunmajor/pluginlib/sunjre \ + jvmfwk/plugins/sunmajor/pluginlib/sunversion \ + jvmfwk/plugins/sunmajor/pluginlib/util \ + jvmfwk/plugins/sunmajor/pluginlib/vendorbase \ + jvmfwk/plugins/sunmajor/pluginlib/vendorlist \ jvmfwk/source/elements \ jvmfwk/source/framework \ jvmfwk/source/fwkbase \ diff --git a/jvmfwk/Library_sunjavaplugin.mk b/jvmfwk/Library_sunjavaplugin.mk deleted file mode 100644 index a82dfe8..0000000 --- a/jvmfwk/Library_sunjavaplugin.mk +++ /dev/null @@ -1,62 +0,0 @@ -# -*- 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_Library_Library,sunjavaplugin)) - -$(eval $(call gb_Library_add_defs,sunjavaplugin,\ - -DJVMFWK_PLUGIN_DLLIMPLEMENTATION \ -)) - -ifneq ($(JVM_ONE_PATH_CHECK),) -$(eval $(call gb_Library_add_defs,sunjavaplugin,\ - -DJVM_ONE_PATH_CHECK=\"$(JVM_ONE_PATH_CHECK)\" \ -)) -endif - -$(eval $(call gb_Library_use_api,sunjavaplugin,\ - udkapi \ -)) - -$(eval $(call gb_Library_use_libraries,sunjavaplugin,\ - cppu \ - cppuhelper \ - sal \ - salhelper \ - $(gb_UWINAPI) \ -)) - -ifeq ($(OS),ANDROID) -$(eval $(call gb_Library_use_libraries,sunjavaplugin,\ - lo-bootstrap \ -)) -endif - -ifeq ($(OS),WNT) -$(eval $(call gb_Library_use_system_win32_libs,sunjavaplugin,\ - advapi32 \ -)) -endif - -$(eval $(call gb_Library_use_externals,sunjavaplugin,\ - boost_headers \ - valgrind \ -)) - -$(eval $(call gb_Library_add_exception_objects,sunjavaplugin,\ - jvmfwk/plugins/sunmajor/pluginlib/gnujre \ - jvmfwk/plugins/sunmajor/pluginlib/otherjre \ - jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin \ - jvmfwk/plugins/sunmajor/pluginlib/sunjre \ - jvmfwk/plugins/sunmajor/pluginlib/sunversion \ - jvmfwk/plugins/sunmajor/pluginlib/util \ - jvmfwk/plugins/sunmajor/pluginlib/vendorbase \ - jvmfwk/plugins/sunmajor/pluginlib/vendorlist \ -)) - -# vim:set noet sw=4 ts=4: diff --git a/jvmfwk/Module_jvmfwk.mk b/jvmfwk/Module_jvmfwk.mk index 00fd9c5..5ec28e5 100644 --- a/jvmfwk/Module_jvmfwk.mk +++ b/jvmfwk/Module_jvmfwk.mk @@ -14,7 +14,6 @@ ifeq ($(ENABLE_JAVA),TRUE) $(eval $(call gb_Module_add_targets,jvmfwk,\ CustomTarget_jreproperties \ Library_jvmfwk \ - Library_sunjavaplugin \ Package_jreproperties \ Package_rcfiles \ )) diff --git a/jvmfwk/README b/jvmfwk/README index dad5f43..3c2b105 100644 --- a/jvmfwk/README +++ b/jvmfwk/README @@ -1,4 +1,4 @@ Wrappers so you can use all the Java Runtime Environments with their slightly incompatible APIs with more ease. -Uses an over-engineered "plugin" mechanism although there is only one +Used to use an over-engineered "plugin" mechanism although there was only one "plugin", called "sunmajor", that handles all possible JREs. diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors.xsd b/jvmfwk/distributions/OpenOfficeorg/javavendors.xsd index 34a0cd5..fbc643f 100644 --- a/jvmfwk/distributions/OpenOfficeorg/javavendors.xsd +++ b/jvmfwk/distributions/OpenOfficeorg/javavendors.xsd @@ -21,33 +21,16 @@ xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <element name="javaSelection" type="jf:JavaSelectionType"> - <unique name="dummy1"> - <selector xpath="jf:plugins/jf:library"/> - <field xpath="@vendor"/> - </unique> - - - <keyref name="dummy2" refer="jf:pluginKey"> - <selector xpath="jf:vendorInfos/jf:vendor"/> - <field xpath="@name"/> - </keyref> - <unique name="dummy3"> <selector xpath="jf:vendorInfos/jf:vendor"/> <field xpath="@name"/> </unique> - - <key name="pluginKey"> - <selector xpath="jf:plugins/jf:library"/> - <field xpath="@vendor"/> - </key> </element> <complexType name="JavaSelectionType"> <sequence> <element name="updated" type="date"/> <element name="vendorInfos" type="jf:VendorInfoType"/> - <element name="plugins" type="jf:PluginType"/> </sequence> </complexType> @@ -57,21 +40,7 @@ <element name="vendor" type="jf:VendorType" minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> - - <complexType name="PluginType"> - <sequence> - <element name="library" type="jf:LibraryType" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - </complexType> - <complexType name="LibraryType"> - <simpleContent> - <extension base="string"> - <attribute name="vendor" use="required" type="string"/> - </extension> - </simpleContent> - </complexType> - <complexType name="VendorType"> <sequence> <element name="minVersion" type="string" minOccurs="0"/> diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors_freebsd.xml b/jvmfwk/distributions/OpenOfficeorg/javavendors_freebsd.xml index bfd80e0..13089bc 100644 --- a/jvmfwk/distributions/OpenOfficeorg/javavendors_freebsd.xml +++ b/jvmfwk/distributions/OpenOfficeorg/javavendors_freebsd.xml @@ -37,10 +37,4 @@ </vendor> </vendorInfos> - <plugins> - <library vendor="Oracle Corporation">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - <library vendor="Sun Microsystems Inc.">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - <library vendor="The FreeBSD Foundation">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - <library vendor="Free Software Foundation, Inc.">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - </plugins> </javaSelection> diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml b/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml index 311bf81..1c8c8bd 100644 --- a/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml +++ b/jvmfwk/distributions/OpenOfficeorg/javavendors_linux.xml @@ -43,12 +43,4 @@ </vendor> </vendorInfos> - <plugins> - <library vendor="Sun Microsystems Inc.">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - <library vendor="Oracle Corporation">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - <library vendor="IBM Corporation">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - <library vendor="Blackdown Java-Linux Team">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - <library vendor="Free Software Foundation, Inc.">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - <library vendor="BEA Systems, Inc.">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - </plugins> </javaSelection> diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors_macosx.xml b/jvmfwk/distributions/OpenOfficeorg/javavendors_macosx.xml index aa8b423..e2925ee 100644 --- a/jvmfwk/distributions/OpenOfficeorg/javavendors_macosx.xml +++ b/jvmfwk/distributions/OpenOfficeorg/javavendors_macosx.xml @@ -33,9 +33,5 @@ <minVersion>1.7.0</minVersion> </vendor> </vendorInfos> - <plugins> - <library vendor="Oracle Corporation">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.dylib</library> - <library vendor="Apple Inc.">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.dylib</library> - <library vendor="Apple Computer, Inc.">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.dylib</library> - </plugins> + </javaSelection> diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors_template.xml b/jvmfwk/distributions/OpenOfficeorg/javavendors_template.xml index 9bc0c41..f4e5fb8 100644 --- a/jvmfwk/distributions/OpenOfficeorg/javavendors_template.xml +++ b/jvmfwk/distributions/OpenOfficeorg/javavendors_template.xml @@ -45,8 +45,4 @@ look like. </vendor> </vendorInfos> - <plugins> - <library vendor="Sun Microsystems Inc.">libsunjavapluginlo.dll</library> - <library vendor="VendorX">./pluginDir/vendorx.dll</library> - </plugins> </javaSelection> diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors_unx.xml b/jvmfwk/distributions/OpenOfficeorg/javavendors_unx.xml index e9bbd68..c7b0568 100644 --- a/jvmfwk/distributions/OpenOfficeorg/javavendors_unx.xml +++ b/jvmfwk/distributions/OpenOfficeorg/javavendors_unx.xml @@ -31,8 +31,4 @@ </vendor> </vendorInfos> - <plugins> - <library vendor="Oracle Corporation">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - <library vendor="Sun Microsystems Inc.">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/libsunjavapluginlo.so</library> - </plugins> </javaSelection> diff --git a/jvmfwk/distributions/OpenOfficeorg/javavendors_wnt.xml b/jvmfwk/distributions/OpenOfficeorg/javavendors_wnt.xml index 5b33aad..4f76089 100644 --- a/jvmfwk/distributions/OpenOfficeorg/javavendors_wnt.xml +++ b/jvmfwk/distributions/OpenOfficeorg/javavendors_wnt.xml @@ -34,9 +34,4 @@ </vendor> </vendorInfos> - <plugins> - <library vendor="Sun Microsystems Inc.">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/sunjavapluginlo.dll</library> - <library vendor="Oracle Corporation">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/sunjavapluginlo.dll</library> - <library vendor="IBM Corporation">vnd.sun.star.expand:$URE_INTERNAL_LIB_DIR/sunjavapluginlo.dll</library> - </plugins> </javaSelection> diff --git a/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx b/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx index 09e0435..8f5e5a2 100644 --- a/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx +++ b/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx @@ -95,22 +95,6 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) } } - OUString aVendor( pInfo->sVendor ); - // Only do something if the sunjavaplugin created this JavaInfo - if ( aVendor != "Sun Microsystems Inc." && - aVendor != "Oracle Corporation" && - aVendor != "IBM Corporation" && - aVendor != "Blackdown Java-Linux Team" && - aVendor != "Apple Inc." && - aVendor != "Apple Computer, Inc." && - aVendor != "BEA Systems, Inc." && - aVendor != "Free Software Foundation, Inc." && - aVendor != "The FreeBSD Foundation" ) - { - jfw_freeJavaInfo(pInfo); - return 0; - } - OString sPaths = getLD_LIBRARY_PATH(pInfo->arVendorData); fprintf(stdout, "%s\n", sPaths.getStr()); jfw_freeJavaInfo(pInfo); diff --git a/jvmfwk/source/elements.hxx b/jvmfwk/source/elements.hxx index 17d66fe..28abbae 100644 --- a/jvmfwk/source/elements.hxx +++ b/jvmfwk/source/elements.hxx @@ -353,23 +353,6 @@ public: sal_Int32 getExcludeVersionSize(); }; -struct PluginLibrary -{ - PluginLibrary() - { - } - PluginLibrary(const OUString & vendor, const OUString & path) : - sVendor(vendor), sPath(path) - { - } - /** contains the vendor string which is later userd in the xml API - */ - OUString sVendor; - /** File URL the plug-in library - */ - OUString sPath; -}; - } //end namespace #endif diff --git a/jvmfwk/source/framework.cxx b/jvmfwk/source/framework.cxx index 1a32be2..cd7d551 100644 --- a/jvmfwk/source/framework.cxx +++ b/jvmfwk/source/framework.cxx @@ -22,7 +22,6 @@ #include "rtl/bootstrap.hxx" #include "osl/thread.hxx" #include "osl/file.hxx" -#include "osl/module.hxx" #include "jvmfwk/framework.h" #include "jvmfwk/vendorplugin.h" #include <cassert> @@ -48,41 +47,6 @@ bool areEqualJavaInfo( } -#ifdef DISABLE_DYNLOADING - -extern "C" -javaPluginError jfw_plugin_getAllJavaInfos( - rtl_uString *sVendor, - rtl_uString *sMinVersion, - rtl_uString *sMaxVersion, - rtl_uString * *arExcludeList, - sal_Int32 nLenList, - JavaInfo*** parJavaInfo, - sal_Int32 *nLenInfoList); - -extern "C" -javaPluginError jfw_plugin_getJavaInfoByPath( - rtl_uString *path, - rtl_uString *sVendor, - rtl_uString *sMinVersion, - rtl_uString *sMaxVersion, - rtl_uString * *arExcludeList, - sal_Int32 nLenList, - JavaInfo ** ppInfo); - -extern "C" -javaPluginError jfw_plugin_startJavaVirtualMachine( - const JavaInfo *pInfo, - const JavaVMOption* arOptions, - sal_Int32 cOptions, - JavaVM ** ppVm, - JNIEnv ** ppEnv); - -extern "C" -javaPluginError jfw_plugin_existJRE(const JavaInfo *pInfo, sal_Bool *exist); - -#endif - javaFrameworkError SAL_CALL jfw_findAllJREs(JavaInfo ***pparInfo, sal_Int32 *pSize) { javaFrameworkError retVal = JFW_E_NONE; @@ -94,16 +58,8 @@ javaFrameworkError SAL_CALL jfw_findAllJREs(JavaInfo ***pparInfo, sal_Int32 *pSi return JFW_E_INVALID_ARG; jfw::VendorSettings aVendorSettings; - //Get a list of plugins which provide Java information - std::vector<jfw::PluginLibrary> vecPlugins = - aVendorSettings.getPluginData(); -#ifndef DISABLE_DYNLOADING - //Create a vector that holds the libraries, which will be later - //dynamically loaded; - boost::scoped_array<osl::Module> sarModules; - sarModules.reset(new osl::Module[vecPlugins.size()]); - osl::Module * arModules = sarModules.get(); -#endif + std::vector<OUString> vecVendors = + aVendorSettings.getSupportedVendors(); //Add the JavaInfos found by jfw_plugin_getAllJavaInfos to the vector //Make sure that the contents are destroyed if this //function returns with an error @@ -119,42 +75,20 @@ javaFrameworkError SAL_CALL jfw_findAllJREs(JavaInfo ***pparInfo, sal_Int32 *pSi const std::vector<OUString>& vecJRELocations = settings.getJRELocations(); //Use every plug-in library to get Java installations. - typedef std::vector<jfw::PluginLibrary>::const_iterator ci_pl; + typedef std::vector<OUString>::const_iterator ci_pl; int cModule = 0; - for (ci_pl i = vecPlugins.begin(); i != vecPlugins.end(); ++i, ++cModule) + for (ci_pl i = vecVendors.begin(); i != vecVendors.end(); ++i, ++cModule) { - const jfw::PluginLibrary & library = *i; + const OUString & vendor = *i; jfw::VersionInfo versionInfo = - aVendorSettings.getVersionInformation(library.sVendor); -#ifndef DISABLE_DYNLOADING - arModules[cModule].load(library.sPath); - osl::Module & pluginLib = arModules[cModule]; - - if (!pluginLib.is()) - { - OString msg = OUStringToOString( - library.sPath, osl_getThreadTextEncoding()); - fprintf(stderr,"[jvmfwk] Could not load plugin %s\n" \ - "Modify the javavendors.xml accordingly!\n", msg.getStr()); - return JFW_E_NO_PLUGIN; - } - jfw_plugin_getAllJavaInfos_ptr getAllJavaFunc = - (jfw_plugin_getAllJavaInfos_ptr) pluginLib.getFunctionSymbol( - OUString("jfw_plugin_getAllJavaInfos")); -#else - jfw_plugin_getAllJavaInfos_ptr getAllJavaFunc = - jfw_plugin_getAllJavaInfos; -#endif - OSL_ASSERT(getAllJavaFunc); - if (getAllJavaFunc == NULL) - return JFW_E_ERROR; + aVendorSettings.getVersionInformation(vendor); //get all installations of one vendor according to minVersion, //maxVersion and excludeVersions sal_Int32 cInfos = 0; JavaInfo** arInfos = NULL; - javaPluginError plerr = (*getAllJavaFunc)( - library.sVendor.pData, + javaPluginError plerr = jfw_plugin_getAllJavaInfos( + vendor.pData, versionInfo.sMinVersion.pData, versionInfo.sMaxVersion.pData, versionInfo.getExcludeVersions(), @@ -173,27 +107,15 @@ javaFrameworkError SAL_CALL jfw_findAllJREs(JavaInfo ***pparInfo, sal_Int32 *pSi //Check if the current plugin can detect JREs at the location // of the paths added by jfw_addJRELocation //get the function from the plugin -#ifndef DISABLE_DYNLOADING - jfw_plugin_getJavaInfoByPath_ptr jfw_plugin_getJavaInfoByPathFunc = - (jfw_plugin_getJavaInfoByPath_ptr) pluginLib.getFunctionSymbol( - OUString("jfw_plugin_getJavaInfoByPath")); - OSL_ASSERT(jfw_plugin_getJavaInfoByPathFunc); - if (jfw_plugin_getJavaInfoByPathFunc == NULL) - return JFW_E_ERROR; -#else - jfw_plugin_getJavaInfoByPath_ptr jfw_plugin_getJavaInfoByPathFunc = - jfw_plugin_getJavaInfoByPath; -#endif - typedef std::vector<OUString>::const_iterator citLoc; //Check every manually added location for (citLoc ii = vecJRELocations.begin(); ii != vecJRELocations.end(); ++ii) { jfw::CJavaInfo aInfo; - plerr = (*jfw_plugin_getJavaInfoByPathFunc)( + plerr = jfw_plugin_getJavaInfoByPath( ii->pData, - library.sVendor.pData, + vendor.pData, versionInfo.sMinVersion.pData, versionInfo.sMaxVersion.pData, versionInfo.getExcludeVersions(), @@ -225,9 +147,9 @@ javaFrameworkError SAL_CALL jfw_findAllJREs(JavaInfo ***pparInfo, sal_Int32 *pSi std::vector<jfw::CJavaInfo> vecInfoManual2; for (it_info ivm = vecInfoManual.begin(); ivm != vecInfoManual.end(); ++ivm) { - for (ci_pl ii = vecPlugins.begin(); ii != vecPlugins.end(); ++ii) + for (ci_pl ii = vecVendors.begin(); ii != vecVendors.end(); ++ii) { - if ( ii->sVendor.equals((*ivm)->sVendor)) + if ( ii->equals((*ivm)->sVendor)) { vecInfoManual2.push_back(*ivm); break; @@ -378,23 +300,6 @@ javaFrameworkError SAL_CALL jfw_startVM( //get the function jfw_plugin_startJavaVirtualMachine jfw::VendorSettings aVendorSettings; - OUString sLibPath = aVendorSettings.getPluginLibrary(pInfo->sVendor); - -#ifndef DISABLE_DYNLOADING - osl::Module modulePlugin(sLibPath); - if ( ! modulePlugin) - return JFW_E_NO_PLUGIN; - - OUString sFunctionName("jfw_plugin_startJavaVirtualMachine"); - jfw_plugin_startJavaVirtualMachine_ptr pFunc = - (jfw_plugin_startJavaVirtualMachine_ptr) - osl_getFunctionSymbol(modulePlugin, sFunctionName.pData); - if (pFunc == NULL) - return JFW_E_ERROR; -#else - jfw_plugin_startJavaVirtualMachine_ptr pFunc = - jfw_plugin_startJavaVirtualMachine; -#endif // create JavaVMOptions array that is passed to the plugin // it contains the classpath and all options set in the @@ -434,7 +339,7 @@ javaFrameworkError SAL_CALL jfw_startVM( //start Java JavaVM *pVm = NULL; SAL_INFO("jfw", "Starting Java"); - javaPluginError plerr = (*pFunc)(pInfo, arOpt, index, & pVm, ppEnv); + javaPluginError plerr = jfw_plugin_startJavaVirtualMachine(pInfo, arOpt, index, & pVm, ppEnv); if (plerr == JFW_PLUGIN_E_VM_CREATION_FAILED) { errcode = JFW_E_VM_CREATION_FAILED; @@ -483,47 +388,24 @@ javaFrameworkError SAL_CALL jfw_findAndSelectJRE(JavaInfo **pInfo) //Get a list of services which provide Java information jfw::VendorSettings aVendorSettings; - std::vector<jfw::PluginLibrary> vecPlugins = - aVendorSettings.getPluginData(); -#ifndef DISABLE_DYNLOADING - //Create a vector that holds the libraries, which will be later - //dynamically loaded; - boost::scoped_array<osl::Module> sarModules; - sarModules.reset(new osl::Module[vecPlugins.size()]); - osl::Module * arModules = sarModules.get(); -#endif - //Use every plug-in library to get Java installations. At the first usable + std::vector<OUString> vecVendors = + aVendorSettings.getSupportedVendors(); + //Use every vendor to get Java installations. At the first usable //Java the loop will break - typedef std::vector<jfw::PluginLibrary>::const_iterator ci_pl; + typedef std::vector<OUString>::const_iterator ci_pl; int cModule = 0; - for (ci_pl i = vecPlugins.begin(); i != vecPlugins.end(); ++i, ++cModule) + for (ci_pl i = vecVendors.begin(); i != vecVendors.end(); ++i, ++cModule) { - const jfw::PluginLibrary & library = *i; + const OUString & vendor = *i; jfw::VersionInfo versionInfo = - aVendorSettings.getVersionInformation(library.sVendor); -#ifndef DISABLE_DYNLOADING - arModules[cModule].load(library.sPath); - osl::Module & pluginLib = arModules[cModule]; - if (!pluginLib.is()) - return JFW_E_NO_PLUGIN; - - jfw_plugin_getAllJavaInfos_ptr getAllJavaFunc = - (jfw_plugin_getAllJavaInfos_ptr) pluginLib.getFunctionSymbol( - OUString("jfw_plugin_getAllJavaInfos")); -#else - jfw_plugin_getAllJavaInfos_ptr getAllJavaFunc = - jfw_plugin_getAllJavaInfos; -#endif - OSL_ASSERT(getAllJavaFunc); - if (getAllJavaFunc == NULL) - continue; + aVendorSettings.getVersionInformation(vendor); //get all installations of one vendor according to minVersion, //maxVersion and excludeVersions sal_Int32 cInfos = 0; JavaInfo** arInfos = NULL; - javaPluginError plerr = (*getAllJavaFunc)( - library.sVendor.pData, + javaPluginError plerr = jfw_plugin_getAllJavaInfos( + vendor.pData, versionInfo.sMinVersion.pData, versionInfo.sMaxVersion.pData, versionInfo.getExcludeVersions(), @@ -581,37 +463,20 @@ javaFrameworkError SAL_CALL jfw_findAndSelectJRE(JavaInfo **pInfo) settings.getJRELocations(); //use every plug-in to determine the JavaInfo objects bool bInfoFound = false; - for (ci_pl i = vecPlugins.begin(); i != vecPlugins.end(); ++i) + for (ci_pl i = vecVendors.begin(); i != vecVendors.end(); ++i) { - const jfw::PluginLibrary & library = *i; + const OUString & vendor = *i; jfw::VersionInfo versionInfo = - aVendorSettings.getVersionInformation(library.sVendor); -#ifndef DISABLE_DYNLOADING - osl::Module pluginLib(library.sPath); - if (!pluginLib.is()) - return JFW_E_NO_PLUGIN; - //Check if the current plugin can detect JREs at the location - // of the paths added by jfw_addJRELocation - //get the function from the plugin - jfw_plugin_getJavaInfoByPath_ptr jfw_plugin_getJavaInfoByPathFunc = - (jfw_plugin_getJavaInfoByPath_ptr) pluginLib.getFunctionSymbol( - OUString("jfw_plugin_getJavaInfoByPath")); -#else - jfw_plugin_getJavaInfoByPath_ptr jfw_plugin_getJavaInfoByPathFunc = - jfw_plugin_getJavaInfoByPath; -#endif - OSL_ASSERT(jfw_plugin_getJavaInfoByPathFunc); - if (jfw_plugin_getJavaInfoByPathFunc == NULL) - return JFW_E_ERROR; + aVendorSettings.getVersionInformation(vendor); typedef std::vector<OUString>::const_iterator citLoc; for (citLoc it = vecJRELocations.begin(); it != vecJRELocations.end(); ++it) { jfw::CJavaInfo aInfo; - javaPluginError err = (*jfw_plugin_getJavaInfoByPathFunc)( + javaPluginError err = jfw_plugin_getJavaInfoByPath( it->pData, - library.sVendor.pData, + vendor.pData, versionInfo.sMinVersion.pData, versionInfo.sMaxVersion.pData, versionInfo.getExcludeVersions(), @@ -787,61 +652,27 @@ javaFrameworkError SAL_CALL jfw_getJavaInfoByPath( return JFW_E_INVALID_ARG; jfw::VendorSettings aVendorSettings; - //Get a list of plugins which provide Java information - std::vector<jfw::PluginLibrary> vecPlugins = - aVendorSettings.getPluginData(); -#ifndef DISABLE_DYNLOADING - //Create a vector that holds the libraries, which will be later - //dynamically loaded; - boost::scoped_array<osl::Module> sarModules; - sarModules.reset(new osl::Module[vecPlugins.size()]); - osl::Module * arModules = sarModules.get(); -#endif - typedef std::vector<OUString>::const_iterator CIT_VENDOR; std::vector<OUString> vecVendors = aVendorSettings.getSupportedVendors(); //Use every plug-in library to determine if the path represents a //JRE. If a plugin recognized it then the loop will break - typedef std::vector<jfw::PluginLibrary>::const_iterator ci_pl; + typedef std::vector<OUString>::const_iterator ci_pl; int cModule = 0; - for (ci_pl i = vecPlugins.begin(); i != vecPlugins.end(); + for (ci_pl i = vecVendors.begin(); i != vecVendors.end(); ++i, ++cModule) { - const jfw::PluginLibrary & library = *i; + const OUString & vendor = *i; jfw::VersionInfo versionInfo = - aVendorSettings.getVersionInformation(library.sVendor); - -#ifndef DISABLE_DYNLOADING - arModules[cModule].load(library.sPath); - osl::Module & pluginLib = arModules[cModule]; - if (!pluginLib.is()) - { - OString msg = OUStringToOString( - library.sPath, osl_getThreadTextEncoding()); - fprintf(stderr,"[jvmfwk] Could not load plugin %s\n" \ - "Modify the javavendors.xml accordingly!\n", msg.getStr()); - return JFW_E_NO_PLUGIN; - } - - jfw_plugin_getJavaInfoByPath_ptr jfw_plugin_getJavaInfoByPathFunc = - (jfw_plugin_getJavaInfoByPath_ptr) pluginLib.getFunctionSymbol( - OUString("jfw_plugin_getJavaInfoByPath")); -#else - jfw_plugin_getJavaInfoByPath_ptr jfw_plugin_getJavaInfoByPathFunc = - jfw_plugin_getJavaInfoByPath; -#endif - OSL_ASSERT(jfw_plugin_getJavaInfoByPathFunc); - if (jfw_plugin_getJavaInfoByPathFunc == NULL) - continue; + aVendorSettings.getVersionInformation(vendor); //ask the plugin if this is a JRE. //If so check if it meets the version requirements. //Only if it does return a JavaInfo JavaInfo* pInfo = NULL; - javaPluginError plerr = (*jfw_plugin_getJavaInfoByPathFunc)( + javaPluginError plerr = jfw_plugin_getJavaInfoByPath( pPath, - library.sVendor.pData, + vendor.pData, versionInfo.sMinVersion.pData, versionInfo.sMaxVersion.pData, versionInfo.getExcludeVersions(), @@ -850,29 +681,8 @@ javaFrameworkError SAL_CALL jfw_getJavaInfoByPath( if (plerr == JFW_PLUGIN_E_NONE) { - //check if the vendor of the found JRE is supported - if (vecVendors.empty()) - { - //vendor does not matter - *ppInfo = pInfo; - break; - } - else - { - OUString sVendor(pInfo->sVendor); - CIT_VENDOR ivendor = std::find(vecVendors.begin(), vecVendors.end(), - sVendor); - if (ivendor != vecVendors.end()) - { - *ppInfo = pInfo; - } - else - { - *ppInfo = NULL; - errcode = JFW_E_NOT_RECOGNIZED; - } - break; - } + *ppInfo = pInfo; + break; } else if(plerr == JFW_PLUGIN_E_FAILED_VERSION) {//found JRE but it has the wrong version @@ -1141,22 +951,7 @@ javaFrameworkError jfw_existJRE(const JavaInfo *pInfo, sal_Bool *exist) jfw::VendorSettings aVendorSettings; jfw::CJavaInfo aInfo; aInfo = (const ::JavaInfo*) pInfo; //makes a copy of pInfo -#ifndef DISABLE_DYNLOADING - OUString sLibPath = aVendorSettings.getPluginLibrary(aInfo.getVendor()); - osl::Module modulePlugin(sLibPath); - if ( ! modulePlugin) - return JFW_E_NO_PLUGIN; - OUString sFunctionName("jfw_plugin_existJRE"); - jfw_plugin_existJRE_ptr pFunc = - (jfw_plugin_existJRE_ptr) - osl_getFunctionSymbol(modulePlugin, sFunctionName.pData); - if (pFunc == NULL) - return JFW_E_ERROR; -#else - jfw_plugin_existJRE_ptr pFunc = - jfw_plugin_existJRE; -#endif - javaPluginError plerr = (*pFunc)(pInfo, exist); + javaPluginError plerr = jfw_plugin_existJRE(pInfo, exist); javaFrameworkError ret = JFW_E_NONE; switch (plerr) diff --git a/jvmfwk/source/fwkbase.cxx b/jvmfwk/source/fwkbase.cxx index 3b4fba3..84dcbb5 100644 --- a/jvmfwk/source/fwkbase.cxx +++ b/jvmfwk/source/fwkbase.cxx @@ -118,53 +118,6 @@ VendorSettings::VendorSettings(): } } -std::vector<PluginLibrary> VendorSettings::getPluginData() -{ - OString sExcMsg("[Java framework] Error in function VendorSettings::getVendorPluginURLs " - "(fwkbase.cxx)."); - std::vector<PluginLibrary> vecPlugins; - CXPathObjectPtr result(xmlXPathEvalExpression( - (xmlChar*)"/jf:javaSelection/jf:plugins/jf:library", - m_xmlPathContextVendorSettings)); - if (xmlXPathNodeSetIsEmpty(result->nodesetval)) - throw FrameworkException(JFW_E_ERROR, sExcMsg); - - //get the values of the library elements + vendor attribute - xmlNode* cur = result->nodesetval->nodeTab[0]; - - while (cur != NULL) - { - //between library elements are also text elements - if (cur->type == XML_ELEMENT_NODE) - { - CXmlCharPtr sAttrVendor(xmlGetProp(cur, (xmlChar*) "vendor")); - CXmlCharPtr sTextLibrary( - xmlNodeListGetString(m_xmlDocVendorSettings, - cur->xmlChildrenNode, 1)); - PluginLibrary plugin; - OString osVendor((sal_Char*)(xmlChar*) sAttrVendor); - plugin.sVendor = OStringToOUString(osVendor, RTL_TEXTENCODING_UTF8); - - //create the file URL to the library - OUString sUrl = findPlugin( - m_xmlDocVendorSettingsFileUrl, sTextLibrary); - if (sUrl.isEmpty()) - { - OString sPlugin = OUStringToOString( - sTextLibrary, osl_getThreadTextEncoding()); - throw FrameworkException( - JFW_E_CONFIGURATION, - "[Java framework] The file: " + sPlugin + " does not exist."); - } - plugin.sPath = sUrl; - - vecPlugins.push_back(plugin); - } - cur = cur->next; - } - return vecPlugins; -} - VersionInfo VendorSettings::getVersionInformation(const OUString & sVendor) { OSL_ASSERT(!sVendor.isEmpty()); @@ -250,67 +203,29 @@ VersionInfo VendorSettings::getVersionInformation(const OUString & sVendor) std::vector<OUString> VendorSettings::getSupportedVendors() { std::vector<OUString> vecVendors; - //get the nodeset for the library elements + //get the nodeset for the vendor elements jfw::CXPathObjectPtr result; result = xmlXPathEvalExpression( - (xmlChar*)"/jf:javaSelection/jf:plugins/jf:library", + (xmlChar*)"/jf:javaSelection/jf:vendorInfos/jf:vendor", m_xmlPathContextVendorSettings); - if (xmlXPathNodeSetIsEmpty(result->nodesetval)) - throw FrameworkException( - JFW_E_ERROR, - OString("[Java framework] Error in function getSupportedVendors (fwkbase.cxx).")); - - //get the values of the library elements + vendor attribute - xmlNode* cur = result->nodesetval->nodeTab[0]; - while (cur != NULL) + if (!xmlXPathNodeSetIsEmpty(result->nodesetval)) { - //between library elements are also text elements - if (cur->type == XML_ELEMENT_NODE) + //get the values of the vendor elements + name attribute + xmlNode* cur = result->nodesetval->nodeTab[0]; + while (cur != NULL) { - jfw::CXmlCharPtr sAttrVendor(xmlGetProp(cur, (xmlChar*) "vendor")); - vecVendors.push_back(sAttrVendor); + //between vendor elements are also text elements + if (cur->type == XML_ELEMENT_NODE) + { + jfw::CXmlCharPtr sAttrVendor(xmlGetProp(cur, (xmlChar*) "name")); + vecVendors.push_back(sAttrVendor); + } + cur = cur->next; } - cur = cur->next; } return vecVendors; } -OUString VendorSettings::getPluginLibrary(const OUString& sVendor) -{ - OSL_ASSERT(!sVendor.isEmpty()); - - OString sExcMsg("[Java framework] Error in function getPluginLibrary (fwkbase.cxx)."); - OUStringBuffer usBuffer(256); - usBuffer.appendAscii("/jf:javaSelection/jf:plugins/jf:library[@vendor=\""); - usBuffer.append(sVendor); - usBuffer.appendAscii("\"]/text()"); - OUString ouExpr = usBuffer.makeStringAndClear(); - OString sExpression = - OUStringToOString(ouExpr, osl_getThreadTextEncoding()); - CXPathObjectPtr pathObjVendor; - pathObjVendor = xmlXPathEvalExpression( - (xmlChar*) sExpression.getStr(), m_xmlPathContextVendorSettings); - if (xmlXPathNodeSetIsEmpty(pathObjVendor->nodesetval)) - throw FrameworkException(JFW_E_ERROR, sExcMsg); - - CXmlCharPtr xmlCharPlugin; - xmlCharPlugin = - xmlNodeListGetString( - m_xmlDocVendorSettings,pathObjVendor->nodesetval->nodeTab[0], 1); - - //make an absolute file url from the relative plugin URL - OUString sUrl = findPlugin(m_xmlDocVendorSettingsFileUrl, xmlCharPlugin); - if (sUrl.isEmpty()) - { - OString sPlugin = OUStringToOString( - xmlCharPlugin, osl_getThreadTextEncoding()); - throw FrameworkException( - JFW_E_CONFIGURATION, - "[Java framework] The file: " + sPlugin + " does not exist."); - } - return sUrl; -} - ::std::vector<OString> BootParams::getVMParameters() { ::std::vector<OString> vecParams; diff --git a/jvmfwk/source/fwkbase.hxx b/jvmfwk/source/fwkbase.hxx index 89e7b57..a8efc2a 100644 --- a/jvmfwk/source/fwkbase.hxx +++ b/jvmfwk/source/fwkbase.hxx @@ -34,19 +34,6 @@ class VendorSettings public: VendorSettings(); - /** Gets all plugin library URLs with the corresponding vendor name. - - It uses the /javaSelection/plugins/library element from the javavendors.xml - to locate the library. - Is is verified that the plug-in exist. If a plug-in does not exist then an - exception is thrown containing the error JFW_E_CONFIGURATION - */ - ::std::vector<PluginLibrary> getPluginData(); - - /* returns the file URL to the plugin. - */ - OUString getPluginLibrary(const OUString& sVendor); - VersionInfo getVersionInformation(const OUString & sVendor); ::std::vector< OUString> getSupportedVendors(); diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk index 0876dee..d79e1ce 100644 --- a/solenv/gbuild/CppunitTest.mk +++ b/solenv/gbuild/CppunitTest.mk @@ -296,7 +296,6 @@ $(call gb_CppunitTest_get_target,$(1)) : \ $(call gb_Library_get_target,juhx) \ $(call gb_Library_get_target,jvmaccess) \ $(call gb_Library_get_target,jvmfwk) \ - $(call gb_Library_get_target,sunjavaplugin) \ $(call gb_Package_get_target,jvmfwk_javavendors) \ $(call gb_Package_get_target,jvmfwk_jreproperties) diff --git a/ure/source/README b/ure/source/README index 16fce15..1a1c247 100644 --- a/ure/source/README +++ b/ure/source/README @@ -49,7 +49,6 @@ ELF platforms (Linux, Solaris, *BSD): /opt/openoffice.org/ure/lib/libxmlreaderlo.so [private] /opt/openoffice.org/ure/lib/libjvmaccesslo.so [private] /opt/openoffice.org/ure/lib/libjvmfwklo.so [private] -/opt/openoffice.org/ure/lib/libsunjavapluginlo.so [private] /opt/openoffice.org/ure/lib/JREProperties.class [private] /opt/openoffice.org/ure/lib/jvmfwk3rc [private] /opt/openoffice.org/ure/lib/libgcc3_uno.so [private] @@ -108,7 +107,6 @@ Program Files\URE\bin\unoidllo.dll [private] Program Files\URE\bin\xmlreaderlo.dll [private] Program Files\URE\bin\jvmaccesslo.dll [private] Program Files\URE\bin\jvmfwklo.dll [private] -Program Files\URE\bin\sunjavapluginlo.dll [private] Program Files\URE\bin\JREProperties.class [private] Program Files\URE\bin\jvmfwk3.ini [private] Program Files\URE\bin\msci_uno.dll [private] commit 3de89997f492c1216592fa4db1c7e6ce6c3fe4fa Author: Stephan Bergmann <sberg...@redhat.com> Date: Thu Oct 9 17:14:53 2014 +0200 UNO_JAVA_JFW_PLUGIN is long gone ...since e7f7d511a3ad39faef431bdfc2a79fa090d0b5f7 etc. "INTEGRATION: CWS jl15: #i37828# removed support of bootstrap parameters UNO_JAVA_JFW_DISABLE and UNO_JAVA_JFW_PLUGIN" Change-Id: Ia70fa9919b4b55e8b13473602cfca723f554ec30 diff --git a/include/jvmfwk/framework.h b/include/jvmfwk/framework.h index 570f852..dc99015 100644 --- a/include/jvmfwk/framework.h +++ b/include/jvmfwk/framework.h @@ -104,7 +104,7 @@ extern "C" { <p> regcomp -env:UNO_JAVA_JFW_JREHOME=file:///d:/j2re1.4.2 -env:"UNO_JAVA_JFW_CLASSPATH=d:\\solver\\bin\\classes.jar;d:\\solver\\bin\\jurt.jar" - -env:UNO_JAVA_JFW_PLUGIN=file:\\solver\\bin\\libsunjavaplugin.dll -register .... + -register .... </p> <p>Additionall parameters for the Java VM can be provided. For every parameter a separate bootstrap parameter must be specified. The names are @@ -137,10 +137,6 @@ extern "C" { environment variable CLASSPATH. If this variable and UNO_JAVA_JFW_CLASSPATH are set then the class path is composed from UNO_JAVA_JFW_CLASSPATH and the environment variable CLASSPATH.</dd> - <dt>UNO_JAVA_JFW_PLUGIN</dt> - <dd>Specified a file URL to a plugin library. If this variable is provided - then a javavendors.xml is ignored. It must be provided if no - javavendors.xml is available.</dd> <dt>UNO_JAVA_JFW_PARAMETER_X</dt> <dd>Specifies a parameter for the Java VM. The X is replaced by non-negative natural numbers starting with 1.</dd> commit eef4f79eb86ff2b515d53d9802d54027d32bfde4 Author: Stephan Bergmann <sberg...@redhat.com> Date: Thu Oct 9 17:03:30 2014 +0200 More specific Change-Id: I7e6490c5b50a236a5f070e98d4501e7dd5a90307 diff --git a/sal/qa/osl/process/osl_process.cxx b/sal/qa/osl/process/osl_process.cxx index b0ef781..07731e8 100644 --- a/sal/qa/osl/process/osl_process.cxx +++ b/sal/qa/osl/process/osl_process.cxx @@ -38,7 +38,9 @@ #include <sal/macros.h> #if defined HAVE_VALGRIND_HEADERS -#include <valgrind/memcheck.h> +#include <valgrind/valgrind.h> +#else +#define RUNNING_ON_VALGRIND false #endif #if ( defined WNT ) // Windows @@ -90,11 +92,11 @@ inline ::rtl::OUString getExecutablePath( void ) //rtl::OUString CWD = getExecutablePath(); -typedef std::vector<std::string> string_container_t; +typedef std::vector<OString> string_container_t; typedef string_container_t::const_iterator string_container_const_iter_t; typedef string_container_t::iterator string_container_iter_t; -class exclude : public std::unary_function<std::string, bool> +class exclude : public std::unary_function<OString, bool> { public: @@ -106,7 +108,7 @@ public: exclude_list_.push_back(env_var_name(*iter)); } - bool operator() (const std::string& env_var) const + bool operator() (const OString& env_var) const { return (exclude_list_.end() != std::find( @@ -119,15 +121,15 @@ private: // extract the name from an environment variable // that is given in the form "NAME=VALUE" - std::string env_var_name(const std::string& env_var) const + OString env_var_name(const OString& env_var) const { - std::string::size_type pos_equal_sign = - env_var.find_first_of("="); + sal_Int32 pos_equal_sign = + env_var.indexOf('='); - if (std::string::npos != pos_equal_sign) - return std::string(env_var, 0, pos_equal_sign); + if (-1 != pos_equal_sign) + return env_var.copy(0, pos_equal_sign); - return std::string(); + return OString(); } private: @@ -136,27 +138,20 @@ private: namespace { - class starts_with - : public std::unary_function<const std::string&, bool> - { - private: - const std::string m_rString; - public: - starts_with(const char *pString) : m_rString(pString) {} - bool operator()(const std::string &rEntry) const - { - return rEntry.find(m_rString) == 0; - } - }; - void tidy_container(string_container_t &env_container) { //sort them because there are no guarantees to ordering std::sort(env_container.begin(), env_container.end()); - //remove LD_PRELOAD because valgrind injects that into the - //parent process - env_container.erase(std::remove_if(env_container.begin(), env_container.end(), - starts_with("LD_PRELOAD=")), env_container.end()); + if (RUNNING_ON_VALGRIND) + { + env_container.erase( + std::remove_if( + env_container.begin(), env_container.end(), + [](OString const & s) { + return s.startsWith("LD_PRELOAD=") + || s.startsWith("VALGRIND_LIB="); }), + env_container.end()); + } } } @@ -168,7 +163,7 @@ namespace while (size_t l = _tcslen(p)) { - env_container->push_back(std::string(p)); + env_container->push_back(OString(p)); p += l + 1; } FreeEnvironmentStrings(env); @@ -178,7 +173,7 @@ namespace void read_parent_environment(string_container_t* env_container) { for (int i = 0; NULL != environ[i]; i++) - env_container->push_back(std::string(environ[i])); + env_container->push_back(OString(environ[i])); tidy_container(*env_container); } #endif @@ -246,14 +241,14 @@ public: std::string line; line.reserve(1024); while (std::getline(file, line, '\0')) - env_container->push_back(line); + env_container->push_back(OString(line.c_str())); tidy_container(*env_container); } // environment of the child process that was // started. The child process writes his // environment into a file - bool compare_environments() + void compare_environments() { string_container_t parent_env; read_parent_environment(&parent_env); @@ -261,8 +256,20 @@ public: string_container_t child_env; read_child_environment(&child_env); - return ((parent_env.size() == child_env.size()) && - (std::equal(child_env.begin(), child_env.end(), parent_env.begin()))); + OString msg( + OString::number(parent_env.size()) + "/" + + OString::number(child_env.size())); + auto min = std::min(parent_env.size(), child_env.size()); + for (decltype(min) i = 0; i != min; ++i) { + CPPUNIT_ASSERT_EQUAL_MESSAGE( + msg.getStr(), parent_env[i], child_env[i]); + } + if (parent_env.size() != child_env.size()) { + CPPUNIT_ASSERT_EQUAL_MESSAGE( + (parent_env.size() >= child_env.size() + ? parent_env.back() : child_env.back()).getStr(), + parent_env.size(), child_env.size()); + } } // compare the equal environment parts and the @@ -367,17 +374,7 @@ public: osl_freeProcessHandle(process); -#if defined HAVE_VALGRIND_HEADERS - //valgrind makes these not match - if (RUNNING_ON_VALGRIND) - return; -#endif - - CPPUNIT_ASSERT_MESSAGE - ( - "Parent and child environment not equal", - compare_environments() - ); + compare_environments(); } #define ENV1 "PAT=a:\\" @@ -431,12 +428,6 @@ public: different_child_env_vars.push_back(ENV2); different_child_env_vars.push_back(ENV4); -#if defined HAVE_VALGRIND_HEADERS - //valgrind makes these not match - if (RUNNING_ON_VALGRIND) - return; -#endif - CPPUNIT_ASSERT_MESSAGE ( "osl_execProc_merged_child_environment", _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits