On Thu, Jun 19, 2008 at 5:54 PM, Raymond Feng <[EMAIL PROTECTED]> wrote:
> A few comments:
>
> 1) I agree that the following is too complicated and even problematic as we
> hard code the locations based on the file system. In a jar, we don't have
> the target/classes.
>
> SCANode2 node =
> SCANode2Factory.newInstance().createSCANode("target/classes/myapp.composite",
> new SCAContribution("test", "target/classes"));
>
> With the above API, we need to use the classloader to find the correct URLs
> for the composite and contributions to make it working inside a jar.
>
> 2) What about this?
>
> SCANode2 node = SCANode2Factory.newInstance().discoverSCANode(String
> pathToTheCompositeFile);
> or
> SCANode2 node = SCANode2Factory.newInstance().findSCANode(String
> pathToTheCompositeFile);
>
> 3) Should we rename SCANode2/SCANode2Factory back to
> SCANode/SCANodeFactory?
>
> Thanks,
> Raymond
> --------------------------------------------------
> From: "Simon Nash (JIRA)" <[email protected]>
> Sent: Thursday, June 19, 2008 5:27 AM
> To: <[email protected]>
> Subject: [jira] Created: (TUSCANY-2409) Major consumability issues with new
> Node and Domain APIs
>
>
> Major consumability issues with new Node and Domain APIs
>> --------------------------------------------------------
>>
>> Key: TUSCANY-2409
>> URL: https://issues.apache.org/jira/browse/TUSCANY-2409
>> Project: Tuscany
>> Issue Type: Bug
>> Affects Versions: Java-SCA-1.3
>> Environment: All
>> Reporter: Simon Nash
>> Fix For: Java-SCA-1.3
>>
>>
>> The recent change to remove the previous domain/node implementation has
>> created severe usabliity issues for the callback-ws-client and
>> callback-ws-server samples.
>>
>> 1. In callback-ws-client, MyClientImpl, the line
>> SCANode node =
>> SCANodeFactory.createNodeWithComposite("myapp.composite");
>> was changed to
>> SCANode2 node =
>> SCANode2Factory.newInstance().createSCANode("target/classes/myapp.composite",
>> new SCAContribution("test", "target/classes"));
>>
>> 2. In callback-ws-client, CallbackClientTestCase, the line
>> node =
>> SCANodeFactory.createNodeWithComposite("callbackws.composite");
>> was changed to
>> node =
>> SCANode2Factory.newInstance().createSCANode("jar:file:../callback-ws-service/target/sample-callback-ws-service.jar!/callbackws.composite",
>> new SCAContribution("server",
>> "../callback-ws-service/target/sample-callback-ws-service.jar"));
>>
>> 3. In callback-ws-server, CallbackServer, the line
>> SCANode node =
>> SCANodeFactory.createNodeWithComposite("callbackws.composite");
>> was changed to
>> SCANode2 node =
>> SCANode2Factory.newInstance().createSCANode("target/classes/callbackws.composite",
>> new SCAContribution("test", "target/classes"));
>>
>> 4. In callback-ws-server, CallbackServerTestCase, the line
>> node =
>> SCANodeFactory.createNodeWithComposite("callbackws.composite");
>> was changed to
>> node =
>> SCANode2Factory.newInstance().createSCANode("target/classes/callbackws.composite",
>> new SCAContribution("test", "target/classes"));
>>
>> The complexity of these APIs, and the need to embed hard-wired paths and
>> jar names, is unacceptable for a simple sample. This is "must fix" for the
>> 1.3 release.
>>
>> It would also be good to convert more samples from the previous
>> host-embedded APIs to the new domain/node APIs, but this can't happen until
>> the consumability problems are fixed.
>>
>> Ideally we would have a "convenience" API similar to the previous
>> createNodeWithComposite() API. This API would call the other more complex
>> APIs under the covers.
>>
>>
>>
>> --
>> This message is automatically generated by JIRA.
>> -
>> You can reply to this email to add a comment to the issue online.
>>
>>
Logically I would prefer
SCANode2 node = SCANode2Factory.newInstance().createSCANode(composite QName,
contribution location );
To remove any doubt about where the composite is coming from.
Simon