You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by Juan Pablo Pizarro <ju...@gmail.com> on 2010/04/26 15:20:29 UTC

Documentation

Hi all, i'm rookie in tuscani and i need a guide or documentation. I saw the
documentation that exists in the site, but is over old versions. I bought a
book to get concepts and it is a good book, but again is based on old
version.

Have anybody a document or link about tuscani 2.x tutorial?. I use eclipse
and trying to use tuscani 2.x within eclipse.

Thanks..

JP

Re: Documentation

Posted by Juan Pablo Pizarro <ju...@gmail.com>.
Excelent!!, I'm changing my version to see your progress, maybe I'll lucky.

Thanks!




2010/4/30 Simon Laws <si...@googlemail.com>

> On Thu, Apr 29, 2010 at 12:45 PM, Simon Laws <si...@googlemail.com>
> wrote:
> > On Tue, Apr 27, 2010 at 10:27 PM, Juan Pablo Pizarro
> > <ju...@gmail.com> wrote:
> >> Simon, I'm trying to complete the restaurant exmple, but if you tell me
> that
> >> the calculator is better case I start with that. I attach my project. I
> have
> >> the restaurant.composite into com.casa.comp.restaurant.
> >>
> >> My implementation is in com.casa.comp.restaurant.impl and my interfaces
> in
> >> com.casa.comp.restaurant.api.
> >>
> >> I will try the calculator too, but I'm courios about the restorant issue
> >> too.
> >>
> >> Thanks!
> >>
> >>
> >>
> >> 2010/4/27 Simon Laws <si...@googlemail.com>
> >>>
> >>> On Mon, Apr 26, 2010 at 7:43 PM, Juan Pablo Pizarro
> >>> <ju...@gmail.com> wrote:
> >>> > Hello Simon!, I'm trying to run a example that saw in the
> documentation.
> >>> > I
> >>> > write restaurant application, services, etc. I write a test case to
> run
> >>> > the
> >>> > application and I found a error:
> >>> >
> >>> > org.oasisopen.sca.ServiceRuntimeException: No SCA contributions are
> >>> > found on
> >>> > the classpath
> >>> >     at
> >>> >
> org.apache.tuscany.sca.node.NodeFactory.createNode(NodeFactory.java:289)
> >>> >     at
> >>> >
> >>> >
> com.casa.comp.restaurant.RestaurantTest.testService(RestaurantTest.java:18)
> >>> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>> >     at
> >>> >
> >>> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >>> >     at
> >>> >
> >>> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >>> >     at java.lang.reflect.Method.invoke(Method.java:597)
> >>> >     at junit.framework.TestCase.runTest(TestCase.java:168)
> >>> >     at junit.framework.TestCase.runBare(TestCase.java:134)
> >>> >     at junit.framework.TestResult$1.protect(TestResult.java:110)
> >>> >     at junit.framework.TestResult.runProtected(TestResult.java:128)
> >>> >     at junit.framework.TestResult.run(TestResult.java:113)
> >>> >     at junit.framework.TestCase.run(TestCase.java:124)
> >>> >     at junit.framework.TestSuite.runTest(TestSuite.java:232)
> >>> >     at junit.framework.TestSuite.run(TestSuite.java:227)
> >>> >     at
> >>> >
> >>> >
> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
> >>> >     at
> >>> >
> >>> >
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
> >>> >     at
> >>> >
> >>> >
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> >>> >     at
> >>> >
> >>> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> >>> >     at
> >>> >
> >>> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> >>> >     at
> >>> >
> >>> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> >>> >     at
> >>> >
> >>> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> >>> >
> >>> >
> >>> > My test case:
> >>> >
> >>> >    public void testService() throws Exception {
> >>> >
> >>> >         Node node =
> >>> > NodeFactory.newInstance().createNode("Restaurant.composite").start();
> >>> >         RestaurantService restaurantService =
> >>> > node.getService(RestaurantService.class,
> "RestaurantServiceComponent");
> >>> >
> >>> >         Menu[] menus = restaurantService.getMenus();
> >>> >
> >>> >         System.out.println("--- Menu ---");
> >>> >         for (Menu m : menus) {
> >>> >             System.out.println("- " + m.printMenu());
> >>> >         }
> >>> >
> >>> >         System.out.println();
> >>> >         Menu menu = menus[3];
> >>> >
> >>> >         System.out.println("My choice: " + menu.printMenu());
> >>> >         System.out.println();
> >>> >
> >>> >         double price = restaurantService.getBill(menu);
> >>> >         System.out.println("Price (" + menu.printMenu() + "): " +
> >>> > price);
> >>> >     }
> >>> >
> >>> >
> >>> > Then I read that the application would be runned in a application
> server
> >>> > (OSGI specs compliant). Then I start to configure the application and
> I
> >>> > miss
> >>> > the launcher main class.
> >>> >
> >>> >
> >>> >
> http://wiki.eclipse.org/STP/SCA_Component/SCA_Java_Run_and_Debug_Tuscany
> >>> >
> >>> > So.. I need some guide to follow. I continue reading google things to
> >>> > fix my
> >>> > configuration.
> >>> >
> >>> > Thanks!
> >>> >
> >>> > JP
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> > 2010/4/26 Simon Laws <si...@googlemail.com>
> >>> >>
> >>> >> On Mon, Apr 26, 2010 at 2:20 PM, Juan Pablo Pizarro
> >>> >> <ju...@gmail.com> wrote:
> >>> >> > Hi all, i'm rookie in tuscani and i need a guide or documentation.
> I
> >>> >> > saw
> >>> >> > the
> >>> >> > documentation that exists in the site, but is over old versions. I
> >>> >> > bought a
> >>> >> > book to get concepts and it is a good book, but again is based on
> old
> >>> >> > version.
> >>> >> >
> >>> >> > Have anybody a document or link about tuscani 2.x tutorial?. I use
> >>> >> > eclipse
> >>> >> > and trying to use tuscani 2.x within eclipse.
> >>> >> >
> >>> >> > Thanks..
> >>> >> >
> >>> >> > JP
> >>> >> >
> >>> >>
> >>> >> Hi
> >>> >>
> >>> >> Our 2.x documentation [1] is lacking in intro and sample material at
> >>> >> the moment. A number of samples that the 1.x intro material is based
> >>> >> on have been ported over into the 2.x code base but the docs haven't
> >>> >> followed yet. If you're having specific problems with Eclipse post
> the
> >>> >> details here and we'll try and help out.
> >>> >>
> >>> >> [1] http://tuscany.apache.org/documentation-2x/
> >>> >>
> >>> >> Simon
> >>> >> --
> >>> >> Apache Tuscany committer: tuscany.apache.org
> >>> >> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
> >>> >
> >>> >
> >>>
> >>> Hi JP
> >>>
> >>> Where is the file "Restaurant.composite" relative to the module that
> >>> you are using to develop the test case? Tuscany is trying to find a
> >>> contribution by looking for this file on the classpath.
> >>>
> >>> An SCA contribution is a hierarchical set of information such as
> >>> composite files, WSDLs, XSDs etc that are required to run your SCA
> >>> application. It could be a directory structure, a zip, a jar etc. When
> >>> you create the node you have to tell it which contribution to load.
> >>> If, for example, you look in the CalculatorTestCase of the 2.x
> >>> Calculator sample you see the following...
> >>>
> >>>        node = NodeFactory.newInstance().createNode((String)null, new
> >>> String[] {"target/classes"}).start();
> >>>        calculatorService = node.getService(CalculatorService.class,
> >>> "CalculatorServiceComponent");
> >>>
> >>> Here we loading the whole of the ./target/classes directory as the
> >>> contribution. We do this as this sample is build using Maven and this
> >>> is where Maven puts all the compiled Java classes and resources by
> >>> default.
> >>>
> >>> Are you able to successfully run the Calculator sample?
> >>>
> >>> Regards
> >>>
> >>> Simon
> >>>
> >>> --
> >>> Apache Tuscany committer: tuscany.apache.org
> >>> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
> >>
> >>
> >
> > OK Juan, let me take a quick look and I'll get back to you.
> >
> > Simon
> >
> > --
> > Apache Tuscany committer: tuscany.apache.org
> > Co-author of a book about Tuscany and SCA: tuscanyinaction.com
> >
>
> Hi, I took a look at this last night and there are a few changes to
> make to get you further..
>
> In RestaurantTest.testService() change
>
>        Node node =
> NodeFactory.newInstance().createNode("Restaurant.composite").start();
> to
>        Node node = NodeFactory.newInstance().createNode(new
> Contribution("MyRestaurantContribution", "./bin")).start();
>
> This is being more specific about where to find the contribution in
> your project.
>
> This runs and reports an error about a missing property in the
> composite file. To fix this I first extended the TipServiceComponent
> description...
>
>  <sca:component name="TipServiceComponent">
>    <sca:implementation.java
> class="com.casa.comp.restaurant.impl.TipServiceImpl"/>
>    <sca:service name="TipService">
>      <sca:interface.java
> interface="com.casa.comp.restaurant.api.TipService"/>
>    </sca:service>
>    <!-- tipRate was missing -->
>    <sca:property name="tipRate" value="27.13">
>    </sca:property>
>  </sca:component>
>
> However in the latest code this shows up an error in the XML
> processing in Tuscany for some reason (I'm looking at it) so as a work
> around I changed the property definition to be optional....
>
>  @Property(required=false)
>  public double tipRate = 27.13;
>
> The test case now runs. Have a go and see if you can get to the same
> position. I'll take a look at this XML processing issue.
>
> Regards
>
> Simon
>
> --
> Apache Tuscany committer: tuscany.apache.org
> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
>

Re: Documentation

Posted by Simon Laws <si...@googlemail.com>.
On Thu, Apr 29, 2010 at 12:45 PM, Simon Laws <si...@googlemail.com> wrote:
> On Tue, Apr 27, 2010 at 10:27 PM, Juan Pablo Pizarro
> <ju...@gmail.com> wrote:
>> Simon, I'm trying to complete the restaurant exmple, but if you tell me that
>> the calculator is better case I start with that. I attach my project. I have
>> the restaurant.composite into com.casa.comp.restaurant.
>>
>> My implementation is in com.casa.comp.restaurant.impl and my interfaces in
>> com.casa.comp.restaurant.api.
>>
>> I will try the calculator too, but I'm courios about the restorant issue
>> too.
>>
>> Thanks!
>>
>>
>>
>> 2010/4/27 Simon Laws <si...@googlemail.com>
>>>
>>> On Mon, Apr 26, 2010 at 7:43 PM, Juan Pablo Pizarro
>>> <ju...@gmail.com> wrote:
>>> > Hello Simon!, I'm trying to run a example that saw in the documentation.
>>> > I
>>> > write restaurant application, services, etc. I write a test case to run
>>> > the
>>> > application and I found a error:
>>> >
>>> > org.oasisopen.sca.ServiceRuntimeException: No SCA contributions are
>>> > found on
>>> > the classpath
>>> >     at
>>> > org.apache.tuscany.sca.node.NodeFactory.createNode(NodeFactory.java:289)
>>> >     at
>>> >
>>> > com.casa.comp.restaurant.RestaurantTest.testService(RestaurantTest.java:18)
>>> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> >     at
>>> >
>>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> >     at
>>> >
>>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> >     at java.lang.reflect.Method.invoke(Method.java:597)
>>> >     at junit.framework.TestCase.runTest(TestCase.java:168)
>>> >     at junit.framework.TestCase.runBare(TestCase.java:134)
>>> >     at junit.framework.TestResult$1.protect(TestResult.java:110)
>>> >     at junit.framework.TestResult.runProtected(TestResult.java:128)
>>> >     at junit.framework.TestResult.run(TestResult.java:113)
>>> >     at junit.framework.TestCase.run(TestCase.java:124)
>>> >     at junit.framework.TestSuite.runTest(TestSuite.java:232)
>>> >     at junit.framework.TestSuite.run(TestSuite.java:227)
>>> >     at
>>> >
>>> > org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
>>> >     at
>>> >
>>> > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
>>> >     at
>>> >
>>> > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>>> >     at
>>> >
>>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>>> >     at
>>> >
>>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>>> >     at
>>> >
>>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>>> >     at
>>> >
>>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>>> >
>>> >
>>> > My test case:
>>> >
>>> >    public void testService() throws Exception {
>>> >
>>> >         Node node =
>>> > NodeFactory.newInstance().createNode("Restaurant.composite").start();
>>> >         RestaurantService restaurantService =
>>> > node.getService(RestaurantService.class, "RestaurantServiceComponent");
>>> >
>>> >         Menu[] menus = restaurantService.getMenus();
>>> >
>>> >         System.out.println("--- Menu ---");
>>> >         for (Menu m : menus) {
>>> >             System.out.println("- " + m.printMenu());
>>> >         }
>>> >
>>> >         System.out.println();
>>> >         Menu menu = menus[3];
>>> >
>>> >         System.out.println("My choice: " + menu.printMenu());
>>> >         System.out.println();
>>> >
>>> >         double price = restaurantService.getBill(menu);
>>> >         System.out.println("Price (" + menu.printMenu() + "): " +
>>> > price);
>>> >     }
>>> >
>>> >
>>> > Then I read that the application would be runned in a application server
>>> > (OSGI specs compliant). Then I start to configure the application and I
>>> > miss
>>> > the launcher main class.
>>> >
>>> >
>>> > http://wiki.eclipse.org/STP/SCA_Component/SCA_Java_Run_and_Debug_Tuscany
>>> >
>>> > So.. I need some guide to follow. I continue reading google things to
>>> > fix my
>>> > configuration.
>>> >
>>> > Thanks!
>>> >
>>> > JP
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > 2010/4/26 Simon Laws <si...@googlemail.com>
>>> >>
>>> >> On Mon, Apr 26, 2010 at 2:20 PM, Juan Pablo Pizarro
>>> >> <ju...@gmail.com> wrote:
>>> >> > Hi all, i'm rookie in tuscani and i need a guide or documentation. I
>>> >> > saw
>>> >> > the
>>> >> > documentation that exists in the site, but is over old versions. I
>>> >> > bought a
>>> >> > book to get concepts and it is a good book, but again is based on old
>>> >> > version.
>>> >> >
>>> >> > Have anybody a document or link about tuscani 2.x tutorial?. I use
>>> >> > eclipse
>>> >> > and trying to use tuscani 2.x within eclipse.
>>> >> >
>>> >> > Thanks..
>>> >> >
>>> >> > JP
>>> >> >
>>> >>
>>> >> Hi
>>> >>
>>> >> Our 2.x documentation [1] is lacking in intro and sample material at
>>> >> the moment. A number of samples that the 1.x intro material is based
>>> >> on have been ported over into the 2.x code base but the docs haven't
>>> >> followed yet. If you're having specific problems with Eclipse post the
>>> >> details here and we'll try and help out.
>>> >>
>>> >> [1] http://tuscany.apache.org/documentation-2x/
>>> >>
>>> >> Simon
>>> >> --
>>> >> Apache Tuscany committer: tuscany.apache.org
>>> >> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
>>> >
>>> >
>>>
>>> Hi JP
>>>
>>> Where is the file "Restaurant.composite" relative to the module that
>>> you are using to develop the test case? Tuscany is trying to find a
>>> contribution by looking for this file on the classpath.
>>>
>>> An SCA contribution is a hierarchical set of information such as
>>> composite files, WSDLs, XSDs etc that are required to run your SCA
>>> application. It could be a directory structure, a zip, a jar etc. When
>>> you create the node you have to tell it which contribution to load.
>>> If, for example, you look in the CalculatorTestCase of the 2.x
>>> Calculator sample you see the following...
>>>
>>>        node = NodeFactory.newInstance().createNode((String)null, new
>>> String[] {"target/classes"}).start();
>>>        calculatorService = node.getService(CalculatorService.class,
>>> "CalculatorServiceComponent");
>>>
>>> Here we loading the whole of the ./target/classes directory as the
>>> contribution. We do this as this sample is build using Maven and this
>>> is where Maven puts all the compiled Java classes and resources by
>>> default.
>>>
>>> Are you able to successfully run the Calculator sample?
>>>
>>> Regards
>>>
>>> Simon
>>>
>>> --
>>> Apache Tuscany committer: tuscany.apache.org
>>> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
>>
>>
>
> OK Juan, let me take a quick look and I'll get back to you.
>
> Simon
>
> --
> Apache Tuscany committer: tuscany.apache.org
> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
>

Hi, I took a look at this last night and there are a few changes to
make to get you further..

In RestaurantTest.testService() change

        Node node =
NodeFactory.newInstance().createNode("Restaurant.composite").start();
to
	Node node = NodeFactory.newInstance().createNode(new
Contribution("MyRestaurantContribution", "./bin")).start();

This is being more specific about where to find the contribution in
your project.

This runs and reports an error about a missing property in the
composite file. To fix this I first extended the TipServiceComponent
description...

  <sca:component name="TipServiceComponent">
    <sca:implementation.java
class="com.casa.comp.restaurant.impl.TipServiceImpl"/>
    <sca:service name="TipService">
      <sca:interface.java interface="com.casa.comp.restaurant.api.TipService"/>
    </sca:service>
    <!-- tipRate was missing -->
    <sca:property name="tipRate" value="27.13">
    </sca:property>
  </sca:component>

However in the latest code this shows up an error in the XML
processing in Tuscany for some reason (I'm looking at it) so as a work
around I changed the property definition to be optional....

  @Property(required=false)
  public double tipRate = 27.13;

The test case now runs. Have a go and see if you can get to the same
position. I'll take a look at this XML processing issue.

Regards

Simon

-- 
Apache Tuscany committer: tuscany.apache.org
Co-author of a book about Tuscany and SCA: tuscanyinaction.com

Re: Documentation

Posted by Simon Laws <si...@googlemail.com>.
On Tue, Apr 27, 2010 at 10:27 PM, Juan Pablo Pizarro
<ju...@gmail.com> wrote:
> Simon, I'm trying to complete the restaurant exmple, but if you tell me that
> the calculator is better case I start with that. I attach my project. I have
> the restaurant.composite into com.casa.comp.restaurant.
>
> My implementation is in com.casa.comp.restaurant.impl and my interfaces in
> com.casa.comp.restaurant.api.
>
> I will try the calculator too, but I'm courios about the restorant issue
> too.
>
> Thanks!
>
>
>
> 2010/4/27 Simon Laws <si...@googlemail.com>
>>
>> On Mon, Apr 26, 2010 at 7:43 PM, Juan Pablo Pizarro
>> <ju...@gmail.com> wrote:
>> > Hello Simon!, I'm trying to run a example that saw in the documentation.
>> > I
>> > write restaurant application, services, etc. I write a test case to run
>> > the
>> > application and I found a error:
>> >
>> > org.oasisopen.sca.ServiceRuntimeException: No SCA contributions are
>> > found on
>> > the classpath
>> >     at
>> > org.apache.tuscany.sca.node.NodeFactory.createNode(NodeFactory.java:289)
>> >     at
>> >
>> > com.casa.comp.restaurant.RestaurantTest.testService(RestaurantTest.java:18)
>> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >     at
>> >
>> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> >     at
>> >
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> >     at java.lang.reflect.Method.invoke(Method.java:597)
>> >     at junit.framework.TestCase.runTest(TestCase.java:168)
>> >     at junit.framework.TestCase.runBare(TestCase.java:134)
>> >     at junit.framework.TestResult$1.protect(TestResult.java:110)
>> >     at junit.framework.TestResult.runProtected(TestResult.java:128)
>> >     at junit.framework.TestResult.run(TestResult.java:113)
>> >     at junit.framework.TestCase.run(TestCase.java:124)
>> >     at junit.framework.TestSuite.runTest(TestSuite.java:232)
>> >     at junit.framework.TestSuite.run(TestSuite.java:227)
>> >     at
>> >
>> > org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
>> >     at
>> >
>> > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
>> >     at
>> >
>> > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>> >     at
>> >
>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>> >     at
>> >
>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>> >     at
>> >
>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>> >     at
>> >
>> > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>> >
>> >
>> > My test case:
>> >
>> >    public void testService() throws Exception {
>> >
>> >         Node node =
>> > NodeFactory.newInstance().createNode("Restaurant.composite").start();
>> >         RestaurantService restaurantService =
>> > node.getService(RestaurantService.class, "RestaurantServiceComponent");
>> >
>> >         Menu[] menus = restaurantService.getMenus();
>> >
>> >         System.out.println("--- Menu ---");
>> >         for (Menu m : menus) {
>> >             System.out.println("- " + m.printMenu());
>> >         }
>> >
>> >         System.out.println();
>> >         Menu menu = menus[3];
>> >
>> >         System.out.println("My choice: " + menu.printMenu());
>> >         System.out.println();
>> >
>> >         double price = restaurantService.getBill(menu);
>> >         System.out.println("Price (" + menu.printMenu() + "): " +
>> > price);
>> >     }
>> >
>> >
>> > Then I read that the application would be runned in a application server
>> > (OSGI specs compliant). Then I start to configure the application and I
>> > miss
>> > the launcher main class.
>> >
>> >
>> > http://wiki.eclipse.org/STP/SCA_Component/SCA_Java_Run_and_Debug_Tuscany
>> >
>> > So.. I need some guide to follow. I continue reading google things to
>> > fix my
>> > configuration.
>> >
>> > Thanks!
>> >
>> > JP
>> >
>> >
>> >
>> >
>> >
>> >
>> > 2010/4/26 Simon Laws <si...@googlemail.com>
>> >>
>> >> On Mon, Apr 26, 2010 at 2:20 PM, Juan Pablo Pizarro
>> >> <ju...@gmail.com> wrote:
>> >> > Hi all, i'm rookie in tuscani and i need a guide or documentation. I
>> >> > saw
>> >> > the
>> >> > documentation that exists in the site, but is over old versions. I
>> >> > bought a
>> >> > book to get concepts and it is a good book, but again is based on old
>> >> > version.
>> >> >
>> >> > Have anybody a document or link about tuscani 2.x tutorial?. I use
>> >> > eclipse
>> >> > and trying to use tuscani 2.x within eclipse.
>> >> >
>> >> > Thanks..
>> >> >
>> >> > JP
>> >> >
>> >>
>> >> Hi
>> >>
>> >> Our 2.x documentation [1] is lacking in intro and sample material at
>> >> the moment. A number of samples that the 1.x intro material is based
>> >> on have been ported over into the 2.x code base but the docs haven't
>> >> followed yet. If you're having specific problems with Eclipse post the
>> >> details here and we'll try and help out.
>> >>
>> >> [1] http://tuscany.apache.org/documentation-2x/
>> >>
>> >> Simon
>> >> --
>> >> Apache Tuscany committer: tuscany.apache.org
>> >> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
>> >
>> >
>>
>> Hi JP
>>
>> Where is the file "Restaurant.composite" relative to the module that
>> you are using to develop the test case? Tuscany is trying to find a
>> contribution by looking for this file on the classpath.
>>
>> An SCA contribution is a hierarchical set of information such as
>> composite files, WSDLs, XSDs etc that are required to run your SCA
>> application. It could be a directory structure, a zip, a jar etc. When
>> you create the node you have to tell it which contribution to load.
>> If, for example, you look in the CalculatorTestCase of the 2.x
>> Calculator sample you see the following...
>>
>>        node = NodeFactory.newInstance().createNode((String)null, new
>> String[] {"target/classes"}).start();
>>        calculatorService = node.getService(CalculatorService.class,
>> "CalculatorServiceComponent");
>>
>> Here we loading the whole of the ./target/classes directory as the
>> contribution. We do this as this sample is build using Maven and this
>> is where Maven puts all the compiled Java classes and resources by
>> default.
>>
>> Are you able to successfully run the Calculator sample?
>>
>> Regards
>>
>> Simon
>>
>> --
>> Apache Tuscany committer: tuscany.apache.org
>> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
>
>

OK Juan, let me take a quick look and I'll get back to you.

Simon

-- 
Apache Tuscany committer: tuscany.apache.org
Co-author of a book about Tuscany and SCA: tuscanyinaction.com

Re: Documentation

Posted by Juan Pablo Pizarro <ju...@gmail.com>.
Simon, I'm trying to complete the restaurant exmple, but if you tell me that
the calculator is better case I start with that. I attach my project. I have
the restaurant.composite into com.casa.comp.restaurant.

My implementation is in com.casa.comp.restaurant.impl and my interfaces in
com.casa.comp.restaurant.api.

I will try the calculator too, but I'm courios about the restorant issue
too.

Thanks!



2010/4/27 Simon Laws <si...@googlemail.com>

> On Mon, Apr 26, 2010 at 7:43 PM, Juan Pablo Pizarro
> <ju...@gmail.com> wrote:
> > Hello Simon!, I'm trying to run a example that saw in the documentation.
> I
> > write restaurant application, services, etc. I write a test case to run
> the
> > application and I found a error:
> >
> > org.oasisopen.sca.ServiceRuntimeException: No SCA contributions are found
> on
> > the classpath
> >     at
> > org.apache.tuscany.sca.node.NodeFactory.createNode(NodeFactory.java:289)
> >     at
> >
> com.casa.comp.restaurant.RestaurantTest.testService(RestaurantTest.java:18)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >     at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >     at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >     at java.lang.reflect.Method.invoke(Method.java:597)
> >     at junit.framework.TestCase.runTest(TestCase.java:168)
> >     at junit.framework.TestCase.runBare(TestCase.java:134)
> >     at junit.framework.TestResult$1.protect(TestResult.java:110)
> >     at junit.framework.TestResult.runProtected(TestResult.java:128)
> >     at junit.framework.TestResult.run(TestResult.java:113)
> >     at junit.framework.TestCase.run(TestCase.java:124)
> >     at junit.framework.TestSuite.runTest(TestSuite.java:232)
> >     at junit.framework.TestSuite.run(TestSuite.java:227)
> >     at
> >
> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
> >     at
> >
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
> >     at
> >
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> >     at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> >     at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> >     at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> >     at
> >
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> >
> >
> > My test case:
> >
> >    public void testService() throws Exception {
> >
> >         Node node =
> > NodeFactory.newInstance().createNode("Restaurant.composite").start();
> >         RestaurantService restaurantService =
> > node.getService(RestaurantService.class, "RestaurantServiceComponent");
> >
> >         Menu[] menus = restaurantService.getMenus();
> >
> >         System.out.println("--- Menu ---");
> >         for (Menu m : menus) {
> >             System.out.println("- " + m.printMenu());
> >         }
> >
> >         System.out.println();
> >         Menu menu = menus[3];
> >
> >         System.out.println("My choice: " + menu.printMenu());
> >         System.out.println();
> >
> >         double price = restaurantService.getBill(menu);
> >         System.out.println("Price (" + menu.printMenu() + "): " + price);
> >     }
> >
> >
> > Then I read that the application would be runned in a application server
> > (OSGI specs compliant). Then I start to configure the application and I
> miss
> > the launcher main class.
> >
> >
> http://wiki.eclipse.org/STP/SCA_Component/SCA_Java_Run_and_Debug_Tuscany
> >
> > So.. I need some guide to follow. I continue reading google things to fix
> my
> > configuration.
> >
> > Thanks!
> >
> > JP
> >
> >
> >
> >
> >
> >
> > 2010/4/26 Simon Laws <si...@googlemail.com>
> >>
> >> On Mon, Apr 26, 2010 at 2:20 PM, Juan Pablo Pizarro
> >> <ju...@gmail.com> wrote:
> >> > Hi all, i'm rookie in tuscani and i need a guide or documentation. I
> saw
> >> > the
> >> > documentation that exists in the site, but is over old versions. I
> >> > bought a
> >> > book to get concepts and it is a good book, but again is based on old
> >> > version.
> >> >
> >> > Have anybody a document or link about tuscani 2.x tutorial?. I use
> >> > eclipse
> >> > and trying to use tuscani 2.x within eclipse.
> >> >
> >> > Thanks..
> >> >
> >> > JP
> >> >
> >>
> >> Hi
> >>
> >> Our 2.x documentation [1] is lacking in intro and sample material at
> >> the moment. A number of samples that the 1.x intro material is based
> >> on have been ported over into the 2.x code base but the docs haven't
> >> followed yet. If you're having specific problems with Eclipse post the
> >> details here and we'll try and help out.
> >>
> >> [1] http://tuscany.apache.org/documentation-2x/
> >>
> >> Simon
> >> --
> >> Apache Tuscany committer: tuscany.apache.org
> >> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
> >
> >
>
> Hi JP
>
> Where is the file "Restaurant.composite" relative to the module that
> you are using to develop the test case? Tuscany is trying to find a
> contribution by looking for this file on the classpath.
>
> An SCA contribution is a hierarchical set of information such as
> composite files, WSDLs, XSDs etc that are required to run your SCA
> application. It could be a directory structure, a zip, a jar etc. When
> you create the node you have to tell it which contribution to load.
> If, for example, you look in the CalculatorTestCase of the 2.x
> Calculator sample you see the following...
>
>        node = NodeFactory.newInstance().createNode((String)null, new
> String[] {"target/classes"}).start();
>        calculatorService = node.getService(CalculatorService.class,
> "CalculatorServiceComponent");
>
> Here we loading the whole of the ./target/classes directory as the
> contribution. We do this as this sample is build using Maven and this
> is where Maven puts all the compiled Java classes and resources by
> default.
>
> Are you able to successfully run the Calculator sample?
>
> Regards
>
> Simon
>
> --
> Apache Tuscany committer: tuscany.apache.org
> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
>

Re: Documentation

Posted by Simon Laws <si...@googlemail.com>.
On Mon, Apr 26, 2010 at 7:43 PM, Juan Pablo Pizarro
<ju...@gmail.com> wrote:
> Hello Simon!, I'm trying to run a example that saw in the documentation. I
> write restaurant application, services, etc. I write a test case to run the
> application and I found a error:
>
> org.oasisopen.sca.ServiceRuntimeException: No SCA contributions are found on
> the classpath
>     at
> org.apache.tuscany.sca.node.NodeFactory.createNode(NodeFactory.java:289)
>     at
> com.casa.comp.restaurant.RestaurantTest.testService(RestaurantTest.java:18)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at junit.framework.TestCase.runTest(TestCase.java:168)
>     at junit.framework.TestCase.runBare(TestCase.java:134)
>     at junit.framework.TestResult$1.protect(TestResult.java:110)
>     at junit.framework.TestResult.runProtected(TestResult.java:128)
>     at junit.framework.TestResult.run(TestResult.java:113)
>     at junit.framework.TestCase.run(TestCase.java:124)
>     at junit.framework.TestSuite.runTest(TestSuite.java:232)
>     at junit.framework.TestSuite.run(TestSuite.java:227)
>     at
> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
>     at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
>     at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>     at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>
>
> My test case:
>
>    public void testService() throws Exception {
>
>         Node node =
> NodeFactory.newInstance().createNode("Restaurant.composite").start();
>         RestaurantService restaurantService =
> node.getService(RestaurantService.class, "RestaurantServiceComponent");
>
>         Menu[] menus = restaurantService.getMenus();
>
>         System.out.println("--- Menu ---");
>         for (Menu m : menus) {
>             System.out.println("- " + m.printMenu());
>         }
>
>         System.out.println();
>         Menu menu = menus[3];
>
>         System.out.println("My choice: " + menu.printMenu());
>         System.out.println();
>
>         double price = restaurantService.getBill(menu);
>         System.out.println("Price (" + menu.printMenu() + "): " + price);
>     }
>
>
> Then I read that the application would be runned in a application server
> (OSGI specs compliant). Then I start to configure the application and I miss
> the launcher main class.
>
>   http://wiki.eclipse.org/STP/SCA_Component/SCA_Java_Run_and_Debug_Tuscany
>
> So.. I need some guide to follow. I continue reading google things to fix my
> configuration.
>
> Thanks!
>
> JP
>
>
>
>
>
>
> 2010/4/26 Simon Laws <si...@googlemail.com>
>>
>> On Mon, Apr 26, 2010 at 2:20 PM, Juan Pablo Pizarro
>> <ju...@gmail.com> wrote:
>> > Hi all, i'm rookie in tuscani and i need a guide or documentation. I saw
>> > the
>> > documentation that exists in the site, but is over old versions. I
>> > bought a
>> > book to get concepts and it is a good book, but again is based on old
>> > version.
>> >
>> > Have anybody a document or link about tuscani 2.x tutorial?. I use
>> > eclipse
>> > and trying to use tuscani 2.x within eclipse.
>> >
>> > Thanks..
>> >
>> > JP
>> >
>>
>> Hi
>>
>> Our 2.x documentation [1] is lacking in intro and sample material at
>> the moment. A number of samples that the 1.x intro material is based
>> on have been ported over into the 2.x code base but the docs haven't
>> followed yet. If you're having specific problems with Eclipse post the
>> details here and we'll try and help out.
>>
>> [1] http://tuscany.apache.org/documentation-2x/
>>
>> Simon
>> --
>> Apache Tuscany committer: tuscany.apache.org
>> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
>
>

Hi JP

Where is the file "Restaurant.composite" relative to the module that
you are using to develop the test case? Tuscany is trying to find a
contribution by looking for this file on the classpath.

An SCA contribution is a hierarchical set of information such as
composite files, WSDLs, XSDs etc that are required to run your SCA
application. It could be a directory structure, a zip, a jar etc. When
you create the node you have to tell it which contribution to load.
If, for example, you look in the CalculatorTestCase of the 2.x
Calculator sample you see the following...

        node = NodeFactory.newInstance().createNode((String)null, new
String[] {"target/classes"}).start();
        calculatorService = node.getService(CalculatorService.class,
"CalculatorServiceComponent");

Here we loading the whole of the ./target/classes directory as the
contribution. We do this as this sample is build using Maven and this
is where Maven puts all the compiled Java classes and resources by
default.

Are you able to successfully run the Calculator sample?

Regards

Simon

-- 
Apache Tuscany committer: tuscany.apache.org
Co-author of a book about Tuscany and SCA: tuscanyinaction.com

Re: Documentation

Posted by Juan Pablo Pizarro <ju...@gmail.com>.
Hello Simon!, I'm trying to run a example that saw in the documentation. I
write restaurant application, services, etc. I write a test case to run the
application and I found a error:

org.oasisopen.sca.ServiceRuntimeException: No SCA contributions are found on
the classpath
    at
org.apache.tuscany.sca.node.NodeFactory.createNode(NodeFactory.java:289)
    at
com.casa.comp.restaurant.RestaurantTest.testService(RestaurantTest.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at junit.framework.TestCase.runTest(TestCase.java:168)
    at junit.framework.TestCase.runBare(TestCase.java:134)
    at junit.framework.TestResult$1.protect(TestResult.java:110)
    at junit.framework.TestResult.runProtected(TestResult.java:128)
    at junit.framework.TestResult.run(TestResult.java:113)
    at junit.framework.TestCase.run(TestCase.java:124)
    at junit.framework.TestSuite.runTest(TestSuite.java:232)
    at junit.framework.TestSuite.run(TestSuite.java:227)
    at
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
    at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
    at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)


My test case:

   public void testService() throws Exception {

        Node node =
NodeFactory.newInstance().createNode("Restaurant.composite").start();
        RestaurantService restaurantService =
node.getService(RestaurantService.class, "RestaurantServiceComponent");

        Menu[] menus = restaurantService.getMenus();

        System.out.println("--- Menu ---");
        for (Menu m : menus) {
            System.out.println("- " + m.printMenu());
        }

        System.out.println();
        Menu menu = menus[3];

        System.out.println("My choice: " + menu.printMenu());
        System.out.println();

        double price = restaurantService.getBill(menu);
        System.out.println("Price (" + menu.printMenu() + "): " + price);
    }


Then I read that the application would be runned in a application server
(OSGI specs compliant). Then I start to configure the application and I miss
the launcher main class.

  http://wiki.eclipse.org/STP/SCA_Component/SCA_Java_Run_and_Debug_Tuscany

So.. I need some guide to follow. I continue reading google things to fix my
configuration.

Thanks!

JP






2010/4/26 Simon Laws <si...@googlemail.com>

> On Mon, Apr 26, 2010 at 2:20 PM, Juan Pablo Pizarro
> <ju...@gmail.com> wrote:
> > Hi all, i'm rookie in tuscani and i need a guide or documentation. I saw
> the
> > documentation that exists in the site, but is over old versions. I bought
> a
> > book to get concepts and it is a good book, but again is based on old
> > version.
> >
> > Have anybody a document or link about tuscani 2.x tutorial?. I use
> eclipse
> > and trying to use tuscani 2.x within eclipse.
> >
> > Thanks..
> >
> > JP
> >
>
> Hi
>
> Our 2.x documentation [1] is lacking in intro and sample material at
> the moment. A number of samples that the 1.x intro material is based
> on have been ported over into the 2.x code base but the docs haven't
> followed yet. If you're having specific problems with Eclipse post the
> details here and we'll try and help out.
>
> [1] http://tuscany.apache.org/documentation-2x/
>
> Simon
> --
> Apache Tuscany committer: tuscany.apache.org
> Co-author of a book about Tuscany and SCA: tuscanyinaction.com
>

Re: Documentation

Posted by Simon Laws <si...@googlemail.com>.
On Mon, Apr 26, 2010 at 2:20 PM, Juan Pablo Pizarro
<ju...@gmail.com> wrote:
> Hi all, i'm rookie in tuscani and i need a guide or documentation. I saw the
> documentation that exists in the site, but is over old versions. I bought a
> book to get concepts and it is a good book, but again is based on old
> version.
>
> Have anybody a document or link about tuscani 2.x tutorial?. I use eclipse
> and trying to use tuscani 2.x within eclipse.
>
> Thanks..
>
> JP
>

Hi

Our 2.x documentation [1] is lacking in intro and sample material at
the moment. A number of samples that the 1.x intro material is based
on have been ported over into the 2.x code base but the docs haven't
followed yet. If you're having specific problems with Eclipse post the
details here and we'll try and help out.

[1] http://tuscany.apache.org/documentation-2x/

Simon
-- 
Apache Tuscany committer: tuscany.apache.org
Co-author of a book about Tuscany and SCA: tuscanyinaction.com