[jira] Created: (TUSCANY-927) SCA Policy framework support in Tuscany

2006-11-14 Thread Felix Ren (JIRA)
SCA Policy framework support in Tuscany
---

 Key: TUSCANY-927
 URL: http://issues.apache.org/jira/browse/TUSCANY-927
 Project: Tuscany
  Issue Type: New Feature
  Components: Java SCA Core
Affects Versions: Wish list
 Environment: all
Reporter: Felix Ren


Intents and PolicySets support

-- 
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: Test failure with CastCastException in trunk DAS code

2006-11-14 Thread Luciano Resende

Hi Kelvin,

  This looks like caused by the changes from Tuscany-885 (revision
474389)... if I remove that, the DAS test cases passes and then there is no
build break. Could you please take a look at it ?

- Luciano

On 11/13/06, Luciano Resende [EMAIL PROTECTED] wrote:


Yes, just saw this too... while getting hte lates trunk...
investigating...

On 11/13/06, Raymond Feng [EMAIL PROTECTED]  wrote:

 Hi,

 I ran into this failure when I tried to build the latest trunk code
 using mvn clean followed by mvn install.

 Running org.apache.tuscany.das.rdb.test.suites.AllTestsDerby
 Setting up for Derby run
 Ending Derby run
 Tests run: 140, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 21.688sec 

 FAILURE!
 testReadSingleVerifyShapeUse(
 org.apache.tuscany.das.rdb.test.ResultSetShapeTests
 )  Time elapsed: 0.078 sec   ERROR!
 java.lang.ClassCastException:
 org.apache.tuscany.sdo.impl.DynamicDataObjectImpl
 incompatible with java.util.List
 at org.apache.tuscany.sdo.impl.DataObjectImpl.getList(
 DataObjectImpl.jav
 a:376)
 at
 org.apache.tuscany.das.rdb.test.ResultSetShapeTests.testReadSingleVer
 ifyShapeUse( ResultSetShapeTests.java:85)

 Thanks,
 Raymond





[jira] Updated: (TUSCANY-927) SCA Policy framework support in Tuscany

2006-11-14 Thread Felix Ren (JIRA)
 [ http://issues.apache.org/jira/browse/TUSCANY-927?page=all ]

Felix Ren updated TUSCANY-927:
--

Attachment: policyinit.patch

Initial checkin for policy framework.

 SCA Policy framework support in Tuscany
 ---

 Key: TUSCANY-927
 URL: http://issues.apache.org/jira/browse/TUSCANY-927
 Project: Tuscany
  Issue Type: New Feature
  Components: Java SCA Core
Affects Versions: Wish list
 Environment: all
Reporter: Felix Ren
 Attachments: policyinit.patch


 Intents and PolicySets support

-- 
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] Updated: (TUSCANY-927) SCA Policy framework support in Tuscany

2006-11-14 Thread Felix Ren (JIRA)
 [ http://issues.apache.org/jira/browse/TUSCANY-927?page=all ]

Felix Ren updated TUSCANY-927:
--

Attachment: 
java.sca.kernel.core.src.test.resources.org.apache.tuscany.core.zip

I couldn't package a file in a new folder into the patch, so I upload it as a 
separated file.

 SCA Policy framework support in Tuscany
 ---

 Key: TUSCANY-927
 URL: http://issues.apache.org/jira/browse/TUSCANY-927
 Project: Tuscany
  Issue Type: New Feature
  Components: Java SCA Core
Affects Versions: Wish list
 Environment: all
Reporter: Felix Ren
 Attachments: 
 java.sca.kernel.core.src.test.resources.org.apache.tuscany.core.zip, 
 policyinit.patch


 Intents and PolicySets support

-- 
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-927) SCA Policy framework support in Tuscany

2006-11-14 Thread Felix Ren (JIRA)
[ 
http://issues.apache.org/jira/browse/TUSCANY-927?page=comments#action_12449610 
] 

Felix Ren commented on TUSCANY-927:
---

Hi Jim and others,

This initial patch including several separated parts of Policy Framework, I did 
not integrate them into core loading and building phase yet.
Model classes for policy artifacts
IntentRegistry: Registry for system scope intent.
PolicySetLoader: A LoaderExtension load policy set model class from SCDL file.
PolicyEngine: Match intent to concrete policy artifacts.

I had two problems when I tried to integrate policy support into Tuscany 
runtime,
When policy intent is registered to SCA system, the SCA artifact type which can 
be applied to is represented with the QName of SCA type. And policy intent 
applied to an abstract SCA type is applicable for all concrete types of this 
abstract type. 
intent name=xs:NCName 
appliesTo=list of xs:QNames ?
description Description of the policy intent
/description
/intent
In SCDL file, SCA type is distinguished with the QName of XML element, after 
loading phase, the model classes don't hold the reference to QName, so we can't 
the get the QName of model or SCAObject when building and wiring. Do you think 
it is reasonable to add QName of SCA artifact type to model classes?

Another problem is about scope of PolicySet, I assume the PolicySet embedded in 
SCDL belongs to the Composite of this SCDL file, so I would add the following 
methods to CompositeComponentType, and integrate PolicySet loader to composite 
loader.
CollectionPolicySet getAllPolicySet();
PolicySet getPolicySet(QName name);
void addPolicySet(PolicySet policySet);

Do you think CompositeComponentType is the appropriate place for PolicySet?


Regards,
Felix

 SCA Policy framework support in Tuscany
 ---

 Key: TUSCANY-927
 URL: http://issues.apache.org/jira/browse/TUSCANY-927
 Project: Tuscany
  Issue Type: New Feature
  Components: Java SCA Core
Affects Versions: Wish list
 Environment: all
Reporter: Felix Ren
 Attachments: 
 java.sca.kernel.core.src.test.resources.org.apache.tuscany.core.zip, 
 policyinit.patch


 Intents and PolicySets support

-- 
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++] Doxygen documentation for our runtime

2006-11-14 Thread Pete Robbins

On 14/11/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:


Pete Robbins wrote:
 Definitely!

Done under revision r474696. On linux, run configure with the
--enable-doxygen option. It's off by default. On Windows run doxygen
Doxyfile.w32 from the doc directory. The doc is generated under
doc/doxygen.

The same scheme can be replicated for SDO.

 We did this with the tree originally so some of the code has
 comments in the correct Doxygen format. Is there an option to insert
 comment
 headers into the source?


The doxygen format is described there:
http://www.stack.nl/~dimitri/doxygen/docblocks.html. You can write doc
blocks anywhere except inside the body of a function. What did you mean
by is there an option to insert comment headers into the source?



I meant can we get Doxygen to insert the correct format comment block above
methods etc. with blank content. I'm sure not all methods have the correct
comments! So for a method

int fred(string x);

we need

/**
  @param x
  @return
**/
int fred(string x);

Just a thought! We need to document our code in a consistent way which it
isn't at the moment.

Cheers,
--
Pete


[jira] Commented: (TUSCANY-928) Define Tuscany SDO options for XMLHelper load and save operations

2006-11-14 Thread Kelvin Goodson (JIRA)
[ 
http://issues.apache.org/jira/browse/TUSCANY-928?page=comments#action_12449635 
] 

Kelvin Goodson commented on TUSCANY-928:


TUSCANY-713 represents a specific instance of this issue, and prereqs a 
solution to this JIRA.

 Define Tuscany SDO options for XMLHelper load and save operations
 -

 Key: TUSCANY-928
 URL: http://issues.apache.org/jira/browse/TUSCANY-928
 Project: Tuscany
  Issue Type: Improvement
  Components: Java SDO Implementation
Affects Versions: Java-Mx
Reporter: Kelvin Goodson

 XMLHelper's load and save operations take an Object argument  options, 
 which is currently cast to a Map and forwarded to EMF.  Anyone wishing to 
 influence the behaviour of the save/load operations must understand this 
 aspect of EMF and use EMF artifacts in their programs.  We need to design and 
 implement an SDO approach to passing options,  hiding the implementation 
 details completely.

-- 
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-713) Discover and regiester new SDO types during the time of loading the XML instance document

2006-11-14 Thread Kelvin Goodson (JIRA)
[ 
http://issues.apache.org/jira/browse/TUSCANY-713?page=comments#action_12449633 
] 

Kelvin Goodson commented on TUSCANY-713:


The result of Yangs experimentation was to demonstrate that we can achieve this 
behaviour by setting options at the EMF level, in particular 
org.eclipse.emf.ecore.xmi.XMLOptions#setProcessSchemaLocations(true)

but this brings up the wider issue of addressing the passing of options, and 
the fact that it currently exposes EMF, so I believe we should prereq a 
solution to TUSCANY-928 before we can address this (and indeed this issue may 
be solved as part of TUSCANY-928).

 Discover and regiester new SDO types during the time of loading the XML 
 instance document
 -

 Key: TUSCANY-713
 URL: http://issues.apache.org/jira/browse/TUSCANY-713
 Project: Tuscany
  Issue Type: New Feature
  Components: Java SDO Implementation
Affects Versions: Wish list
Reporter: Fuhwei Lwo
 Fix For: Wish list


 Current SDO implementation requires one to register the SDO types before 
 loading their instances from XML document.  The new scenario is to load the 
 XML document before registering the types.  The SDO may require the XML 
 document to provide some information to locate its schema or metadata 
 location.  Annotation may be one way to do it. The schemaLocation attribute 
 is not sufficient because it's only a hint not necessarily a physical 
 location.

-- 
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-713) Discover and regiester new SDO types during the time of loading the XML instance document

2006-11-14 Thread Kelvin Goodson (JIRA)
[ 
http://issues.apache.org/jira/browse/TUSCANY-713?page=comments#action_12449637 
] 

Kelvin Goodson commented on TUSCANY-713:


One other thing I meant to add was to capture the fact that we must be able to 
be able to define a TypeHelper instance to be used with the load schemas 
option so that the newly found types can be registered in the context that the 
application desires.

 Discover and regiester new SDO types during the time of loading the XML 
 instance document
 -

 Key: TUSCANY-713
 URL: http://issues.apache.org/jira/browse/TUSCANY-713
 Project: Tuscany
  Issue Type: New Feature
  Components: Java SDO Implementation
Affects Versions: Wish list
Reporter: Fuhwei Lwo
 Fix For: Wish list


 Current SDO implementation requires one to register the SDO types before 
 loading their instances from XML document.  The new scenario is to load the 
 XML document before registering the types.  The SDO may require the XML 
 document to provide some information to locate its schema or metadata 
 location.  Annotation may be one way to do it. The schemaLocation attribute 
 is not sufficient because it's only a hint not necessarily a physical 
 location.

-- 
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: Setting Open Content (Was Re: SDO Java: Getting Involved -- Tests/Samples)

2006-11-14 Thread kelvin goodson

HI Andy,

the ability to perform open content addition in this way  .

  DataObject product = catalog.createDataObject(product,
commonj.sdo, DataObject);

is SDO 2.1 behaviour, and we don't have that operating in Tuscany yet.

