Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: FW: [higgins-dev] Higgins configuration code and org.eclipse.core.runtime.Platform

Hi Tom,
actually part of code which used eclipse platform was added by Mike, I just moved Mikes code to separated package to allow build when eclipse not available. Here is Mike's explanations of problem. As I understand this exception appears only when traditional class load mechanism fails.

Peter,

I've discussed this topic recently on the IRC channel and at the Server
Architecture meeting in NY.

The configuration framework loads classes from plugins or jars by name.
With traditional jars this works fine as long as the class implementations
are on the classpath at runtime.
Once we moved these implementations into plugins and ran them in an OSGi
framework, the rules prevented the classes from being loaded.
In order to avoid this problem I created extension points in the component
framework and each dynamically loaded class is now an extension.
In the plugins/jars that implement these extensions, this is just an entry
in the plugin.xml (no code dependenciy on eclipse at build or runtime.
As you've found, in the configuration.common there is code that executes,
if the traditional class load fails, to load the extension with the same
name as the class.
This configuraiton.common code requires eclipse in order to build. During
runtime it only executes this new code if the traditional class load fails.
If old code would have successfully loaded classes, new code will do the
same.
If old code would have failed to load classes, new code tries via extension
mechanism.
If new code is running in eclipse this works if the extension is present.
If new code is running without eclipse, this results in class not found
exception.

Therefore, class not found exception (for eclipse.core) in new code happens
only when class not found exception (for dynamically loaded class) would
have otherwise happened.

I would like to eventually refactor this code so this dependency is in a
separate module that can be implemented either for eclipse or for standard jars to remove the build dependency on eclipse for those that never expect
to run in that environment.

Regards,
Mike

higgins-dev-bounces@xxxxxxxxxxx wrote on 12/21/2007 06:03:15 AM:


> Hi Mike,
> I find that you made some changes to configuration.common which causes
> problems with jar build. I mean that now jars can not be built and used
> without eclipse runtime. A specially this is critical for deployments.
> Peter
> _______________________________________________
> higgins-dev mailing list
> higgins-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/higgins-dev

_______________________________________________
higgins-dev mailing list
higgins-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/higgins-dev
Peter

Brian Walker wrote:
Hi Peter - can you please look into this issue and offer a resolution and publish as a reply to the below email?

Going forward - we will need to communicate to Higgins Dev about key check-ins that have impact to compile time or run time dependancies.

thanks in advance ...Brian


Brian Walker
VP of Engineering
Parity Communications Inc
cell: 781-801-0254
________________________________________
From: higgins-dev-bounces@xxxxxxxxxxx [higgins-dev-bounces@xxxxxxxxxxx] On Behalf Of Michael McIntosh [mikemci@xxxxxxxxxx]
Sent: Tuesday, May 27, 2008 8:08 PM
To: Higgins (Trust Framework) Project developer discussions
Cc: Higgins (Trust Framework) Project developer discussions; higgins-dev-bounces@xxxxxxxxxxx Subject: Re: [higgins-dev] Higgins configuration code and org.eclipse.core.runtime.Platform

This seems to have started happening a while ago when changes were checked
in by Peter Kimlach.
It seems like his changes reduced the compile time dependencies but
increased the runtime dependencies on Eclipse.

Regards,
Mike

higgins-dev-bounces@xxxxxxxxxxx wrote on 05/27/2008 06:57:12 PM:

[image removed]

[higgins-dev] Higgins configuration code and
org.eclipse.core.runtime.Platform
Tom Doman

to:

Higgins (Trust Framework) Project developer discussions

05/27/2008 07:38 PM

Sent by:

higgins-dev-bounces@xxxxxxxxxxx

Please respond to "Higgins \(Trust Framework\) Project developer
discussions"
Though it would appear that the Higgins configuration code
(org.eclipse.higgins.configuration.common.plugin) has been using
org.eclipse.core.runtime code for some time, I am having problems
using that package in my project when I run my tests.

When I invoked the configuration code in my tests, I see the following:

java.lang.NoClassDefFoundError: org/eclipse/core/runtime/Platform
   at

org.eclipse.higgins.configuration.common.plugin.ExtensionHelper.getInstanceByExtension

(ExtensionHelper.java:20)
   at
org.eclipse.higgins.configuration.xml.ConfigurationHandler.configure
(ConfigurationHandler.java:266)
   at
org.eclipse.higgins.configuration.xml.ConfigurationHandler.configure
(ConfigurationHandler.java:174)
   at org.bandit.otis.test.IdentityServiceTest.getSetttings
(IdentityServiceTest.java:499)
   at org.bandit.otis.test.IdentityServiceTest.setUp
(IdentityServiceTest.java:56)
   at junit.framework.TestCase.runBare(TestCase.java:128)
   at junit.framework.TestResult$1.protect(TestResult.java:106)
   at junit.framework.TestResult.runProtected(TestResult.java:124)
   at junit.framework.TestResult.run(TestResult.java:109)
   at junit.framework.TestCase.run(TestCase.java:120)
   at junit.framework.TestSuite.runTest(TestSuite.java:230)
   at junit.framework.TestSuite.run(TestSuite.java:225)
   at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run
(JUnit3TestReference.java:130)
   at org.eclipse.jdt.internal.junit.runner.TestExecution.run
(TestExecution.java:38)
   at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:460)
   at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:673)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
(RemoteTestRunner.java:386)
   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
(RemoteTestRunner.java:196)

Does anyone have any idea what we'd need to do to rectify this situation?

Thanks,
Tom

_______________________________________________
higgins-dev mailing list
higgins-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/higgins-dev

_______________________________________________
higgins-dev mailing list
higgins-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/higgins-dev




Back to the top