You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Raymond Feng <en...@gmail.com> on 2006/08/09 02:12:51 UTC

Running calculator test case inside Eclipse

Hi,

If I run the Calculator test case inside Eclipse without setting the 
"tuscany.installDirectory" system property, I get the following exception.

java.lang.IllegalStateException: Must be run from a jar: 
file:/C:/Tuscany/Apache/java/sca/core/target/classes/org/apache/tuscany/core/launcher/Launcher.class
 at 
org.apache.tuscany.core.launcher.Launcher.getInstallDirectory(Launcher.java:175)
 at org.apache.tuscany.core.launcher.Launcher.bootRuntime(Launcher.java:105)
 at org.apache.tuscany.test.SCATestCase.setUp(SCATestCase.java:52)
 at calculator.CalculatorTestCase.setUp(CalculatorTestCase.java:32)
 at junit.framework.TestCase.runBare(TestCase.java:125)
 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:118)
 at junit.framework.TestSuite.runTest(TestSuite.java:208)
 at junit.framework.TestSuite.run(TestSuite.java:203)
 at 
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
 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)

Can we relax this constraint? I checked the references to 
RuntimeInfo.getInstallDirectory() and found out it's only used to deploy 
extensions. We also have a "TODO" in the code saying "do we want to support 
unpacked directories as extensions?".

For the RuntimeInfo interface, is it designed to provide the install 
directory or a list of URLs representing extension SCDLs (by reading the 
code, this is how the interface is used today)? If it's the later case, I 
think we should have the following RuntimeInfo interface:

public interface RuntimeInfo {
    public List<URL> getInstalledExtensions();
}

Any thoughts?

Thanks,
Raymond 


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: Running calculator test case inside Eclipse

Posted by Jojo <jo...@gmail.com>.
Hi,

Why is it mandatory that the launcher should be loaded from a jar file ?

I also faced the same problem while tryin the samples sometime back.
This could be fixed if you make your sample dependant on the jar file
rather than a project level dependancy.

Another question I had is, inside the launcher, can we return null
instead of throwing an IllegalStateException if launcher is not loaded
from a jar file ? ie to modify the code as :

	if (!"jar".equals(url.getProtocol())) {
        	//throw new IllegalStateException("Must be run from a jar: " + url);
        	return null;
	}

Regards,
jojo.


On 8/9/06, Jeremy Boynes <jb...@apache.org> wrote:
> The purpose of RuntimeInfo is to provide information about the runtime:
> http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/200607.mbox/%
> 3cDEAE967E-869D-42AA-AB65-97B94CC3993B@apache.org%3e
> and see the JavaDoc at
> https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/spi/src/
> main/java/org/apache/tuscany/spi/services/info/RuntimeInfo.java
>
> The extension mechanism uses this to locate the directory to scan but
> that is a feature of the DirectoryScanExtender and not RuntimeInfo.
>
> --
> Jeremy
>
> On Aug 8, 2006, at 5:12 PM, Raymond Feng wrote:
>
> > Hi,
> >
> > If I run the Calculator test case inside Eclipse without setting
> > the "tuscany.installDirectory" system property, I get the following
> > exception.
> >
> > java.lang.IllegalStateException: Must be run from a jar: file:/C:/
> > Tuscany/Apache/java/sca/core/target/classes/org/apache/tuscany/core/
> > launcher/Launcher.class
> > at org.apache.tuscany.core.launcher.Launcher.getInstallDirectory
> > (Launcher.java:175)
> > at org.apache.tuscany.core.launcher.Launcher.bootRuntime
> > (Launcher.java:105)
> > at org.apache.tuscany.test.SCATestCase.setUp(SCATestCase.java:52)
> > at calculator.CalculatorTestCase.setUp(CalculatorTestCase.java:32)
> > at junit.framework.TestCase.runBare(TestCase.java:125)
> > 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:118)
> > at junit.framework.TestSuite.runTest(TestSuite.java:208)
> > at junit.framework.TestSuite.run(TestSuite.java:203)
> > at
> > org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run
> > (JUnit3TestReference.java:128)
> > 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)
> >
> > Can we relax this constraint? I checked the references to
> > RuntimeInfo.getInstallDirectory() and found out it's only used to
> > deploy extensions. We also have a "TODO" in the code saying "do we
> > want to support unpacked directories as extensions?".
> >
> > For the RuntimeInfo interface, is it designed to provide the
> > install directory or a list of URLs representing extension SCDLs
> > (by reading the code, this is how the interface is used today)? If
> > it's the later case, I think we should have the following
> > RuntimeInfo interface:
> >
> > public interface RuntimeInfo {
> >    public List<URL> getInstalledExtensions();
> > }
> >
> > Any thoughts?
> >
> > Thanks,
> > Raymond
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
>


-- 
Warm regards,
jojo.

---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: Running calculator test case inside Eclipse

Posted by Jeremy Boynes <jb...@apache.org>.
The purpose of RuntimeInfo is to provide information about the runtime:
http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/200607.mbox/% 
3cDEAE967E-869D-42AA-AB65-97B94CC3993B@apache.org%3e
and see the JavaDoc at
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/spi/src/ 
main/java/org/apache/tuscany/spi/services/info/RuntimeInfo.java

The extension mechanism uses this to locate the directory to scan but  
that is a feature of the DirectoryScanExtender and not RuntimeInfo.

--
Jeremy

On Aug 8, 2006, at 5:12 PM, Raymond Feng wrote:

> Hi,
>
> If I run the Calculator test case inside Eclipse without setting  
> the "tuscany.installDirectory" system property, I get the following  
> exception.
>
> java.lang.IllegalStateException: Must be run from a jar: file:/C:/ 
> Tuscany/Apache/java/sca/core/target/classes/org/apache/tuscany/core/ 
> launcher/Launcher.class
> at org.apache.tuscany.core.launcher.Launcher.getInstallDirectory 
> (Launcher.java:175)
> at org.apache.tuscany.core.launcher.Launcher.bootRuntime 
> (Launcher.java:105)
> at org.apache.tuscany.test.SCATestCase.setUp(SCATestCase.java:52)
> at calculator.CalculatorTestCase.setUp(CalculatorTestCase.java:32)
> at junit.framework.TestCase.runBare(TestCase.java:125)
> 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:118)
> at junit.framework.TestSuite.runTest(TestSuite.java:208)
> at junit.framework.TestSuite.run(TestSuite.java:203)
> at  
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run 
> (JUnit3TestReference.java:128)
> 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)
>
> Can we relax this constraint? I checked the references to  
> RuntimeInfo.getInstallDirectory() and found out it's only used to  
> deploy extensions. We also have a "TODO" in the code saying "do we  
> want to support unpacked directories as extensions?".
>
> For the RuntimeInfo interface, is it designed to provide the  
> install directory or a list of URLs representing extension SCDLs  
> (by reading the code, this is how the interface is used today)? If  
> it's the later case, I think we should have the following  
> RuntimeInfo interface:
>
> public interface RuntimeInfo {
>    public List<URL> getInstalledExtensions();
> }
>
> Any thoughts?
>
> Thanks,
> Raymond
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org