To set open content you currently need to use the Property variant setters
etc. and you have to find or create a global property that is suitable for
the purpose,  e.g.

 Type globalType = SDOUtil.createType(TypeHelper.INSTANCE,
some-namespace, null, false);
 Property p = SDOUtil.createProperty(globalType, newProp,
TypeHelper.INSTANCE.getType(commonj.sdo,String));

note that the property is interpreted as a global properties becuase its
containing type has a null name.

The alternative is to use global properties generated from global elements
in an xsd to sdo conversion.

Cheers, Kelvin.



On 13/11/06, Andy Grove (Contractor) [EMAIL PROTECTED] wrote:


Hi Kelvin,

I'm in the process of re-organizing our test suite to remove
dependencies on internal classes and I am trying to run the tests
against a current snapshot of Tuscany. I have hit a problem early on
that is causing many tests to fail.

I'm not sure of the correct process for getting questions like this
answered so I'm posting here but please let me know if I should be
posting a JIRA.

The following method is used to create a sample document that many of
the tests then use:

public static XMLDocument createProductCatalogDocument() {
// create a test document using the SDO API
String xml = catalog/catalog;
XMLDocument doc = getXMLHelper().load(xml);
DataObject catalog = doc.getRootObject();
for (int i = 0; i  10; i++) {
DataObject product = catalog.createDataObject(product,
commonj.sdo, DataObject);
product.setInt(identifier, i);
product.setString(theName, Product # + i);
product.setString(theDescription, This is a description
of product # + i);
product.setBigDecimal(thePrice, new BigDecimal(i * 1.5));
product.setDate(theDate, new Date());
}
return doc;
}

The code is failing on the line that attempts to create an open-content
property product with the error Class 'AnyTypeDataObject' does not
have a feature named 'product'.

In the RW implementation this code works because the root DataObject
representing the catalog element is an open DataObject (of type
commonj.sdo#DataObject). However, Tuscany is creating the root object
with the type http://www.apache.org/tuscany/2005/SDO#AnyTypeDataObject.
This appears to be an open type e.g. getType().isOpen() returns true but
it is not letting me create the open content property product.

Is this a bug in Tuscany or am I doing something incorrect in my use of
Tuscany?

Thanks,

Andy.


-Original Message-
From: kelvin goodson [mailto:[EMAIL PROTECTED]
Sent: 02 November 2006 10:12
To: tuscany-dev@ws.apache.org
Subject: Re: SDO Java: Getting Involved -- Tests/Samples

Having tried to respond to Andy's note a couple of times today in a way
that
was not open to misinterpretation I 'phoned Andy up.  I made the point
that
what we need to be aiming at is open integration of the RogueWave source
into Tuscany,  and that a process of making drops of code is not a good
fit,  as we must cater for the possibility of other members of the
community
having made updates to the tests.  So I would say that the ideal way
forward
is that RogueWave create patches for any updates for code that has been
put
into the repository and I or another committer will apply them.  If in
this
startup phase you would prefer for a while to continue to attach drops
of
code to JIRAs then I can apply the updates, The code drop process would
have
to include the possibility of me sending you back the updated code if it
turned out that modifications had been made to the code between drops.
It
would be great to get you into the mode of creating patches and I'm
willing
to help you get set up for that if you would like.  It would be really
good
to aim for having some RogueWave committers!

Best Reards, Kelvin.


On 01/11/06, Andy Grove (Contractor) [EMAIL PROTECTED] wrote:


 I've just become involved in the effort to make our test suite
available
 and we have an internal meeting later today to discuss the procedures
 around this. I would have thought that the first sensible step would
be
 for us to split out our current tests into two packages - those that
 have dependencies on RW internal classes and those that don't. That
way
 we can provide regular code drops of the generic tests (avoiding the
 need to provide diffs when we make changes) and we can gradually
migrate
 tests from the RW suite to the generic suite.

 Does that sound like a workable solution?

 Thanks,

 Andy.


 -Original Message-
 From: kelvin goodson [mailto: [EMAIL PROTECTED]
 Sent: 01 November 2006 10:05
 To: tuscany-dev@ws.apache.org
 Subject: Re: SDO Java: Getting Involved -- Tests/Samples

 

Re: SDO Java: Getting Involved -- Tests/Samples

2006-11-14 Thread kelvin goodson

For the record, as this thread was getting a bit long I responded to this
under a new title --- Re: Setting Open Content (Was Re: SDO Java: Getting
Involved -- Tests/Samples)


[jira] Created: (TUSCANY-928) Define Tuscany SDO options for XMLHelper load and save operations

2006-11-14 Thread Kelvin Goodson (JIRA)
Define Tuscany SDO options for XMLHelper load and save operations
-

 Key: TUSCANY-928
 URL: http://issues.apache.org/jira/browse/TUSCANY-928
 Project: Tuscany
  Issue Type: Improvement
  Components: Java SDO Implementation
Affects Versions: Java-Mx
Reporter: Kelvin Goodson


XMLHelper's load and save operations take an Object argument  options, which 
is currently cast to a Map and forwarded to EMF.  Anyone wishing to influence 
the behaviour of the save/load operations must understand this aspect of EMF 
and use EMF artifacts in their programs.  We need to design and implement an 
SDO approach to passing options,  hiding the implementation details completely.

-- 
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: [jira] Commented: (TUSCANY-921) wire element in SCDL causes UnrecognizedElementException

2006-11-14 Thread Venkata Krishnan

Hi Jim,

Please help me understand this... all of what I mention here is in the
context of explicit wire defintions.. i.e. wires defined in scdl by the
'wire' element.

As per the specs it seems like the source of a wire could be a composite's
service's reference.  If this is the case can I have a composite whose
service element does not have a 'reference' defined inline but instead has
this wiring mentioned by a separate 'wire' element.
If yes, then the service loader might need some changes since it throws
an exception if a target is not defined as part of the service definition.
If no, then I don't find the specs excluding composite services as
sources of 'wire' definitions.

So which is the direction we take ?

Thanks

- Venkat



On 11/13/06, Venkatakrishnan (JIRA) tuscany-dev@ws.apache.org wrote:


[
http://issues.apache.org/jira/browse/TUSCANY-921?page=comments#action_12449264]

Venkatakrishnan commented on TUSCANY-921:
-

Hi,

I can give this a try with some help from you.  Will do some groundwork
and get back asap.  Thanks

- Venkat

 wire element in SCDL causes UnrecognizedElementException
 --

 Key: TUSCANY-921
 URL: http://issues.apache.org/jira/browse/TUSCANY-921
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Core
Affects Versions: Java-Mx
Reporter: Greg Dritschler

 Using a wire element in a composite results in an exception.
 org.apache.tuscany.spi.loader.UnrecognizedElementException: {
http://www.osoa.org/xmlns/sca/1.0}wire
 [{http://www.osoa.org/xmlns/sca/1.0}wire]
 Context stack trace: [application]
 at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(
LoaderRegistryImpl.java:90)
 at
org.apache.tuscany.core.implementation.composite.CompositeLoader.load(
CompositeLoader.java:81)
 at
org.apache.tuscany.core.implementation.composite.CompositeLoader.load(
CompositeLoader.java:55)
 at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(
LoaderRegistryImpl.java:92)
 at org.apache.tuscany.core.loader.LoaderRegistryImpl.load(
LoaderRegistryImpl.java:109)
 at
org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader.loadFromSidefile
(CompositeComponentTypeLoader.java:65)
 at
org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader.load
(CompositeComponentTypeLoader.java:57)
 at
org.apache.tuscany.core.implementation.composite.CompositeComponentTypeLoader.load
(CompositeComponentTypeLoader.java:39)
 at
org.apache.tuscany.core.loader.LoaderRegistryImpl.loadComponentType(
LoaderRegistryImpl.java:159)
 at org.apache.tuscany.core.deployer.DeployerImpl.load(
DeployerImpl.java:101)
 at org.apache.tuscany.core.deployer.DeployerImpl.deploy(
DeployerImpl.java:76)

--
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: Unit testing/debuging a SCA Container

2006-11-14 Thread Venkata Krishnan

Hi Luciano,

Presently there are some unit tests in the JavaScript and Ruby containers.
You could probably get to do similar ones for DAS as well.  Though you might
have to cover a little more I  am sure you will get a good idea of how to go
about this on you take a look at them.

- Venkat


On 11/13/06, Luciano Resende [EMAIL PROTECTED] wrote:


I'm working with Amita's contribution (
http://issues.apache.org/jira/browse/TUSCANY-904) to modify the DAS
container implementation in order to get it ready to go to the trunk and
would like to see what's the best approach for performing unit testing and
debuging a SCA Container.

Any help would be appreciated

Thanks
Luciano Resende




[jira] Updated: (TUSCANY-906) Provide ant scripts to build selected samples

2006-11-14 Thread Simon Nash (JIRA)
 [ http://issues.apache.org/jira/browse/TUSCANY-906?page=all ]

Simon Nash updated TUSCANY-906:
---

Attachment: build.xml

Updated build.xml file for calculator sample, eliminating copy tasks 

 Provide ant scripts to build selected samples
 -

 Key: TUSCANY-906
 URL: http://issues.apache.org/jira/browse/TUSCANY-906
 Project: Tuscany
  Issue Type: Improvement
  Components: Build System
Affects Versions: Java-M2
 Environment: Java5, Windows XP
Reporter: Simon Nash
 Attachments: build.xml, build.xml, build.xml


 The samples in the M2 branch are all set up to be built using maven.  For 
 non-maven users, there is currently no alternative approach to building that 
 is supported or documented.  This will be a significant inhibitor to 
 non-maven users picking up and using the M2 release.  We should include ant 
 scripts for at least least some of the samples to provide an alternative 
 approach that works out of the box for ant and is easy to customize for 
 other build environments. 

-- 
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]



Howto

2006-11-14 Thread Adriano Crestani

Willian, Luciano said to upload the howto in the wiki, no matter if it's
finished or not. Report us when you have uploaded it ; )
Then I will try to describe the the xml configuration file you've made.

Adriano Crestani


Re: DAS Container - First part ready for review....

2006-11-14 Thread Venkata Krishnan

Hi,

I have tried my best to explain... just in case something is not right in
this could somebody pitch in please.

Thanks.

- Venkat

On 11/14/06, Luciano Resende [EMAIL PROTECTED] wrote:


Hi All

   I have updated (Tuscany-904) with a new version of the DAS container.
This is based on the initial contribution that Amita did, with some
clean-up, refactoring and additions to try to fix a possible problem with
mutable properties that are shared among instance (pointed by Jim
Marino)...
Currently, this is just the initial drop that I want to make available in
the trunk so other can start to take a look and Amita and I could
collaborate easier... unit testings, sample, etc are coming... I'd
appreciate if anyone could help get this to the trunk if there is nothing
wrong with this...

Couple Questions:

Could someone take a quick look at ComponentTypeLoader and see if it's
looking Ok ? I was not sure about what this loadFromSideFile means ? what
is
the side file? Is this something particular to Script container ?



A sidefile is one way of  exposing the  configurable aspects of an
implementation.  The other way is thro annotations.  Yet another is to
follow some coding conventions so that this information is introspectable.
The sidefile way of doing things is, to the best of what I understand, a
common means across containers. i.e. you can have javascript, java, ruby,
das (if you will) components all using the sidefile in a similar manner as
this is prescribed by the specs.  For the introspectable way you will see
Java and JavaScript vary in how they achieve this.  The same goes for
annotations - right now the java container alone can leverage this (as far
as I know).

Also, I wasn't sure what time is the appropriate time to load the das config

file when provided ? Right now is being loaded at
DataAccessImplementationLoader, if you guys think this should go in a
different place, please let me know... also would be good to know why :)



The config file could very well be read / parsed during 'load' time using
the loader.  The loading is just about picking up the component definition
information from the scdl file and creating a java object model for them.
The next phase is the 'build' phase where you must create the necessary
runtime artifacts making use of the model you have defined in the loading
phase.  In your case I would imagine that you would inject the config values
into the DAS Engine during the build time.

Well, comments and feedback are welcome... Note that I'm still getting

familiar with the Container SPI, so, please let me know if I misunderstood
something on the implementation.



- Luciano Resende

Apache Tuscany




[jira] Updated: (TUSCANY-906) Provide ant scripts to build selected samples

2006-11-14 Thread Simon Nash (JIRA)
 [ http://issues.apache.org/jira/browse/TUSCANY-906?page=all ]

Simon Nash updated TUSCANY-906:
---

Attachment: build.xml

Update build.xml file for helloworldws sample, eliminating copy tasks

 Provide ant scripts to build selected samples
 -

 Key: TUSCANY-906
 URL: http://issues.apache.org/jira/browse/TUSCANY-906
 Project: Tuscany
  Issue Type: Improvement
  Components: Build System
Affects Versions: Java-M2
 Environment: Java5, Windows XP
Reporter: Simon Nash
 Attachments: build.xml, build.xml, build.xml, build.xml


 The samples in the M2 branch are all set up to be built using maven.  For 
 non-maven users, there is currently no alternative approach to building that 
 is supported or documented.  This will be a significant inhibitor to 
 non-maven users picking up and using the M2 release.  We should include ant 
 scripts for at least least some of the samples to provide an alternative 
 approach that works out of the box for ant and is easy to customize for 
 other build environments. 

-- 
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]



Review of Tuscany Java M2 Samples/Readme

2006-11-14 Thread Lee Surprenant

After yesterday's chat I took some time to look at the samples/readmes from
the M2 branch.  Minus a few grammatical mistakes, I found the content
consistent and easy to follow.  Here are a few minor questions/concerns:

  - Why is the core-1.0-incubator-M2-SNAPSHOT.jar included in the
  contrib dir?
  - Are the runtime property (-D) options documented somewhere?  It took
  me a while to find -Doffline=true for the standalone runtime.
  - The BigBank Sample Location section of the readme incorrectly states
  that BigBank is located in the sampleapps/bigbank dir.
  - When I try to run mvn tomcat:deploy on
sample-helloworldjsonrpc.warfrom eclipse, I obtain the following
error: LifecycleExecutionException: No
  Java test frameworks found.  The command works fine from terminal.  Strange
  because I can deploy all the other samples from eclipse.
  - Why are binding.axis2.scdl and databinding.sdo.scdl included at
  sca/runtime/webapp-host/src/main/resources/META-INF/sca/?
  - It seems unclear/confusing to me to include the outdated documents
  at tuscany-sca-1.0-incubator-M2-src\src\sca\doc in the source distro.

thanks,

-Lee


Updated ant scripts attached to TUSCANY-906

2006-11-14 Thread Simon Nash

I have attached updated ant scripts for calculator and helloworldws
to TUSCANY-906.  Following Raymond's suggestion, they eliminate all
the copy tasks.  This makes them less scary than the previous
versions, and makes it easier to see how to build a Tuscany standalone
application or a Tuscany webapp.  Any further suggestions for
improvement are very welcome.

At present these scripts still use standard ant tasks and so require
the 2 Tuscany webapp jars to be available locally.  I'm now going to
start working on a solution that can handle remote dependencies.

  Simon


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



Re: Axis2 1.1 timeframes

2006-11-14 Thread Raymond Feng

Hi, all.

I'll make the changes to change the axis2 version to 1.1 as well as other 
related artifacts.


Thanks,
Raymond

- Original Message - 
From: Jeremy Boynes [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Tuesday, November 14, 2006 8:15 AM
Subject: Re: Axis2 1.1 timeframes



On 11/13/06, Raymond Feng [EMAIL PROTECTED] wrote:

The axis2 1.1 is out! Please see the link @
http://ws.apache.org/axis2/index.html.

But the artfiacts are not available in maven repo at the moment.



They are now in the M1 repo at ibiblio:
http://www.ibiblio.org/maven/org.apache.axis2/jars/

I think this replicates to the M2 repo as well but for now we can use
the legacy repo.
--
Jeremy

-
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: Conversational services

2006-11-14 Thread Ignacio Silva-Lepe

I have also changed the non-blocking interceptor to propagate
conversation ids to support async ops.

An issue that comes up with this is that if a conversational
service also uses async ops (e.g., one-ways), the corresponding
implementations (client and/or service) need to be careful about
concurrency. For instance, in the loan app sample, I made the
cancel op a one-way. The client applies for a loan, displays the
loan app, cancels it and displays again. So now the cancel thread
is competing with the main thread for access to the service. The
simple fix in the sample is to hold the main thread to let the cancel
thread complete, which is impacting the client code.

The spec(s) does not seem to be clear about whether the
infrastructure must provide support to relieve the user from dealing
with concurrency. For the remote case, the various bindings can
provide support depending on policy and some handshaking with
the core. For instance, for ws WS-RM can be used to provide
ordering support but even that may not be sufficient in the face of
potential races into an Axis2Reference. For the local case, it may
be possible to provide some ordering support on a per conversation
basis by sequencing invocations (a la WS-RM) but it's not clear
the current architecture is there for this requirement. That is, an
invocation handler may be able to behave as a conversation source
for sequencing, but since there is a separate target invoker per
operation, something would need to happen to get them in order.

In any case, this are just some spur-of-the-moment thoughts. Others
may have different ideas about whether or how to handle this issue.


On 11/13/06, Ignacio Silva-Lepe [EMAIL PROTECTED] wrote:


I have checked in code to complete a minimal implementation of
conversational services, including a sample adapted from the CI
spec. Still not using UUID for conversation ids, need to change.
Rick, you can go ahead and test it (I did not include the sample
in the main pom, you can run it from its own dir though).


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


 On Nov 11, 2006, at 6:16 AM, Ignacio Silva-Lepe wrote:

  The CI spec defines a conversational interface as annotated with
 
  @Scope(session)
 
  but since we are also considering HTTP Session scopes, it seems
  that using @Scope(CONVERSATIONAL)  would make things
  clearer. Notice that earlier in the spec (sec 1.2.1.4) the annotation
  @Scope(CONVERSATION) is used in passing, so it looks like
  the spec needs to be revised anyway.
 I think I may have missed a couple of places in the spec where things
 should have been changed from session to conversation. We also
 need a description for scopes to be placed back in the Java CI spec
 (it was originally in, moved to Assembly, and then the spec group
 decided to move it back to the respective CI specs) so I'll include
 this in that proposal.

 Jim

  For the current SCA/Java implementation of conversational services
  just getting under way, the current thought is to use
  @Scope(CONVERSATIONAL)
 
  On 11/11/06, Pete Robbins [EMAIL PROTECTED] wrote:
 
  Quick question: Is there an annotation that marks an interface as
  conversational?
 
  Cheers,
 
  --
  Pete
 
 


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





OSGi IRC discussion transcript

2006-11-14 Thread Jim Marino
A few of us had a discussion about OSGi integration today on IRC for  
those interested:


[08:11am] jhawkins: Welcome, Nicole!
[08:11am] jmarino: Hi Nicole
[08:11am] jmarino: should we begin?
[08:11am] Nicole: yes  Should we start asking questions?
[08:12am] jhawkins: Lets. Where do you want to start?
[08:13am] Nicole: I would like to talk about the requirement having  
the same jars for OSGi and other hosts.

[08:13am] jmarino: k what do you guys think of that?
[08:14am] Nicole: From my point of view it should not be a problem to  
generate bundles out of the JARs which we can use in OSGi.
[08:14am] jhawkins: I think we'll probably have a requirmeent for  
dual packaging. In other words, there will be some bpeople who will  
want an OSGi centric capability, and otheres who'll opt fo conveince.
[08:15am] jmarino: ok my thinking around wanting to have the same was  
that we could reuse extensions across runtime hosts. So if someone  
wanted to write an extension, it would run on OSGi or in a servlet  
container, etc.
[08:16am] jhawkins: I did take a look at the Spring virtual bundle  
code (thanks Nicole), and it's true that we could pretty easily do  
that. However I think some of the cases where extensions share  
dependencies will be problimatic
[08:16am] Nicole: We could have the sources of the binding in OSGi  
and provide 2 maven tags. One for the simple JAR, one for a bundle.
[08:17am] jmarino: In the extension model now, we have the  
depenency tag...could we programatically create the OSGi bundle? I  
was thinking we could support both bundles directly (pure OSGi) and jars
[08:18am] Nicole: What is the meaning of the dependency? Dependency  
to other jars?
[08:19am] jmarino: yes it's basically from Maven. It's more coarse  
grained than package dependencies
[08:20am] jhawkins: Sure. The problem comes I see is getting the  
import/exports right. Are you planning on doing this at runtime, or  
during provisioning?
[08:20am] jmarino: I was thinking this would be done when the  
extension is deployed into the runtime. This could be live or some  
time earlier.
[08:21am] jmarino: I should step back and describe what we are doing  
in the spec a little since we are talking about deployment

[08:21am] jhawkins: That would help.
[08:21am] dkulp joined the chat room.
[08:21am] jmarino: ok we are still in the early stages
[08:22am] jmarino: but what we wanted was a way to express  
dependencies as well as the equivalent of exports in a language  
neutral way...
[08:22am] jmarino: for example, there are not just Java packages,  
classes, etc. but also things like WSDL, XSDs, etc.
[08:23am] jmarino: we were thinking about having a syntax for that.  
It would share some concepts to OSGi
[08:23am] jmarino: I was thinking we could interpret this syntax  
and convert it to creating bundles in OSGi

[08:23am] jhawkins: Where would this metadata reside?  SCDL? Manifest?
[08:24am] jmarino: yes the metadata would be in SCDL
[08:25am] Nicole: It will not work out of the box, but we could adapt  
the Spring-OSGi stuff. They are reading export/import info out of a  
file.
[08:25am] Nicole: We could read the SCDL and create bundle with  
manifest.
[08:26am] jhawkins: OK. So imagining we've got that, the question  
becomes what would the translation result look like.

[08:26am] Nicole: A fragment bundle?
[08:27am] jhawkins: Good question. Jim's statement that extensions  
should have their own class loaders kills fragment bundes (unless we  
want to dig into that deeper).

[08:27am] jmarino: maybe we should dig deeper into that?
[08:28am] jmarino: we don't have this implemented yet but...
[08:28am] jhawkins: Also, the fragment bundle solution has  
implications on runtime isolation. Do we want to support multiple  
runtimes in a single OSGi?
[08:29am] jmarino: I assumed there would be one but that was just an  
assumption without much thought. Is that a bad assumption?

[08:29am] jhawkins: You da' man - how many do you want?
[08:29am] jmarino:  not sure about that My OSGi knowledge is pretty  
basic
[08:29am] Nicole: Now I'm confused. I Thought one Runtime and X  
system/application composites ...

[08:30am] jmarino: that's what I was thinking
[08:30am] Nicole: What would be the advantage of having more than one  
Joel?
[08:32am] jhawkins: That would make life easier. To me, this gets  
into a who's on top discussion. If I see OSGi as some sort of  
container container, then I would need to be able to support mutlipe  
runtimes (just like a web container supports multiple web apps)...

[08:32am] jhawkins: I don't have a dog in this hunt... just a question
[08:32am] rfeng joined the chat room.
[08:33am] jmarino: I'm wondering if it makes things simpler to assume  
one runtime per OSGi container?
[08:33am] jhawkins: If we go with one runtime, then taking a fragment  
bundle approach is more defensible, and we can probably leverage more  
from OSGi.
[08:33am] Nicole: Only to get the 'big picture'. If we have one  
runtime, 

[jira] Commented: (TUSCANY-885) Property DataObject.getProperty(String propertyName) should return null if the property cannot be found

2006-11-14 Thread Luciano Resende (JIRA)
[ 
http://issues.apache.org/jira/browse/TUSCANY-885?page=comments#action_12449716 
] 

Luciano Resende commented on TUSCANY-885:
-

After this changes, DAS test case is failing at :

Running org.apache.tuscany.das.rdb.test.suites.AllTestsDerby
Setting up for Derby run
Ending Derby run
Tests run: 140, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 21.688 sec 
 FAILURE!
testReadSingleVerifyShapeUse(org.apache.tuscany.das.rdb.test.ResultSetShapeTests
)  Time elapsed: 0.078 sec   ERROR!
java.lang.ClassCastException: org.apache.tuscany.sdo.impl.DynamicDataObjectImpl
incompatible with java.util.List
   at org.apache.tuscany.sdo.impl.DataObjectImpl.getList(DataObjectImpl.jav
a:376)
   at org.apache.tuscany.das.rdb.test.ResultSetShapeTests.testReadSingleVer
ifyShapeUse(ResultSetShapeTests.java:85)

 Property DataObject.getProperty(String propertyName) should return null if 
 the property cannot be found
 ---

 Key: TUSCANY-885
 URL: http://issues.apache.org/jira/browse/TUSCANY-885
 Project: Tuscany
  Issue Type: Bug
  Components: Java SDO Implementation
Affects Versions: Java-Mx
Reporter: Fuhwei Lwo
 Assigned To: Kelvin Goodson
Priority: Minor
 Fix For: Java-Mx

 Attachments: tuscany-885.patch


 Based on SDO 2.01 specification, DataObject.getProperty(String propertyName) 
 should return null if the property cannot be found.  Unfortunately, it 
 returns IlegalArgumentException now.

-- 
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: Review of Tuscany Java M2 Samples/Readme

2006-11-14 Thread Raymond Feng

Hi, Lee.

Thank you very much for the review. Please see my comments below.

Raymond

- Original Message - 
From: Lee Surprenant [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Tuesday, November 14, 2006 8:25 AM
Subject: Review of Tuscany Java M2 Samples/Readme


After yesterday's chat I took some time to look at the samples/readmes 
from

the M2 branch.  Minus a few grammatical mistakes, I found the content
consistent and easy to follow.  Here are a few minor questions/concerns:

  - Why is the core-1.0-incubator-M2-SNAPSHOT.jar included in the
  contrib dir?


It was brought in by a dependency with wrong scope (test instead of compile) 
and I fixed it.



  - Are the runtime property (-D) options documented somewhere?  It took
  me a while to find -Doffline=true for the standalone runtime.


I'll find a place for this :-)


  - The BigBank Sample Location section of the readme incorrectly states
  that BigBank is located in the sampleapps/bigbank dir.


Fixed.


  - When I try to run mvn tomcat:deploy on
sample-helloworldjsonrpc.warfrom eclipse, I obtain the following
error: LifecycleExecutionException: No
  Java test frameworks found.  The command works fine from terminal. 
Strange

  because I can deploy all the other samples from eclipse.


Need some investigation.


  - Why are binding.axis2.scdl and databinding.sdo.scdl included at
  sca/runtime/webapp-host/src/main/resources/META-INF/sca/?


I'll check.


  - It seems unclear/confusing to me to include the outdated documents
  at tuscany-sca-1.0-incubator-M2-src\src\sca\doc in the source distro.



The docs are now removed from the distro. And will see if we can make them 
updated for the web site.



thanks,

-Lee




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



Re: DAS Container - First part ready for review....

2006-11-14 Thread Jim Marino


On Nov 14, 2006, at 8:15 AM, Venkata Krishnan wrote:


Hi,

I have tried my best to explain... just in case something is not  
right in

this could somebody pitch in please.

Thanks.

- Venkat

On 11/14/06, Luciano Resende [EMAIL PROTECTED] wrote:


Hi All

   I have updated (Tuscany-904) with a new version of the DAS  
container.

This is based on the initial contribution that Amita did, with some
clean-up, refactoring and additions to try to fix a possible  
problem with

mutable properties that are shared among instance (pointed by Jim
Marino)...
Currently, this is just the initial drop that I want to make  
available in

the trunk so other can start to take a look and Amita and I could
collaborate easier... unit testings, sample, etc are coming... I'd
appreciate if anyone could help get this to the trunk if there is  
nothing

wrong with this...

Couple Questions:

Could someone take a quick look at ComponentTypeLoader and see if  
it's
looking Ok ? I was not sure about what this loadFromSideFile  
means ? what

is
the side file? Is this something particular to Script container ?



A sidefile is one way of  exposing the  configurable aspects of an
implementation.  The other way is thro annotations.  Yet another is to
follow some coding conventions so that this information is  
introspectable.
The sidefile way of doing things is, to the best of what I  
understand, a
common means across containers. i.e. you can have javascript, java,  
ruby,
das (if you will) components all using the sidefile in a similar  
manner as

this is prescribed by the specs.
Yes component type is a common means but allows an implementation  
type (e.g. implementation.java, implementation.ruby) to extend the  
component type schema with specific metadata. Also, there is a 1:1  
relationship between a component type and an component implementation.



For the introspectable way you will see
Java and JavaScript vary in how they achieve this.  The same goes for
annotations - right now the java container alone can leverage this  
(as far

as I know).

Also, I wasn't sure what time is the appropriate time to load the  
das config

file when provided ? Right now is being loaded at
DataAccessImplementationLoader, if you guys think this should go in a
different place, please let me know... also would be good to know  
why :)



I think this begs the question of what DAS configuration is. I'm  
not sure all configuration is part of a component type since the  
latter always has a 1:1 relationship with its implementation. For  
example, I believe the DAS configuration specifies mappings to  
database tables. Are these mappings potentially sharable across  
different components? JPA has the PersistenceUnit concept to  
express this.  A PersistenceUnit defines the set of entities that can  
be managed by a particular context but must always correspond to one  
database. For example, an application may have one or more  
PersistenceUnits (I would imagine in typical cases it is one but not  
always). Related to this, configuration may define which DataSource  
to use. In DAS, is it possible that multiple implementation.das  
entries want to use the same mapping and DataSource configuration?


If that is the case, you can probably do something similar to what  
Meeraj is doing with the JPA integration and have the configuration  
information parsed and cached as a special system service in the  
application composite. If so, we can drill down into more detail here.



The config file could very well be read / parsed during 'load' time  
using
the loader.  The loading is just about picking up the component  
definition
information from the scdl file and creating a java object model for  
them.
The next phase is the 'build' phase where you must create the  
necessary
runtime artifacts making use of the model you have defined in the  
loading
phase.  In your case I would imagine that you would inject the  
config values

into the DAS Engine during the build time.

One minor thing here. Unless the configuration values are always  
immutable, an ObjectFactory should be injected otherwise one  
component could accidentally modify a configuration parameter of  
another as instances will be shared. When the component  
implementation instance is created, the AtomicComponent will need to  
call all of the ObjectFactory.getInstance methods to retrieve  
configuration values that are injected. If the values are mutable,  
the ObjectFactory will need to instantiate, copy or clone a value. If  
the value is immutable, it can always pass the same one. In part of  
the refactors to container.script, I introduced some code that does  
this which can be used as an example.



Well, comments and feedback are welcome... Note that I'm still getting
familiar with the Container SPI, so, please let me know if I  
misunderstood

something on the implementation.



- Luciano Resende

Apache Tuscany






Re: A few issues around axis2 1.1 maven artifacts

2006-11-14 Thread Raymond Feng

Hi, Dims.

Is it OK to release our stuff (Tuscany M2) based on the following two 
repositories?


http://people.apache.org/repo/m1-ibiblio-rsync-repository
http://ws.zones.apache.org/repository

Thanks,
Raymond

- Original Message - 
From: Davanum Srinivas [EMAIL PROTECTED]

To: axis-dev@ws.apache.org
Sent: Tuesday, November 14, 2006 5:53 AM
Subject: Re: A few issues around axis2 1.1 maven artifacts


1) See 
http://people.apache.org/repo/m1-ibiblio-rsync-repository/org.apache.ws.commons.schema/jars/

there is probably some config issue on the repo1 box. No clue.

2) Please use http://ws.zones.apache.org/repository/

thanks,
-- dims

On 11/14/06, Raymond Feng [EMAIL PROTECTED] wrote:



Hi,

I ran into two issues with the maven artifacts from the latest axis2 1.1
release.

1)
http://repo1.maven.org/maven/org.apache.ws.commons.schema/jars/XmlSchema-1.2.jar
is not available (HTTP 404) even the links are there @
http://repo1.maven.org/maven/org.apache.ws.commons.schema/jars/.

2) Is
http://ws.zones.apache.org/repository/incubator-woden/jars/
the only location where incubator-woden/woden-1.0.0M6.jar can be 
resolved? I

could find it anywhere else.

Thanks,
Raymond



--
Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)

-
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: A few issues around axis2 1.1 maven artifacts

2006-11-14 Thread Jeremy Boynes

On 11/14/06, Raymond Feng [EMAIL PROTECTED] wrote:

Hi, Dims.

Is it OK to release our stuff (Tuscany M2) based on the following two
repositories?

http://people.apache.org/repo/m1-ibiblio-rsync-repository


It would be better to use the M1 repo at ibiblio
 http://www.ibiblio.org/maven


http://ws.zones.apache.org/repository



If this is mirrored I'd suggest using that, if not I don't think you
have a option :-)
--
Jeremy

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



Re: DAS Container - First part ready for review....

2006-11-14 Thread Jeremy Boynes

On 11/14/06, Jim Marino [EMAIL PROTECTED] wrote:


One minor thing here. Unless the configuration values are always
immutable, an ObjectFactory should be injected otherwise one
component could accidentally modify a configuration parameter of
another as instances will be shared. When the component
implementation instance is created, the AtomicComponent will need to
call all of the ObjectFactory.getInstance methods to retrieve
configuration values that are injected. If the values are mutable,
the ObjectFactory will need to instantiate, copy or clone a value. If
the value is immutable, it can always pass the same one. In part of
the refactors to container.script, I introduced some code that does
this which can be used as an example.



This is really to protect against accidental (or malicious) alteration
by a user-supplied implementation. I don't think this is necessary
here as we should be able to trust the DAS implementation not to try
and mutate the value.

--
Jeremy

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



Re: DAS Container - First part ready for review....

2006-11-14 Thread Jim Marino


On Nov 14, 2006, at 12:02 PM, Jeremy Boynes wrote:


On 11/14/06, Jim Marino [EMAIL PROTECTED] wrote:


One minor thing here. Unless the configuration values are always
immutable, an ObjectFactory should be injected otherwise one
component could accidentally modify a configuration parameter of
another as instances will be shared. When the component
implementation instance is created, the AtomicComponent will need to
call all of the ObjectFactory.getInstance methods to retrieve
configuration values that are injected. If the values are mutable,
the ObjectFactory will need to instantiate, copy or clone a value. If
the value is immutable, it can always pass the same one. In part of
the refactors to container.script, I introduced some code that does
this which can be used as an example.



This is really to protect against accidental (or malicious) alteration
by a user-supplied implementation. I don't think this is necessary
here as we should be able to trust the DAS implementation not to try
and mutate the value.
I would strongly recommend it since code has a habit of getting  
copied and in user-supplied implementations we shouldn't be so  
trustworthy. An ObjectFactory is still free to make the optimization  
of passing back the same immutable property instance :-)


--
Jeremy

-
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: Unit testing/debuging a SCA Container

2006-11-14 Thread Jim Marino

Hi Luciano,

Sorry to get on my soapbox but...I would break this down into two  
separate areas, testing and debugging of an extension versus an  
application:


1. Testing and debugging of an extension
I would separate testing into three categories: unit testing,  
integration testing, and acceptance testing.


Unit testing the container should focus on verifying very fine- 
grained things, typically one class. Sometimes a class may depend on  
another in which case we have been using EasyMock as a way to stub it  
out. If it doesn't make sense to stub things out, then unit testing  
may involve more than one class but if there are a lot of classes  
that are required generally it is a sign that the design needs to be  
refactored... In unit tests, the SCA container is not needed and  
accessing external things like SCDL or writing to the file system  
should be avoided. Just extend TestCase. In core we were even able to  
do this for the STaXElementLoader implementations by using EasyMock  
to mock out XMLStreamReader (e.g.  
ComponentTypeElementLoaderTestCase). Taking this approach offers a  
number of benefits. It helps with design since if a class cannot be  
tested on a fine grained level, something is generally wrong with the  
design (http://no-new-ideas.blogspot.com/2006/11/is-clutter-in-your- 
test-trying-to-tell.html). If a test fails, it is apparent what broke  
since the test is very specific, generally verifying one thing. Unit  
tests document the operation of particular classes, making it easier  
for people coming into the project to understand the architecture.  
Not accessing external artifacts avoids side effects (and failed  
tests due to things like classpath peculiarities) and makes things  
run fast. Also, all of this makes it easy to run the entire unit test  
battery very frequently and hence speeds up the dev cycle. I  
typically make changes on core and then run the ~500 unit tests in  
about 10 seconds. Hopefully we will wind up with a lot more tests but  
if we can keep the time it takes to run them down, developing Tuscany  
will be easier. Unit tests are always run prior to checkin. Debugging  
individual classes is also dead simple in this case as there is just  
a JUnit TestCase to run.


Integration testing for me breaks down into a couple of types. Tests  
that are a little larger than unit tests which are design to verify  
the interaction of parts of an extension.There are also integration  
tests that deal with particular code paths through an extension but  
not an application scenario (the paths are more specific and may  
involve negative testing). For example, ensuring that an extension  
can properly boot from the extension SCDL. For this, there is  
SCATestCase. There are a third type of integration tests which deal  
with larger issues such as verifying an extension works with other  
extensions are in a particular host environment (e.g. standalone,  
Tomcat, etc.). Some integration tests (the first type) would be run  
as part of the checkin build. Types 2-3 would be run as part of  
Maven's integration test phase on an integration server (in case you  
haven't come across it, Fowler has a good overview: http:// 
www.martinfowler.com/articles/continuousIntegration.html).  Debugging  
in this case could be done either remotely or by running SCATestCase  
in an IDE.


Acceptance testing verifies applications function correctly from an  
end-user perspective. This would involve testing the samples. I would  
expect these tests would only be run infrequently to verify if a  
particular build was stable.


2. Application testing/debuging

I think there is a separate issue around allowing end users to test  
and debug their applications. Typically, for testing they should not  
need SCA until they perform integration tests. Here I think DAS is  
not much different than an application that runs with JPA or  
Hibernate (sorry to keep drawing the same analogy). In most cases, I  
stub out the service that persists things (i.e. the DAS component or  
the service that uses JPA/Hibernate) with EasyMock or something  
else.  However, I probably also want to test that my DAS service  
works correctly. In this case, I think it would be helpful to build a  
simple test harness for users to be able to bootstrap the DAS  
component and fire of tests. This may include loading a DataSource  
(DBCP works well for this stuff) and an embedded database (I think  
you guys are using Derby, I really like HSQLDB since it is small and  
has an in-memory mode). You could even create something like  
SCATestCase that either takes a SCDL on the file system or some type  
of InputStream. This would make debugging really easy. It also makes  
testing for very specific things like transaction rollbacks and  
deadlock detection much easier.



Sorry for such a long winded reply - I'm happy to help out with  
anything that I can.


Jim


On Nov 13, 2006, at 10:27 AM, Luciano Resende wrote:



Re: A few issues around axis2 1.1 maven artifacts

2006-11-14 Thread Davanum Srinivas

incubation artifacts can't go to maven central repo...

-- dims

On 11/14/06, Jeremy Boynes [EMAIL PROTECTED] wrote:

On 11/14/06, Raymond Feng [EMAIL PROTECTED] wrote:
 Hi, Dims.

 Is it OK to release our stuff (Tuscany M2) based on the following two
 repositories?

 http://people.apache.org/repo/m1-ibiblio-rsync-repository

It would be better to use the M1 repo at ibiblio
  http://www.ibiblio.org/maven

 http://ws.zones.apache.org/repository


If this is mirrored I'd suggest using that, if not I don't think you
have a option :-)
--
Jeremy

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





