Re: [C++] Creating an SDO DataObject for the properties of a component

2006-08-23 Thread Pete Robbins

Sebastien, I'm fixing this. It shouldn't take long.

Cheers,


On 22/08/06, Pete Robbins [EMAIL PROTECTED] wrote:


ah!

 On 22/08/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:


 It doesn't work at all now. With SCDL 0.9 a component declaration looked
 like that:
 component
 properties
  v:Fredabc/v:Fred
  v:Joexyz/v:Joe
 v:Joetuv/v:Joe
 /properties
 /component

 The DataObject loaded from that looked exactly like what the client Cpp
 code expected, allowing you to code
 ComponentContext.getProperties()-getCString(Fred)...

 SCDL 0.95 now looks pretty different:
 component
property name=Fredabc/property
property name=Joexyz/property
   property name=Joetuv/property
 /component

 ... missing the convenient properties parent element and in a very
 different form now. I'm guessing that we don't want the client code to
 change, so we need to massage the DataObject loaded from SCDL to look
 like what the client code wants to see. The other thing is that we
 should use the property types specified in the component type instead of
 guessing the types from the instance properties in the component
 declaration.

 So I'm basically trying to fix ModelLoader to created the expected
 DataObject from what we get from SCDL. In the SupplyChain scenario I
 have multiple Manufacturer and Warehouse components, same implementation
 but configured with different properties so I need to get this property
 stuff working...


 Ok I understand the problem. I wasn't up to date with the latest
definition of properties. If the current interface to properties is not
workable then we can always feed that back to the spec group. Anyho...

I think what we need to do is
1)create a DataFactory for the properties and populate it with the types
required for the properties (basic xml types will be there by default but
any user defined complex types will have to be defined in a schema somewhere
so lets stick to simple types for now).
2) When loading the definitions of the properties from the componentType
we need to create a new SDO Type for properties associated with this
component and add it to the DataFactory. So we would do something like:

dataFactory-addType(someNamespace, componentProperties, )
dataFactory-addPropertyToType((propertyName, propType for each of
the properties defined)

3) create a DO of someNamespace, componentProperties type and save the
DOPtr in the Component defintion in the model
4) For each property set
 propertyDO-set(propertyName, value)
5) ComponentContext::GetProperties will return the propertyDO from the
Component

voila!

So we need to create a datafactory per componentType I think.

--
Pete





--
Pete


Re: svn commit: r432722 [1/2] - in /incubator/tuscany/java/sca/containers/container.spring/src: main/java/org/apache/tuscany/container/spring/config/ main/java/org/apache/tuscany/container/spring/i

2006-08-23 Thread Andy Piper
I spoke to Rod today, he seems happy to do the appropriate software 
grant to Apache as per the apache licensing conventions. NOTICES.txt 
would then need to contain an appropriate attribution. I think this 
would probably only need to be a temporary measure, but who knows.


Thanks

andy

At 12:05 PM 8/21/2006, ant elder wrote:

The bit I was specifically asking about was in the license header having
Copyright 2002-2006 the original author or authors., with the authors
being Adrian and Rod. I'm not sure if we can have that copyright in our ASF
source files, but as we're not the copyright holders I don't think we can
delete that line either.

  ..ant

PS, I'm also not sure we can have source packages called
org.springframeworkin our codebase. Doesn't all our code have to be
org.apache.?

On 8/21/06, Andy Piper [EMAIL PROTECTED] wrote:


At 17:23 19/08/2006, Jim Marino wrote:
Andy was an author as well. All code is licensed under an ASF license
and we preserved the license in the files so I believe we are o.k. If
not, then I would be happy to just get Rod and Adrian to submit them
as well.

Andy, could you elaborate?

I, of course, checked with Adrian and Rod before submitting this. The
code is all ASL licensed and they are delighted for it to be included
in Tuscany. Ultimately the generic Spring code should be included in
a spring disto so that Tuscanny can simply specify it as a dependency
- however, we are a ways from that as yet. I plan on integrating back
into the I21 codebase (at their request) changes that come out of the
Tuscany integration (just the generic Spring pieces) so that the two
will be kept in sync.

Thanks

andy


___
Notice:  This email message, together with any attachments, may contain
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated
entities,  that may be confidential,  proprietary,  copyrighted  and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



___
Notice:  This email message, together with any attachments, may contain
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated
entities,  that may be confidential,  proprietary,  copyrighted  and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [C++] Creating an SDO DataObject for the properties of a component

2006-08-23 Thread Jean-Sebastien Delfino

Pete Robbins wrote:

Sebastien, I'm fixing this. It shouldn't take long.

Cheers,


On 22/08/06, Pete Robbins [EMAIL PROTECTED] wrote:


ah!

 On 22/08/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:


 It doesn't work at all now. With SCDL 0.9 a component declaration 
looked

 like that:
 component
 properties
  v:Fredabc/v:Fred
  v:Joexyz/v:Joe
 v:Joetuv/v:Joe
 /properties
 /component

 The DataObject loaded from that looked exactly like what the client 
Cpp

 code expected, allowing you to code
 ComponentContext.getProperties()-getCString(Fred)...

 SCDL 0.95 now looks pretty different:
 component
property name=Fredabc/property
property name=Joexyz/property
   property name=Joetuv/property
 /component

 ... missing the convenient properties parent element and in a very
 different form now. I'm guessing that we don't want the client code to
 change, so we need to massage the DataObject loaded from SCDL to look
 like what the client code wants to see. The other thing is that we
 should use the property types specified in the component type 
instead of

 guessing the types from the instance properties in the component
 declaration.

 So I'm basically trying to fix ModelLoader to created the expected
 DataObject from what we get from SCDL. In the SupplyChain scenario I
 have multiple Manufacturer and Warehouse components, same 
implementation
 but configured with different properties so I need to get this 
property

 stuff working...


 Ok I understand the problem. I wasn't up to date with the latest
definition of properties. If the current interface to properties is not
workable then we can always feed that back to the spec group. Anyho...

I think what we need to do is
1)create a DataFactory for the properties and populate it with the types
required for the properties (basic xml types will be there by default 
but
any user defined complex types will have to be defined in a schema 
somewhere

so lets stick to simple types for now).
2) When loading the definitions of the properties from the componentType
we need to create a new SDO Type for properties associated with this
component and add it to the DataFactory. So we would do something like:

dataFactory-addType(someNamespace, componentProperties, )
dataFactory-addPropertyToType((propertyName, propType for 
each of

the properties defined)

3) create a DO of someNamespace, componentProperties type and 
save the

DOPtr in the Component defintion in the model
4) For each property set
 propertyDO-set(propertyName, value)
5) ComponentContext::GetProperties will return the propertyDO from the
Component

voila!

So we need to create a datafactory per componentType I think.

--
Pete







Cool, Thanks!

--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[jira] Created: (TUSCANY-660) Should not have to repeat a service definition to publish it out of a composite

2006-08-23 Thread Jean-Sebastien Delfino (JIRA)
Should not have to repeat a service definition to publish it out of a 
composite
-

 Key: TUSCANY-660
 URL: http://issues.apache.org/jira/browse/TUSCANY-660
 Project: Tuscany
  Issue Type: Bug
  Components: Specification
Affects Versions: Cpp-current
Reporter: Jean-Sebastien Delfino
 Assigned To: Jean-Sebastien Delfino


I'm trying to build a reasonably complex scenario with SCA (0.95), and 

wondering why I have to repeat myself so many times when I define 

services.



Let's imagine that I want to build a simple Quoting service application.

Here's what I'll want to 
do:

Step 1. define a Quote component type, in the component type define a 

service, give it a name, specify its interface.

Step 2. create a component of that type in a composite, indicate that I 

want my service visible outside the composite

Step 3. take my composite to a system, configure an instance of it, bind 

my service to a SOAP endpoint



Here's what it looks like with SCA 0.95:



Step 1:

Quote.componentType

componentType ...

  service name=QuoteService

interface.wsdl 

interface=http://www.whatever.org/QuoteService/#wsdl.portType(Quote)/

  /service

  ...

/componentType



Step 2:

QuotingEngine.composite

composite...

  service name=QuoteService

interface.wsdl 

interface=http://www.whatever.org/QuoteService/#wsdl.portType(Quote)/

referenceQuotingEngineGorpImpl/QuoteService/reference

  /service

  ...

/composite



Step 2:

MyDeployedAndConfiguredQuotingSystem.composite

composite...

  service name=QuoteService

interface.wsdl 

interface=http://www.whatever.org/QuoteService/#wsdl.portType(Quote)/

binding.ws 

port=http://www.whatever.org/QuoteService/#wsdl.endpoint(QuoteService/QuoteSOAPPort)/

referenceMyDeployedQuotingEngine/QuoteService/reference

  /service

  ...

/composite



Why do I need to repeat the definition of 
QuoteService three times in this example?

The SCA specification 
should not force me to repeat service definitions just to
publish/promote them out of a composite.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[C++] SCDL and WSDL files for the WS-I SupplyChain scenario

2006-08-23 Thread Jean-Sebastien Delfino

Hi,

I just checked in a first cut of the SCDL files composing the WS-I 
SupplyChain sample application, as well as the WSDL files describing the 
ports for all the Web services under tuscany/cpp/sca/samples/SupplyChain.


I tried to follow the structure described in the WS-I supplychain 
architecture document at 
http://www.ws-i.org/SampleApplications/SupplyChainManagement/2003-12/SCMArchitecture1.01.pdf, 
including:

- a demo sub-system, including a client reference and a logging service
- a retailer sub-system, composed of a retailer service component and 
three Warehouses

- manufacturer sub-systems serving the Warehouses
- composites describing the implementation of the logging, retailer, 
warehouse and manufacturer components.


Note that I'm still using the sub-system terminology here... My 
intention is not go back to the 0.9 spec :) but I am influenced by the 
WS-I spec which uses the term system to refer to these things, and I'm 
looking for good terms to distinguish between 
system-configuration-composites and 
composites-describing-pieces-of-implementations.


After this first pass trying to define all the SCDL artifacts, I have a 
few comments, and requests for comments:


- I had to repeat service definitions many times just to 
publish/promote services out of composites. IMO this needs to be 
simplified. I opened issue JIRA 660 for this and also raised it to the 
OSOA specification workgroup.


- In my composite definitions I just needed to declare SOAP bindings for 
my services and references, but since binding.ws requires a port I had 
to create dummy ports with dummy SOAP addresses for all the services and 
references, knowing that these would be different once deployed to my 
system. I'll raise this issue to the spec group as well.


- I was not sure when to use wires and when to use URIs on bindings. I 
tended to use binding URIs instead of wires in all the cases where I had 
to specify the binding anyway, resulting in very few wires. It would be 
great if some SCA spec experts on this list could look at what I've done 
and help me get the wiring right...


- The callback pattern described in the WS-I document didn't seem to fit 
with SCA conversational callbacks as I understood them. The supplychain 
callback does not seem conversational to me, or if it is then the 
correlation between the various exchanges is done through business data 
and URLs manually added to SOAP headers, and I'm not sure how that 
fits with SCA callbacks. So for now I have modeled this contract with 
two independent reference + service in both directions. This seems 
consistent with what the other existing implementations of the WS-I 
supplychain sample have done as well.


- I was not sure how to publish a reference with multiplicity out of a 
composite. See supplychain.retailer.composite to see what I did to 
define the warehouses references (which needs to point to three 
warehouses). The warehouses reference is first defined in the Retailer 
component type, then promoted out of the supplychain.retailer.composite 
and bound to SOAP by a composite reference. In doubt I specified 
multiplicity 0..n on both the component reference and the composite 
reference, but I'm not sure that this makes any sense at all :)


- Finally I organized the artifacts like we recently discussed on this 
list, the composites configuring and assembling sub-systems under a 
configuration/ folder, and the composites describing installed 
implementations under packages/.


Thoughts?

Is anybody interested in helping with the design and implementation of 
this scenario?


--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [C++] Creating an SDO DataObject for the properties of a component

2006-08-23 Thread Geoffrey Winn

Sebastien, Pete,

I may have misunderstood the base note, however, it looks to me that you are
trying to make changes to the metadata - by adding types - after creating a
data object.


so we already have in hand a DataObject representing the
component, containing a list of property DataObjects.
Now I need to dynamically create a new SDO type containing


If I'm right then this is a known restricion. We have a JIRA (TUSCANY-474)
that explains it. Bascally, as soon as you create a data object the type
system is frozen. Pete, is that why you are suggesting creating a
DataFactory for each componenType?

Geoff.

On 23/08/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:


Pete Robbins wrote:
 Sebastien, I'm fixing this. It shouldn't take long.

 Cheers,


 On 22/08/06, Pete Robbins [EMAIL PROTECTED] wrote:

 ah!

  On 22/08/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:

 
  It doesn't work at all now. With SCDL 0.9 a component declaration
 looked
  like that:
  component
  properties
   v:Fredabc/v:Fred
   v:Joexyz/v:Joe
  v:Joetuv/v:Joe
  /properties
  /component
 
  The DataObject loaded from that looked exactly like what the client
 Cpp
  code expected, allowing you to code
  ComponentContext.getProperties()-getCString(Fred)...
 
  SCDL 0.95 now looks pretty different:
  component
 property name=Fredabc/property
 property name=Joexyz/property
property name=Joetuv/property
  /component
 
  ... missing the convenient properties parent element and in a very
  different form now. I'm guessing that we don't want the client code
to
  change, so we need to massage the DataObject loaded from SCDL to look
  like what the client code wants to see. The other thing is that we
  should use the property types specified in the component type
 instead of
  guessing the types from the instance properties in the component
  declaration.
 
  So I'm basically trying to fix ModelLoader to created the expected
  DataObject from what we get from SCDL. In the SupplyChain scenario I
  have multiple Manufacturer and Warehouse components, same
 implementation
  but configured with different properties so I need to get this
 property
  stuff working...


  Ok I understand the problem. I wasn't up to date with the latest
 definition of properties. If the current interface to properties is not
 workable then we can always feed that back to the spec group. Anyho...

 I think what we need to do is
 1)create a DataFactory for the properties and populate it with the
types
 required for the properties (basic xml types will be there by default
 but
 any user defined complex types will have to be defined in a schema
 somewhere
 so lets stick to simple types for now).
 2) When loading the definitions of the properties from the
componentType
 we need to create a new SDO Type for properties associated with this
 component and add it to the DataFactory. So we would do something like:

 dataFactory-addType(someNamespace, componentProperties, )
 dataFactory-addPropertyToType((propertyName, propType for
 each of
 the properties defined)

 3) create a DO of someNamespace, componentProperties type and
 save the
 DOPtr in the Component defintion in the model
 4) For each property set
  propertyDO-set(propertyName, value)
 5) ComponentContext::GetProperties will return the propertyDO from the
 Component

 voila!

 So we need to create a datafactory per componentType I think.

 --
 Pete





Cool, Thanks!

--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: [C++] Creating an SDO DataObject for the properties of a component

2006-08-23 Thread Pete Robbins

On 23/08/06, Geoffrey Winn [EMAIL PROTECTED] wrote:


Sebastien, Pete,

I may have misunderstood the base note, however, it looks to me that you
are
trying to make changes to the metadata - by adding types - after creating
a
data object.

 so we already have in hand a DataObject representing the
 component, containing a list of property DataObjects.
 Now I need to dynamically create a new SDO type containing

If I'm right then this is a known restricion. We have a JIRA (TUSCANY-474)
that explains it. Bascally, as soon as you create a data object the type
system is frozen. Pete, is that why you are suggesting creating a
DataFactory for each componenType?



Exactly! However my brain let me down as when I went to check the code I had
already coded it this way ;-)

What we do need is a way of setting the default value for a type. Maybe you
can enlighten me on what I have to do. Is there code to handle default
values in SDO?

Cheers,

--
Pete


Re: Using Interceptors to convert objects to XmlObjects for JavaScript/E4X support

2006-08-23 Thread ant elder

I've had some offline chats with Venkat about this. I'd not ported any of
the E4X code over from M1 so Venkat is looking at that. The XML instance
utility being talked about is for JIRA TUSCANY-419. Here's a bit more detail
on TUSCANY-419 and how it would work.

Today an E4X helloworld function looks like this:

function getGreeting(xmlIn) {
  var greeting = e4xHello  + xmlIn..*::in0;
  var xmlOut =
 helloworld:getGreetingsResponse xmlns:helloworld=
http://integration.rhino.container.tuscany.apache.org;
 helloworld:getGreetingsReturn { greeting }
/helloworld:getGreetingsReturn
 /helloworld:getGreetingsResponse;
  return xmlOut;
}

There's a lot of boilerplate XML in there which could be determined
automatically from the WSDL, so ideally the function could rewritten
something like:

function getGreeting(xmlIn) {
  var xmlOut = _getXML(getGreetingResponse);
  xmlOut.getGreetingsReturn = e4xHello  + xmlIn..*::in0;
  return xmlOut;
}

The _getResponseXML function is a system supplied function that the
JavaScript container injects into the script environment. It returns an E4X
XML object that is an representation of the WSDL schema with all the values
defaulting.  Thats worked out based on the interface of the component, there
could be similar ones for references, eg, if there is a reference named foo
you could do foo._getXML(fooType).

  ...ant

On 8/20/06, Venkata Krishnan [EMAIL PROTECTED] wrote:


Hi Ant,

Is this something that works in M2 now?  I remember doing a util for
creating xml instances for this.

When I see the current trunk's javascript container I don't see the e4x
samples.  Shall I try moving them over and intergrating with the xml
instance creation utility.  Please let me know.

Thanks.

- Venkat

On 6/7/06, ant elder [EMAIL PROTECTED] wrote:

 No reply to this yet...after a little playing around it seems to work so
 I'm
 going to go ahead unless anyone raises any objections now. Sebastien,
you
 did the async work using PolicyBuilders and Interceptors so have you any
 comments to what I suggested in the email below?

...ant

 On 6/6/06, ant elder [EMAIL PROTECTED] wrote:
 
  I wondered about using Tuscany PolicyBuilders and Interceptors to help
  with E4X support for the work required in TUSCANY-418, TUSCANY-419,
