Excelent!!, I'm changing my version to see your progress, maybe I'll lucky.
Thanks! 2010/4/30 Simon Laws <[email protected]> > On Thu, Apr 29, 2010 at 12:45 PM, Simon Laws <[email protected]> > wrote: > > On Tue, Apr 27, 2010 at 10:27 PM, Juan Pablo Pizarro > > <[email protected]> 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 <[email protected]> > >>> > >>> On Mon, Apr 26, 2010 at 7:43 PM, Juan Pablo Pizarro > >>> <[email protected]> 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 <[email protected]> > >>> >> > >>> >> On Mon, Apr 26, 2010 at 2:20 PM, Juan Pablo Pizarro > >>> >> <[email protected]> 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 >