--
Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)

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



Re: DAS Container - First part ready for review....

2006-11-14 Thread Luciano Resende

I think this begs the question of what DAS configuration is. I'm
not sure all configuration is part of a component type since the
latter always has a 1:1 relationship with its implementation. For
example, I believe the DAS configuration specifies mappings to
database tables. Are these mappings potentially sharable across
different components? JPA has the PersistenceUnit concept to
express this.  A PersistenceUnit defines the set of entities that can
be managed by a particular context but must always correspond to one
database. For example, an application may have one or more
PersistenceUnits (I would imagine in typical cases it is one but not
always). Related to this, configuration may define which DataSource
to use. In DAS, is it possible that multiple implementation.das
entries want to use the same mapping and DataSource configuration?



If that is the case, you can probably do something similar to what
Meeraj is doing with the JPA integration and have the configuration
information parsed and cached as a special system service in the
application composite. If so, we can drill down into more detail here.


If I understood your question correctly, DAS allows a 1:1 and 1:N
relationship,
An application could have multiple components using the same config file,
or could split the config file based on the components model... but the
choice is really made by the app developer.

- Luciano

On 11/14/06, Jim Marino [EMAIL PROTECTED]  wrote:



On Nov 14, 2006, at 8:15 AM, Venkata Krishnan wrote:

 Hi,

 I have tried my best to explain... just in case something is not
 right in
 this could somebody pitch in please.

 Thanks.

 - Venkat

 On 11/14/06, Luciano Resende  [EMAIL PROTECTED] wrote:

 Hi All

