summaryrefslogtreecommitdiff
path: root/sj2
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2007-03-12 09:46:39 +0000
committerOliver Bolte <obo@openoffice.org>2007-03-12 09:46:39 +0000
commit3fbc94f1456819f17a0b0d8f62047123b5f3a31a (patch)
tree9b71667303e15996b4595a79a270755c6e63aa76 /sj2
parent9dfacaa6fc7e6cba7fcfd68ce0db454e46e638a2 (diff)
INTEGRATION: CWS sb36 (1.24.4); FILE MERGED
2006/11/08 13:47:03 sb 1.24.4.5: RESYNC: (1.26-1.27); FILE MERGED 2006/03/13 10:25:27 sb 1.24.4.4: RESYNC: (1.25-1.26); FILE MERGED 2005/09/22 00:58:26 sb 1.24.4.3: RESYNC: (1.24-1.25); FILE MERGED 2005/07/14 12:36:09 sb 1.24.4.2: #i51803# Adapted to new jvmaccess::ClassPath functionality. 2005/07/11 13:10:05 sb 1.24.4.1: #i51803# Changed parameters of SjApplet2::Init, so that SjApplet2_Impl::Init can set up a class loader that explicitly knows classes.jar; cleaned up.
Diffstat (limited to 'sj2')
-rw-r--r--sj2/source/jscpp/sjapplet_impl.cxx38
1 files changed, 27 insertions, 11 deletions
diff --git a/sj2/source/jscpp/sjapplet_impl.cxx b/sj2/source/jscpp/sjapplet_impl.cxx
index 89c34babc977..c0b0aec9d911 100644
--- a/sj2/source/jscpp/sjapplet_impl.cxx
+++ b/sj2/source/jscpp/sjapplet_impl.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: sjapplet_impl.cxx,v $
*
- * $Revision: 1.27 $
+ * $Revision: 1.28 $
*
- * last change: $Author: hr $ $Date: 2006-06-19 10:38:55 $
+ * last change: $Author: obo $ $Date: 2007-03-12 10:46:39 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -54,6 +54,9 @@
#include <vcl/syschild.hxx>
#include <vcl/sysdata.hxx>
#include <com/sun/star/java/XJavaVM.hpp>
+#include "com/sun/star/lang/XMultiComponentFactory.hpp"
+#include "com/sun/star/uno/XComponentContext.hpp"
+#include "jvmaccess/classpath.hxx"
#ifdef UNX
#define Time xlib_time
@@ -72,7 +75,6 @@
using namespace ::rtl;
using namespace ::osl;
-using namespace ::utl;
#ifdef SOLAR_JAVA
using namespace ::com::sun::star::java;
#endif // SOLAR_JAVA
@@ -275,10 +277,10 @@ SjApplet2_Impl::~SjApplet2_Impl() throw()
#endif
}
-void SjApplet2_Impl::init(Window * pParentWin,
- const css::uno::Reference<XMultiServiceFactory> & smgr,
- const INetURLObject & rDocBase,
- const SvCommandList & rCmdList)
+void SjApplet2_Impl::init(
+ Window * pParentWin,
+ css::uno::Reference< css::uno::XComponentContext > const & context,
+ const INetURLObject & rDocBase, const SvCommandList & rCmdList)
throw(com::sun::star::uno::RuntimeException)
{
#ifdef SOLAR_JAVA
@@ -308,9 +310,15 @@ void SjApplet2_Impl::init(Window * pParentWin,
OSL_TRACE("SjApplet2_Impl::init - mainUrl: %s\n", tmp.getStr());
#endif
- css::uno::Reference<XJavaVM>_xJavaVM =
- css::uno::Reference<XJavaVM>(smgr->createInstance(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.java.JavaVirtualMachine"))), UNO_QUERY);
+ css::uno::Reference<XJavaVM> _xJavaVM = css::uno::Reference<XJavaVM>(
+ (css::uno::Reference< css::lang::XMultiComponentFactory >(
+ context->getServiceManager(), css::uno::UNO_QUERY_THROW)->
+ createInstanceWithContext(
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.star.java.JavaVirtualMachine")),
+ context)),
+ UNO_QUERY);
Sequence<sal_Int8> processID(17);
rtl_getGlobalProcessId((sal_uInt8 *)processID.getArray());
processID[16] = 0;
@@ -331,7 +339,15 @@ void SjApplet2_Impl::init(Window * pParentWin,
JNIEnv * pEnv = vmAttachGuard.getEnvironment();
- _jcAppletExecutionContext = pEnv->FindClass("stardiv/applet/AppletExecutionContext"); testJavaException(pEnv);
+ _jcAppletExecutionContext = jvmaccess::ClassPath::loadClass(
+ context, pEnv,
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "vnd.sun.star.expand:$ORIGIN/classes/classes.jar")),
+ rtl::OUString(
+ RTL_CONSTASCII_USTRINGPARAM(
+ "stardiv.applet.AppletExecutionContext")));
+ testJavaException(pEnv);
_jcAppletExecutionContext = (jclass) pEnv->NewGlobalRef(_jcAppletExecutionContext ); testJavaException(pEnv);
jclass jcURL = pEnv->FindClass("java/net/URL"); testJavaException(pEnv);