and
  TUSCANY-420. Right now the E4X code isn't so elegant with the way it
 works
  out when and how to convert the Java objects in a message into E4X
XML,
 and
  with the current code i can't get E4X XML as parameters on reference
  invocations working.
 
  Looking at how the code for async works, it seems like for E4X support
  there could be source and target policy builders that look at the
wires
 and
  when required (*) insert an interceptor that converts the message
 objects
  from/to XmlObjects, and then the JavaScript container would simply
 always
  convert XmlObjects from/to E4X XML objects.
 
  (*) the when required would be something like when the wire target is
a
  JavaScript component with interface described by a WSDL portType, or a
 wire
  source is a JavaScript component and the wire target has an interface
  described with WSDL.
 
  Does this sound like a reasonable use of PolicyBuilders and
 Interceptors?
  It seems like something like this may also be a step on the way to the
  efficient streaming of messages in TUSCANY-104?
 
 ...ant
 
 
 
 
 






Re: [jira] Created: (TUSCANY-651) Port WSDL2Java and Java2WSDL from M1

2006-08-23 Thread Jojo

Thanks Chris ! I will try doing that.

On 8/22/06, Chris Wall [EMAIL PROTECTED] wrote:

Hey Jojo.  I ran into this last week.  I added stax-1.2.0.jar to the
classpath/classloader.


On 8/22/06, Jojo [EMAIL PROTECTED] wrote:

 Hi,

 I was trying to get some java2wsdl test case running, but got stuck
 with the following error :

 javax.xml.stream.FactoryConfigurationError: Provider
 com.bea.xml.stream.MXParserFactory not found
 at javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java
 :72)
 at javax.xml.stream.FactoryFinder.find(FactoryFinder.java:176)
 at javax.xml.stream.FactoryFinder.find(FactoryFinder.java:92)
 at javax.xml.stream.XMLInputFactory.newInstance(
 XMLInputFactory.java:136)


 I remember seeing this problem previously discussed in the thread
 [Axiom and classloaders, was: svn commit: r429905] and was fixed
 subsequently. But the fix was not discussed in the tread.

 I understand this is a classloader/classpath issue. Can someone tell
 me what was the fix ? The same fix need to be applied to the sca-tools
 project.

 Thanks!
 jojo.

 On 8/22/06, Venkata Krishnan [EMAIL PROTECTED] wrote:
  Rick,
 
  I can with this.  Please let me know what else needs to be done to the
  existing code in M1 in the context of M2 after you have moved the code
 over
  to the current trunk.
 
  Thanks
 
  - Venkat
 
 
 
 
 
  On 8/22/06, Rick Rineholt (JIRA) tuscany-dev@ws.apache.org wrote:
  
   Port WSDL2Java and Java2WSDL from M1
   
  
Key: TUSCANY-651
URL: http://issues.apache.org/jira/browse/TUSCANY-651
Project: Tuscany
 Issue Type: Improvement
 Components: Java SCA Tools
   Affects Versions: Java-M2
   Reporter: Rick Rineholt
  
  
   Java2WSDL and WSDL2Java tooling needs to be ported from M1 to
 facilitate
   the creation of webservices applications.
  
   --
   This message is automatically generated by JIRA.
   -
   If you think it was sent incorrectly contact one of the
 administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
   -
   For more information on JIRA, see:
 http://www.atlassian.com/software/jira
  
  
  
   -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
  
  
 
 


 --
 Warm regards,
 jojo.

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]







--
Warm regards,
jojo.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Celtix binding

2006-08-23 Thread ant elder

There's a long thread going on about this right now:
http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg06781.html

  ...ant

On 8/23/06, Liu, Jervis [EMAIL PROTECTED] wrote:


One thing you can try is same as what is done by axis2's
WebServiceBindingLoader, i.e., using wsdlLocation to parse wsdl Definition
by yourself. This way wsdl Definition is not cached but it works.

I can not remember if we had a discussion on this before. Do we still need
a wsdl cache ( e.g. WSDLDefinitionRegistry) somewhere like we did in M1?
As far as I can see, once WebServiceBinding is created, components that use
web service binding should be able to access all wsdl related info from
WebServiceBinding, thus there is no need to access a wsdl cache any more.

Cheers,
Jervis

 -Original Message-
 From: Liu, Jervis
 Sent: Wednesday, August 23, 2006 10:52 AM
 To: Jim Marino; tuscany-dev@ws.apache.org
 Cc: Chris Wall
 Subject: RE: Celtix binding


 Hi Jim, Celtix binding currently is not working yet. I got
 the helloworldwsclient working with the Celtix binding with
 some hacks and without using SDO. At the same time, for the
 helloworldws-celtix sample, I am able to get the reference
 part working, and still struggling on the service part. the
 creation of WebServiceBinding is one issue among many, the
 main problem is that the wsdl info is not properly cached in
 WSDLDefinitionRegistry. As soon as helloworldwsclient and
 helloworldws-celtix are both working, your sample should work
 as well. I will let you know once I make any further progress
 on these two samples.

 Thanks,
 Jervis

  -Original Message-
  From: Jim Marino [mailto:[EMAIL PROTECTED]
  Sent: Tuesday, August 22, 2006 4:02 PM
  To: tuscany-dev@ws.apache.org
  Cc: Chris Wall; Liu, Jervis
  Subject: Celtix binding
 
 
  Hi Jervis,
 
  Chris and I have been trying to get the Celtix binding
 bootstrapped
  into a sample where it wires to Spring. I noticed
  WebServiceBindingLoader line 134 originally returned a null
 instead
  of a WebServiceBinding, which caused another issue related to
  composite wiring (I or Ignacio will need to fix). So, to
 get around
  this, I changed the loader to return a WebServiceBinding that
  doesn't
  work as I pass mostly nulls in. Ideally, we'd like to get
 the Celtix
  part fully working. Both of us are willing to help out if you can
  provide some direction.
 
  The same SCDL and WSDL are attached.
 
  Thanks,
  Jim
 
 

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: [jira] Created: (TUSCANY-651) Port WSDL2Java and Java2WSDL from M1

2006-08-23 Thread ant elder

Jojo, it should be picking up the Woodstox jar (eg, wstx-asl-2.9.3.jar),
this error is saying it can't find that jar. Is that jar in your classpath?
Could you describe a bit more how you're try to run this - in eclipse or
mvn, is the code in SVN so I can try?

  ...ant

On 8/22/06, Jojo [EMAIL PROTECTED] wrote:


Hi,

I was trying to get some java2wsdl test case running, but got stuck
with the following error :

javax.xml.stream.FactoryConfigurationError: Provider
com.bea.xml.stream.MXParserFactory not found
at javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java
:72)
at javax.xml.stream.FactoryFinder.find(FactoryFinder.java:176)
at javax.xml.stream.FactoryFinder.find(FactoryFinder.java:92)
at javax.xml.stream.XMLInputFactory.newInstance(
XMLInputFactory.java:136)


I remember seeing this problem previously discussed in the thread
[Axiom and classloaders, was: svn commit: r429905] and was fixed
subsequently. But the fix was not discussed in the tread.

I understand this is a classloader/classpath issue. Can someone tell
me what was the fix ? The same fix need to be applied to the sca-tools
project.

Thanks!
jojo.

On 8/22/06, Venkata Krishnan [EMAIL PROTECTED] wrote:
 Rick,

 I can with this.  Please let me know what else needs to be done to the
 existing code in M1 in the context of M2 after you have moved the code
over
 to the current trunk.

 Thanks

 - Venkat





 On 8/22/06, Rick Rineholt (JIRA) tuscany-dev@ws.apache.org wrote:
 
  Port WSDL2Java and Java2WSDL from M1
  
 
   Key: TUSCANY-651
   URL: http://issues.apache.org/jira/browse/TUSCANY-651
   Project: Tuscany
Issue Type: Improvement
Components: Java SCA Tools
  Affects Versions: Java-M2
  Reporter: Rick Rineholt
 
 
  Java2WSDL and WSDL2Java tooling needs to be ported from M1 to
facilitate
  the creation of webservices applications.
 
  --
  This message is automatically generated by JIRA.
  -
  If you think it was sent incorrectly contact one of the
administrators:
  http://issues.apache.org/jira/secure/Administrators.jspa
  -
  For more information on JIRA, see:
http://www.atlassian.com/software/jira
 
 
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 




--
Warm regards,
jojo.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: [C++] Creating an SDO DataObject for the properties of a component

2006-08-23 Thread Geoffrey Winn

Oh I give up! I meant DataFactoryImpl not DataObjectImpl in the previous
post.

Regards,

Geoff.

On 23/08/06, Geoffrey Winn [EMAIL PROTECTED] wrote:


Pete,

The DataObjectImpl class has a variety of public setDefault methods that
will set a default value for a property of a type. Is that what you a
looking for?

Also, I fumbled the JIRA reference earlier. The JIRA to add a flexible
type system is TUSCANY-546

Regards,

Geoff.


On 23/08/06, Pete Robbins [EMAIL PROTECTED] wrote:

 On 23/08/06, Geoffrey Winn [EMAIL PROTECTED] wrote:

  Sebastien, Pete,
 
  I may have misunderstood the base note, however, it looks to me that
 you
  are
  trying to make changes to the metadata - by adding types - after
 creating
  a
  data object.
 
   so we already have in hand a DataObject representing the
   component, containing a list of property DataObjects.
   Now I need to dynamically create a new SDO type containing
 
  If I'm right then this is a known restricion. We have a JIRA
 (TUSCANY-474)
  that explains it. Bascally, as soon as you create a data object the
 type
  system is frozen. Pete, is that why you are suggesting creating a
  DataFactory for each componenType?


 Exactly! However my brain let me down as when I went to check the code I
 had
 already coded it this way ;-)

 What we do need is a way of setting the default value for a type. Maybe
 you
 can enlighten me on what I have to do. Is there code to handle default
 values in SDO?

 Cheers,

 --
 Pete





Re: [SDO for C++} Review of JIRA status

2006-08-23 Thread Geoffrey Winn

Pete,

Thanks for that, all the ones with applied patches have been closed. That
leaves four with patches waiting to be applied

490: patch submitted but not yet applied

496: patch submitted but not yet applied

539: patch submitted but not yet applied

553: patch submitted but not yet applied

Could you look at those too?

Thanks in advance.

Geoff.


On 04/08/06, Pete Robbins [EMAIL PROTECTED] wrote:


Geoff, I'll go through, verify, then close the Jiras that are fixed.
I'll take a look at the patches that have not been applied as well.

Cheers,




Re: Composite Reference Example

2006-08-23 Thread Venkata Krishnan

Hi,

Could it be that the scdl contains references and then within that
reference.  Is there an element as references.  Anyways, here is an scdl
I used for the RMI Binding. To me it seems similar in structure to what Joel
is using.  This works there.

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
  xmlns:rmi=
http://tuscany.apache.org/xmlns/binding/rmi/1.0-SNAPSHOT;
  name=HelloWorldRmiComposite

   service name=HelloWorldRmiService
target=HelloWorldServiceComponent
   interface.java interface=helloworld.HelloWorldService/
   rmi:binding.rmi host=localhost port=1099
serviceName=HelloWorldRemoteService   /
   referenceHelloWorldServiceComponent/reference
   /service

   component name=HelloWorldServiceComponent
   implementation.java class=helloworld.HelloWorldImpl/
   /component

  component name=HelloWorldRmiServiceComponent
   implementation.java class=helloworld.HelloWorldRmiImpl/
   reference name=extService
target=HelloWorldRmiReferenceHelloWorldRmiReference/reference
   /component

 reference name=HelloWorldRmiReference target=Nothing
   interface.java interface=helloworld.HelloWorldService/
   rmi:binding.rmi host=localhost port=1099
serviceName=HelloWorldRemoteService   /
   /reference

/composite

Thanks

Venkat


On 8/23/06, Hawkins, Joel [EMAIL PROTECTED] wrote:


Jim,

TUSCANY-657.

Thanks for looking at this.

Cheers,
Joel