I have updated (Tuscany-904) with a new version of the DAS
 container.
 This is based on the initial contribution that Amita did, with some
 clean-up, refactoring and additions to try to fix a possible
 problem with
 mutable properties that are shared among instance (pointed by Jim
 Marino)...
 Currently, this is just the initial drop that I want to make
 available in
 the trunk so other can start to take a look and Amita and I could
 collaborate easier... unit testings, sample, etc are coming... I'd
 appreciate if anyone could help get this to the trunk if there is
 nothing
 wrong with this...

 Couple Questions:

 Could someone take a quick look at ComponentTypeLoader and see if
 it's
 looking Ok ? I was not sure about what this loadFromSideFile
 means ? what
 is
 the side file? Is this something particular to Script container ?


 A sidefile is one way of  exposing the  configurable aspects of an
 implementation.  The other way is thro annotations.  Yet another is to
 follow some coding conventions so that this information is
 introspectable.
 The sidefile way of doing things is, to the best of what I
 understand, a
 common means across containers. i.e. you can have javascript, java,
 ruby,
 das (if you will) components all using the sidefile in a similar
 manner as
 this is prescribed by the specs.
Yes component type is a common means but allows an implementation
type (e.g. implementation.java, implementation.ruby) to extend the
component type schema with specific metadata. Also, there is a 1:1
relationship between a component type and an component implementation.

 For the introspectable way you will see
 Java and JavaScript vary in how they achieve this.  The same goes for
 annotations - right now the java container alone can leverage this
 (as far
 as I know).

 Also, I wasn't sure what time is the appropriate time to load the
 das config
 file when provided ? Right now is being loaded at
 DataAccessImplementationLoader, if you guys think this should go in a
 different place, please let me know... also would be good to know
 why :)


I think this begs the question of what DAS configuration is. I'm
not sure all configuration is part of a component type since the
latter always has a 1:1 relationship with its implementation. For
example, I believe the DAS configuration specifies mappings to
database tables. Are these mappings potentially sharable across
different components? JPA has the PersistenceUnit concept to
express this.  A PersistenceUnit defines the set of entities that can
be managed by a particular context but must always correspond to one
database. For example, an application may have one or more
PersistenceUnits (I would imagine in typical cases it is one but not
always). Related to this, configuration may define which DataSource
to use. In DAS, is it possible that multiple implementation.das
entries want to use the same mapping and DataSource configuration?

If that is the case, you can probably do something similar to what
Meeraj is doing with the JPA integration and have the configuration
information parsed and cached as a special system service in the
application composite. If so, we can drill down into more detail here.


 The config file could very well be read / parsed during 'load' time
 

[jira] Commented: (TUSCANY-885) Property DataObject.getProperty(String propertyName) should return null if the property cannot be found

2006-11-14 Thread Kelvin Goodson (JIRA)
[ 
http://issues.apache.org/jira/browse/TUSCANY-885?page=comments#action_12449772 
] 

Kelvin Goodson commented on TUSCANY-885:


The fix applied would seem to have exposed an issue with the TestCase, as there 
would seem to be a !isMany property referenced by the CUSTOMER property name. 
 Attempting to get this single valued property as a list is causing the 