-Original Message-
From: Hawkins, Joel [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 22, 2006 11:04 AM
To: tuscany-dev@ws.apache.org
Subject: Composite Reference Example

Can anyone point me to an example that uses a Composite Reference? I
noticed that the one in BigBank is commented out.

I'm having trouble testing OSGi support against the latest code. I've
got a sample that looks like this:

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
   xmlns:osgi=http://tuscany.apache.org/xmlns/osgi/1.0;
   name=Retailer_Warehouse

service name=RetailerService target=RetailerComponent
interface.java
 interface=mypackage.Retailer/
osgi:binding.osgi
 service=mypackage.Retailer/
referenceRetailerComponent/reference
/service

reference name=ShipperReference override=may
multiplicity=0..n
interface.java
interface=mypackage.Shipper/
osgi:binding.osgi
service=mypackage.Shipper
filter=(objectclass=mypackage.Shipper)
immediate=false/
/reference

component name=RetailerComponent
implementation.java   class=mypackage.RetailerComponentImpl/
references
reference name=warehouse target=WarehouseComponent/
/references
/component

component name=WarehouseComponent
implementation.java class=mypackage.WarehouseComponentImpl/
references
reference name=shipperShipperReference/reference
/references
/component

/composite

According to the spec, it should be legal for the target of the
shipper reference to be a Composite Reference (in this case,
ShipperReference):

A composite reference is a valid target of a wire. In this case, the
name of the reference is the
value set on the wire targeting the reference. (pg 24 of the v.95
spec).

However, the composite above fails when ConnectorImpl attempts to locate
the target (the parent's children map contains only components and
services, no composite references). Is the problem with my Composite
definition, or is the problem with Tuscany?

Thanks,
Joel
The contents of this e-mail are intended for the named addressee only.
It contains information that may be confidential. Unless you are the
named addressee or an authorized designee, you may not copy or use it,
or disclose it to anyone else. If you received it in error please notify
us immediately and then destroy it.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Tuscany Wiki - DataMediation content

2006-08-23 Thread Venkata Krishnan

Hi Raymond,
  I have renamed the DataMediation page on the wiki in an attempt to flow
to it from the SCA Java page.  The new page name is
http://wiki.apache.org/ws/Tuscany/TuscanyJava/SCA_Java/DataMediation?action=show.
In doing this I slipped a couple of attachments (a zip file and a jpg
file).  Could you please upload them whenever possible?  I apologize for
this inconvenience. Thanks.

- Venkat


Re: Tuscany feature wish list

2006-08-23 Thread Rick

Jim,
Hi. If you're interested in doing some piece of work the best practice IMO is 
let people know about it.  Communicate it to the mailing list, open Jira's or 
both.  The web site would probably not have a lot in new ideas but the mailing 
list, wiki and even the Jira's may have something you could be interested in. 
Even getting your hands in fixing some bugs lets the community know you.  The 
website has a lot of information to help in getting started too.
I don't think priorities are particularly important, mostly find something 
you're interested in.  As per dependencies, once again, state on the mailing 
list what you're looking at, give as much details as you can once you think you 
have an idea. People will start communicating with you if they think there are 
dependencies on what they're doing.


Jim Lynch wrote:

I think this would be great.  I'm new (a couple weeks) to Tuscany and at
some point would like to contribute (once the deer in headlights syndrome
passes).  The problem is, it's tough to know who's working on what and at
the same time which features are at a priority and which have dependencies.


I believe I need to earn my way to be a contributor, but it's tough to find
a place to start (especially without breaking anything).

jim


On 8/22/06, Jim Marino [EMAIL PROTECTED] wrote:



On Aug 22, 2006, at 7:50 AM, ant elder wrote:

 I'm regularly asked be people new to Tuscany about what is
 something they
 could look at or help to develop, we don't give any help with this
 on the
 website or wiki so to help I've created a Wish list category in
 JIRA:

 http://issues.apache.org/jira/secure/IssueNavigator.jspa?
 reset=truemode=hidesorter/order=DESCsorter/
 field=priorityresolution=-1pid=12310210fixfor=12312038

 JIRA makes it easier to manage than keeping a list on the wiki or
 website,
 and we could add a link to the wish list from the website. Is easy
 to move
 things around or add separate wish lists for C++ or SDO or DAS etc,
 although
 if you put a prefix in the summary you can sort the JIRA list.

 There's only one thing in there right now, I'm sure we could all
 thing of
 things to add. Is this useful?
I think it is very useful, especially for people outside the project.


   ...ant


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Auto discovering WSDL. WAS: RE: Celtix binding

2006-08-23 Thread Liu, Jervis
Thanks, ant. I did see this discussion after I sent out my email. However, my 
point was that no matter what kind of locating and loading mechanism we adopt, 
it does not appear to be an absolute requirement that we need to cache loaded 
wsdls. As once the wsdl is loaded and parsed, we store all info in the instance 
of WebServiceBinding, there is no need to access wsdl anymore for following 
processes. Of course I have to admit, without a cache or registry, it is a bit 
hard to implement refreshings

We do need a system service for example a resolve to lookup and load wsdls. It 
can be a chained resolvers, so that if resolver A can not load a resource 
successfully then the responsibility passes to resolver b, then c...This way 
Tuscany runtime can config a default resolving logic by registering resolovers 
in order, applications can extend this by register their own resolvers. 

Cheers,
Jervis 



 -Original Message-
 From: ant elder [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, August 23, 2006 6:18 PM
 To: tuscany-dev@ws.apache.org
 Subject: Re: Celtix binding
 
 
 There's a long thread going on about this right now:
 http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg06781.html
 
...ant
 
 On 8/23/06, Liu, Jervis [EMAIL PROTECTED] wrote:
 
  One thing you can try is same as what is done by axis2's
  WebServiceBindingLoader, i.e., using wsdlLocation to parse 
 wsdl Definition
  by yourself. This way wsdl Definition is not cached but it works.
 
  I can not remember if we had a discussion on this before. 
 Do we still need
  a wsdl cache ( e.g. WSDLDefinitionRegistry) somewhere like 
 we did in M1?
  As far as I can see, once WebServiceBinding is created, 
 components that use
  web service binding should be able to access all wsdl 
 related info from
  WebServiceBinding, thus there is no need to access a wsdl 
 cache any more.
 
  Cheers,
  Jervis
 
   -Original Message-
   From: Liu, Jervis
   Sent: Wednesday, August 23, 2006 10:52 AM
   To: Jim Marino; tuscany-dev@ws.apache.org
   Cc: Chris Wall
   Subject: RE: Celtix binding
  
  
   Hi Jim, Celtix binding currently is not working yet. I got
   the helloworldwsclient working with the Celtix binding with
   some hacks and without using SDO. At the same time, for the
   helloworldws-celtix sample, I am able to get the reference
   part working, and still struggling on the service part. the
   creation of WebServiceBinding is one issue among many, the
   main problem is that the wsdl info is not properly cached in
   WSDLDefinitionRegistry. As soon as helloworldwsclient and
   helloworldws-celtix are both working, your sample should work
   as well. I will let you know once I make any further progress
   on these two samples.
  
   Thanks,
   Jervis
  
-Original Message-
From: Jim Marino [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 22, 2006 4:02 PM
To: tuscany-dev@ws.apache.org
Cc: Chris Wall; Liu, Jervis
Subject: Celtix binding
   
   
Hi Jervis,
   
Chris and I have been trying to get the Celtix binding
   bootstrapped
into a sample where it wires to Spring. I noticed
WebServiceBindingLoader line 134 originally returned a null
   instead
of a WebServiceBinding, which caused another issue related to
composite wiring (I or Ignacio will need to fix). So, to
   get around
this, I changed the loader to return a WebServiceBinding that
doesn't
work as I pass mostly nulls in. Ideally, we'd like to get
   the Celtix
part fully working. Both of us are willing to help out 
 if you can
provide some direction.
   
The same SCDL and WSDL are attached.
   
Thanks,
Jim
   
   
  
   
 -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
  
  
 
  
 -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [jira] Created: (TUSCANY-651) Port WSDL2Java and Java2WSDL from M1

2006-08-23 Thread Jojo

Hi Ant,

Thanks for looking into this. Unfortuately I had a machine crash
sometime back and trying to recover. So I won't be able to give you a
patch. And the code is not yet in SVN.

I am trying to run it usig Maven. I will try to give you a zip file
with the code.

Thanks and regards,
jojo.

On 8/23/06, ant elder [EMAIL PROTECTED] wrote:

Jojo, it should be picking up the Woodstox jar (eg, wstx-asl-2.9.3.jar),
this error is saying it can't find that jar. Is that jar in your classpath?
Could you describe a bit more how you're try to run this - in eclipse or
mvn, is the code in SVN so I can try?

  ...ant

On 8/22/06, Jojo [EMAIL PROTECTED] wrote:

 Hi,

 I was trying to get some java2wsdl test case running, but got stuck
 with the following error :

 javax.xml.stream.FactoryConfigurationError: Provider
 com.bea.xml.stream.MXParserFactory not found
 at javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java
 :72)
 at javax.xml.stream.FactoryFinder.find(FactoryFinder.java:176)
 at javax.xml.stream.FactoryFinder.find(FactoryFinder.java:92)
 at javax.xml.stream.XMLInputFactory.newInstance(
 XMLInputFactory.java:136)


 I remember seeing this problem previously discussed in the thread
 [Axiom and classloaders, was: svn commit: r429905] and was fixed
 subsequently. But the fix was not discussed in the tread.

 I understand this is a classloader/classpath issue. Can someone tell
 me what was the fix ? The same fix need to be applied to the sca-tools
 project.

 Thanks!
 jojo.

 On 8/22/06, Venkata Krishnan [EMAIL PROTECTED] wrote:
  Rick,
 
  I can with this.  Please let me know what else needs to be done to the
  existing code in M1 in the context of M2 after you have moved the code
 over
  to the current trunk.
 
  Thanks
 
  - Venkat
 
 
 
 
 
  On 8/22/06, Rick Rineholt (JIRA) tuscany-dev@ws.apache.org wrote:
  
   Port WSDL2Java and Java2WSDL from M1
   
  
Key: TUSCANY-651
URL: http://issues.apache.org/jira/browse/TUSCANY-651
Project: Tuscany
 Issue Type: Improvement
 Components: Java SCA Tools
   Affects Versions: Java-M2
   Reporter: Rick Rineholt
  
  
   Java2WSDL and WSDL2Java tooling needs to be ported from M1 to
 facilitate
   the creation of webservices applications.
  
   --
   This message is automatically generated by JIRA.
   -
   If you think it was sent incorrectly contact one of the
 administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
   -
   For more information on JIRA, see:
 http://www.atlassian.com/software/jira
  
  
  
   -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
  
  
 
 


 --
 Warm regards,
 jojo.

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]







--
Warm regards,
jojo.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: OSGi host

2006-08-23 Thread Hawkins, Joel
Hi Andy,

I'm pretty new to it, too, hence the questions. :-)

For me, SCA seems like wiring technology that's very useful for things
with a bit of an impedance mismatch, whereas Spring is more focused on
IOC. Spring is very good at wiring things together that are meant to be
wired, and functionality like the OSGi binding for Spring is a means of
bringing more wiring targets into the fold. I guess my question is,
could SCA be the standard way for Spring and EJB3 to deal with these
impedance mismatches, so that all Spring would need to implement is an
SCA bean type, and all SCA would need to implement is an OSGi binding?
Then anything bind-able by SCA could be consumed by Spring - BPEL
components, Javascript, whatever. 

This seems like what the OSOA Client and Implementation spec for Spring
implies. I just wonder how it's viewed from the Spring side of the
fence.

Oh well, it looks like we need those OSGi services and bindings in
Tuscany regardless, so I'll get back to working on them. For the OSGi
crowd, size matters - and smaller is better. They won't want to include
the Spring jars if they don't have to. Thanks again for the link - it
helps to level-set what the SCA binding should be capable of!

Cheers,
Joel 



-Original Message-
From: Andy Piper [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, August 22, 2006 6:07 PM
To: tuscany-dev@ws.apache.org
Cc: tuscany-dev@ws.apache.org
Subject: RE: OSGi host

Hi Joel,

I'm new to SCA, so don't believe everything I say :)

OSGi is IMO an infrastructure technology suitable for building 
container technologies such as SCA.

Spring is a Java component wiring technology, so inevitably overlaps 
with some of what SCA is trying to achieve (and EJB3 for example). 
That's ok - customers will decide what is appropriate for them.

For me the sweet spot of SCA is SOA which has no overlap at all with 
either Spring or OSGI.

andy

At 02:50 PM 8/21/2006, Hawkins, Joel wrote:
Hi Andy,

Thanks for the link. You bring up a question that's been troubling me
about some of this. What is the role of OSGi in SCA? How does it differ
from the role of something like Spring? Or, asked in the larger sense,
where does SCA fit into the world of Containers?

My assumption has been that OSGi is analogous to Tomcat - it is the
outer container for hosting SCA runtime instances (the Hosting
Platform). I saw Spring as something contained by an SCA runtime. In my
simple world view, that would mean that the SCA runtime should mediate
between the OSGi and Spring worlds. I'm assuming that we would want an
SCA wire between Spring beans accessing OSGi services, etc. so that SCA
would have a place to inject code (for whatever reason), and so that
the
SCDLs would more closely reflect the actual application's
interrelationships (a really nice side-effect that enhances
manageability). All of this argues for a separate OSGi binding for SCA
(and a single SCA bean-type in Spring for 'outside' beans).

On the other hand, there is quite a bit of overlap between what Spring
and SCA do, and I am getting the feeling that this code could rapidly
become wheel-shaped. :-) Do you have any suggestions for how to
proceed?
What are your thoughts on the big-picture relationship between SCA and
these fully-featured containers like Spring and J2EE?

Thanks,
Joel