problem.  I have commented out the test case a luciano's request.

 Property DataObject.getProperty(String propertyName) should return null if 
 the property cannot be found
 ---

 Key: TUSCANY-885
 URL: http://issues.apache.org/jira/browse/TUSCANY-885
 Project: Tuscany
  Issue Type: Bug
  Components: Java SDO Implementation
Affects Versions: Java-Mx
Reporter: Fuhwei Lwo
 Assigned To: Kelvin Goodson
Priority: Minor
 Fix For: Java-Mx

 Attachments: tuscany-885.patch


 Based on SDO 2.01 specification, DataObject.getProperty(String propertyName) 
 should return null if the property cannot be found.  Unfortunately, it 
 returns IlegalArgumentException now.

-- 
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: A few issues around axis2 1.1 maven artifacts

2006-11-14 Thread Raymond Feng
There are something wrong with the maven repo sync-up and that's why I asked 
for http://people.apache.org/repo/m1-ibiblio-rsync-repository instead.


It always complains that HTTP 404 File Not Found following the two links.

http://www.ibiblio.org/maven/org.apache.ws.commons.schema/jars/XmlSchema-1.2.jar

http://repo1.maven.org/maven/org.apache.ws.commons.schema/jars/XmlSchema-1.2.jar

Thanks,
Raymond

- Original Message - 
From: Jeremy Boynes [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Cc: axis-dev@ws.apache.org
Sent: Tuesday, November 14, 2006 11:59 AM
Subject: Re: A few issues around axis2 1.1 maven artifacts



On 11/14/06, Raymond Feng [EMAIL PROTECTED] wrote:

Hi, Dims.

Is it OK to release our stuff (Tuscany M2) based on the following two
repositories?

http://people.apache.org/repo/m1-ibiblio-rsync-repository


It would be better to use the M1 repo at ibiblio
 http://www.ibiblio.org/maven


http://ws.zones.apache.org/repository



If this is mirrored I'd suggest using that, if not I don't think you
have a option :-)
--
Jeremy

-
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]



[Fwd: [VOTE] Ratify Tuscany PPMC vote to release DAS for Java M2 artifacts]

2006-11-14 Thread Sam Ruby
More than 72 hours have passed, and presumably everybody on the 
incubator PMC that cares to vote has done so (Thanks Robert!).  Please 
proceed with the release.


If anybody objects to this process, point them my way.

- Sam Ruby

 Original Message 
Subject: [VOTE] Ratify Tuscany PPMC vote to release DAS for Java M2 
artifacts

Date: Sun, 5 Nov 2006 14:10:40 -0800
From: Luciano Resende [EMAIL PROTECTED]
Reply-To: general@incubator.apache.org
To: general@incubator.apache.org

The Tuscany PPMC has voted to Release DAS for Java API Implementation as
part of the M2 release.
In accordance with Incubator release procedures we are asking the Incubator
PMC to  approve this release.

Vote thread :
http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg10257.html

Vote result :
http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg10373.html

The release candidate is available at:


http://people.apache.org/~kelvingoodson/das_java/RC4b/http://people.apache.org/%7Ekelvingoodson/das_java/RC4b/

The release is taged at :


https://svn.apache.org/repos/asf/incubator/tuscany/tags/java/das/1.0-incubator-M2/



What's new in DAS Java M2

  DAS Core features

 - MySQL support
 - Static Data Objects
 - Dynamic root for static graphs
 - Unique attribute on relationships
 - Explicit ResultSet shape definition
 - Improved logging
 - Programmatic Configuration
 - Helper for empty SDO Graph
 - Convention over configuration
- Column named ID is the PK
- Column named xxx_ID is the FK to table xxx

  DAS Samples
 - Tomcat integration and automated DAS samples testing (htmlUnit)
 - DAS Samples now have all dependencies and source code inside the
sample war

  For detailed user documentation and feature descriptions, access Tuscany
DAS Wiki page
 - http://wiki.apache.org/ws/Tuscany/TuscanyJava/DAS_Java_Overview
https://svn.apache.org/repos/asf/incubator/tuscany/tags/java/das/1.0-incubator-M2/

Thanks
- Luciano Resende


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



Re: A few issues around axis2 1.1 maven artifacts

2006-11-14 Thread Raymond Feng

Hi,

Sorry that I confused you. I didn't mean to upload Tuscany artifacts to the 
maven central repo. I was wondering if we can use the two repos I mentioned 
as the remote repositories to be referenced by our M2 artifacts in maven 
(http://people.apache.org/repo/m2-incubating-repository/).


Thanks,
Raymond

- Original Message - 
From: Davanum Srinivas [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Cc: axis-dev@ws.apache.org
Sent: Tuesday, November 14, 2006 12:28 PM
Subject: Re: A few issues around axis2 1.1 maven artifacts



incubation artifacts can't go to maven central repo...

-- dims

On 11/14/06, Jeremy Boynes [EMAIL PROTECTED] wrote:

On 11/14/06, Raymond Feng [EMAIL PROTECTED] wrote:
 Hi, Dims.

 Is it OK to release our stuff (Tuscany M2) based on the following two
 repositories?

 http://people.apache.org/repo/m1-ibiblio-rsync-repository

It would be better to use the M1 repo at ibiblio
  http://www.ibiblio.org/maven

 http://ws.zones.apache.org/repository


If this is mirrored I'd suggest using that, if not I don't think you
have a option :-)
--
Jeremy

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





--
Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)

-
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: Conversational services

2006-11-14 Thread Jim Marino

Hi Ignacio,

I think we want to support ordering as an intent both over a binding  
as well as locally. The spec group is currently working on reliable  
messaging intents for:

 - at-least-once
 - at-most-once
 - ordered

For the local case (i.e. in-VM) I think we assume the first two  
will happen and for the third we introduce a queuing mechanism per  
AtomicComponent that will begin to queue dispatches if ordering  
becomes out of sync (we could use an AtomicInteger as a counter). We  
will probably need a timeout mechanism to guarantee threads don't get  
stuck or requests pile up indefinitely.


As a default (when no intent is specified), I think we don't  
guarantee ordering and leave it to the application since this could  
be quite a bit of overhead. I think we can look at supporting this  
once we get the basic conversational framework in place.


Jim



On Nov 14, 2006, at 9:36 AM, Ignacio Silva-Lepe wrote:


I have also changed the non-blocking interceptor to propagate
conversation ids to support async ops.

An issue that comes up with this is that if a conversational
service also uses async ops (e.g., one-ways), the corresponding
implementations (client and/or service) need to be careful about
concurrency. For instance, in the loan app sample, I made the
cancel op a one-way. The client applies for a loan, displays the
loan app, cancels it and displays again. So now the cancel thread
is competing with the main thread for access to the service. The
simple fix in the sample is to hold the main thread to let the cancel
thread complete, which is impacting the client code.

The spec(s) does not seem to be clear about whether the
infrastructure must provide support to relieve the user from dealing
with concurrency. For the remote case, the various bindings can
provide support depending on policy and some handshaking with
the core. For instance, for ws WS-RM can be used to provide
ordering support but even that may not be sufficient in the face of
potential races into an Axis2Reference. For the local case, it may
be possible to provide some ordering support on a per conversation
basis by sequencing invocations (a la WS-RM) but it's not clear
the current architecture is there for this requirement. That is, an
invocation handler may be able to behave as a conversation source
for sequencing, but since there is a separate target invoker per
operation, something would need to happen to get them in order.

In any case, this are just some spur-of-the-moment thoughts. Others
may have different ideas about whether or how to handle this issue.


On 11/13/06, Ignacio Silva-Lepe [EMAIL PROTECTED] wrote:


I have checked in code to complete a minimal implementation of
conversational services, including a sample adapted from the CI
spec. Still not using UUID for conversation ids, need to change.
Rick, you can go ahead and test it (I did not include the sample
in the main pom, you can run it from its own dir though).


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


 On Nov 11, 2006, at 6:16 AM, Ignacio Silva-Lepe wrote:

  The CI spec defines a conversational interface as annotated with
 
  @Scope(session)
 
  but since we are also considering HTTP Session scopes, it seems
  that using @Scope(CONVERSATIONAL)  would make things
  clearer. Notice that earlier in the spec (sec 1.2.1.4) the  
annotation

  @Scope(CONVERSATION) is used in passing, so it looks like
  the spec needs to be revised anyway.
 I think I may have missed a couple of places in the spec where  
things

 should have been changed from session to conversation. We also
 need a description for scopes to be placed back in the Java CI  
spec

 (it was originally in, moved to Assembly, and then the spec group
 decided to move it back to the respective CI specs) so I'll  
include

 this in that proposal.

 Jim

  For the current SCA/Java implementation of conversational  
services

  just getting under way, the current thought is to use
  @Scope(CONVERSATIONAL)
 
  On 11/11/06, Pete Robbins [EMAIL PROTECTED] wrote:
 
  Quick question: Is there an annotation that marks an  
interface as

  conversational?
 
  Cheers,
 
  --
  Pete
 
 


  
-

 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: A few issues around axis2 1.1 maven artifacts

2006-11-14 Thread Davanum Srinivas

I think so.

-- dims

On 11/14/06, Raymond Feng [EMAIL PROTECTED] wrote:

Hi,

Sorry that I confused you. I didn't mean to upload Tuscany artifacts to the
maven central repo. I was wondering if we can use the two repos I mentioned
as the remote repositories to be referenced by our M2 artifacts in maven
(http://people.apache.org/repo/m2-incubating-repository/).

Thanks,
Raymond

- Original Message -
From: Davanum Srinivas [EMAIL PROTECTED]
To: tuscany-dev@ws.apache.org
Cc: axis-dev@ws.apache.org
Sent: Tuesday, November 14, 2006 12:28 PM
Subject: Re: A few issues around axis2 1.1 maven artifacts


 incubation artifacts can't go to maven central repo...

 -- dims

 On 11/14/06, Jeremy Boynes [EMAIL PROTECTED] wrote:
 On 11/14/06, Raymond Feng [EMAIL PROTECTED] wrote:
  Hi, Dims.
 
  Is it OK to release our stuff (Tuscany M2) based on the following two
  repositories?
 
  http://people.apache.org/repo/m1-ibiblio-rsync-repository

 It would be better to use the M1 repo at ibiblio
   http://www.ibiblio.org/maven

  http://ws.zones.apache.org/repository
 

 If this is mirrored I'd suggest using that, if not I don't think you
 have a option :-)
 --
 Jeremy

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




 --
 Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)

 -
 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]





--
Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)

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



[BPEL] Transaction managers, datasources and more

2006-11-14 Thread Matthieu Riou

Hi,

I have a better and better idea on how Apache Ode could be used as a Tuscany
container. However I'm still wondering how I can get hold on some resources
in Tuscany. To run Ode's BPEL engine we need basic services like a
transaction manager, a datasource or a thread scheduler (
java.util.concurrent.ExecutorService).

How could these be provided to the BPEL container? Do you already have
something for this? Or should we assume that we're running in a managed
environment (i.e. Geronimo) and lookup these things ourselves?

Thanks,

Matthieu


Re: svn commit: r475086 - /incubator/tuscany/branches/sca-java-M2/sca/distribution/build.xml

2006-11-14 Thread Jeremy Boynes

On 11/14/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:

Log:
Add the SCA spec source code to the source distro

Modified:
incubator/tuscany/branches/sca-java-M2/sca/distribution/build.xml



This should not be part of the Tuscany distribution.

Please can we keep with the modularity and keep seperate things separate.
--
Jeremy

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



Re: svn commit: r475086 - /incubator/tuscany/branches/sca-java-M2/sca/distribution/build.xml

2006-11-14 Thread Raymond Feng

Hi, Jeremy.

Should we have a separate source distro for the SCA spec then?

Thanks,
Raymond
- Original Message - 
From: Jeremy Boynes [EMAIL PROTECTED]

To: tuscany-dev@ws.apache.org
Sent: Tuesday, November 14, 2006 4:57 PM
Subject: Re: svn commit: r475086 - 
/incubator/tuscany/branches/sca-java-M2/sca/distribution/build.xml




On 11/14/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:

Log:
Add the SCA spec source code to the source distro

Modified:
incubator/tuscany/branches/sca-java-M2/sca/distribution/build.xml



This should not be part of the Tuscany distribution.

Please can we keep with the modularity and keep seperate things separate.
--
Jeremy

-
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: [BPEL] Transaction managers, datasources and more

2006-11-14 Thread Jim Marino

Hi Matthew,

Comments inline...

Jim

On Nov 14, 2006, at 4:12 PM, Matthieu Riou wrote:


Hi,

I have a better and better idea on how Apache Ode could be used as  
a Tuscany
container. However I'm still wondering how I can get hold on some  
resources

in Tuscany. To run Ode's BPEL engine we need basic services like a
transaction manager, a datasource or a thread scheduler (
java.util.concurrent.ExecutorService).

You can do this one of two ways, either by autowiring (@Autowire) or  
through resource injection (@Resource). Autowiring right now is  
pretty basic as in:


@Autowire
public void setSomething(Something something);

This will tell the runtime to inject your component with an  
implementation of the interface Something. We are planning on  
enhancing this by providing the ability to specify parameters and  
intents but I think this should be sufficient for what you need.  
Specifically, in the runtime, work is dispatched using a  
WorkScheduler. If you extend from ComponentBuilderExtension you get  
one for free (it uses autowiring to obtain one from the runtime).  
Otherwise, you need to do the following:


@Autowire
public void setScheduler(WorkScheduler scheduler)

This will also work on constructors as well:

@Constructor
public MyConstructor(@Autowire WorkScheduler scheduler)

In a managed environment, WorkScheduler will be a wrapper around some  
scheduling mechanism provided by the host.


For resources such as DataSource you can use @Resource in the same  
manner. W have started implementing support for this as described  
here: http://wiki.apache.org/ws/Tuscany/SpecProposals/Resources. In  
order to get at data sources, you will need to configure the  
datasource extension located under /persistence. This can use DBCP or  
another provider.


A JTA TransactionManager should be accessible in the same way -  
through @Resource.  This means we will need to provide transactional  
infrastructure in cases where we do not run on a host that has a JTA  
implementation. We don't have a JTA implementation integrated yet but  
Jeremy was going to look into seeing if we can separate out the  
Geronimo transaction manager for this purpose (right now it seems to  
drag in a bunch of other Geronimo dependencies). In doing so, we will  
need to also be able to enlist DataSource resources in transactions.


 I'm happy to help out so the best way to proceed is to probably  
start asking more questions and I will try to answer them as best I can.



How could these be provided to the BPEL container? Do you already have
something for this? Or should we assume that we're running in a  
managed

environment (i.e. Geronimo) and lookup these things ourselves?

Just to reiterate what I mentioned above, I wouldn't assume Tuscany  
would be deployed in a managed environment. If you use @Autowire and  
@Resource Tuscany will handle the portability issues.

Thanks,

Matthieu



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



Please review of the Tuscany SCA Java M2 release candidate

2006-11-14 Thread Raymond Feng

Hi,

I have refreshed the distros for our M2 release candidate at 
http://people.apache.org/~rfeng/tuscany/incubator-M2/downloads/. It contains 
the following update:


1) Move to axis2 1.1 release as well as the corresponding axiom, XmlSchema 
and other dependencies.

2) Add two additional source distros for SCA and CommonJ specs

I have also uploaded the latest SNAPSHOT versions of M2 artifacts to 
http://people.apache.org/repo/m2-snapshot-repository.


Please review the contents before we tag the branch and submit it for PPMC 
vote. Your help will be greatly appreciated.


Thanks,
Raymond



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



Re: [C++] Doxygen documentation for our runtime

2006-11-14 Thread Jean-Sebastien Delfino

Pete Robbins wrote:

On 14/11/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:


Pete Robbins wrote:
 Definitely!

Done under revision r474696. On linux, run configure with the
--enable-doxygen option. It's off by default. On Windows run doxygen
Doxyfile.w32 from the doc directory. The doc is generated under
doc/doxygen.

The same scheme can be replicated for SDO.

 We did this with the tree originally so some of the code has
 comments in the correct Doxygen format. Is there an option to insert
 comment
 headers into the source?


The doxygen format is described there:
http://www.stack.nl/~dimitri/doxygen/docblocks.html. You can write doc
blocks anywhere except inside the body of a function. What did you mean
by is there an option to insert comment headers into the source?



I meant can we get Doxygen to insert the correct format comment block 
above
methods etc. with blank content. I'm sure not all methods have the 
correct

comments! So for a method

int fred(string x);

we need

/**
  @param x
  @return
**/
int fred(string x);

Just a thought! We need to document our code in a consistent way which it
isn't at the moment.

Cheers,


Ok I understand now.

It doesn't look like Doxygen can generate comment skeletons. Usually 
editors provide templates and content assist for this. You can find a 
list of plugins/helpers for popular editors there: 
http://www.stack.nl/~dimitri/doxygen/helpers.html, including a Visual 
Studio 2005 helper there: 
http://doxycomment.sourceforge.net/vs2005_addin.html.


I thought that Eclipse CDT templates could be used for this but I've not 
been able able to get them to work... so I'll type these comments by 
hand for now, and may try to write an Eclipse plugin to automate the 
generation of comment skeletons when I get tired of it :)


Doxygen supports Qt style comments:
/*! ...
and
javadoc style comments
/** ...

Both styles seem to support
\param
\return
and
@param
@return

Could people in the group experiment a bit with the available editor 
tools and say which style they like? Details and examples can be found 
there: http://www.stack.nl/~dimitri/doxygen/docblocks.html


Personally I'm OK with either one, the most important is to get 
meaningful text after the \ or @ :) We could also use both styles for a 
while, time to get some experience with any of the tools, and do a 
global change to our official format later.


Comments?

--
Jean-Sebastien


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



Re: [C++] Doxygen documentation for our runtime

2006-11-14 Thread Pete Robbins

I prefer the /** and @ notation

On 15/11/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:


Pete Robbins wrote:
 On 14/11/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:

 Pete Robbins wrote:
  Definitely!

 Done under revision r474696. On linux, run configure with the
 --enable-doxygen option. It's off by default. On Windows run doxygen
 Doxyfile.w32 from the doc directory. The doc is generated under
 doc/doxygen.

 The same scheme can be replicated for SDO.

  We did this with the tree originally so some of the code has
  comments in the correct Doxygen format. Is there an option to insert
  comment
  headers into the source?
 

 The doxygen format is described there:
 http://www.stack.nl/~dimitri/doxygen/docblocks.html. You can write doc
 blocks anywhere except inside the body of a function. What did you mean
 by is there an option to insert comment headers into the source?


 I meant can we get Doxygen to insert the correct format comment block
 above
 methods etc. with blank content. I'm sure not all methods have the
 correct
 comments! So for a method

 int fred(string x);

 we need

 /**
   @param x
   @return
 **/
 int fred(string x);

 Just a thought! We need to document our code in a consistent way which
it
 isn't at the moment.

 Cheers,

Ok I understand now.

It doesn't look like Doxygen can generate comment skeletons. Usually
editors provide templates and content assist for this. You can find a
list of plugins/helpers for popular editors there:
http://www.stack.nl/~dimitri/doxygen/helpers.html, including a Visual
Studio 2005 helper there:
http://doxycomment.sourceforge.net/vs2005_addin.html.

I thought that Eclipse CDT templates could be used for this but I've not
been able able to get them to work... so I'll type these comments by
hand for now, and may try to write an Eclipse plugin to automate the
generation of comment skeletons when I get tired of it :)