-Original Message-
From: Andy Piper [mailto:[EMAIL PROTECTED]
Sent: Monday, August 21, 2006 6:40 AM
To: tuscany-dev@ws.apache.org
Cc: tuscany-dev@ws.apache.org
Subject: RE: OSGi host

Note that you will get a lot of this stuff for free if you use Spring.

http://opensource.atlassian.com/projects/spring/secure/attachment/11891
/
spring_and_osgi.html

andy

At 14:44 18/08/2006, Hawkins, Joel wrote:
 Jim,
 
  I've done an intial checkin of your patch for OSGi host support. I
  did some mods and didn't check in the samples as we have a
discussion
  ongoing on how best to structure the samples and didn't want to
  create more issues for now related to the restructuring.
 
 Yes, how to deal with samples is always and issue. I'm sure dealing
with
 test cases will be as well.
 
  1. I didn't check in support for OSGi services as component
  implementation types. For SCA, our model has typically been that
  implementation types are created for artifacts that are deployed
and
  evolved as part of a composite. Services that are not deployed with
  the composite are treated as external and modeled as References. I
  think this fits with OSGi as well, whose services are more dynamic
in
  nature. Given that, I think we should be providing an OSGi binding
  that accesses those services as References and publishes SCA
  components as OSGi Services.
 
 I agree. I think where I went for Implementation rather than
Reference
 is when the core wanted me to specify a target declared in the
 component. In the spec, you can declare a reference without a target,
 but that didn't appear to be the case in the code I had. My thought
 process (such as it is..) was that at a certain 

Re: Auto discovering WSDL. WAS: RE: Celtix binding

2006-08-23 Thread ant elder

I agree its not an absolute requirement, but it makes things simpler (in
some respects). Take a simple example of a service using both interface.wsdland
binding.ws without any caching:

   service name=HelloWorldWebService
   interface.wsdl wsdlLocation=wsdl/helloworld.wsdl.../
   binding.ws wsdlLocation=wsdl/helloworld.wsdl.../
   referenceHelloWorldServiceComponent/reference
   /service

That requires the same wsdl be defined twice which seems a  bit unnecessary.


More complex examples which also include components using interface.wsdl and
composites including other composites and wanting wsdl shared between both
composites and you end up having to specify  the same wsdl lots of times.

Compare that to say interface.java class=sample.Helloworld, you don't
have to tell that where to find the class as it just comes from the
application class loader. Some sort of WSDL registry could be similar to the
application class loader.

  ...ant

On 8/23/06, Liu, Jervis [EMAIL PROTECTED] wrote:


Thanks, ant. I did see this discussion after I sent out my email. However,
my point was that no matter what kind of locating and loading mechanism we
adopt, it does not appear to be an absolute requirement that we need to
cache loaded wsdls. As once the wsdl is loaded and parsed, we store all info
in the instance of WebServiceBinding, there is no need to access wsdl
anymore for following processes. Of course I have to admit, without a cache
or registry, it is a bit hard to implement refreshings

We do need a system service for example a resolve to lookup and load
wsdls. It can be a chained resolvers, so that if resolver A can not load a
resource successfully then the responsibility passes to resolver b, then
c...This way Tuscany runtime can config a default resolving logic by
registering resolovers in order, applications can extend this by register
their own resolvers.

Cheers,
Jervis



 -Original Message-
 From: ant elder [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, August 23, 2006 6:18 PM
 To: tuscany-dev@ws.apache.org
 Subject: Re: Celtix binding


 There's a long thread going on about this right now:
 http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg06781.html

...ant

 On 8/23/06, Liu, Jervis [EMAIL PROTECTED] wrote:
 
  One thing you can try is same as what is done by axis2's
  WebServiceBindingLoader, i.e., using wsdlLocation to parse
 wsdl Definition
  by yourself. This way wsdl Definition is not cached but it works.
 
  I can not remember if we had a discussion on this before.
 Do we still need
  a wsdl cache ( e.g. WSDLDefinitionRegistry) somewhere like
 we did in M1?
  As far as I can see, once WebServiceBinding is created,
 components that use
  web service binding should be able to access all wsdl
 related info from
  WebServiceBinding, thus there is no need to access a wsdl
 cache any more.
 
  Cheers,
  Jervis
 
   -Original Message-
   From: Liu, Jervis
   Sent: Wednesday, August 23, 2006 10:52 AM
   To: Jim Marino; tuscany-dev@ws.apache.org
   Cc: Chris Wall
   Subject: RE: Celtix binding
  
  
   Hi Jim, Celtix binding currently is not working yet. I got
   the helloworldwsclient working with the Celtix binding with
   some hacks and without using SDO. At the same time, for the
   helloworldws-celtix sample, I am able to get the reference
   part working, and still struggling on the service part. the
   creation of WebServiceBinding is one issue among many, the
   main problem is that the wsdl info is not properly cached in
   WSDLDefinitionRegistry. As soon as helloworldwsclient and
   helloworldws-celtix are both working, your sample should work
   as well. I will let you know once I make any further progress
   on these two samples.
  
   Thanks,
   Jervis
  
-Original Message-
From: Jim Marino [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 22, 2006 4:02 PM
To: tuscany-dev@ws.apache.org
Cc: Chris Wall; Liu, Jervis
Subject: Celtix binding
   
   
Hi Jervis,
   
Chris and I have been trying to get the Celtix binding
   bootstrapped
into a sample where it wires to Spring. I noticed
WebServiceBindingLoader line 134 originally returned a null
   instead
of a WebServiceBinding, which caused another issue related to
composite wiring (I or Ignacio will need to fix). So, to
   get around
this, I changed the loader to return a WebServiceBinding that
doesn't
work as I pass mostly nulls in. Ideally, we'd like to get
   the Celtix
part fully working. Both of us are willing to help out
 if you can
provide some direction.
   
The same SCDL and WSDL are attached.
   
Thanks,
Jim
   
   
  
  
 -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
  
  
 
 
 -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  

RE: Composite Reference Example

2006-08-23 Thread Hawkins, Joel
Venkaat,

Thanks! Found the problem. As it turns out, the Launcher code has
drifted quite a bit. I'd created an OSGiLauncher based on code that was
a couple of weeks old (whenever I checked in the initial support). This
code was loading the application into a SystemCompositeImpl rather than
a plain CompositeImpl. The CompositeBuilder builds bound references, the
SystemCompositeBuilder only builds bound services. Not sure if this is
intentional.

Anyway, seeing your working RMI example helped me see where the real
problem had to be.

Thanks again,
Joel


-Original Message-
From: Venkata Krishnan [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 23, 2006 6:58 AM
To: tuscany-dev@ws.apache.org
Subject: Re: Composite Reference Example

Hi,

Could it be that the scdl contains references and then within that
reference.  Is there an element as references.  Anyways, here is an
scdl
I used for the RMI Binding. To me it seems similar in structure to what
Joel
is using.  This works there.

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
   xmlns:rmi=
http://tuscany.apache.org/xmlns/binding/rmi/1.0-SNAPSHOT;
   name=HelloWorldRmiComposite

service name=HelloWorldRmiService
target=HelloWorldServiceComponent
interface.java interface=helloworld.HelloWorldService/
rmi:binding.rmi host=localhost port=1099
serviceName=HelloWorldRemoteService   /
referenceHelloWorldServiceComponent/reference
/service

component name=HelloWorldServiceComponent
implementation.java class=helloworld.HelloWorldImpl/
/component

   component name=HelloWorldRmiServiceComponent
implementation.java class=helloworld.HelloWorldRmiImpl/
reference name=extService
target=HelloWorldRmiReferenceHelloWorldRmiReference/reference
/component

  reference name=HelloWorldRmiReference target=Nothing
interface.java interface=helloworld.HelloWorldService/
rmi:binding.rmi host=localhost port=1099
serviceName=HelloWorldRemoteService   /
/reference

/composite

Thanks

Venkat


On 8/23/06, Hawkins, Joel [EMAIL PROTECTED] wrote:

 Jim,

 TUSCANY-657.

 Thanks for looking at this.

 Cheers,
 Joel

 -Original Message-
 From: Hawkins, Joel [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, August 22, 2006 11:04 AM
 To: tuscany-dev@ws.apache.org
 Subject: Composite Reference Example

 Can anyone point me to an example that uses a Composite Reference? I
 noticed that the one in BigBank is commented out.

 I'm having trouble testing OSGi support against the latest code. I've
 got a sample that looks like this:

 composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
xmlns:osgi=http://tuscany.apache.org/xmlns/osgi/1.0;
name=Retailer_Warehouse

 service name=RetailerService target=RetailerComponent
 interface.java
  interface=mypackage.Retailer/
 osgi:binding.osgi
  service=mypackage.Retailer/
 referenceRetailerComponent/reference
 /service

 reference name=ShipperReference override=may
 multiplicity=0..n
 interface.java
 interface=mypackage.Shipper/
 osgi:binding.osgi
 service=mypackage.Shipper
 filter=(objectclass=mypackage.Shipper)
 immediate=false/
 /reference

 component name=RetailerComponent
 implementation.java
class=mypackage.RetailerComponentImpl/
 references
 reference name=warehouse target=WarehouseComponent/
 /references
 /component

 component name=WarehouseComponent
 implementation.java
class=mypackage.WarehouseComponentImpl/
 references
 reference name=shipperShipperReference/reference
 /references
 /component

 /composite

 According to the spec, it should be legal for the target of the
 shipper reference to be a Composite Reference (in this case,
 ShipperReference):

 A composite reference is a valid target of a wire. In this case, the
 name of the reference is the
 value set on the wire targeting the reference. (pg 24 of the v.95
 spec).

 However, the composite above fails when ConnectorImpl attempts to
locate
 the target (the parent's children map contains only components and
 services, no composite references). Is the problem with my Composite
 definition, or is the problem with Tuscany?

 Thanks,
 Joel
 The contents of this e-mail are intended for the named addressee only.
 It contains information that may be confidential. Unless you are the
 named addressee or an authorized designee, you may not copy or use it,
 or disclose it to anyone else. If you received it in error please
notify
 us immediately and then destroy it.

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]

 The contents of this e-mail are intended for the named addressee only.
It
 contains information that may be 

Re: Auto discovering WSDL

2006-08-23 Thread Rick

Something else that just occurred to me with regard to this --- error reporting.
If wsdl is cached and could be located in different locations and that may even 
be changed by replacing some pluggable system component, when errors arise will 
there be a means to specifically state which WSDL participated in that error? I 
could see an very large deployment this could be a real pain point if wsdl not 
being referenced where the use *thinks* it is.



Rick wrote:
I can see in having a default location or via searching for wsdl in 
resources, but I'm still in favor of have the ability to give specific 
location control in the scdl.



Does it seem reasonable the actual location can/should be specified by 
url? Not on the local machine itself?  Could it be generated? change in 
time to change an endpoint address ?  If yes will a caching scheme take 
that into account?


I'm assuming caching will be hierarchical with each classloader on each 
composite having its own cache and delegating if not found to the 
containing composite to finally a global one.  If I'm understanding 
correctly the aspects of this I think this is where we went wrong in M1 
(global across all webapps). If this is the case I think at each level 
it would be nice to have a scdl parameter to block the delegating to the 
next level.


Generally I like the idea of making it simple by having less to specify, 
but not if it's at the expense of not having control when it's needed.



Jim Marino wrote:


On Aug 22, 2006, at 4:31 PM, ant elder wrote:


On 8/22/06, Jim Marino [EMAIL PROTECTED] wrote:
snip/


I really like the suggestion that WSDL be automatically discovered
 anywhere
 within the application directory structure.
I pretty much have the same concerns as mentioned by Raymond on this.



I'm confused by this thread, you're concerns are the same as Raymonds,
Raymond says Sebastien points out the problems, but AFAICT Sebastien 
likes
Yea actually I thought Sebastien liked it some I'm a bit confused too. 
Outside of that, I don't like when things are magically picked up on a 
classpath. For example, fragments caused all sorts of problems.
the auto discovery approach and I think this is how the C++ guys are 
going

to implemented it. What alternative approaches do you like - must use
wsdlLocation on every interface.wsdl and binding.ws?

I think this was Jeremy's preference. I'm not the hard line

Only auto discover in a
specific folder such as META-INF/wsdl?
I prefer a specific folder as well as potentially reinstating 
import.wsdl since that may be more portable.

Re-instate import.wsdl? Something
else ? I'd just like to get something going, especially while Yang is
sounding so keen to help out.

  ...ant



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Auto discovering WSDL

2006-08-23 Thread Jim Marino
As you mentioned WeakReferences work as long as values do not contain  
pointers back to the  classloader, which I have found is difficult to  
avoid and error prone. I'd prefer to see if we could avoid keying on  
classloader. I also think having to flush a system service may be  
more complicated than just treating it within the context of a  
composite.


Jim

On Aug 22, 2006, at 4:58 PM, Yang ZHONG wrote:

Keying can be done by WeakReference or SoftReference, as long as no  
strong
reference from value to key (value sure can have weak/soft  
reference to

key).
The registry I worked on, Eclipse Modeling Framework, and many  
other Java

caches, use Java Reference.


On 8/22/06, Jim Marino [EMAIL PROTECTED] wrote:



On Aug 22, 2006, at 2:46 PM, Yang ZHONG wrote:

 Ant has just mentioned two important aspects of a decent registry:
 multi-dimension scoping and NameSpace aggregation. I forgot to
 mention the
 registry I previously worked on supports them too, thank Ant.

 Specifically, keyed by application and the WSDL location mentions
 scoping
 by application/ClassLoaders *and* scoping by (WSDL) location.
 application/ClassLoaders scoping and location scoping are *not* in
 parallel,
 e.g. one WSDL/XSD file could be shared by both WAR and EJB, or both
 app1 and
 app2.
 By multi-dimension, I mean the loaded symbol may need to be only  
one

 instance, e.g. Quote type/message from WSDL file, it's especially
 important to types due to instanceof and isSuperType checking (we
 know how
 painful that one .class file ends up more than one copies in  
memory)


 NameSpace aggregation is also important. e.g. WSDL file 1 may have
 defined NameSpace tns in location 1 scope, and WSDL 2 defines the
 same
 tns in location 2 scope, and both WSDL 1 and 2 are accessible
 from application scope, then a NameSpace aggregation *view* is
 necessary for
 queries from the application scope.

 I have quite some experience working on such registry, I'd like to
 contribute if it's the way Tuscany wants to go.

Yea it sure sounds like it. I'm wondering that this should not be a
system component by something scoped within the application composite
as you mentioned classloaders are referenced. We could potentially do
something with the property extension mechanism. I'm a little behind
so if you can figure out how the keying could work, I could offer
some suggestions on how to plug the registry into the runtime.


 On 8/22/06, ant elder [EMAIL PROTECTED] wrote:

 I agree a registry would be good, we need some sort of cache or
 registry
 otherwise you need to specify the wsdlLocation on every
 interface.wsdl and
 binding.ws which is quite ugly. But we had a simple registry in M1
 and
 that
 caused problems with namespace reuse.

 We definitely need to handle the reuse of namespaces across
 applications,
 and also maybe the reuse of namespaces within an application. To
 handle
 namespace reuse within an application you need the option to
 specify a
 wsdlLocation everywhere interface.wsdl or binding.ws is used, to
 handle
 reuse across applications the registry needs to have some sort of
 application scope.

 I really like the suggestion that WSDL be automatically discovered
 anywhere
 within the application directory structure.

 So for now, to get the current code working without requiring
 wsdlLocation
 be used everywhere and until the spec group do something, could we
 have a
 simple registry that finds WSDL anywhere within applications and
 its keyed

 by application and the WSDL location. Then extensions could locate
 WSDL
 objects based on the name, eg portType name, DeploymentContext  
and an

 optional wsdlLocation?

 ...ant

 On 8/22/06, Jim Marino  [EMAIL PROTECTED] wrote:
 
  I like Raymond's and Yang's approach and perhaps someone is  
willing
  to propose the standardized way to the spec group? Sebastien,  
since

  you had a bunch of other issues raised against the spec group,
 do you
  want to do that?
 
  Jim
 
  On Aug 22, 2006, at 10:36 AM, Raymond Feng wrote:
 
   I'm leaning the following:
  
   1) Have a well-defined default scheme. I agree with Sebastien
 that
   the SCA spec should spell it out.
   2) Allow extensibility to plug in new schemes (for example,
   my:path) if the host platform desires.
  
   Thanks,
   Raymond
  
   - Original Message - From: Jean-Sebastien Delfino
   [EMAIL PROTECTED] 
   To: tuscany-dev@ws.apache.org
   Sent: Tuesday, August 22, 2006 10:21 AM
   Subject: Re: Auto discovering WSDL
  
  
   Raymond Feng wrote:
   Hi,
  
   I would suggest that we define a system service to  
provide the

   artifact resolving strategy. Then we can supply a default
   implementation, for example, resolve the wsdlLocation  
based on
   classpath. The embedded can choose to replace it with its  
own
   more sophisticated resolver (for exmaple, using META-INF/ 
wsdl,

   scanning directory, or querying a WSDL repository).
  
   Thanks,
   Raymond
  
  
   Making things pluggable to support all 

Re: Auto discovering WSDL. WAS: RE: Celtix binding

2006-08-23 Thread Jim Marino


On Aug 23, 2006, at 4:57 AM, Liu, Jervis wrote:

Thanks, ant. I did see this discussion after I sent out my email.  
However, my point was that no matter what kind of locating and  
loading mechanism we adopt, it does not appear to be an absolute  
requirement that we need to cache loaded wsdls. As once the wsdl is  
loaded and parsed, we store all info in the instance of  
WebServiceBinding, there is no need to access wsdl anymore for  
following processes.


Why don't we start with something simple and then add in  
functionality as we need it?


Of course I have to admit, without a cache or registry, it is a bit  
hard to implement refreshings


We do need a system service for example a resolve to lookup and  
load wsdls. It can be a chained resolvers, so that if resolver A  
can not load a resource successfully then the responsibility passes  
to resolver b, then c...This way Tuscany runtime can config a  
default resolving logic by registering resolovers in order,  
applications can extend this by register their own resolvers.


Yea the resolver has come up too. I think we were going to have a  
swappable system service that implemented different resolution  
strategies. Do the resolvers need to do more than just handle  
resolution?

Cheers,
Jervis




-Original Message-
From: ant elder [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 23, 2006 6:18 PM
To: tuscany-dev@ws.apache.org
Subject: Re: Celtix binding


There's a long thread going on about this right now:
http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg06781.html

   ...ant

On 8/23/06, Liu, Jervis [EMAIL PROTECTED] wrote:


One thing you can try is same as what is done by axis2's
WebServiceBindingLoader, i.e., using wsdlLocation to parse

wsdl Definition

by yourself. This way wsdl Definition is not cached but it works.

I can not remember if we had a discussion on this before.

Do we still need

a wsdl cache ( e.g. WSDLDefinitionRegistry) somewhere like

we did in M1?

As far as I can see, once WebServiceBinding is created,

components that use

web service binding should be able to access all wsdl

related info from

WebServiceBinding, thus there is no need to access a wsdl

cache any more.


Cheers,
Jervis


-Original Message-
From: Liu, Jervis
Sent: Wednesday, August 23, 2006 10:52 AM
To: Jim Marino; tuscany-dev@ws.apache.org
Cc: Chris Wall
Subject: RE: Celtix binding


Hi Jim, Celtix binding currently is not working yet. I got
the helloworldwsclient working with the Celtix binding with
some hacks and without using SDO. At the same time, for the
helloworldws-celtix sample, I am able to get the reference
part working, and still struggling on the service part. the
creation of WebServiceBinding is one issue among many, the
main problem is that the wsdl info is not properly cached in
WSDLDefinitionRegistry. As soon as helloworldwsclient and
helloworldws-celtix are both working, your sample should work
as well. I will let you know once I make any further progress
on these two samples.

Thanks,
Jervis


-Original Message-
From: Jim Marino [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 22, 2006 4:02 PM
To: tuscany-dev@ws.apache.org
Cc: Chris Wall; Liu, Jervis
Subject: Celtix binding


Hi Jervis,

Chris and I have been trying to get the Celtix binding

bootstrapped

into a sample where it wires to Spring. I noticed
WebServiceBindingLoader line 134 originally returned a null

instead

of a WebServiceBinding, which caused another issue related to
composite wiring (I or Ignacio will need to fix). So, to

get around

this, I changed the loader to return a WebServiceBinding that
doesn't
work as I pass mostly nulls in. Ideally, we'd like to get

the Celtix

part fully working. Both of us are willing to help out

if you can

provide some direction.

The same SCDL and WSDL are attached.

Thanks,
Jim






-

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Auto discovering WSDL

2006-08-23 Thread ant elder

On 8/22/06, Yang ZHONG [EMAIL PROTECTED] wrote:

snip/

I have quite some experience working on such registry, I'd like to

contribute if it's the way Tuscany wants to go.



How about we take Yang up on this offer. We could have a WSDL registry as an
optional system service, and define the wsdlLocation attribute on both the
interface.wsdl and binding.ws elements. If you don't configure your system
with a WSDL registry then it will be null and the wsdlLocation attribute
must be specified, if you do configure a WSDL registry in your system then
the wsdlLocation attribute becomes optional and if you leave it out the
registry is used to locate the wsdl. The registry could have configurable
wsdl locating strategies such as looking in a specific folder or scanning
all folders or something completely different.

This seems like it gives everyone what they want. Yang could have a go at
coming up with a registry impl that works and doesn't cause memory leaks and
works across applications etc. I'd be happy to help, and I'd change the
Axis2 binding and JavaScript container to use the registry if we can get it
to work. Yang sounds like he has lots of experience with this type of thing,
and has volunteered, so it would be good to encourage a new contributor.

  ...ant


Re: Auto discovering WSDL

2006-08-23 Thread Yang ZHONG

I personally like Ant's optional wsdlLocation attribute idea, it's flexible
enough to address many requirements, and just like what XSD/WSDL
specification has done - optional schemaLocation attribute: if present,
option to use the specified location; if not present, to be resolved by
loader (registry, repository, whatever)

On 8/23/06, ant elder [EMAIL PROTECTED] wrote:


On 8/22/06, Yang ZHONG [EMAIL PROTECTED] wrote:

snip/

I have quite some experience working on such registry, I'd like to
 contribute if it's the way Tuscany wants to go.


How about we take Yang up on this offer. We could have a WSDL registry as
an
optional system service, and define the wsdlLocation attribute on both the
interface.wsdl and binding.ws elements. If you don't configure your system
with a WSDL registry then it will be null and the wsdlLocation attribute
must be specified, if you do configure a WSDL registry in your system then
the wsdlLocation attribute becomes optional and if you leave it out the
registry is used to locate the wsdl. The registry could have configurable
wsdl locating strategies such as looking in a specific folder or scanning
all folders or something completely different.

This seems like it gives everyone what they want. Yang could have a go at
coming up with a registry impl that works and doesn't cause memory leaks
and
works across applications etc. I'd be happy to help, and I'd change the
Axis2 binding and JavaScript container to use the registry if we can get
it
to work. Yang sounds like he has lots of experience with this type of
thing,
and has volunteered, so it would be good to encourage a new contributor.

  ...ant





--

Yang ZHONG


Re: Auto discovering WSDL

2006-08-23 Thread Jim Marino


On Aug 23, 2006, at 8:41 AM, ant elder wrote:


On 8/22/06, Yang ZHONG [EMAIL PROTECTED] wrote:

snip/

I have quite some experience working on such registry, I'd like to

contribute if it's the way Tuscany wants to go.



How about we take Yang up on this offer. We could have a WSDL  
registry as an
optional system service, and define the wsdlLocation attribute on  
both the
interface.wsdl and binding.ws elements. If you don't configure your  
system
with a WSDL registry then it will be null and the wsdlLocation  
attribute
must be specified, if you do configure a WSDL registry in your  
system then
the wsdlLocation attribute becomes optional and if you leave it out  
the
registry is used to locate the wsdl. The registry could have  
configurable
wsdl locating strategies such as looking in a specific folder or  
scanning

all folders or something completely different.

This sounds like a a good idea. We just need to be careful about back  
references to keys. If you need help with the system service part,  
let me know.


This seems like it gives everyone what they want. Yang could have a  
go at
coming up with a registry impl that works and doesn't cause memory  
leaks and
works across applications etc. I'd be happy to help, and I'd change  
the
Axis2 binding and JavaScript container to use the registry if we  
can get it
to work. Yang sounds like he has lots of experience with this type  
of thing,
and has volunteered, so it would be good to encourage a new  
contributor.


  ...ant



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: OSGi host

2006-08-23 Thread Jim Marino


On Aug 23, 2006, at 5:00 AM, Hawkins, Joel wrote:


Hi Andy,

I'm pretty new to it, too, hence the questions. :-)

For me, SCA seems like wiring technology that's very useful for things
with a bit of an impedance mismatch, whereas Spring is more focused on
IOC. Spring is very good at wiring things together that are meant  
to be
wired, and functionality like the OSGi binding for Spring is a  
means of

bringing more wiring targets into the fold. I guess my question is,
could SCA be the standard way for Spring and EJB3 to deal with these
impedance mismatches, so that all Spring would need to implement is an
SCA bean type, and all SCA would need to implement is an OSGi binding?
Then anything bind-able by SCA could be consumed by Spring - BPEL
components, Javascript, whatever.
I view things similarly as well I generally characterize Java SCA  
Tuscany as wiring infrastructure which involves connecting services  
both remotely and locally. Tuscany handles remote or coarse grained  
connections through bindings which may involve delegation to some  
transport. Tuscany handles local wiring (i.e. from source to target  
in a shared memory space) either directly through a proxying strategy  
or through delegation to a container extension (e.g. Spring). While  
Java SCA Tuscany may use web services technology for interop, it is  
just one option among many and it does not mandate them.


Tuscany supports (or should support since it is a work in progress)  
multiple programming models to author services with. For Java,  
there's an SCA POJO model, Spring and (hopefully at some point others  
such as EJB, JAX-WS, etc.). The SCA programming model supported by  
Tuscany is principally focused on exposing assembly concepts to the  
service developer, so things like non-blocking invocations,  
conversations, statefull interactions, etc. Spring, in addition to  
having a programming model, is also an application framework so it  
has a broader range of functionality including UI, persistence  
abstraction, AOP, etc. From a Spring perspective, I'd say the value  
in SCA is (as you stated) that it allows remote wiring to and from  
Spring beans. Spring has a basic remoting technology but SCA provides  
more thorough capabilities in this regard. I'd probably characterize  
it more as remote/coarse-grained wiring as opposed to mediated  
wiring since Spring's AOP infrastructure supports mediation on a  
local scale.


Similar to Spring, there is some overlap with SCA with OSGi,  
specifically around the OSGI r4 service model. However, I also see a  
lot of complimentary function and actually view OSGi services as  
fitting into an SCA environment. In this case OSGi provides a host  
environment for Tuscany and OSGi services may be wired to from  
Tuscany (as well as the latter publishing services into OSGi).


Jim



This seems like what the OSOA Client and Implementation spec for  
Spring

implies. I just wonder how it's viewed from the Spring side of the
fence.
Rod and Adrian are one the spec group. Most of where they have  
concentrated has been on the Spring Client and Implementation model  
so my assumption would be the value they see is in integration of  
Spring with SCA's remote wiring capabilities.


Oh well, it looks like we need those OSGi services and bindings in
Tuscany regardless, so I'll get back to working on them. For the OSGi
crowd, size matters - and smaller is better.
:-) One of the things we should talk about is embedding the Tuscany  
runtime in somewhat small devices. I think it would be interesting  
to have my Tivo wired with SCA. Seriously, I think this is a really  
interesting scenario as there is no reason Tuscany should not be able  
to scale down as well as up.


Jim

They won't want to include
the Spring jars if they don't have to. Thanks again for the link - it
helps to level-set what the SCA binding should be capable of!

Cheers,
Joel



-Original Message-
From: Andy Piper [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 22, 2006 6:07 PM
To: tuscany-dev@ws.apache.org
Cc: tuscany-dev@ws.apache.org
Subject: RE: OSGi host

Hi Joel,

I'm new to SCA, so don't believe everything I say :)

OSGi is IMO an infrastructure technology suitable for building
container technologies such as SCA.

Spring is a Java component wiring technology, so inevitably overlaps
with some of what SCA is trying to achieve (and EJB3 for example).
That's ok - customers will decide what is appropriate for them.

For me the sweet spot of SCA is SOA which has no overlap at all with
either Spring or OSGI.

andy

At 02:50 PM 8/21/2006, Hawkins, Joel wrote:

Hi Andy,

Thanks for the link. You bring up a question that's been troubling me
about some of this. What is the role of OSGi in SCA? How does it  
differ
from the role of something like Spring? Or, asked in the larger  
sense,

where does SCA fit into the world of Containers?

My assumption has been that OSGi is analogous to Tomcat - it is the
outer container for 

[jira] Created: (TUSCANY-661) Make celtix biding working for helloworldwsclient and helloworldws-celtix

2006-08-23 Thread Jervis Liu (JIRA)
Make celtix biding working for helloworldwsclient and helloworldws-celtix
-

 Key: TUSCANY-661
 URL: http://issues.apache.org/jira/browse/TUSCANY-661
 Project: Tuscany
  Issue Type: Improvement
Affects Versions: Java-Mx
Reporter: Jervis Liu




-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [C++] Creating an SDO DataObject for the properties of a component

2006-08-23 Thread Jean-Sebastien Delfino

Pete Robbins wrote:

On 23/08/06, Geoffrey Winn [EMAIL PROTECTED] wrote:


Sebastien, Pete,

I may have misunderstood the base note, however, it looks to me that you
are
trying to make changes to the metadata - by adding types - after 
creating

a
data object.

 so we already have in hand a DataObject representing the
 component, containing a list of property DataObjects.
 Now I need to dynamically create a new SDO type containing

If I'm right then this is a known restricion. We have a JIRA 
(TUSCANY-474)

that explains it. Bascally, as soon as you create a data object the type
system is frozen. Pete, is that why you are suggesting creating a
DataFactory for each componenType?



Exactly! However my brain let me down as when I went to check the code 
I had

already coded it this way ;-)

What we do need is a way of setting the default value for a type. 
Maybe you

can enlighten me on what I have to do. Is there code to handle default
values in SDO?

Cheers,


Pete,

With your last check-in, simple type properties now work. The BigBank 
Account service gets its property correctly set up to EURO. Thanks!


--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[jira] Updated: (TUSCANY-661) Make celtix biding working for helloworldwsclient and helloworldws-celtix

2006-08-23 Thread Jervis Liu (JIRA)
 [ http://issues.apache.org/jira/browse/TUSCANY-661?page=all ]

Jervis Liu updated TUSCANY-661:
---

Attachment: jira661.patch

 Make celtix biding working for helloworldwsclient and helloworldws-celtix
 -

 Key: TUSCANY-661
 URL: http://issues.apache.org/jira/browse/TUSCANY-661
 Project: Tuscany
  Issue Type: Improvement
Affects Versions: Java-Mx
Reporter: Jervis Liu
 Attachments: jira661.patch




-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[jira] Commented: (TUSCANY-661) Make celtix biding working for helloworldwsclient and helloworldws-celtix

2006-08-23 Thread Jervis Liu (JIRA)
[ 
http://issues.apache.org/jira/browse/TUSCANY-661?page=comments#action_12430048 
] 

Jervis Liu commented on TUSCANY-661:


I've got the helloworldwsclient  sample working with celtix binding with some 
hacks:

1. A hack in NodeDataWriter.java to not use SDO. At the moment, we just make it 
returns a mocked data node.

2. A hack in WebServiceBindingLoader.java to load wsdl direclty using 
wsdlLocation. the wsdl is not cached. In order to initialize Celtix 
WSDLManager, we have to create a WSDLDefinitionRegistry inside 
WebServiceBindingLoader, which obviously is not the right place to do so.

In this patch, I also added a distrubtion target for axis2 and cletix bindings. 
This may not be the way we want to distribute extensions at the end of day, but 
this makes current work a little bit easier.



 Make celtix biding working for helloworldwsclient and helloworldws-celtix
 -

 Key: TUSCANY-661
 URL: http://issues.apache.org/jira/browse/TUSCANY-661
 Project: Tuscany
  Issue Type: Improvement
Affects Versions: Java-Mx
Reporter: Jervis Liu
 Attachments: jira661.patch




-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: adding an interceptor

2006-08-23 Thread Jim Marino
Are you proposing the use of databinding. the package name for the  
annotations or does that have some significance? If it is just a  
package name, I'd assume we would want a fully qualified one. If this  
is the case, then an interesting question comes up - which one to  
use. Since these are extensions, I don't think we should allow the  
use of Tuscany for data binding extensions not provided by the  
project. Also, if we go this route, we'll need annotation processors  
for each annotation.


Another option may be to define a generic databinding annotation  
such as:


@Target({METHOD})
@Retention(RUNTIME)
public @interface Databinding {

String type() default ;

}

Individual extensions would supply a value for type (its too bad  
enums can't be extended). There would be one annotation processor  
which would handle the decoration of the model. What do you think?


Also, some quick questions inline:

On Aug 21, 2006, at 10:45 AM, Raymond Feng wrote:


Hi,

For the data transformation to be handled by a databinding  
interceptor, let's assume we have the following case:


* The source side uses SDO.

   import.sdo location=xsd/customer.xsd/
   int getCreditScore(@databinding.sdo(namespace=http://customer;  
name=Customer)Customer customer);


Is data binding definable per param, with the possibility to mix or  
do we want to just say for the entire method (mixing seems kind of  
strange). Also, what about the return value? Maybe it would be better  
to place the param only on the method?




* The target side uses JAXB.

   int getCreditScore(@databinding.jaxb Customer customer);

Then the interceptor will require the following information:

1) DataType on the source side (SDO Customer)
2) A commonj.sdo.TypeHelper associated with the current composite  
that will provide the SDO type system

3) DataType on the target side (JAXB Customer)
4) (some JAXB context for the JAXB Customer?)