Doxygen supports Qt style comments:
/*! ...
and
javadoc style comments
/** ...

Both styles seem to support
\param
\return
and
@param
@return

Could people in the group experiment a bit with the available editor
tools and say which style they like? Details and examples can be found
there: http://www.stack.nl/~dimitri/doxygen/docblocks.html

Personally I'm OK with either one, the most important is to get
meaningful text after the \ or @ :) We could also use both styles for a
while, time to get some experience with any of the tools, and do a
global change to our official format later.

Comments?

--
Jean-Sebastien


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





--
Pete


Re: [C++] Doxygen documentation for our runtime

2006-11-14 Thread Andrew Borley

/** and @ for me too.

On 11/15/06, Pete Robbins [EMAIL PROTECTED] wrote:

I prefer the /** and @ notation

On 15/11/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:

 Pete Robbins wrote:
  On 14/11/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:
 
  Pete Robbins wrote:
   Definitely!
 
  Done under revision r474696. On linux, run configure with the
  --enable-doxygen option. It's off by default. On Windows run doxygen
  Doxyfile.w32 from the doc directory. The doc is generated under
  doc/doxygen.
 
  The same scheme can be replicated for SDO.
 
   We did this with the tree originally so some of the code has
   comments in the correct Doxygen format. Is there an option to insert
   comment
   headers into the source?
  
 
  The doxygen format is described there:
  http://www.stack.nl/~dimitri/doxygen/docblocks.html. You can write doc
  blocks anywhere except inside the body of a function. What did you mean
  by is there an option to insert comment headers into the source?
 
 
  I meant can we get Doxygen to insert the correct format comment block
  above
  methods etc. with blank content. I'm sure not all methods have the
  correct
  comments! So for a method
 
  int fred(string x);
 
  we need
 
  /**
@param x
@return
  **/
  int fred(string x);
 
  Just a thought! We need to document our code in a consistent way which
 it
  isn't at the moment.
 
  Cheers,

 Ok I understand now.

 It doesn't look like Doxygen can generate comment skeletons. Usually
 editors provide templates and content assist for this. You can find a
 list of plugins/helpers for popular editors there:
 http://www.stack.nl/~dimitri/doxygen/helpers.html, including a Visual
 Studio 2005 helper there:
 http://doxycomment.sourceforge.net/vs2005_addin.html.

 I thought that Eclipse CDT templates could be used for this but I've not
 been able able to get them to work... so I'll type these comments by
 hand for now, and may try to write an Eclipse plugin to automate the
 generation of comment skeletons when I get tired of it :)

 Doxygen supports Qt style comments:
 /*! ...
 and
 javadoc style comments
 /** ...

 Both styles seem to support
 \param
 \return
 and
 @param
 @return

 Could people in the group experiment a bit with the available editor
 tools and say which style they like? Details and examples can be found
 there: http://www.stack.nl/~dimitri/doxygen/docblocks.html

 Personally I'm OK with either one, the most important is to get
 meaningful text after the \ or @ :) We could also use both styles for a
 while, time to get some experience with any of the tools, and do a
 global change to our official format later.

 Comments?

 --
 Jean-Sebastien


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




--
Pete




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



Fwd: [C++] Where next for Tuscany C++?

2006-11-14 Thread Pete Robbins

forwarding to dev-list

-- Forwarded message --
From: Pete Robbins [EMAIL PROTECTED]
Date: 15-Nov-2006 07:30
Subject: Re: [C++] Where next for Tuscany C++?
To: tuscany-user@ws.apache.org



On 15/11/06, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:


Simon Nash wrote:
[snip]
 I'd like to see closer integration between the Tuscany Java and C++
 runtimes, with seamless cross-runtime wiring, deployment, and
 composition.  The application developer would write SCDL containing
 components with different implementation types, and the application
 would be deployed to a combination of both runtimes according to
 the hosting needs of the components.  Users would see a single
 federated Tuscany runtime environment hosting multiple implementation
 languages and component types, rather than being aware of two Tuscany
 runtimes written in Java and C++ as they are at present.

   Simon


Right, I could imagine an application made of Java, C++, BPEL and PHP
components, using Web and JMS services for example:

- The Java components would run in a Java  component runtime.
- The C++ components would run in a C++ component runtime.
- The BPEL components would run in a runtime equipped with a BPEL engine.
- The PHP components would run in a PHP runtime environment.
- The Web services and JMS services would be deployed to Web service and
JMS enabled runtimes.

Small specialized runtimes would host the various pieces of my
application and communicate over a service network.

As an application developer, I wouldn't care or want to know the
particular language - Java, C++ - used to implement a particular
runtime. I would be more interested in its capabilities and the
component programming model it supports.

I'd be willing to help anybody interested in working on any scenarios
demonstrating this approach. Maybe we could use the WS-I supply chain
scenario that we had started at

http://svn.apache.org/repos/asf/incubator/tuscany/cpp/sca/samples/SupplyChain/
for example, or any other scenario that people would be interested in
working on...

--
Jean-Sebastien


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



The scenario is what we want here. Also I see this more as a Next steps for
Tuscany rather than a Next steps for Tuscany C++!


--
Pete


--
Pete


Re: [Fwd: [VOTE] Ratify Tuscany PPMC vote to release DAS for Java M2 artifacts]

2006-11-14 Thread Henri Yandell

-1 on the release.

The simple rule is - you need 3 PMC votes to release (or add a committer).

You currently have 1 (Robert's). That should be enough if Sam and Dims
(your mentors) vote; however they currently haven't voted on either
the [EMAIL PROTECTED] thread or the original.

Hen

On 11/14/06, Sam Ruby [EMAIL PROTECTED] wrote:

More than 72 hours have passed, and presumably everybody on the
incubator PMC that cares to vote has done so (Thanks Robert!).  Please
proceed with the release.

If anybody objects to this process, point them my way.

- Sam Ruby

 Original Message 
Subject: [VOTE] Ratify Tuscany PPMC vote to release DAS for Java M2
artifacts
Date: Sun, 5 Nov 2006 14:10:40 -0800
From: Luciano Resende [EMAIL PROTECTED]
Reply-To: general@incubator.apache.org
To: general@incubator.apache.org

The Tuscany PPMC has voted to Release DAS for Java API Implementation as
part of the M2 release.
In accordance with Incubator release procedures we are asking the Incubator
PMC to  approve this release.

Vote thread :
http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg10257.html

Vote result :
http://www.mail-archive.com/tuscany-dev%40ws.apache.org/msg10373.html

The release candidate is available at:


http://people.apache.org/~kelvingoodson/das_java/RC4b/http://people.apache.org/%7Ekelvingoodson/das_java/RC4b/

The release is taged at :


https://svn.apache.org/repos/asf/incubator/tuscany/tags/java/das/1.0-incubator-M2/



What's new in DAS Java M2

   DAS Core features

  - MySQL support
  - Static Data Objects
  - Dynamic root for static graphs
  - Unique attribute on relationships
  - Explicit ResultSet shape definition
  - Improved logging
  - Programmatic Configuration
  - Helper for empty SDO Graph
  - Convention over configuration
 - Column named ID is the PK
 - Column named xxx_ID is the FK to table xxx

   DAS Samples
  - Tomcat integration and automated DAS samples testing (htmlUnit)
  - DAS Samples now have all dependencies and source code inside the
sample war

   For detailed user documentation and feature descriptions, access Tuscany
DAS Wiki page
  - http://wiki.apache.org/ws/Tuscany/TuscanyJava/DAS_Java_Overview
https://svn.apache.org/repos/asf/incubator/tuscany/tags/java/das/1.0-incubator-M2/

Thanks
- Luciano Resende


-
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: [Fwd: [VOTE] Ratify Tuscany PPMC vote to release DAS for Java M2 artifacts]

2006-11-14 Thread William A. Rowe, Jr.
Justin Erenkrantz wrote:
 On 11/14/06, Sam Ruby [EMAIL PROTECTED] wrote:
 More than 72 hours have passed, and presumably everybody on the
 incubator PMC that cares to vote has done so (Thanks Robert!).  Please
 proceed with the release.

 If anybody objects to this process, point them my way.
 
 -1.
 
 We don't release based on lazy consensus.

Agreed.  Sam, there's no reason for you -not- to be on the IPMC, so please
join so your vote is weighed?  That brings us to needing just one more binding
vote.


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



Re: [Fwd: [VOTE] Ratify Tuscany PPMC vote to release DAS for Java M2 artifacts]

2006-11-14 Thread Craig L Russell


On Nov 14, 2006, at 3:03 PM, Henri Yandell wrote:


Probably. -1 is nice and bombastic and makes people pay attention (rob
me of my drama why don't you!).


Apologies ;-)


Said -1 is withdrawn when the vote is complete.


'nuff said.

Craig


Hen

On 11/14/06, Craig L Russell [EMAIL PROTECTED] wrote:

Hi Henri,

Point of order.

I don't believe that you really are voting -1 on the release. Rather,
you are pointing out that the vote is incomplete until 3 binding
votes of the Incubator PMC are received. I think there is a big
difference...

Craig

On Nov 14, 2006, at 2:43 PM, Henri Yandell wrote:

 -1 on the release.

 The simple rule is - you need 3 PMC votes to release (or add a
 committer).

 You currently have 1 (Robert's). That should be enough if Sam  
and Dims

 (your mentors) vote; however they currently haven't voted on either
 the [EMAIL PROTECTED] thread or the original.

 Hen

 On 11/14/06, Sam Ruby [EMAIL PROTECTED] wrote:
 More than 72 hours have passed, and presumably everybody on the
 incubator PMC that cares to vote has done so (Thanks Robert!).
 Please
 proceed with the release.

 If anybody objects to this process, point them my way.

 - Sam Ruby

  Original Message 
 Subject: [VOTE] Ratify Tuscany PPMC vote to release DAS for  
Java M2

 artifacts
 Date: Sun, 5 Nov 2006 14:10:40 -0800
 From: Luciano Resende [EMAIL PROTECTED]
 Reply-To: general@incubator.apache.org
 To: general@incubator.apache.org

 The Tuscany PPMC has voted to Release DAS for Java API
 Implementation as
 part of the M2 release.
 In accordance with Incubator release procedures we are asking the
 Incubator
 PMC to  approve this release.

 Vote thread :
 http://www.mail-archive.com/tuscany-dev%40ws.apache.org/ 
msg10257.html


 Vote result :
 http://www.mail-archive.com/tuscany-dev%40ws.apache.org/ 
msg10373.html


 The release candidate is available at:


 http://people.apache.org/~kelvingoodson/das_java/RC4b/http://
 people.apache.org/%7Ekelvingoodson/das_java/RC4b/

 The release is taged at :


 https://svn.apache.org/repos/asf/incubator/tuscany/tags/java/das/
 1.0-incubator-M2/



 What's new in DAS Java M2

DAS Core features

   - MySQL support
   - Static Data Objects
   - Dynamic root for static graphs
   - Unique attribute on relationships
   - Explicit ResultSet shape definition
   - Improved logging
   - Programmatic Configuration
   - Helper for empty SDO Graph
   - Convention over configuration
  - Column named ID is the PK
  - Column named xxx_ID is the FK to table xxx

DAS Samples
   - Tomcat integration and automated DAS samples testing
 (htmlUnit)
   - DAS Samples now have all dependencies and source code
 inside the
 sample war

For detailed user documentation and feature descriptions,
 access Tuscany
 DAS Wiki page
   - http://wiki.apache.org/ws/Tuscany/TuscanyJava/
 DAS_Java_Overview
 https://svn.apache.org/repos/asf/incubator/tuscany/tags/java/das/
 1.0-incubator-M2/

 Thanks
 - Luciano Resende


  
-

 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]


Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/ 
jdo

408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!






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



Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!



smime.p7s
Description: S/MIME cryptographic signature


RE: [Fwd: [VOTE] Ratify Tuscany PPMC vote to release DAS for Java M2 artifacts]

2006-11-14 Thread Noel J. Bergman
Henri wrote:

 you need 3 PMC votes to release (or add a committer).

 You currently have 1 (Robert's).

Two.  Dims voted tonight.

Since one vote was missing, I took the time to review the packages, and they
appear to have the necessary disclaimer, etc., although the information in
the .WAR files is in an obscure location (and should be changed for future
packages).  Plus the community seems to have done the right things in their
vote.  And they appear to have updated their STATUS file, as well.

+1

--- Noel



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