Thanks,
Raymond

- Original Message - From: Jim Marino  
[EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Saturday, August 19, 2006 5:24 PM
Subject: Re: adding an interceptor





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[PATCH] Jira661: Make celtix biding working for helloworldwsclient and helloworldws-celtix

2006-08-23 Thread Liu, Jervis
Hi, can someone kindly review and apply patch for jira 661 please. In this 
patch I got the helloworldwsclient sample working with celtix binding with some 
hacks:

1. A hack in NodeDataWriter.java to not use SDO. At the moment, I just make it 
returns a mocked data node.

2. A hack in WebServiceBindingLoader.java to load wsdl direclty using 
wsdlLocation. the wsdl is not cached. In order to initialize Celtix 
WSDLManager, I have to create a WSDLDefinitionRegistry inside 
WebServiceBindingLoader, which obviously is not the right place to do so.

In this patch, I also added a distrubtion target in axis2 and cletix 's poms. 
This may not be the way we want to distribute extensions at the end of day, but 
this at least makes current work a little bit easier. See 
samples\sca\helloworldwsclient\run_celtix.bat for how to use binding 
distributions to run the sample.

Thanks,
Jervis





Re: [PATCH] Jira661: Make celtix biding working for helloworldwsclient and helloworldws-celtix

2006-08-23 Thread Jim Marino

I'll take a look and apply.
On Aug 23, 2006, at 10:19 AM, Liu, Jervis wrote:

Hi, can someone kindly review and apply patch for jira 661 please.  
In this patch I got the helloworldwsclient sample working with  
celtix binding with some hacks:


1. A hack in NodeDataWriter.java to not use SDO. At the moment, I  
just make it returns a mocked data node.


2. A hack in WebServiceBindingLoader.java to load wsdl direclty  
using wsdlLocation. the wsdl is not cached. In order to initialize  
Celtix WSDLManager, I have to create a WSDLDefinitionRegistry  
inside WebServiceBindingLoader, which obviously is not the right  
place to do so.



I think that is fine for now.

In this patch, I also added a distrubtion target in axis2 and  
cletix 's poms. This may not be the way we want to distribute  
extensions at the end of day, but this at least makes current work  
a little bit easier. See samples\sca\helloworldwsclient 
\run_celtix.bat for how to use binding distributions to run the  
sample.



Yea ultimately probably not but we can deal with that later

Thanks for the patch!
Jim


Thanks,
Jervis






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: adding an interceptor

2006-08-23 Thread Raymond Feng

Hi,

Please my comments in line.

Thanks,
Raymond

- Original Message - 
From: Jim Marino [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 10:16 AM
Subject: Re: adding an interceptor


Are you proposing the use of databinding. the package name for the 
annotations or does that have some significance? If it is just a  package 
name, I'd assume we would want a fully qualified one. If this  is the 
case, then an interesting question comes up - which one to  use. Since 
these are extensions, I don't think we should allow the  use of Tuscany 
for data binding extensions not provided by the  project. Also, if we go 
this route, we'll need annotation processors  for each annotation.




Sorry, it was a mistake in the sample. I meant two different annotations 
such as DataBindingSDO and DataBindingJAXB.


Another option may be to define a generic databinding annotation  such 
as:


@Target({METHOD})
@Retention(RUNTIME)
public @interface Databinding {

String type() default ;

}

Individual extensions would supply a value for type (its too bad  enums 
can't be extended). There would be one annotation processor  which would 
handle the decoration of the model. What do you think?




I already have such an annotation defined in the databinding-framework 
module. We probably want to rename it as DataType to be consistent with the 
DataType model.


As for the two different annotation styles, I had some discussions with 
Jeremy. Here're some issues we touched:


1) The annotation can be used to create/decorate a DataType
2) The generic annotation should be able to catch all the related metadata 
for a given DataType (maybe some name/value pair for extra info)
3) We should allow databinding providers to add their own annotation if they 
choose to do so (I assume it's low proirity for now)




Also, some quick questions inline:

On Aug 21, 2006, at 10:45 AM, Raymond Feng wrote:


Hi,

For the data transformation to be handled by a databinding  interceptor, 
let's assume we have the following case:


* The source side uses SDO.

   import.sdo location=xsd/customer.xsd/
   int getCreditScore(@databinding.sdo(namespace=http://customer; 
name=Customer)Customer customer);


Is data binding definable per param, with the possibility to mix or  do we 
want to just say for the entire method (mixing seems kind of  strange). 
Also, what about the return value? Maybe it would be better  to place the 
param only on the method?




This concern was brought up by Ant as well. We have three levels here: 
Interface, Method and Parameter. Jeremy's DataType model seems to promote 
Parameter level. I think it's reasonable to set some defaults at Interface 
or Method level.





* The target side uses JAXB.

   int getCreditScore(@databinding.jaxb Customer customer);

Then the interceptor will require the following information:

1) DataType on the source side (SDO Customer)
2) A commonj.sdo.TypeHelper associated with the current composite  that 
will provide the SDO type system

3) DataType on the target side (JAXB Customer)
4) (some JAXB context for the JAXB Customer?)

Thanks,
Raymond

- Original Message - From: Jim Marino 
[EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Saturday, August 19, 2006 5:24 PM
Subject: Re: adding an interceptor





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Can't load implementation.composite

2006-08-23 Thread Ignacio Silva-Lepe
I am trying to run a more complete sample version of the inner composite test 
case and I am getting the following exception:

Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.482 sec  FA
ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.452 sec   ERROR!

org.apache.tuscany.spi.loader.UnrecognizedElementException: {http://www.osoa.org
/xmlns/sca/1.0}implementation.composite [{http://www.osoa.org/xmlns/sca/1.0}impl
ementation.composite]
Context stack trace: [application][SourceComponent]
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:90)
at org.apache.tuscany.core.loader.ComponentLoader.loadImplementation(Com
ponentLoader.java:130)
at org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j
ava:84)
at org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j
ava:57)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:92)
at org.apache.tuscany.core.implementation.composite.CompositeLoader.load
(CompositeLoader.java:77)
at org.apache.tuscany.core.implementation.composite.CompositeLoader.load
(CompositeLoader.java:52)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:92)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry
Impl.java:109)
at org.apache.tuscany.core.implementation.composite.CompositeComponentTy
peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
at org.apache.tuscany.core.implementation.composite.CompositeComponentTy
peLoader.load(CompositeComponentTypeLoader.java:56)
at org.apache.tuscany.core.implementation.composite.CompositeComponentTy
peLoader.load(CompositeComponentTypeLoader.java:38)
at org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType(L
oaderRegistryImpl.java:159)
at org.apache.tuscany.core.deployer.DeployerImpl.load(DeployerImpl.java:
118)
at org.apache.tuscany.core.deployer.DeployerImpl.deploy(DeployerImpl.jav
a:93)
at org.apache.tuscany.core.launcher.LauncherImpl.bootApplication(Launche
rImpl.java:190)
at org.apache.tuscany.test.SCATestCase.setUp(SCATestCase.java:65)
at innercomposite.InnerCompositeTestCase.setUp(InnerCompositeTestCase.ja
va:30)

I am not sure if I need to something extra to get the appropriate loader added 
to the loader registry, assuming such a loader exists. I tried looking in 
commands/launcher/.../META-INF/tuscany/*.scdl but I don't see anything quick 
that I can try.

In case it helps, here's the default.scdl of the sample:

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
   name=OuterComposite
   
component name=SourceComponent
implementation.composite name=InnerComposite/
reference name=TargetComponentRefTargetComponent/reference
/component

component name=TargetComponent
  implementation.java class=innerComposite.TargetImpl/
/component

/composite

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
   name=InnerComposite

service name=InnerSourceService target=InnerSourceComponent
interface.java interface=innerComposite.Source/
reference name=innerSourceInnerSourceComponent/reference
/service
   
component name=InnerSourceComponent
  implementation.java class=innerComposite.SourceImpl/
reference name=targetReferenceTargetComponentRef/reference
/component
 
reference name=TargetComponentRef
interface.java interface=innerComposite.Target/
/reference

/composite


Re: Can't load implementation.composite

2006-08-23 Thread Raymond Feng

Hi,

This is a bug. The corresponding loader 
org.apache.tuscany.core.implementation.composite.ImplementationCompositeLoader 
is not registered in the system SCDLs. Would you like to contribute a patch? 
You will have to define a component in the META-INF/tuscany/composite.scdl 
for test, launcher and webapp-host modules (unfortunately we don't 
have a good packaging story for the system SCDLs).


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: Tuscany Dev tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 10:44 AM
Subject: Can't load implementation.composite


I am trying to run a more complete sample version of the inner composite 
test case and I am getting the following exception:


Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.482 sec 
 FA

ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.452 sec   
ERROR!


org.apache.tuscany.spi.loader.UnrecognizedElementException: 
{http://www.osoa.org
/xmlns/sca/1.0}implementation.composite 
[{http://www.osoa.org/xmlns/sca/1.0}impl

ementation.composite]
Context stack trace: [application][SourceComponent]
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:90)
   at 
org.apache.tuscany.core.loader.ComponentLoader.loadImplementation(Com

ponentLoader.java:130)
   at 
org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j

ava:84)
   at 
org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j

ava:57)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:92)
   at 
org.apache.tuscany.core.implementation.composite.CompositeLoader.load

(CompositeLoader.java:77)
   at 
org.apache.tuscany.core.implementation.composite.CompositeLoader.load

(CompositeLoader.java:52)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:92)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:109)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:38)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType(L

oaderRegistryImpl.java:159)
   at 
org.apache.tuscany.core.deployer.DeployerImpl.load(DeployerImpl.java:

118)
   at 
org.apache.tuscany.core.deployer.DeployerImpl.deploy(DeployerImpl.jav

a:93)
   at 
org.apache.tuscany.core.launcher.LauncherImpl.bootApplication(Launche

rImpl.java:190)
   at org.apache.tuscany.test.SCATestCase.setUp(SCATestCase.java:65)
   at 
innercomposite.InnerCompositeTestCase.setUp(InnerCompositeTestCase.ja

va:30)

I am not sure if I need to something extra to get the appropriate loader 
added to the loader registry, assuming such a loader exists. I tried looking 
in commands/launcher/.../META-INF/tuscany/*.scdl but I don't see anything 
quick that I can try.


In case it helps, here's the default.scdl of the sample:

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
  name=OuterComposite

   component name=SourceComponent
   implementation.composite name=InnerComposite/
   reference name=TargetComponentRefTargetComponent/reference
   /component

   component name=TargetComponent
 implementation.java class=innerComposite.TargetImpl/
   /component

/composite

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
  name=InnerComposite

   service name=InnerSourceService target=InnerSourceComponent
   interface.java interface=innerComposite.Source/
   reference name=innerSourceInnerSourceComponent/reference
   /service

   component name=InnerSourceComponent
 implementation.java class=innerComposite.SourceImpl/
   reference name=targetReferenceTargetComponentRef/reference
   /component

   reference name=TargetComponentRef
   interface.java interface=innerComposite.Target/
   /reference

/composite 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can't load implementation.composite

2006-08-23 Thread Jim Marino


On Aug 23, 2006, at 10:51 AM, Raymond Feng wrote:


Hi,

This is a bug. The corresponding loader  
org.apache.tuscany.core.implementation.composite.ImplementationCompos 
iteLoader is not registered in the system SCDLs. Would you like to  
contribute a patch? You will have to define a component in the  
META-INF/tuscany/composite.scdl for test, launcher and  
webapp-host modules (unfortunately we don't have a good packaging  
story for the system SCDLs).


We should look for a way to reuse some of the SCDLs (this may involve  
some file reshuffling). I'd also like to get integration tests in  
which verify the SCDLs since the NPE the other day was the result of  
not having any checks in place. Such integration tests would load the  
SCDLs into a minimal bootstrap and run through a couple deployment  
scenarios. I'm so far behind on things I won't be able to get to that  
but perhaps someone else is interested?


Jim


Thanks,
Raymond




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can't load implementation.composite

2006-08-23 Thread Ignacio Silva-Lepe

Ok, I see the loader class. IIUC, I need to add:

   component name=composite.implementationLoader
   system:implementation.system
   
class=org.apache.tuscany.core.implementation.composite.ImplementationCompositeLoader/
   /component

to composite.scdl. Anything else? I still get the exception. But for some 
reason I am not able to do a full build from the top, so I build sca/core 
and samples/sca after mvn clean and mvn -e go as far as they can from the 
top.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 1:51 PM
Subject: Re: Can't load implementation.composite



Hi,

This is a bug. The corresponding loader 
org.apache.tuscany.core.implementation.composite.ImplementationCompositeLoader 
is not registered in the system SCDLs. Would you like to contribute a 
patch? You will have to define a component in the 
META-INF/tuscany/composite.scdl for test, launcher and webapp-host 
modules (unfortunately we don't have a good packaging story for the system 
SCDLs).


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: Tuscany Dev tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 10:44 AM
Subject: Can't load implementation.composite


I am trying to run a more complete sample version of the inner composite 
test case and I am getting the following exception:


Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.482 sec 
 FA

ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.452 sec   
ERROR!


org.apache.tuscany.spi.loader.UnrecognizedElementException: 
{http://www.osoa.org
/xmlns/sca/1.0}implementation.composite 
[{http://www.osoa.org/xmlns/sca/1.0}impl

ementation.composite]
Context stack trace: [application][SourceComponent]
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:90)
   at 
org.apache.tuscany.core.loader.ComponentLoader.loadImplementation(Com

ponentLoader.java:130)
   at 
org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j

ava:84)
   at 
org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j

ava:57)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:92)
   at 
org.apache.tuscany.core.implementation.composite.CompositeLoader.load

(CompositeLoader.java:77)
   at 
org.apache.tuscany.core.implementation.composite.CompositeLoader.load

(CompositeLoader.java:52)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:92)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:109)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:38)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType(L

oaderRegistryImpl.java:159)
   at 
org.apache.tuscany.core.deployer.DeployerImpl.load(DeployerImpl.java:

118)
   at 
org.apache.tuscany.core.deployer.DeployerImpl.deploy(DeployerImpl.jav

a:93)
   at 
org.apache.tuscany.core.launcher.LauncherImpl.bootApplication(Launche

rImpl.java:190)
   at org.apache.tuscany.test.SCATestCase.setUp(SCATestCase.java:65)
   at 
innercomposite.InnerCompositeTestCase.setUp(InnerCompositeTestCase.ja

va:30)

I am not sure if I need to something extra to get the appropriate loader 
added to the loader registry, assuming such a loader exists. I tried 
looking in commands/launcher/.../META-INF/tuscany/*.scdl but I don't see 
anything quick that I can try.


In case it helps, here's the default.scdl of the sample:

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
  name=OuterComposite

   component name=SourceComponent
   implementation.composite name=InnerComposite/
   reference name=TargetComponentRefTargetComponent/reference
   /component

   component name=TargetComponent
 implementation.java class=innerComposite.TargetImpl/
   /component

/composite

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
  name=InnerComposite

   service name=InnerSourceService target=InnerSourceComponent
   interface.java interface=innerComposite.Source/
   reference name=innerSourceInnerSourceComponent/reference
   /service

   component name=InnerSourceComponent
 implementation.java class=innerComposite.SourceImpl/
   reference name=targetReferenceTargetComponentRef/reference
   /component

   reference name=TargetComponentRef
   interface.java interface=innerComposite.Target/
   /reference

/composite


Re: Tuscany feature wish list

2006-08-23 Thread Jim Lynch

hi Rick..thanks for the feedback...great ideas..once I have a better
understanding of things, i'll send a note to the dev list and we can go from
there...

thanks again..jim


On 8/23/06, Rick [EMAIL PROTECTED] wrote:


Jim,
Hi. If you're interested in doing some piece of work the best practice IMO
is
let people know about it.  Communicate it to the mailing list, open Jira's
or
both.  The web site would probably not have a lot in new ideas but the
mailing
list, wiki and even the Jira's may have something you could be interested
in.
Even getting your hands in fixing some bugs lets the community know
you.  The
website has a lot of information to help in getting started too.
I don't think priorities are particularly important, mostly find something
you're interested in.  As per dependencies, once again, state on the
mailing
list what you're looking at, give as much details as you can once you
think you
have an idea. People will start communicating with you if they think there
are
dependencies on what they're doing.

Jim Lynch wrote:
 I think this would be great.  I'm new (a couple weeks) to Tuscany and at
 some point would like to contribute (once the deer in headlights
syndrome
 passes).  The problem is, it's tough to know who's working on what and
at
 the same time which features are at a priority and which have
dependencies.


 I believe I need to earn my way to be a contributor, but it's tough to
find
 a place to start (especially without breaking anything).

 jim


 On 8/22/06, Jim Marino [EMAIL PROTECTED] wrote:


 On Aug 22, 2006, at 7:50 AM, ant elder wrote:

  I'm regularly asked be people new to Tuscany about what is
  something they
  could look at or help to develop, we don't give any help with this
  on the
  website or wiki so to help I've created a Wish list category in
  JIRA:
 
  http://issues.apache.org/jira/secure/IssueNavigator.jspa?
  reset=truemode=hidesorter/order=DESCsorter/
  field=priorityresolution=-1pid=12310210fixfor=12312038
 
  JIRA makes it easier to manage than keeping a list on the wiki or
  website,
  and we could add a link to the wish list from the website. Is easy
  to move
  things around or add separate wish lists for C++ or SDO or DAS etc,
  although
  if you put a prefix in the summary you can sort the JIRA list.
 
  There's only one thing in there right now, I'm sure we could all
  thing of
  things to add. Is this useful?
 I think it is very useful, especially for people outside the project.

 
...ant


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




RE: Auto discovering WSDL

2006-08-23 Thread Liu, Jervis
As Yang has pointed out, there are probably four things we can do in this area: 
locating, loading, caching and refreshing. We should not mix the 
responsibilities of  locating/loading with caching. To satisfy your use case 
described below (wsdlLocation attribute becomes optional), we actually only 
need some kind of resolver chain to resolve wsdl, a cache is not needed here. 
The first resolver in the chain should resolve wsdl using wsdlLocation 
specified in scdl, if the first resolved failed (e.g., because the wsdllocation 
is null), then the second resolver should try to resolve wsdl from a default 
location, and so on. The implementation Yang proposed might be different, but 
the principle should be same.  The WSDL registry should only responsible for 
caching wsdls and provide query APIs to query against cache. How WSDL registry 
loads a wsdl if that wsdl is not in cache yet should be a call delegated to the 
resource resolver service. The benefit of this separation is that we can start 
with sth simple and small, i.e., in the component loader, initially we can only 
use the resource resolver service without cache.

Cheers,
Jervis 

-Original Message-
From: ant elder [mailto:[EMAIL PROTECTED]
Sent: 2006?8?23? 23:42
To: tuscany-dev@ws.apache.org
Subject: Re: Auto discovering WSDL


On 8/22/06, Yang ZHONG [EMAIL PROTECTED] wrote:

snip/

I have quite some experience working on such registry, I'd like to
 contribute if it's the way Tuscany wants to go.


How about we take Yang up on this offer. We could have a WSDL registry as an
optional system service, and define the wsdlLocation attribute on both the
interface.wsdl and binding.ws elements. If you don't configure your system
with a WSDL registry then it will be null and the wsdlLocation attribute
must be specified, if you do configure a WSDL registry in your system then
the wsdlLocation attribute becomes optional and if you leave it out the
registry is used to locate the wsdl. The registry could have configurable
wsdl locating strategies such as looking in a specific folder or scanning
all folders or something completely different.

This seems like it gives everyone what they want. Yang could have a go at
coming up with a registry impl that works and doesn't cause memory leaks and
works across applications etc. I'd be happy to help, and I'd change the
Axis2 binding and JavaScript container to use the registry if we can get it
to work. Yang sounds like he has lots of experience with this type of thing,
and has volunteered, so it would be good to encourage a new contributor.

   ...ant

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can't load implementation.composite

2006-08-23 Thread Raymond Feng
Did you make sure that you added it to all of the three projects (launcher, 
test and webapp-host)?


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 11:07 AM
Subject: Re: Can't load implementation.composite



Ok, I see the loader class. IIUC, I need to add:

   component name=composite.implementationLoader
   system:implementation.system

class=org.apache.tuscany.core.implementation.composite.ImplementationCompositeLoader/
   /component

to composite.scdl. Anything else? I still get the exception. But for some 
reason I am not able to do a full build from the top, so I build sca/core 
and samples/sca after mvn clean and mvn -e go as far as they can from the 
top.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 1:51 PM
Subject: Re: Can't load implementation.composite



Hi,

This is a bug. The corresponding loader 
org.apache.tuscany.core.implementation.composite.ImplementationCompositeLoader 
is not registered in the system SCDLs. Would you like to contribute a 
patch? You will have to define a component in the 
META-INF/tuscany/composite.scdl for test, launcher and 
webapp-host modules (unfortunately we don't have a good packaging story 
for the system SCDLs).


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: Tuscany Dev tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 10:44 AM
Subject: Can't load implementation.composite


I am trying to run a more complete sample version of the inner composite 
test case and I am getting the following exception:


Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.482 sec 
 FA

ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.452 sec   
ERROR!


org.apache.tuscany.spi.loader.UnrecognizedElementException: 
{http://www.osoa.org
/xmlns/sca/1.0}implementation.composite 
[{http://www.osoa.org/xmlns/sca/1.0}impl

ementation.composite]
Context stack trace: [application][SourceComponent]
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:90)
   at 
org.apache.tuscany.core.loader.ComponentLoader.loadImplementation(Com

ponentLoader.java:130)
   at 
org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j

ava:84)
   at 
org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j

ava:57)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:92)
   at 
org.apache.tuscany.core.implementation.composite.CompositeLoader.load

(CompositeLoader.java:77)
   at 
org.apache.tuscany.core.implementation.composite.CompositeLoader.load

(CompositeLoader.java:52)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:92)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:109)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:38)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType(L

oaderRegistryImpl.java:159)
   at 
org.apache.tuscany.core.deployer.DeployerImpl.load(DeployerImpl.java:

118)
   at 
org.apache.tuscany.core.deployer.DeployerImpl.deploy(DeployerImpl.jav

a:93)
   at 
org.apache.tuscany.core.launcher.LauncherImpl.bootApplication(Launche

rImpl.java:190)
   at org.apache.tuscany.test.SCATestCase.setUp(SCATestCase.java:65)
   at 
innercomposite.InnerCompositeTestCase.setUp(InnerCompositeTestCase.ja

va:30)

I am not sure if I need to something extra to get the appropriate loader 
added to the loader registry, assuming such a loader exists. I tried 
looking in commands/launcher/.../META-INF/tuscany/*.scdl but I don't see 
anything quick that I can try.


In case it helps, here's the default.scdl of the sample:

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
  name=OuterComposite

   component name=SourceComponent
   implementation.composite name=InnerComposite/
   reference name=TargetComponentRefTargetComponent/reference
   /component

   component name=TargetComponent
 implementation.java class=innerComposite.TargetImpl/
   /component

/composite

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
  name=InnerComposite

   service name=InnerSourceService target=InnerSourceComponent
   interface.java interface=innerComposite.Source/
   reference name=innerSourceInnerSourceComponent/reference
   /service

   component 

Re: Auto discovering WSDL

2006-08-23 Thread Yang ZHONG

Exactly, locating, loading, caching and refreshing will all be loosely
coupled *and* extensible.

On 8/23/06, Liu, Jervis [EMAIL PROTECTED] wrote:


As Yang has pointed out, there are probably four things we can do in this
area: locating, loading, caching and refreshing. We should not mix the
responsibilities of  locating/loading with caching. To satisfy your use case
described below (wsdlLocation attribute becomes optional), we actually only
need some kind of resolver chain to resolve wsdl, a cache is not needed
here. The first resolver in the chain should resolve wsdl using wsdlLocation
specified in scdl, if the first resolved failed (e.g., because the
wsdllocation is null), then the second resolver should try to resolve wsdl
from a default location, and so on. The implementation Yang proposed might
be different, but the principle should be same.  The WSDL registry should
only responsible for caching wsdls and provide query APIs to query against
cache. How WSDL registry loads a wsdl if that wsdl is not in cache yet
should be a call delegated to the resource resolver service. The benefit of
this separation is that we can start with sth simple and small, i.e., in
the component loader, initially we can only use the resource resolver
service without cache.

Cheers,
Jervis

-Original Message-
From: ant elder [mailto:[EMAIL PROTECTED]
Sent: 2006?8?23? 23:42
To: tuscany-dev@ws.apache.org
Subject: Re: Auto discovering WSDL


On 8/22/06, Yang ZHONG [EMAIL PROTECTED] wrote:

snip/

I have quite some experience working on such registry, I'd like to
 contribute if it's the way Tuscany wants to go.


How about we take Yang up on this offer. We could have a WSDL registry as
an
optional system service, and define the wsdlLocation attribute on both the
interface.wsdl and binding.ws elements. If you don't configure your system
with a WSDL registry then it will be null and the wsdlLocation attribute
must be specified, if you do configure a WSDL registry in your system then
the wsdlLocation attribute becomes optional and if you leave it out the
registry is used to locate the wsdl. The registry could have configurable
wsdl locating strategies such as looking in a specific folder or scanning
all folders or something completely different.

This seems like it gives everyone what they want. Yang could have a go at
coming up with a registry impl that works and doesn't cause memory leaks
and
works across applications etc. I'd be happy to help, and I'd change the
Axis2 binding and JavaScript container to use the registry if we can get
it
to work. Yang sounds like he has lots of experience with this type of
thing,
and has volunteered, so it would be good to encourage a new contributor.

  ...ant

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--

Yang ZHONG


Re: Can't load implementation.composite

2006-08-23 Thread Ignacio Silva-Lepe
Yeah, as in sca\test, sca\commands\launcher and sca\runtime\webapp-host, 
right? Still getting the exception.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 2:12 PM
Subject: Re: Can't load implementation.composite


Did you make sure that you added it to all of the three projects 
(launcher, test and webapp-host)?


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 11:07 AM
Subject: Re: Can't load implementation.composite



Ok, I see the loader class. IIUC, I need to add:

   component name=composite.implementationLoader
   system:implementation.system

class=org.apache.tuscany.core.implementation.composite.ImplementationCompositeLoader/
   /component

to composite.scdl. Anything else? I still get the exception. But for some 
reason I am not able to do a full build from the top, so I build sca/core 
and samples/sca after mvn clean and mvn -e go as far as they can from the 
top.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 1:51 PM
Subject: Re: Can't load implementation.composite



Hi,

This is a bug. The corresponding loader 
org.apache.tuscany.core.implementation.composite.ImplementationCompositeLoader 
is not registered in the system SCDLs. Would you like to contribute a 
patch? You will have to define a component in the 
META-INF/tuscany/composite.scdl for test, launcher and 
webapp-host modules (unfortunately we don't have a good packaging 
story for the system SCDLs).


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: Tuscany Dev tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 10:44 AM
Subject: Can't load implementation.composite


I am trying to run a more complete sample version of the inner composite 
test case and I am getting the following exception:


Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.482 
sec  FA

ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.452 sec 
 ERROR!


org.apache.tuscany.spi.loader.UnrecognizedElementException: 
{http://www.osoa.org
/xmlns/sca/1.0}implementation.composite 
[{http://www.osoa.org/xmlns/sca/1.0}impl

ementation.composite]
Context stack trace: [application][SourceComponent]
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:90)
   at 
org.apache.tuscany.core.loader.ComponentLoader.loadImplementation(Com

ponentLoader.java:130)
   at 
org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j

ava:84)
   at 
org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j

ava:57)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:92)
   at 
org.apache.tuscany.core.implementation.composite.CompositeLoader.load

(CompositeLoader.java:77)
   at 
org.apache.tuscany.core.implementation.composite.CompositeLoader.load

(CompositeLoader.java:52)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:92)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:109)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:38)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType(L

oaderRegistryImpl.java:159)
   at 
org.apache.tuscany.core.deployer.DeployerImpl.load(DeployerImpl.java:

118)
   at 
org.apache.tuscany.core.deployer.DeployerImpl.deploy(DeployerImpl.jav

a:93)
   at 
org.apache.tuscany.core.launcher.LauncherImpl.bootApplication(Launche

rImpl.java:190)
   at org.apache.tuscany.test.SCATestCase.setUp(SCATestCase.java:65)
   at 
innercomposite.InnerCompositeTestCase.setUp(InnerCompositeTestCase.ja

va:30)

I am not sure if I need to something extra to get the appropriate loader 
added to the loader registry, assuming such a loader exists. I tried 
looking in commands/launcher/.../META-INF/tuscany/*.scdl but I don't see 
anything quick that I can try.


In case it helps, here's the default.scdl of the sample:

composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
  name=OuterComposite

   component name=SourceComponent
   implementation.composite name=InnerComposite/
   reference name=TargetComponentRefTargetComponent/reference
   /component

   component name=TargetComponent
 implementation.java class=innerComposite.TargetImpl/
   /component


Re: [C++] Creating an SDO DataObject for the properties of a component

2006-08-23 Thread Pete Robbins

Yay!

On 23/08/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:


Pete Robbins wrote:
 On 23/08/06, Geoffrey Winn [EMAIL PROTECTED]  wrote:

 Sebastien, Pete,

 I may have misunderstood the base note, however, it looks to me that
you
 are
 trying to make changes to the metadata - by adding types - after
 creating
 a
 data object.

  so we already have in hand a DataObject representing the
  component, containing a list of property DataObjects.
  Now I need to dynamically create a new SDO type containing

 If I'm right then this is a known restricion. We have a JIRA
 (TUSCANY-474)
 that explains it. Bascally, as soon as you create a data object the
type
 system is frozen. Pete, is that why you are suggesting creating a
 DataFactory for each componenType?


 Exactly! However my brain let me down as when I went to check the code
 I had
 already coded it this way ;-)

 What we do need is a way of setting the default value for a type.
 Maybe you
 can enlighten me on what I have to do. Is there code to handle default
 values in SDO?

 Cheers,

Pete,

With your last check-in, simple type properties now work. The BigBank
Account service gets its property correctly set up to EURO. Thanks!

--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Pete


Re: Can't load implementation.composite

2006-08-23 Thread Ignacio Silva-Lepe

Actually, my mistake, I am now getting a NPE:

Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.491 sec 
 FA

ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.471 sec   
ERROR!


java.lang.NullPointerException
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:102)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:38)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType(L

oaderRegistryImpl.java:159)
   at 
org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j

ava:85)
   at 
org.apache.tuscany.core.loader.ComponentLoader.load(ComponentLoader.j

ava:57)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:92)
   at 
org.apache.tuscany.core.implementation.composite.CompositeLoader.load

(CompositeLoader.java:77)
   at 
org.apache.tuscany.core.implementation.composite.CompositeLoader.load

(CompositeLoader.java:52)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:92)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:109)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:38)
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType(L

oaderRegistryImpl.java:159)
   at 
org.apache.tuscany.core.deployer.DeployerImpl.load(DeployerImpl.java:

118)
   at 
org.apache.tuscany.core.deployer.DeployerImpl.deploy(DeployerImpl.jav

a:93)
   at 
org.apache.tuscany.core.launcher.LauncherImpl.bootApplication(Launche

rImpl.java:190)
   at org.apache.tuscany.test.SCATestCase.setUp(SCATestCase.java:65)
   at 
innercomposite.InnerCompositeTestCase.setUp(InnerCompositeTestCase.ja

va:30)

Trying to track it down, but just in case it rings a bell.


- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 2:39 PM
Subject: Re: Can't load implementation.composite


Yeah, as in sca\test, sca\commands\launcher and sca\runtime\webapp-host, 
right? Still getting the exception.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 2:12 PM
Subject: Re: Can't load implementation.composite


Did you make sure that you added it to all of the three projects 
(launcher, test and webapp-host)?


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 11:07 AM
Subject: Re: Can't load implementation.composite



Ok, I see the loader class. IIUC, I need to add:

   component name=composite.implementationLoader
   system:implementation.system

class=org.apache.tuscany.core.implementation.composite.ImplementationCompositeLoader/
   /component

to composite.scdl. Anything else? I still get the exception. But for 
some reason I am not able to do a full build from the top, so I build 
sca/core and samples/sca after mvn clean and mvn -e go as far as they 
can from the top.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 1:51 PM
Subject: Re: Can't load implementation.composite



Hi,

This is a bug. The corresponding loader 
org.apache.tuscany.core.implementation.composite.ImplementationCompositeLoader 
is not registered in the system SCDLs. Would you like to contribute a 
patch? You will have to define a component in the 
META-INF/tuscany/composite.scdl for test, launcher and 
webapp-host modules (unfortunately we don't have a good packaging 
story for the system SCDLs).


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: Tuscany Dev tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 10:44 AM
Subject: Can't load implementation.composite


I am trying to run a more complete sample version of the inner 
composite test case and I am getting the following exception:


Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.482 
sec  FA

ILURE!

Re: Can't load implementation.composite

2006-08-23 Thread Ignacio Silva-Lepe
On closer inspection, it looks like it may be trying to load the inner 
composite from a separate file. Since the implementation.composite element 
uses name=InnerComposite, I tried putting the inner composite scdl in 
InnerComposite.scdl in the same dir as default.scdl (META-INF/sca) but I 
still get the NPE. Of course, this was just a guess. Any ideas?


- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 3:30 PM
Subject: Re: Can't load implementation.composite



Actually, my mistake, I am now getting a NPE:

Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.491 sec 
 FA

ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.471 sec   
ERROR!


java.lang.NullPointerException
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:102)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: adding an interceptor

2006-08-23 Thread Jim Marino


On Aug 23, 2006, at 10:38 AM, Raymond Feng wrote:


Hi,

I already have such an annotation defined in the databinding- 
framework module. We probably want to rename it as DataType to be  
consistent with the DataType model.


O.K. I'll add this into API. Looking at the API package, I'm not sure  
why @Monitor is defined there as I think that should be in SPI. I  
believe Jeremy moved it there, so I'll have to ask him.
As for the two different annotation styles, I had some discussions  
with Jeremy. Here're some issues we touched:


1) The annotation can be used to create/decorate a DataType
2) The generic annotation should be able to catch all the related  
metadata for a given DataType (maybe some name/value pair for extra  
info)
3) We should allow databinding providers to add their own  
annotation if they choose to do so (I assume it's low proirity for  
now)




Also, some quick questions inline:

On Aug 21, 2006, at 10:45 AM, Raymond Feng wrote:


Hi,

For the data transformation to be handled by a databinding   
interceptor, let's assume we have the following case:


* The source side uses SDO.

   import.sdo location=xsd/customer.xsd/
   int getCreditScore(@databinding.sdo(namespace=http:// 
customer name=Customer)Customer customer);


Is data binding definable per param, with the possibility to mix  
or  do we want to just say for the entire method (mixing seems  
kind of  strange). Also, what about the return value? Maybe it  
would be better  to place the param only on the method?




This concern was brought up by Ant as well. We have three levels  
here: Interface, Method and Parameter. Jeremy's DataType model  
seems to promote Parameter level. I think it's reasonable to set  
some defaults at Interface or Method level.
Is there a realistic case where people mix data types within an  
operation? That seems kind of weird. Perhaps we just start with  
interface and method level?









-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can't load implementation.composite

2006-08-23 Thread Raymond Feng

Hi,

The ImplementationCompositeLoader needs to be fixed to take a scdlLocation 
attribute and set it to CompositeImplemention.


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 12:42 PM
Subject: Re: Can't load implementation.composite


On closer inspection, it looks like it may be trying to load the inner 
composite from a separate file. Since the implementation.composite element 
uses name=InnerComposite, I tried putting the inner composite scdl in 
InnerComposite.scdl in the same dir as default.scdl (META-INF/sca) but I 
still get the NPE. Of course, this was just a guess. Any ideas?


- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 3:30 PM
Subject: Re: Can't load implementation.composite



Actually, my mistake, I am now getting a NPE:

Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.491 sec 
 FA

ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.471 sec   
ERROR!


java.lang.NullPointerException
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:102)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can't load implementation.composite

2006-08-23 Thread Ignacio Silva-Lepe

Ok. I hacked CompositeComponentTypeLoader to do:

   if (scdlLocation == null) {
   try { scdlLocation = 
getClass().getClassLoader().getResource(META-INF/sca/ + 
implementation.getName() + .scdl); }

   catch(Exception e) { e.printStackTrace(); }
   }

but I can move that to ImplementationCompositeLoader. However, how would 
that attribute be set? Other than the name in implementation.composite/ I 
don't see any other way of naming the file where the referred composite is 
defined.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 4:16 PM
Subject: Re: Can't load implementation.composite



Hi,

The ImplementationCompositeLoader needs to be fixed to take a 
scdlLocation attribute and set it to CompositeImplemention.


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 12:42 PM
Subject: Re: Can't load implementation.composite


On closer inspection, it looks like it may be trying to load the inner 
composite from a separate file. Since the implementation.composite 
element uses name=InnerComposite, I tried putting the inner composite 
scdl in InnerComposite.scdl in the same dir as default.scdl 
(META-INF/sca) but I still get the NPE. Of course, this was just a guess. 
Any ideas?


- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 3:30 PM
Subject: Re: Can't load implementation.composite



Actually, my mistake, I am now getting a NPE:

Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.491 
sec  FA

ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.471 sec 
 ERROR!


java.lang.NullPointerException
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:102)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can't load implementation.composite

2006-08-23 Thread Raymond Feng

Hi,

I meant to have the following:

implementation.composite name=InnerComposiste 
scdlLocation=InnerComposite.scdl/


And then in ImplementationCompositeLoader, get the scdlLocation attr from 
the XML stream reader and set its value to the CompositeImplementation.


Thanks,
Raymond



- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 1:39 PM
Subject: Re: Can't load implementation.composite



Ok. I hacked CompositeComponentTypeLoader to do:

   if (scdlLocation == null) {
   try { scdlLocation = 
getClass().getClassLoader().getResource(META-INF/sca/ + 
implementation.getName() + .scdl); }

   catch(Exception e) { e.printStackTrace(); }
   }

but I can move that to ImplementationCompositeLoader. However, how would 
that attribute be set? Other than the name in implementation.composite/ 
I don't see any other way of naming the file where the referred composite 
is defined.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 4:16 PM
Subject: Re: Can't load implementation.composite



Hi,

The ImplementationCompositeLoader needs to be fixed to take a 
scdlLocation attribute and set it to CompositeImplemention.


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 12:42 PM
Subject: Re: Can't load implementation.composite


On closer inspection, it looks like it may be trying to load the inner 
composite from a separate file. Since the implementation.composite 
element uses name=InnerComposite, I tried putting the inner composite 
scdl in InnerComposite.scdl in the same dir as default.scdl 
(META-INF/sca) but I still get the NPE. Of course, this was just a 
guess. Any ideas?


- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 3:30 PM
Subject: Re: Can't load implementation.composite



Actually, my mistake, I am now getting a NPE:

Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.491 
sec  FA

ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.471 sec 
 ERROR!


java.lang.NullPointerException
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:102)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can't load implementation.composite

2006-08-23 Thread Ignacio Silva-Lepe
Right, but I don't see scdlLocation as an attribute of 
implementation.composite in the spec, maybe I don't have the right doc.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 4:45 PM
Subject: Re: Can't load implementation.composite



Hi,

I meant to have the following:

implementation.composite name=InnerComposiste 
scdlLocation=InnerComposite.scdl/


And then in ImplementationCompositeLoader, get the scdlLocation attr 
from the XML stream reader and set its value to the 
CompositeImplementation.


Thanks,
Raymond



- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 1:39 PM
Subject: Re: Can't load implementation.composite



Ok. I hacked CompositeComponentTypeLoader to do:

   if (scdlLocation == null) {
   try { scdlLocation = 
getClass().getClassLoader().getResource(META-INF/sca/ + 
implementation.getName() + .scdl); }

   catch(Exception e) { e.printStackTrace(); }
   }

but I can move that to ImplementationCompositeLoader. However, how would 
that attribute be set? Other than the name in implementation.composite/ 
I don't see any other way of naming the file where the referred composite 
is defined.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 4:16 PM
Subject: Re: Can't load implementation.composite



Hi,

The ImplementationCompositeLoader needs to be fixed to take a 
scdlLocation attribute and set it to CompositeImplemention.


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 12:42 PM
Subject: Re: Can't load implementation.composite


On closer inspection, it looks like it may be trying to load the inner 
composite from a separate file. Since the implementation.composite 
element uses name=InnerComposite, I tried putting the inner composite 
scdl in InnerComposite.scdl in the same dir as default.scdl 
(META-INF/sca) but I still get the NPE. Of course, this was just a 
guess. Any ideas?


- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 3:30 PM
Subject: Re: Can't load implementation.composite



Actually, my mistake, I am now getting a NPE:

Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.491 
sec  FA

ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.471 sec 
 ERROR!


java.lang.NullPointerException
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:102)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: REST bindings for Tuscany SCA runtime

2006-08-23 Thread Luciano Resende

So, trying to catchup with many replies to the REST thread...

+1 on DAS supporting all data access on the REST service side...

Also, trying to get a summary of points here, we are saying

1.We need to provide a REST binding for SCA
2.We would provide a REST service using DAS/SDO and the SCA REST binding
would consume this REST service
3.We would probably create a sample app that would show the usage and
binding of all these (and we need a scenario here)

I could definitely help with 2 and 3... also, I'm finishing up a DAS sample
that, with little change could be transformed as the REST service similar to
what was mentioned by Kevin... (should be in the trunk in the next day or
so)

- Luciano

On 8/23/06, Kevin Williams [EMAIL PROTECTED] wrote:



 snip
 In the client:
 customers.get(http://my.customer.database.com/customers/1234;);
 returns an instance of the Customer XSD complex type
 customers.put(http://my.customer.database.com/customers/1234;,
 customerDataObject) updates customer 1234 with a Customer instance.
 customers.get(http://my.customer.database.com/customers/;) returns a
 list of URIs to the customers.

 On the server, the CustomerResource component implements the Customer
 resource management verbs:
 class CustomerResource {
  DataObject get(string uri);
  void post(string uri, DataObject customer);
  void put(string uri, DataObject customer);
  void delete(string uri);
  liststring list(string uris);
 }

 Also, I was thinking that somehow our REST work should tie in with the
 DAS work that we're doing in Tuscany.

 Thoughts?

snip

I have spent a little time thinking about DAS and REST ... no epiphany
so far.  Some RDB vendors offer URL access to relational data with an
option to return results as xml with something like this:


http://localhost/myDatabase?sql=SELECT+firstname,lastname+FROM+employees+FOR+XML+AUTO

So, this seems quasi-restful although what is returned is really the
results of a query rather than a resource.  I suppose this would be more
restful and similar to Sebastien's example if the get returned a list of
urls of Employees that satisfied the query.

I am not sure we would want to embed SQL in the URL but it also does not
seem to make much sense to invent a new query language.  Without a
fairly sophisticated query language, how could a client retrieve a graph
of results like: Customers-Orders-LineItems?  I am starting to ramble.
I need to think about this a bit more.

--Kevin



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
-
Luciano Resende
SOA Opensource - Apache Tuscany
-


Re: Can't load implementation.composite

2006-08-23 Thread Raymond Feng

Hi,

The attr is not in the spec. There are some discussions on this list on how 
to locate/resolve SCDL. For now, it's probably the simplest way to get your 
case working as I suggested.


Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 1:51 PM
Subject: Re: Can't load implementation.composite


Right, but I don't see scdlLocation as an attribute of 
implementation.composite in the spec, maybe I don't have the right doc.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 4:45 PM
Subject: Re: Can't load implementation.composite



Hi,

I meant to have the following:

implementation.composite name=InnerComposiste 
scdlLocation=InnerComposite.scdl/


And then in ImplementationCompositeLoader, get the scdlLocation attr 
from the XML stream reader and set its value to the 
CompositeImplementation.


Thanks,
Raymond



- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 1:39 PM
Subject: Re: Can't load implementation.composite



Ok. I hacked CompositeComponentTypeLoader to do:

   if (scdlLocation == null) {
   try { scdlLocation = 
getClass().getClassLoader().getResource(META-INF/sca/ + 
implementation.getName() + .scdl); }

   catch(Exception e) { e.printStackTrace(); }
   }

but I can move that to ImplementationCompositeLoader. However, how would 
that attribute be set? Other than the name in 
implementation.composite/ I don't see any other way of naming the file 
where the referred composite is defined.


- Original Message - 
From: Raymond Feng [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 4:16 PM
Subject: Re: Can't load implementation.composite



Hi,

The ImplementationCompositeLoader needs to be fixed to take a 
scdlLocation attribute and set it to CompositeImplemention.


Thanks,
Raymond

- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 12:42 PM
Subject: Re: Can't load implementation.composite


On closer inspection, it looks like it may be trying to load the inner 
composite from a separate file. Since the implementation.composite 
element uses name=InnerComposite, I tried putting the inner 
composite scdl in InnerComposite.scdl in the same dir as default.scdl 
(META-INF/sca) but I still get the NPE. Of course, this was just a 
guess. Any ideas?


- Original Message - 
From: Ignacio Silva-Lepe [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 3:30 PM
Subject: Re: Can't load implementation.composite



Actually, my mistake, I am now getting a NPE:

Running innercomposite.InnerCompositeTestCase
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.491 
sec  FA

ILURE!
test(innercomposite.InnerCompositeTestCase)  Time elapsed: 0.471 sec 
 ERROR!


java.lang.NullPointerException
   at 
org.apache.tuscany.core.loader.LoaderRegistryImpl.load(LoaderRegistry

Impl.java:102)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.loadFromSidefile(CompositeComponentTypeLoader.java:64)
   at 
org.apache.tuscany.core.implementation.composite.CompositeComponentTy

peLoader.load(CompositeComponentTypeLoader.java:56)
   at




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can't load implementation.composite

2006-08-23 Thread Jean-Sebastien Delfino

Raymond Feng wrote:

Hi,

I meant to have the following:

implementation.composite name=InnerComposiste 
scdlLocation=InnerComposite.scdl/


And then in ImplementationCompositeLoader, get the scdlLocation attr 
from the XML stream reader and set its value to the 
CompositeImplementation.


Thanks,
Raymond



This thread just caught my eye as changes to the SCDL programming model 
will have impacts on all runtimes including C++.


Is scdlLocation new in the spec or is this a Tuscany/Java extension?

Thanks,

--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Can't load implementation.composite

2006-08-23 Thread Raymond Feng

My reply to Ignacio has probably answered your question. To recap,

1) It's not in the SCA spec (scdlLocation attr)
2) It's a Tuscany/Java extension for now
3) It might be changed when we have an artifact resolving story.

Thanks,
Raymond

- Original Message - 
From: Jean-Sebastien Delfino [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Wednesday, August 23, 2006 2:07 PM
Subject: Re: Can't load implementation.composite



Raymond Feng wrote:

Hi,

I meant to have the following:

implementation.composite name=InnerComposiste 
scdlLocation=InnerComposite.scdl/


And then in ImplementationCompositeLoader, get the scdlLocation attr 
from the XML stream reader and set its value to the 
CompositeImplementation.


Thanks,
Raymond



This thread just caught my eye as changes to the SCDL programming model 
will have impacts on all runtimes including C++.


Is scdlLocation new in the spec or is this a Tuscany/Java extension?

Thanks,

--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[C++] Coding convention for #ifndef in our includes

2006-08-23 Thread Jean-Sebastien Delfino
I see two different coding conventions for the usual 
#ifndef/#define/#endif in our include files:

#ifndef tuscany_sca_model_binding_h in tuscany::sca::model::Binding.h
#ifndef _CHANGEDDATAOBJECTLIST_H_ in commonj::sdo::ChangedDataObjectList.h

Can we decide on a common convention? I have used both conventions in 
the past, so I'm OK with either but think it'd be nicer if we could pick 
one and stick to it.
Until we make a decision I'll follow my old code maintainer habit to 
stick to the scheme I see in the code around what I'm adding/changing.


--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: New site sample

2006-08-23 Thread David Wheeler

I've updated the site sandbox at http://zerovec.com/tuscany/

On the front I've put a revised verion of the block diagram as well as a
version of the triangle relationship diagram for side by side comparison.

On the top I've implemented some drop down menus for navigating to specific
pages related to SCA/SDO/DAS. Some of these pages do not exist yet.

I've also inserted a Getting started category in the nav bar for links
similiar to those in the menus.

Let me know what you guys think works, and where you want the site to be.

-David Wheeler.

On 8/21/06, Venkata Krishnan [EMAIL PROTECTED] wrote:


Hi Haleh, David...

I am trying to rephrase what I tried to convey over the IRC about the
diagram at http://www.zerovec.com/tuscany/AssemblyDiagram.png

If this is the diagram of our websites front page, In my opinion the
diagram
seems to put more emphasis on the SCA project detailing it more than the
SDO
and DAS.  If I visited the website I would think that SCA is the main
thing
and SDO and DAS are supporting stuff.  If this is what it is actually then
it is me who has got it all wrong :)

On the other hand if all three of them are key initiatives / projects that
we are doing under Tuscany, we have to project them in a equivalent
footage.
.i.e. either detail all of them or show all as just blocks (with no
details
within each block)

Also, we must convey what is the binding theme for us to do these three
technologies under the Tuscany Umbrella - what is the motivation?  This
also
hints on what other projects we might include under Tuscany in the future.

Thanks.

- Venkat

On 8/17/06, David Wheeler [EMAIL PROTECTED] wrote:

 Hello again,

 I worked some more on the site and here is what I have come up with.
 http://www.zerovec.com/tuscany/

 I created a php script to parse the xml docs in site-author and display
 them. This make it pretty easy to migrate over all the content that was
 previously there.  The only change was making links that pointed to
 pageName.html point to index.php?page=pageName .

 Does this work for everyone?

 On 8/14/06, David Wheeler [EMAIL PROTECTED] wrote:
 
  Hi,
 
  I've got the site layout to the point where some things are now
  functional.
  Content pages need only contain what is relevant to the themselves,
with
  no formatting information
  Currently it uses javascript to take a local page and inject it into
the
  main page. (This causes the page to feel more responsive, but breaks
the
  back button.)
  An easy alternative would be to use PHP if javascript isn't ok.
 
  I've attached the source as well as posted it here:
  http://66.160.135.98/tuscany/
 
  -David W
 
 






Re: Das Logging Framework

2006-08-23 Thread Kevin Williams

snip
Luciano Resende wrote:


Not sure if I'm just repeating what Robbie just said, but what about also
having a common log/trace infrastructure/abstraction between SCA, SDO and
DAS, and we could provide a default implementation using a standard log
framework (e.g log4J or java native log support) and allow user to 
customize
it by implementing a specific interface and registering/loading it 
somehow ?


snip


The current DAS logging implementation was put in place to facilitate 
early development and debug.  Now we need to take a step back and think 
about logging from within a client's application perspective.  I think 
there are two issues we must resolve before we can go forward and change 
the current DAS logging code:


  1. What logging framework should the DAS use?
  2. What is our logging policy?

It seems that the discussion, so far, has been about #1.  My first 
thought was that the DAS should use one of the popular logging 
frameworks directly.  I think the approach SCA has taken is too heavy 
for our lightweight RDB DAS and I doubt our time would be well spent 
inventing a new framework.  But, Jim and Jeremy make an important point 
about the need to work well with the logging implementation chosen by 
our client applications.  Given this, Commons Logging seems the best 
choice for the DAS.  But, Jim mentioned problems he has experienced with 
Clogging and Jeremy even threatened a trout-slapping over the issue.  I 
would like to know if these issues were specific to the SCA runtime and 
perhaps not an issue with a potential DAS usage.  There are several 
successful OS projects using Commons Logging.


The second issue has to do with what we should log and what logging 
patterns to use.  There was some initial discussion on this list quite 
awhile back and TUSCANY-292 was created and remains open.  Here are 
Ricks initial comments to the JIRA:


...
I've looked for logging guidelines in various projects but couldn't find 
anything really relevant.
My only specific advise is to log exceptions,  major interfaces between 
components, and user settings/ configurations.

Any thoughts?

Thanks,

--Kevin




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [C++] Coding convention for #ifndef in our includes

2006-08-23 Thread haleh mahbod

Can you please update C++ development website to include conventions that
are agreed to?

On 8/23/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:


I see two different coding conventions for the usual
#ifndef/#define/#endif in our include files:
#ifndef tuscany_sca_model_binding_h in tuscany::sca::model::Binding.h
#ifndef _CHANGEDDATAOBJECTLIST_H_ in commonj::sdo::ChangedDataObjectList.h

Can we decide on a common convention? I have used both conventions in
the past, so I'm OK with either but think it'd be nicer if we could pick
one and stick to it.
Until we make a decision I'll follow my old code maintainer habit to
stick to the scheme I see in the code around what I'm adding/changing.

--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: Das Logging Framework

2006-08-23 Thread Jim Marino


On Aug 23, 2006, at 3:13 PM, Kevin Williams wrote:


snip
Luciano Resende wrote:

Not sure if I'm just repeating what Robbie just said, but what  
about also
having a common log/trace infrastructure/abstraction between SCA,  
SDO and
DAS, and we could provide a default implementation using a  
standard log
framework (e.g log4J or java native log support) and allow user to  
customize
it by implementing a specific interface and registering/loading it  
somehow ?


snip


The current DAS logging implementation was put in place to  
facilitate early development and debug.  Now we need to take a step  
back and think about logging from within a client's application  
perspective.  I think there are two issues we must resolve before  
we can go forward and change the current DAS logging code:


  1. What logging framework should the DAS use?
  2. What is our logging policy?

It seems that the discussion, so far, has been about #1.  My first  
thought was that the DAS should use one of the popular logging  
frameworks directly.  I think the approach SCA has taken is too  
heavy for our lightweight RDB DAS and I doubt our time would be  
well spent inventing a new framework.  But, Jim and Jeremy make an  
important point about the need to work well with the logging  
implementation chosen by our client applications.  Given this,  
Commons Logging seems the best choice for the DAS.  But, Jim  
mentioned problems he has experienced with Clogging and Jeremy even  
threatened a trout-slapping over the issue.  I would like to know  
if these issues were specific to the SCA runtime and perhaps not an  
issue with a potential DAS usage.
Please, please, please don't use clogging ;-) I used it in a previous  
implementation of SCA and really came to regret it due to memory  
leaks from not properly flushing its caches as well as collisions  
with other libraries, particularly when deployed to JBoss. These  
problems are not specific to SCA and I imagine they would be  
exacerbated in DAS as it is not a container technology. Various  
projects have encountered problems with clogging, including Jetty,  
Spring, Hibernate, JBoss, and I believe Geronimo (Jeremy knows the  
details of the latter). Basically, they revolve around failure to  
call LogFactory.release().


The lead log4j developer has written a detailed analysis of common  
problems here:


http://www.qos.ch/logging/classloader.jsp

The solution to some memory leak issues is suggested by clogging here:

http://wiki.apache.org/jakarta-commons/Logging/UndeployMemoryLeak? 
action=print
http://jakarta.apache.org/commons/logging/guide.html#Classloader%20and 
%20Memory%20Management


Requiring a container hook for release to be called seems very  
intrusive for a library.


For a more colorful analysis, see:

http://www.jroller.com/page/fate/?anchor=the_evils_of_commons_logging


Jim



There are several successful OS projects using Commons Logging.

The second issue has to do with what we should log and what logging  
patterns to use.  There was some initial discussion on this list  
quite awhile back and TUSCANY-292 was created and remains open.   
Here are Ricks initial comments to the JIRA:


...
I've looked for logging guidelines in various projects but  
couldn't find anything really relevant.
My only specific advise is to log exceptions,  major interfaces  
between components, and user settings/ configurations.


Any thoughts?

Thanks,

--Kevin




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: REST bindings for Tuscany SCA runtime

2006-08-23 Thread Jean-Sebastien Delfino

More ideas and questions below.

Oisin Hurley wrote:

Apologies for addressing the emails in this thread out of order :)

I was on a similar track, thinking about implementing a REST binding 
for Tuscany C++. I agree with you that the REST pattern is about 
resources, so we need to go further than just sending XML service 
requests over HTTP, and understand what it means to work with 
resources in an SCA application.


I was thinking about starting with something very simple like this:

In an SCDL component reference:
reference name=customers
interface.resource type=http://my.business.objects/#Customer/
/reference

and later in a composite reference:
reference name=customers
binding.rest/
/reference

QName http://my.business.objects/#Customer; specifies an XSD complex 
type describing my Customer business object.
binding.rest loads my new REST binding extension that knows how to 
send Customer resource requests over HTTP.
interface.resource indicates a fixed interface pattern with the 
resource management / HTTP verbs.


In the client:
customers.get(http://my.customer.database.com/customers/1234;); 
returns an instance of the Customer XSD complex type
customers.put(http://my.customer.database.com/customers/1234;, 
customerDataObject) updates customer 1234 with a Customer instance.
customers.get(http://my.customer.database.com/customers/;) returns a 
list of URIs to the customers.


On the server, the CustomerResource component implements the Customer 
resource management verbs:

class CustomerResource {
DataObject get(string uri);
void post(string uri, DataObject customer);
void put(string uri, DataObject customer);
void delete(string uri);
liststring list(string uris);
}


Yes I do like it, but I still have a fond attachment to the annotation
driven state-change - method mapping :)



What do you think about the following approach:
a) If you put no annotations in your code then you have to stick to the 
fixed pattern with fixed method names, and you write the side SCDL file 
that turns your code into a component and publishes the REST endpoint.


b) If you want more flexibility to map state changes to nicer method 
names then you use annotations as your were proposing earlier in this 
thread. The annotations also allow you to completely avoid writing SCDL 
and specify the details of the binding like the base URI for the 
resources...


Thoughts?


You have .put and .get in the client example, maybe the .post should be
something like

customers.post(uri, state-diff)


Ah! interesting, I never thought about that before, looks like there 
could be a pretty good fit with SDO with the following:


customers.post(uri, state-diff-in-an-SDO-change-summary-graph) ...

This would be an interesting usage of SDO change summaries IMO, 
obviously just as an option as you should be able to format your state 
diff in any format you want as long as it's understood by your application.


What do you think?



where state-diff is a state format dependent serialization.

Also, I was thinking that somehow our REST work should tie in with 
the DAS work that we're doing in Tuscany.


+1 - I know little about the DAS stuff as yet, but the REST/CRUD/BREAD
approach has a strong affinity for data sources. IMHO this would be
a great first step!

--oh

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: possible bug: IllegalArgumentException, XSDHelperImpl.define : 204 ?

2006-08-23 Thread Paul Tomsic
i just grabbed the latest source from svn, and i'm
still getting the same issue.
seems that there's a classcast exception within the
define method on the XSDHelper.

the difficult part is that the src.zip files don't
match w/ the jars they're released w/ so stepping thru
the EMF code is nearly impossible.

has anyone had this issue before or seen anything odd
within the define method in xsdhelperimpl?

thanks


--- Yang ZHONG [EMAIL PROTECTED] wrote:

 Some bugs have been fixed since M1, do you want to
 try the latest build(s)?
 Some build instructions can be found at


http://incubator.apache.org/tuscany/java_sdo_overview.html
 If any steps are unclear to you, welcome to raise
 question(s) even
 contribute to improve the documentation :-)
 
 
 On 8/22/06, Paul Tomsic [EMAIL PROTECTED] wrote:
 
  does anyone know what causes this:
 
  14:11:19,784 ERROR [STDERR]
  java.lang.IllegalArgumentException:
  org.eclipse.emf.ecore.impl.EDataTypeImpl
 
  14:11:19,786 ERROR [STDERR] at
 

org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:204)
 
  14:11:19,786 ERROR [STDERR] at
 

org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:163)
 
 
  i'm using incubating-M1 version of the sdo-impl
 for
  tuscany.  The XSD isn't null, and it validates
 just
  fine against the XML.   Just not sure what the
 issue
  is, since it appears that the method define is
  wrapping all the functionality in a illegal
 argument
  try/catch/throw
 
  thoughts?
 
  thanks
 
 
 
 

-
  To unsubscribe, e-mail:
 [EMAIL PROTECTED]
  For additional commands, e-mail:
 [EMAIL PROTECTED]
 
 
 
 
 -- 
 
 Yang ZHONG
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: possible bug: IllegalArgumentException, XSDHelperImpl.define : 204 ?

2006-08-23 Thread Yang ZHONG

Do you want to open a JIRA at
   http://issues.apache.org/jira/browse/TUSCANY
and attach all your test case(s)?

On 8/23/06, Paul Tomsic [EMAIL PROTECTED] wrote:


i just grabbed the latest source from svn, and i'm
still getting the same issue.
seems that there's a classcast exception within the
define method on the XSDHelper.

the difficult part is that the src.zip files don't
match w/ the jars they're released w/ so stepping thru
the EMF code is nearly impossible.

has anyone had this issue before or seen anything odd
within the define method in xsdhelperimpl?

thanks


--- Yang ZHONG [EMAIL PROTECTED] wrote:

 Some bugs have been fixed since M1, do you want to
 try the latest build(s)?
 Some build instructions can be found at


http://incubator.apache.org/tuscany/java_sdo_overview.html
 If any steps are unclear to you, welcome to raise
 question(s) even
 contribute to improve the documentation :-)


 On 8/22/06, Paul Tomsic [EMAIL PROTECTED] wrote:
 
  does anyone know what causes this:
 
  14:11:19,784 ERROR [STDERR]
  java.lang.IllegalArgumentException:
  org.eclipse.emf.ecore.impl.EDataTypeImpl
 
  14:11:19,786 ERROR [STDERR] at
 

org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:204)
 
  14:11:19,786 ERROR [STDERR] at
 

org.apache.tuscany.sdo.helper.XSDHelperImpl.define(XSDHelperImpl.java:163)
 
 
  i'm using incubating-M1 version of the sdo-impl
 for
  tuscany.  The XSD isn't null, and it validates
 just
  fine against the XML.   Just not sure what the
 issue
  is, since it appears that the method define is
  wrapping all the functionality in a illegal
 argument
  try/catch/throw
 
  thoughts?
 
  thanks
 
 
 
 

-
  To unsubscribe, e-mail:
 [EMAIL PROTECTED]
  For additional commands, e-mail:
 [EMAIL PROTECTED]
 
 


 --

 Yang ZHONG



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--

Yang ZHONG


Re: Das Logging Framework

2006-08-23 Thread Kevin Williams

Thanks for your input.  I enjoyed the evils of common logging link.

So, if we avoid JCL then my next suggestion would be to use either Java 
logging or log4j directly and our users will need to deal with the -- 
possibly -- separate logging system.  Are there any objections to this 
route?


Thanks,

--Kevin


Jim Marino wrote:



On Aug 23, 2006, at 3:13 PM, Kevin Williams wrote:


snip
Luciano Resende wrote:

Not sure if I'm just repeating what Robbie just said, but what  
about also
having a common log/trace infrastructure/abstraction between SCA,  
SDO and
DAS, and we could provide a default implementation using a  standard 
log
framework (e.g log4J or java native log support) and allow user to  
customize
it by implementing a specific interface and registering/loading it  
somehow ?



snip


The current DAS logging implementation was put in place to  
facilitate early development and debug.  Now we need to take a step  
back and think about logging from within a client's application  
perspective.  I think there are two issues we must resolve before  we 
can go forward and change the current DAS logging code:


  1. What logging framework should the DAS use?
  2. What is our logging policy?

It seems that the discussion, so far, has been about #1.  My first  
thought was that the DAS should use one of the popular logging  
frameworks directly.  I think the approach SCA has taken is too  
heavy for our lightweight RDB DAS and I doubt our time would be  well 
spent inventing a new framework.  But, Jim and Jeremy make an  
important point about the need to work well with the logging  
implementation chosen by our client applications.  Given this,  
Commons Logging seems the best choice for the DAS.  But, Jim  
mentioned problems he has experienced with Clogging and Jeremy even  
threatened a trout-slapping over the issue.  I would like to know  if 
these issues were specific to the SCA runtime and perhaps not an  
issue with a potential DAS usage.


Please, please, please don't use clogging ;-) I used it in a previous  
implementation of SCA and really came to regret it due to memory  
leaks from not properly flushing its caches as well as collisions  
with other libraries, particularly when deployed to JBoss. These  
problems are not specific to SCA and I imagine they would be  
exacerbated in DAS as it is not a container technology. Various  
projects have encountered problems with clogging, including Jetty,  
Spring, Hibernate, JBoss, and I believe Geronimo (Jeremy knows the  
details of the latter). Basically, they revolve around failure to  
call LogFactory.release().


The lead log4j developer has written a detailed analysis of common  
problems here:


http://www.qos.ch/logging/classloader.jsp

The solution to some memory leak issues is suggested by clogging here:

http://wiki.apache.org/jakarta-commons/Logging/UndeployMemoryLeak? 
action=print
http://jakarta.apache.org/commons/logging/guide.html#Classloader%20and 
%20Memory%20Management


Requiring a container hook for release to be called seems very  
intrusive for a library.


For a more colorful analysis, see:

http://www.jroller.com/page/fate/?anchor=the_evils_of_commons_logging


Jim



There are several successful OS projects using Commons Logging.

The second issue has to do with what we should log and what logging  
patterns to use.  There was some initial discussion on this list  
quite awhile back and TUSCANY-292 was created and remains open.   
Here are Ricks initial comments to the JIRA:


...
I've looked for logging guidelines in various projects but  
couldn't find anything really relevant.
My only specific advise is to log exceptions,  major interfaces  
between components, and user settings/ configurations.


Any thoughts?

Thanks,

--Kevin




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]








-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]