Re: composite reconfiguration

2007-04-18 Thread Jean-Sebastien Delfino

Hi Valerio,

Some comments and questions inline.

Valerio Schiavoni wrote:

Hello Jean-Sebastian,

On 4/6/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:

- add/update/remove SCA contributions (packages containing composites
and component implementation artifacts) to/from the SCA domain
- add/update/remove deploymentComposites, declaring the top-level
components active in the SCA domain
These operations are described in the SCA assembly spec - chapter 1.10.4
- Operations on SCA contributions.
Doing this will update the configuration of components, including the
configuration of their properties, bindings, and references (by rewiring
them to other components).



Do you have any specific re-configuration use cases in mind that we
should support?


In particular, I was thinking about binding re-configuration at first.
Reading at the specs:

 "this functionality makes it possible for the deployer to create a
composite with final configuration and wiring  decisions and add it to
an installed contribution without having to modify the contents of the
root  contribution."

As you said, updating a contribution will update also declared bindings.


You'll need to restart the components contributed by that contribution 
to get the updated bindings.



How does it work when updating  binding.java to a different one ?


The wires, binding selection etc. should be re-evaluated when the 
impacted components get restarted. Did you mean binding.sca?




Can you point me somewhere within the core module ?



There is really no special processing for handling updates of a 
contribution. Updating a contribution is very similar to contributing it 
the first time.


Here are a few pointers to code along the contribution and start path:
- in the contribution module, 
o.a.t.contribution.service.ContributionService is used to add or update 
a contribution
- in the assembly-xml module, o.a.t.assembly.xml.CompositeProcessor 
reads a Composite and populates the assembly model in memory, describing 
composites, components, services, bindings etc.
- in the core module, o.a.t.core.deployer.DeployerImpl walks the 
assembly model and triggers runtime Builders which create runtime 
context objects for components, services with bindings etc.
- these runtime context objects (for example 
o.a.t.implementation.java.context.JavaComponent) implement 
o.a.t.spi.Lifecycle (defined in module core-spi), and their start() 
method is called



Would you be interested in helping with some of this work?


I would be interested, but as I'm already working on the fractal 
contribution:


https://svn.apache.org/repos/asf/incubator/tuscany/sandbox/fractal/



Cool. Do you already have a patch to contribute? If you want to submit a 
JIRA issue with a patch, we can contribute it to the sandbox first, and 
everybody can take a look at it and help you, let you know when we make 
changes that will affect your code etc. and even better at some point 
integrate your extension in the trunk...



i guess it'd be difficult for me to productive. Also, I'm trying to
figure out what's changed in 1.0 for extensions..



We have made a number of changes to extensions recently, in particular 
to how SCA assembly XML (.composite files etc.) are loaded, and also to 
the model interfaces representing SCA assemblies. Feel free to ask any 
questions, we'll try to help as much as possible. There are sample 
extensions under samples/implementation-crud, samples/echo-binding and 
samples/echo-databinding. We're also looking for feedback on the SPIs 
and suggestions for improvement.


Would you mind giving us a short summary of how you are extending 
Tuscany and integrating with Fractal? A little more context on what 
you're doing will probably help us help you better :)


Thanks

--
Jean-Sebastien


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



Re: Require more context for URLArtifactProcessorExtension.read()

2007-04-18 Thread Jean-Sebastien Delfino

Raymond Feng wrote:

Hi,

I was refering to artifact URI instead of contribution URI. For 
example, if a jar contribution is deployed, the URI of a class named 
a.b.MyClass in the jar will be "a/b/MyClass.class".


ContributionContext is one way to pass more context to the processors. 
But I don't think it will go through injection. It should be on the 
method signature of the SPI.


Thanks,
Raymond

- Original Message - From: "Luciano Resende" 
<[EMAIL PROTECTED]>

To: 
Sent: Tuesday, April 17, 2007 1:43 PM
Subject: Re: Require more context for 
URLArtifactProcessorExtension.read()




Hi Raymond

  I'm not sure if the Contribution URI will really work for your
requirements, as of today, the URL that the artifactProcessor 
receives is
the actual artifact URL location, and it's not based on the 
Contribution URI
and also can be normalized based on the contribution package type 
(e.g jar

will have a jar URL). Thinking on the second requirement, if we create a
contribution context with some basic contribution information
(e.gcontribution uri, contribution base location, normalized
contribution base
location, and the contribution classloader) and "inject" it on the
processor, then you would have the necessary information to perform the
necessary actions you need?

  Once we agree on a solution, I can get it implemented.

Thoughts ?

On 4/17/07, Raymond Feng <[EMAIL PROTECTED]> wrote:


Hi,

I think you already got it right. I want to contribute a processor 
to scan
the classes to figure out available generated SDO factory 
interface/class.

During the "read" phase, the processor will capture the classname by a
naming pattern. The class will be loaded during "resolve" phase and the
factory will be registered with a HelperContext.

I see two requirements here:
1) read: Pass in the URI of the artifact which can be used to derive 
the

class name
2) resolve: Pass in a contribution classloader which can be used to
resolve
java classes

Thanks,
Raymond

- Original Message -
From: "Jean-Sebastien Delfino" <[EMAIL PROTECTED]>
To: 
Sent: Tuesday, April 17, 2007 11:22 AM
Subject: Re: Require more context for 
URLArtifactProcessorExtension.read()



> Raymond Feng wrote:
>> Hi,
>>
>> When I try to add a URLArtifactProcessorExtension to introspect java
>> classes, I found it impossible to get the class name as only the 
URL >> of
>> the class file is passed to the read() method. To provide such >> 
context,

I
>> suggest that we pass in the DeployedArtifact (which contains the 
URL)

>> instead of URL to the read() method.
>>
>> Do you agree or do you have a better way?
>>
>> Thanks,
>> Raymond
>>
>
> Could you give more context as well? :) and describe what you're 
trying

to
> do?
>
> Are you trying to derive a class name from the file name? Are you 
going

to
> load or read the class file and could you find the class name from 
its

> contents then?
>
> It's a little difficult to try to answer without more context, but in
> general I would prefer for ArtifactProcessors not to have to know the
> structure of the Contribution or the DeployedArtifacts that represent
it.
> If you need to know the base URL of the contribution and the path 
of > the
> given Artifact inside it, then maybe we could pass these two 
parameters

to
> the read() method, it would be better than passing the whole
> DeployedArtifact and have the read() method dig into it.
>
> But again, before we do that, could you describe your use case? 
and > then

> hopefully we can find a good solution for it. Thanks.
>
> --
> Jean-Sebastien
>
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


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





--
Luciano Resende
http://people.apache.org/~lresende




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




A few thoughts:
- You need the URI of an artifact inside the SCA contribution.
- I indicated before that I needed input/outputStreams as well.
- I think it's useful to have the URL of the contribution to have a base 
URL to load artifacts (for example for WSDLs and XSDs if they do ... location="/aFile.xsd or /aFile.wsdl">).


So I suggest read/write(URL contributionURL, String artifactURI, 
Input/OutputStream input/outputStream). In most cases you just use the 
input/outputStream, sometimes you need to know the contributionURL, and 
if you want to know the artifact URL you do new URL(contributionURL, 
artifactURI).


I was thinking that Class loading would be the responsibility of the 
ArtifactResolver. So, we wouldn't need a ClassLoader, we would call 
ArtifactResolver.resolve() to get the Class, like for all other 
artifacts resolved in an SCA c

Re: [DISCUSS] Next version - What should be in it

2007-04-18 Thread Jean-Sebastien Delfino

Davanum Srinivas wrote:

Folks,

Let's keep the ball rolling...Can someone please come up with a master
list of "extensions, bindings, services, samples" which can then help
decide what's going to get into the next release. Please start a wiki
page to document the master list. Once we are done documenting the
list. We can figure out which ones are MUST, which ones are nice to
have, which ones are out of scope. Then we can work backwards to
figure out How tightly or loosely coupled each piece is/should be and
how we could decouple them if necessary using
interfaces/spi/whatever...

Quote from Bert Lamb:
"I think there should be a voted upon core set of extensions,
bindings, services, samples, whatever that should be part of a
monolithic build."
http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg16062.html

Quote from Ant Elder:
The specifics of what extensions are included in this release is left 
out of
this vote and can be decided in the release plan discussion. All this 
vote

is saying is that all the modules that are to be included in this next
release will have the same version and that a top level pom.xml will 
exist

to enable building all those modules at once.
http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg16155.html

Thanks,
dims




Hi all,

I think we have made good progress since we initially started this 
discussion. We have a simpler structure in trunk with a working top-down 
build. Samples and integration tests from the integration branch have 
been integrated back in trunk and most are now working.


We have a more modular runtime with a simpler extension mechanism. For 
example we have separate modules for the various models, the core 
runtime and the Java component support. SPIs between the models and the 
rest of the runtime have been refactored and should become more stable. 
We need to do more work to further simplify the core runtime SPIs and 
improve the core runtime but I think this is going in the right direction.


I'm also happy to see better support for the SCA 1.0 spec, with support 
for most of the SCA 1.0 assembly XML, and some of the SCA 1.0 APIs. It 
looks like extensions are starting to work again in the trunk, including 
Web Services, Java and scripting components. It shouldn't be too 
difficult to port some of the other extensions - Spring, JMS, JSON-RPC 
-  to the latest code base as well.


So, the JavaOne conference is in three weeks, would it make sense to try 
to have a Tuscany release by then?


We could integrate in that release what we already have working in 
trunk, mature and stabilize our SPIs and our extensibility story, and 
this would be a good foundation for people to use, embed or extend.


On top of that, I think it would be really cool to do some work to:
- Make it easier to assemble a distributed SCA domain with components 
running on different runtimes / machines.
- Improve our scripting and JSON-RPC support a little and show how to 
build Web 2.0 applications with Tuscany.
- Improve our integration story with Tomcat and also start looking at an 
integration with Geronimo.
- Improve our Spring-based core variant implementation, as I think it's 
a good example to show how to integrate Tuscany with other IoC containers.

- Maybe start looking at the equivalent using Google Guice.
- Start looking again at some of the extensions that we have in contrib 
or sandboxes (OSGI, ServiceMix, I think there's a Fractal extension in 
sandbox, more databindings etc).

- ...

I'm not sure we can do all of that in the next few weeks :) but I'd like 
to get your thoughts and see what people in the community would like to 
have in that next release...


--
Jean-Sebastien


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



Re: [DAS] Performance / API / Spec

2007-04-18 Thread Ole Ersoy

Hey Frank,

Frank Budinsky wrote:

Hi Ole,

I found out today that it will take 2-3 months before the OASIS SDO 
charter will be finalized and the discussions can begin. I'm involved with 
the charter, so I can tell you that both of the issues you mentioned are 
in scope for SDO 3, so they will be discussed once things get started.


Great.


For DataGraph.setRootObject(), the proposal is to either deprecate the 
DataGraph interface entirely or to make DataGraph also be a DataObject. 
Either way, you would set the root object using DataObject.set(). The root 
object would be an open content property so you could set it by simply 
calling something like this: dataGraph.set("company", myCompany).


Ah - I see.
DataGraph and DataObject do seem very closely related, like one is not 
really needed.


I really like the EMF API here and wish the SDO API would do the same, 
with a Resource (Which seems like a really good metaphor) containing a 
graph of objects, and a ResourceSet containing many Resources.  Then 
start and stop logging could be called at the ResourceSet, Resource, and 
DataObject levels, which seems like a clean way to cut it.


Anyways I'm jumping ahead :-)

I'll just collect ideas, and wait until the Charter gets finalized.

Thanks,
- Ole





Frank.

Ole Ersoy <[EMAIL PROTECTED]> wrote on 04/18/2007 01:41:53 PM:


Hi Frank,

I looked around osoa.org to sign up for a account,
but could not find a signup
page.  Do you know if it's up yet?

Also, I noticed that there is no
setRootDataObject() method on the
DataGraph interface, but there is one on the
implementation.

It seems like it should be in the interface as well.

Do you know whether there is a "Whiteboard" somewhere,
where we can post SDO API suggestions?  Should I perhaps
JIRA these in the Java Spec API section?

Thanks,
- Ole



Frank Budinsky wrote:

Hi Ole,

I'm not sure what reasoning was to justify the ChangeSummary API which 


requires you to iterate over the one list returned by 
getChangedDataObjects() and then call isCreated(), isModified(), or 
isDeleted() to see if it was a C, U, or D.


If you look at class ChangeSummaryImpl, you'll notice that in Tuscany 
we 
actually implement this with three separate lists under the covers. 
The 

isDeleted() method, for example, looks like this:

  public boolean isDeleted(DataObject dataObject)
  {
return getCachedDeletedObjects().contains(dataObject);
  }

I know that there is a proposed SDO 3 work item to revisit 
ChangeSummary 
to see if the API could be improved. Perhaps you'd like to get 
involved in 
the spec discussion on this issue, when it begins? Now that it's 
moving to 
OASIS (http://osoa.org/display/Main/News+about+SCA+and+SDO), SDO 
design 

discussions will be open to everyone.

Frank.


Ole Ersoy <[EMAIL PROTECTED]> wrote on 04/17/2007 12:27:58 PM:


Hi Guys,

I have a few performance related
questions with respect to change
summary processing (Really spec related - hope it's ok that I float 
it 

here).

I just looked at the Change
summary API and it looks like
the DataGraph sets the
isDeleted and isCreated
flags on each DataObject instance
that it creates or deletes, and
then it adds them to the change summary.

It seems like change summary
processing would perform better
if the Change summary had CUD lists.

So one list for:
- Created DataObjects
- Deleted DataObjects
- Update DataObjects

Then these lists could be processed directly by the
DAS and it would not have to check what type CUD
was done for each object.

Then the DataGraph only adds objects to these lists
and does not need to set any flags, which means that
during processing the flags don't need to be checked
in order to perform the right type of processing.

I'm still getting my feet wet here, but I thought I'd throw this out 
there, since to me it seems like it's simpler and more light weight.


Thoughts?

Thanks,
- Ole






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



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



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




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




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



Re: SCA 1.0 compliance questions

2007-04-18 Thread Jean-Sebastien Delfino

Rashmi Hunt wrote:


>Yes it is supported. By default we add o.a.t.assembly.SCABinding 
objects

>to promoted references and services, we do this in the last metadata
>processing phase - CompositeProcessor.wire() - after SCA assembly XML
>files have been read.



Does this mean Tuscany loads just the model object which is
o.a.t.assembly.SCABinding,
eliminating the loader part for default binding? However binding
implementation specific classes like
xxxTargetInvoker, xxxServiceBinding, xxxReferenceBinding and builder
which builds xxxServiceBinding and xxReferenceBinding are still 
required in

binding
implementation. Is this a correct assumption?

-Rashmi



Yes, exactly.

--
Jean-Sebastien


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



Re: Monitoring, logging, and exceptions (was: Re: Notifcation of missing extensions)

2007-04-18 Thread Raymond Feng

Hi,

I created a prototype to play with aop-based logging and tracing. The 
annotation-style aspect development seems to be simpler as it doesn't 
require the aspectj compiler. You can see the code at:


http://svn.apache.org/viewvc/incubator/tuscany/sandbox/rfeng/aop-logging

You can download aspectj 1.5.3 from 
http://www.eclipse.org/downloads/download.php?file=/tools/aspectj/aspectj-1.5.3.jar 
and then run the prototype using "test.bat" in the root of the project.


Thanks,
Raymond

- Original Message - 
From: "Raymond Feng" <[EMAIL PROTECTED]>

To: 
Sent: Wednesday, April 18, 2007 10:49 AM
Subject: Re: Monitoring, logging, and exceptions (was: Re: Notifcation of 
missing extensions)




Hi,

Please see my comments below.

Thanks,
Raymond

- Original Message - 
From: "ant elder" <[EMAIL PROTECTED]>

To: 
Sent: Wednesday, April 18, 2007 3:51 AM
Subject: Monitoring, logging, and exceptions (was: Re: Notifcation of 
missing extensions)




On 4/17/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:



I found our current Monitor stuff difficult to follow as well. I suggest

that we start a new discussion thread to discuss monitoring in general,
and try to come up with something that will be more usable and easier to
adopt through our whole runtime.



Starting the new thread for you...

I agree we should improve monitoring and logging in the runtime.

I've used AOP before for this type of thing, its cool, but it does add 
yet

another new thing to know about which could be off putting for new
developers. How about just using one of the existing logging packages 
that
most people are already completely familiar with? Commons Logging looks 
like
its coming to its end, no one really likes java.util.logging, so how 
about

SLF4J, its really easy and nice to use?



I personally don't like the Commons Logging approach very much due to the 
fact that conflicting versions are used by many 3rd party artifacts.


With regard to AOP, do we really need to have all the developers learn how 
to use it? I assume we can put together some logging aspects in a separate 
module to take care of most of the logging/monitoring concerns. Other 
modules are not even aware of the existence of the AOP. Isn't it the 
objective of AOP to address the cross-cutting concerns without poluting 
the code?


I also think exception handling could be improved, I don't find the 
current
exception formatter design easy to use, and most times stack traces end 
up
missing the important bit of information you need. How about just using 
the
traditional way of  putting everything in the exception message and 
using

properties files to allow for I18N?



I think we might be able to improve the ExceptionFormatter by providing a 
default formatter which could dump out all the information in the 
exception object. We already have a similar function in 
"org.apache.tuscany.assembly.util.PrintUtil" and we could further enhance 
it.


To support I18N, we could adopt a pattern for the exception so that a 
getter or a field can be recoginzed as the message id.



One thing I've wondered about was having a release specifically targeting
these RAS type features. So once we've worked out the strategy for 
logging,
exceptions, internationalization etc we have a release where a big focus 
is

on implementing/fixing/testing all these RAS things.



+1. Enabling RAS is a big effort.


  ...ant






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



Website: Download Page question

2007-04-18 Thread haleh mahbod

Hi,

As I walk through Download links on the website I see that we are not
consistent with the type of information we are providing and with where this
information is stored.

For example,

SDO C++ Download page [1]: contains Download information for both SDO Java
and SDO C++
SDO Java Download page [2]: contains Download information for only SDO Java

I see the following options for fixing this:
1) A Download page for SCA (Java and native), A download page for SDO (Java
and native) and a Download page for all DAS Types?
2) A spearate Download page for SCA/Java, SCA/native, SDO/Java, SDO/native,
DAS
3) A download page per implementation language, meaning a Java Download, a
native Download and under each page one would find links to all subprojects.
4) One Download page for all the projects with an index for all projects.

My preference is option 1.  If there is no strong objection, I'll go ahead
and make it consistent based on option1.

In addition to the above inconsistency, some of the links point to the old
website. For example, the home page SCA  Download link points to [3].
I am assuming that all download information should reside on cwiki now. Is
this right? If so, I'll move all information to the Wiki.



[1]: http://cwiki.apache.org/confluence/display/TUSCANY/SDO+Java+Download
[2] http://cwiki.apache.org/confluence/display/TUSCANY/SDO+Java+Download
[3] http://incubator.apache.org/tuscany/sca_downloads.html

Haleh


Re: Website - Feedback please

2007-04-18 Thread haleh mahbod

These are done now:


1)  Using SDO Java could move to 'user guide' on this page.



+1

2) Code structure can move to get involved or even to the architecture doc


+1 to moving to "get involved"


On 4/17/07, kelvin goodson <[EMAIL PROTECTED]> wrote:


I replied to this thread on the tuscany-user list

On 12/04/07, haleh mahbod <[EMAIL PROTECTED]> wrote:
>
> Kelvin,
> Thanks for your review.  You mentioned that scopes should be the same
when
> on a given page.
> I agree.  I fixed it.  We now have a  sdo cpp FAQ and a sdo Java FAQ. I
> also moved text from some of the mentioned threads to the FAQ. The ones
I
> did not is because I did not know how to net it down to a question and
an
> answer.
>
> You mentioned General heading can be called Tuscany or SDO General
> heading. The General heading is more a collection of things that I
couldn't
> find a good title for on that page :) It is not intended to be general
for
> Tuscany.
>
> Some suggestion for the SDO Java page:
>
> 1)  Using SDO Java could move to 'user guide' on this page.
> 2) Code structure can move to get involved or even to the architecture
doc
>
> If there is agreement, I go ahead and make the changes.
> Haleh
>
>
> On 4/12/07, kelvin goodson <[EMAIL PROTECTED]> wrote:
> >
> > Haleh,
> >
> >   thanks for addressing these issues.  One concern I have after a
quick
> > look
> > is that on arriving at a pages such as
> > http://cwiki.apache.org/TUSCANY/sdo-java.html some of the links on the
> > left
> > under a given heading go off to a scope that is not intuitive from the
> > page
> > that you were on.  E.g. under the "General" sidebar heading,  the FAQ
> > link
> > for Java SDO goes to a page that I think is intended to contain
generic
> > cross language SDO questions, i.e. up one level of abstraction from
the
> > page
> > heading.  It's been that way since version 3 of the file, and I can't
> > work
> > out whether it's intended that way,  or just a result of copying the
> > content
> > from an existing C++ page.
> >
> > The next sidebar heading below FAQ --- "Downloads" --- relates to
> > downloading SDO Java (i.e. at the same level of abstraction of the
> > current
> > page).  I think it would be good if the sidebar headings grouped links
> > at
> > the same level of abstraction and made this clear from the heading
name
> > -
> > e.g. "Tuscany General", or "SDO General"
> >
> >
> > BTW,  FWIW, this prompted me to just catalogue the set of tuscany-dev
> > notes
> > that I have put an "FAQ" label against when reading the list. I had
the
> > intention of reviewing this list to see what was worth refining into
> > well
> > formed info snippets some time,  but haven't got to it yet.   Maybe we
> > can
> > divide and conquer to add to the website's FAQ set.  Does anyone else
> > have
> > anything like this?
> >
> > http://www.mail-archive.com/[EMAIL PROTECTED]/msg00469.html
> > http://www.mail-archive.com/tuscany-dev@ws.apache.org/msg13291.html
> > Ron Gavlin's response to tuscany-user of 5th of Jan (cant find a very
> > good
> > archive URL for this one)
> > My response to Alexander Pankov of  the  26th of Jan on t-user
> > (again  URL
> > not readily found)
> > http://www.mail-archive.com/[EMAIL PROTECTED]/msg00560.html
> > http://www.mail-archive.com/[EMAIL PROTECTED]/msg00610.html
> > The thread started by Adriano Crestani on 15th Feb "mvn problem?"
> > Unanswered thread from Ignacio on 16th Feb
> > Frank's responses to Murtaza Goga in the thread started 20th March
> >
> >
http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/200703.mbox/[EMAIL 
PROTECTED]
> > The thread entitled "Root property that is not containment" started
29th
> > of
> > Jan
> > The thread entitled "Getting started with Tuscany databinding" started
> > on
> > 10th April
> >
> > Regards, Kelvin.
> >
> >
> >
> >
> >
> >
> >
> >
> > On 12/04/07, haleh mahbod < [EMAIL PROTECTED]> wrote:
> > >
> > > Hi,
> > >
> > > As mentioned in [1] I started working on the website and the first
> > phase
> > > is
> > > ready for review.
> > >
> > > My first attempt ended up with something other than what I had
> > originally
> > > planned; which was to move content.  Instead, I worked on the
> > readability
> > > of
> > > the website.
> > > I have tried to use a consistent look and feel  across the pages  to
> > make
> > > it
> > > easier to find information. In addition, I tried to make
> > the  information
> > > available progressively ( allowing the user to decide if they want
to
> > > learn
> > > more).
> > >
> > > Here is the layout at a high level for the Tuscany Website (
> > > http://cwiki.apache.org/TUSCANY/)
> > >
> > >- Home page - On this page you will find the general stuff that
> > apply
> > >to the whole Tuscany as well as links to each subproject and
> > Downloads.
> > > - Each subproject has an overview page, for example SCA overview
> > or
> > >DAS overview. On the overview page you find a brief introduction
to
> > the
> > >subproject and links to re

Re: Monitoring, logging, and exceptions (was: Re: Notifcation of missing extensions)

2007-04-18 Thread Kevin Williams

Is SLF4J a better route than Log4j?  If so, I wonder if we should convert
over the RDB DAS.

On 4/18/07, ant elder <[EMAIL PROTECTED]> wrote:


On 4/17/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:



I found our current Monitor stuff difficult to follow as well. I suggest
> that we start a new discussion thread to discuss monitoring in general,
> and try to come up with something that will be more usable and easier to
> adopt through our whole runtime.


Starting the new thread for you...

I agree we should improve monitoring and logging in the runtime.

I've used AOP before for this type of thing, its cool, but it does add yet
another new thing to know about which could be off putting for new
developers. How about just using one of the existing logging packages that
most people are already completely familiar with? Commons Logging looks
like
its coming to its end, no one really likes java.util.logging, so how about
SLF4J, its really easy and nice to use?

I also think exception handling could be improved, I don't find the
current
exception formatter design easy to use, and most times stack traces end up
missing the important bit of information you need. How about just using
the
traditional way of  putting everything in the exception message and  using
properties files to allow for I18N?

One thing I've wondered about was having a release specifically targeting
these RAS type features. So once we've worked out the strategy for
logging,
exceptions, internationalization etc we have a release where a big focus
is
on implementing/fixing/testing all these RAS things.

   ...ant



Re: SCA 1.0 compliance questions

2007-04-18 Thread Rashmi Hunt


>Yes it is supported. By default we add o.a.t.assembly.SCABinding objects
>to promoted references and services, we do this in the last metadata
>processing phase - CompositeProcessor.wire() - after SCA assembly XML
>files have been read.



Does this mean Tuscany loads just the model object which is
o.a.t.assembly.SCABinding,
eliminating the loader part for default binding? However binding
implementation specific classes like
xxxTargetInvoker, xxxServiceBinding, xxxReferenceBinding and builder
which builds xxxServiceBinding and xxReferenceBinding are still required in
binding
implementation. Is this a correct assumption?

-Rashmi


Ability to use default binding across top-level-Composites?

2007-04-18 Thread Scott Kurz

Sorry, I don't have all the new code set up so let me just ask.

Is it possible with the code in trunk today to, over the default binding,
invoke a service that was deployed in a separate top-level-Composite?

That is, say, to deploy a component in Composite A  that invokes a component
service which is deployed in a separate top-level-Composite, Composite B?

Maybe what I'm asking is to what extent we've integrated the default binding
with a concept of a Tuscany "domain".

Thanks
Scott


Re: SCA 1.0 compliance questions

2007-04-18 Thread Scott Kurz

Sebastien,

I'm curious why we only add the  o.a.t.assembly.SCABinding objects only
to PROMOTED references and services.

My understanding (which could be wrong) is that you'd only promote a
ref/srvc to the Composite level if you intended to use this Composite as an
impl of another component.

So wouldn't we need to add the o.a.t.assembly.SCABinding (default binding)
to the component level reference, at least if it were a component in a
top-level-Composite.

Sorry that some of my understanding and terminology might be a bit outdated.

Scott


Re: [DAS] Performance / API / Spec

2007-04-18 Thread Frank Budinsky
Hi Ole,

I found out today that it will take 2-3 months before the OASIS SDO 
charter will be finalized and the discussions can begin. I'm involved with 
the charter, so I can tell you that both of the issues you mentioned are 
in scope for SDO 3, so they will be discussed once things get started.

For DataGraph.setRootObject(), the proposal is to either deprecate the 
DataGraph interface entirely or to make DataGraph also be a DataObject. 
Either way, you would set the root object using DataObject.set(). The root 
object would be an open content property so you could set it by simply 
calling something like this: dataGraph.set("company", myCompany).

Frank.

Ole Ersoy <[EMAIL PROTECTED]> wrote on 04/18/2007 01:41:53 PM:

> Hi Frank,
> 
> I looked around osoa.org to sign up for a account,
> but could not find a signup
> page.  Do you know if it's up yet?
> 
> Also, I noticed that there is no
> setRootDataObject() method on the
> DataGraph interface, but there is one on the
> implementation.
> 
> It seems like it should be in the interface as well.
> 
> Do you know whether there is a "Whiteboard" somewhere,
> where we can post SDO API suggestions?  Should I perhaps
> JIRA these in the Java Spec API section?
> 
> Thanks,
> - Ole
> 
> 
> 
> Frank Budinsky wrote:
> > Hi Ole,
> > 
> > I'm not sure what reasoning was to justify the ChangeSummary API which 

> > requires you to iterate over the one list returned by 
> > getChangedDataObjects() and then call isCreated(), isModified(), or 
> > isDeleted() to see if it was a C, U, or D.
> > 
> > If you look at class ChangeSummaryImpl, you'll notice that in Tuscany 
we 
> > actually implement this with three separate lists under the covers. 
The 
> > isDeleted() method, for example, looks like this:
> > 
> >   public boolean isDeleted(DataObject dataObject)
> >   {
> > return getCachedDeletedObjects().contains(dataObject);
> >   }
> > 
> > I know that there is a proposed SDO 3 work item to revisit 
ChangeSummary 
> > to see if the API could be improved. Perhaps you'd like to get 
involved in 
> > the spec discussion on this issue, when it begins? Now that it's 
moving to 
> > OASIS (http://osoa.org/display/Main/News+about+SCA+and+SDO), SDO 
design 
> > discussions will be open to everyone.
> > 
> > Frank.
> > 
> > 
> > Ole Ersoy <[EMAIL PROTECTED]> wrote on 04/17/2007 12:27:58 PM:
> > 
> >> Hi Guys,
> >>
> >> I have a few performance related
> >> questions with respect to change
> >> summary processing (Really spec related - hope it's ok that I float 
it 
> >> here).
> >>
> >> I just looked at the Change
> >> summary API and it looks like
> >> the DataGraph sets the
> >> isDeleted and isCreated
> >> flags on each DataObject instance
> >> that it creates or deletes, and
> >> then it adds them to the change summary.
> >>
> >> It seems like change summary
> >> processing would perform better
> >> if the Change summary had CUD lists.
> >>
> >> So one list for:
> >> - Created DataObjects
> >> - Deleted DataObjects
> >> - Update DataObjects
> >>
> >> Then these lists could be processed directly by the
> >> DAS and it would not have to check what type CUD
> >> was done for each object.
> >>
> >> Then the DataGraph only adds objects to these lists
> >> and does not need to set any flags, which means that
> >> during processing the flags don't need to be checked
> >> in order to perform the right type of processing.
> >>
> >> I'm still getting my feet wet here, but I thought I'd throw this out 
> >> there, since to me it seems like it's simpler and more light weight.
> >>
> >> Thoughts?
> >>
> >> Thanks,
> >> - Ole
> >>
> >>
> >>
> >>
> >>
> >>
> >> -
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> > 
> > 
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


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



Re: SCA 1.0 compliance questions

2007-04-18 Thread Jean-Sebastien Delfino

Answers inline.

Rashmi Hunt wrote:

1) As per 1.0 spec, bindings can be defined on a component. Component
service can be promoted to be composite service as shown in below 
example.




Question: Can current Tuscany's binding's loader/builder framework be 
able

to load bindings which are defined under component? Is this currently
supported?




This is supported by our new assembly model and artifact processors 
(replacing the old loaders). We'll have to double check that the connect 
logic in the runtime deployer implements this correctly as well, i.e. 
establishes the correct invocation chain using that binding instead of 
the binding specified on the promoted reference of a nested composite.














  

   

  ..

  

  










2) As per 1.0 spec, "A service or reference definition with no binding
element specified uses the SCA/default binding" Concrete sample is 
outlined

below where
there are no bindings defined under a service.  Tuscany binding's 
extension

framework is based on loader/builder framework which looks for
 in
order to build Service and Reference.



Question: Given this example how does Tuscany can build default binding,
without  defined?  Is it currently supported?



Yes it is supported. By default we add o.a.t.assembly.SCABinding objects 
to promoted references and services, we do this in the last metadata 
processing phase - CompositeProcessor.wire() - after SCA assembly XML 
files have been read.















  

  ..  binding,

which is binding.sca >

  

  









Help is appreciated



Regards

Rashmi



--
Jean-Sebastien


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



Re: DAS config file thorwable

2007-04-18 Thread Paulo Henrique Trecenti

Tank you...

2007/4/18, Luciano Resende <[EMAIL PROTECTED]>:


The ConnectionProperties as defined in config.xsd expect a field
"userName"


  
  
  
  
  
   

Could you please try that and let me know if it works for you ?

Also, if you have any issues connecting with MySQL, I have a post [1] with
some specific information on configuring DAS and MySQP together.

[1]

http://lresende.blogspot.com/2006/11/configuring-mysql-datasource-in-tomcat.html

On 4/18/07, Paulo Henrique Trecenti <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> I'm try using DAS and I want connect with MySQL without an Datasource
and
> the config file dosn't have a config for "UserName" and "Passowrd" when
I
> try use this
>
> 
>  -->user="database"
> -->password="database"
> driverClass="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
> databaseURL="jdbc:mysql://localhost:3306/database"
> loginTimeout="60"/>
> 
>
> the ConfigUtil dosn't read that.
> I just can used that, setting the "UserName" and "Password" in the code.
>
> --
> Paulo Henrique Trecenti
>



--
Luciano Resende
http://people.apache.org/~lresende





--
Paulo Henrique Trecenti


Re: DAS config file thorwable

2007-04-18 Thread Luciano Resende

The ConnectionProperties as defined in config.xsd expect a field "userName"


 
 
 
 
 
  

Could you please try that and let me know if it works for you ?

Also, if you have any issues connecting with MySQL, I have a post [1] with
some specific information on configuring DAS and MySQP together.

[1]
http://lresende.blogspot.com/2006/11/configuring-mysql-datasource-in-tomcat.html

On 4/18/07, Paulo Henrique Trecenti <[EMAIL PROTECTED]> wrote:


Hi,

I'm try using DAS and I want connect with MySQL without an Datasource and
the config file dosn't have a config for "UserName" and "Passowrd" when I
try use this


user="database"
-->password="database"
driverClass="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
databaseURL="jdbc:mysql://localhost:3306/database"
loginTimeout="60"/>


the ConfigUtil dosn't read that.
I just can used that, setting the "UserName" and "Password" in the code.

--
Paulo Henrique Trecenti





--
Luciano Resende
http://people.apache.org/~lresende


DAS config file thorwable

2007-04-18 Thread Paulo Henrique Trecenti

Hi,

I'm try using DAS and I want connect with MySQL without an Datasource and
the config file dosn't have a config for "UserName" and "Passowrd" when I
try use this


   user="database"
-->password="database"
   driverClass="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
   databaseURL="jdbc:mysql://localhost:3306/database"
   loginTimeout="60"/>
   

the ConfigUtil dosn't read that.
I just can used that, setting the "UserName" and "Password" in the code.

--
Paulo Henrique Trecenti


Re: Monitoring, logging, and exceptions (was: Re: Notifcation of missing extensions)

2007-04-18 Thread Raymond Feng

Hi,

Please see my comments below.

Thanks,
Raymond

- Original Message - 
From: "ant elder" <[EMAIL PROTECTED]>

To: 
Sent: Wednesday, April 18, 2007 3:51 AM
Subject: Monitoring, logging, and exceptions (was: Re: Notifcation of 
missing extensions)




On 4/17/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:



I found our current Monitor stuff difficult to follow as well. I suggest

that we start a new discussion thread to discuss monitoring in general,
and try to come up with something that will be more usable and easier to
adopt through our whole runtime.



Starting the new thread for you...

I agree we should improve monitoring and logging in the runtime.

I've used AOP before for this type of thing, its cool, but it does add yet
another new thing to know about which could be off putting for new
developers. How about just using one of the existing logging packages that
most people are already completely familiar with? Commons Logging looks 
like

its coming to its end, no one really likes java.util.logging, so how about
SLF4J, its really easy and nice to use?



I personally don't like the Commons Logging approach very much due to the 
fact that conflicting versions are used by many 3rd party artifacts.


With regard to AOP, do we really need to have all the developers learn how 
to use it? I assume we can put together some logging aspects in a separate 
module to take care of most of the logging/monitoring concerns. Other 
modules are not even aware of the existence of the AOP. Isn't it the 
objective of AOP to address the cross-cutting concerns without poluting the 
code?


I also think exception handling could be improved, I don't find the 
current

exception formatter design easy to use, and most times stack traces end up
missing the important bit of information you need. How about just using 
the

traditional way of  putting everything in the exception message and  using
properties files to allow for I18N?



I think we might be able to improve the ExceptionFormatter by providing a 
default formatter which could dump out all the information in the exception 
object. We already have a similar function in 
"org.apache.tuscany.assembly.util.PrintUtil" and we could further enhance 
it.


To support I18N, we could adopt a pattern for the exception so that a getter 
or a field can be recoginzed as the message id.



One thing I've wondered about was having a release specifically targeting
these RAS type features. So once we've worked out the strategy for 
logging,
exceptions, internationalization etc we have a release where a big focus 
is

on implementing/fixing/testing all these RAS things.



+1. Enabling RAS is a big effort.


  ...ant




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



Re: [DAS] Performance / API / Spec

2007-04-18 Thread Ole Ersoy

Hi Frank,

I looked around osoa.org to sign up for a account,
but could not find a signup
page.  Do you know if it's up yet?

Also, I noticed that there is no
setRootDataObject() method on the
DataGraph interface, but there is one on the
implementation.

It seems like it should be in the interface as well.

Do you know whether there is a "Whiteboard" somewhere,
where we can post SDO API suggestions?  Should I perhaps
JIRA these in the Java Spec API section?

Thanks,
- Ole



Frank Budinsky wrote:

Hi Ole,

I'm not sure what reasoning was to justify the ChangeSummary API which 
requires you to iterate over the one list returned by 
getChangedDataObjects() and then call isCreated(), isModified(), or 
isDeleted() to see if it was a C, U, or D.


If you look at class ChangeSummaryImpl, you'll notice that in Tuscany we 
actually implement this with three separate lists under the covers. The 
isDeleted() method, for example, looks like this:


  public boolean isDeleted(DataObject dataObject)
  {
return getCachedDeletedObjects().contains(dataObject);
  }

I know that there is a proposed SDO 3 work item to revisit ChangeSummary 
to see if the API could be improved. Perhaps you'd like to get involved in 
the spec discussion on this issue, when it begins? Now that it's moving to 
OASIS (http://osoa.org/display/Main/News+about+SCA+and+SDO), SDO design 
discussions will be open to everyone.


Frank.


Ole Ersoy <[EMAIL PROTECTED]> wrote on 04/17/2007 12:27:58 PM:


Hi Guys,

I have a few performance related
questions with respect to change
summary processing (Really spec related - hope it's ok that I float it 
here).


I just looked at the Change
summary API and it looks like
the DataGraph sets the
isDeleted and isCreated
flags on each DataObject instance
that it creates or deletes, and
then it adds them to the change summary.

It seems like change summary
processing would perform better
if the Change summary had CUD lists.

So one list for:
- Created DataObjects
- Deleted DataObjects
- Update DataObjects

Then these lists could be processed directly by the
DAS and it would not have to check what type CUD
was done for each object.

Then the DataGraph only adds objects to these lists
and does not need to set any flags, which means that
during processing the flags don't need to be checked
in order to perform the right type of processing.

I'm still getting my feet wet here, but I thought I'd throw this out 
there, since to me it seems like it's simpler and more light weight.


Thoughts?

Thanks,
- Ole






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




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




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



[jira] Resolved: (TUSCANY-826) Containment cycle should result in Exception

2007-04-18 Thread Kelvin Goodson (JIRA)

 [ 
https://issues.apache.org/jira/browse/TUSCANY-826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kelvin Goodson resolved TUSCANY-826.


Resolution: Fixed

resolved at revision 530092 by committing Brian's patch whereby circularities 
of containment are spotted when building XPaths during serialization by 
identifying a root object and detecting revisiting that root

> Containment cycle should result in Exception
> 
>
> Key: TUSCANY-826
> URL: https://issues.apache.org/jira/browse/TUSCANY-826
> Project: Tuscany
>  Issue Type: Bug
>  Components: Java SDO Implementation
>Affects Versions: Java-SDO-Mx
> Environment: Windows XP, both Sun and IBM JVMs
>Reporter: Brian Murray
> Fix For: Java-SDO-Mx
>
> Attachments: 826.patch, 826.zip, ContainmentCycle.patch, 
> ContainmentCycleError.java, ContainmentTest.zip, Updated826.zip, 
> Updated826.zip, Updated826.zip
>
>
> Near the bottom of page 19 in the 2.0.1 specification it is stated that 
> "Containment cannot have cycles.  If a set or add would create a containment 
> cycle an exception is thrown."
> However, I have found that no such exception is thrown.  I will attach a test 
> case showing the creation of (and the potential to infinitely loop through) a 
> containment cycle.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



Improve/simplify the runtime further

2007-04-18 Thread Raymond Feng

Hi,

I'm thinking of improving and simplifying the runtime further in the 
following directions:


1. Have the Tuscany runtime to maintain the SCA domain composite and 
refactor the DeployerImpl into the Domain service.


2. Simplify the relationship between runtime metadata 
(o.a.t.spi.Component/Service/Reference) for the invocations and model 
(o.a.t.assembly.*).


3. Improve the Wire/InvocationChain to support dynamic style invocation (in 
cases that we don't know or don't care about the interface/operation until 
runtime) in addtion to the operation-based invocation chain.


4. Implement the CallableReference/ServiceReference/CallbackReference.

The list is not meant to be complete. Please feel free to add your ideas.

Thanks,
Raymond


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



[jira] Updated: (TUSCANY-826) Containment cycle should result in Exception

2007-04-18 Thread Brian Murray (JIRA)

 [ 
https://issues.apache.org/jira/browse/TUSCANY-826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brian Murray updated TUSCANY-826:
-

Attachment: Updated826.zip

Updated the headers in the statically generated files.

> Containment cycle should result in Exception
> 
>
> Key: TUSCANY-826
> URL: https://issues.apache.org/jira/browse/TUSCANY-826
> Project: Tuscany
>  Issue Type: Bug
>  Components: Java SDO Implementation
>Affects Versions: Java-SDO-Mx
> Environment: Windows XP, both Sun and IBM JVMs
>Reporter: Brian Murray
> Fix For: Java-SDO-Mx
>
> Attachments: 826.patch, 826.zip, ContainmentCycle.patch, 
> ContainmentCycleError.java, ContainmentTest.zip, Updated826.zip, 
> Updated826.zip, Updated826.zip
>
>
> Near the bottom of page 19 in the 2.0.1 specification it is stated that 
> "Containment cannot have cycles.  If a set or add would create a containment 
> cycle an exception is thrown."
> However, I have found that no such exception is thrown.  I will attach a test 
> case showing the creation of (and the potential to infinitely loop through) a 
> containment cycle.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



[jira] Commented: (TUSCANY-826) Containment cycle should result in Exception

2007-04-18 Thread Kelvin Goodson (JIRA)

[ 
https://issues.apache.org/jira/browse/TUSCANY-826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12489811
 ] 

Kelvin Goodson commented on TUSCANY-826:


Hi Brian,  could you please change the headers in the static files for Apache 
License headers, thanks.

> Containment cycle should result in Exception
> 
>
> Key: TUSCANY-826
> URL: https://issues.apache.org/jira/browse/TUSCANY-826
> Project: Tuscany
>  Issue Type: Bug
>  Components: Java SDO Implementation
>Affects Versions: Java-SDO-Mx
> Environment: Windows XP, both Sun and IBM JVMs
>Reporter: Brian Murray
> Fix For: Java-SDO-Mx
>
> Attachments: 826.patch, 826.zip, ContainmentCycle.patch, 
> ContainmentCycleError.java, ContainmentTest.zip, Updated826.zip, 
> Updated826.zip
>
>
> Near the bottom of page 19 in the 2.0.1 specification it is stated that 
> "Containment cannot have cycles.  If a set or add would create a containment 
> cycle an exception is thrown."
> However, I have found that no such exception is thrown.  I will attach a test 
> case showing the creation of (and the potential to infinitely loop through) a 
> containment cycle.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



SCA 1.0 compliance questions

2007-04-18 Thread Rashmi Hunt

1) As per 1.0 spec, bindings can be defined on a component. Component
service can be promoted to be composite service as shown in below example.



Question: Can current Tuscany's binding's loader/builder framework be able
to load bindings which are defined under component? Is this currently
supported?













  

   

  ..

  

  










2) As per 1.0 spec, "A service or reference definition with no binding
element specified uses the SCA/default binding" Concrete sample is outlined
below where
there are no bindings defined under a service.  Tuscany binding's extension
framework is based on loader/builder framework which looks for
 in
order to build Service and Reference.



Question: Given this example how does Tuscany can build default binding,
without  defined?  Is it currently supported?













  

  ..  

  

  









Help is appreciated



Regards

Rashmi


[jira] Assigned: (TUSCANY-1215) Support of property override with recursive scdl files

2007-04-18 Thread Venkatakrishnan (JIRA)

 [ 
https://issues.apache.org/jira/browse/TUSCANY-1215?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Venkatakrishnan reassigned TUSCANY-1215:


Assignee: Venkatakrishnan

> Support of property override with recursive scdl files
> --
>
> Key: TUSCANY-1215
> URL: https://issues.apache.org/jira/browse/TUSCANY-1215
> Project: Tuscany
>  Issue Type: Improvement
>Affects Versions: Java-SCA-M2
> Environment: All
>Reporter: Hasan Muhammad
> Assigned To: Venkatakrishnan
>
> We were trying this scenario out where we have a section in the default scdl 
> as follows:
> 
> 
> 
> MySimpleServiceInRecursiveAnother/MyServiceNew1
>
> 
> 
>   
> 
> Durham
> 2009
>   
> We have the two properties newLocation and newYear defined in 
> mySimpleService.scdl as follows:
> 
> 
> MyServiceComponentNew/MyService   
> 
>   Raleigh
>   2008
> 
> 
>   
>   
> 
> When we try to get the property of  location through MySimpleServiceAnother, 
> it gives back the value "Raleigh". It should give "Durham", In other words 
> during runtime, the original value must be overwritten with the new one that 
> we provided in the default.scdl under the component 
> "MySimpleServiceInRecursiveAnother". This feature of property override needs 
> to be supported.
> Hasan

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



Re: [jira] Account signup

2007-04-18 Thread ant elder

Twas me, was just tidying JIRA things, no malicious intent :) Its just a
place holder userid just for its user name "Tuscany Developers" for our JIRA
project. Its not actually used for anything and isn't subscribed to anything
so shouldn't cause duplicate notifications.

  ...ant

On 4/18/07, kelvin goodson <[EMAIL PROTECTED]> wrote:


Is this intentional on somebody's part or is it malicious in some way.  I
can't see that it would be particularly malicious,  but I imagine that
anyone subscribed to tucany-dev will now get JIRA notifications twice. Can
whoever has done this please explain why?

Thanks, Kelvin.

On 18/04/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> You have signed up for a JIRA account at:
>
>https://issues.apache.org/jira
>
> Here are the details of your account:
> -
> Username: tuscany-dev@ws.apache.org
>Email: tuscany-dev@ws.apache.org
>Full Name: Tuscany Developers
> Password: ant8pies
> (You can always retrieve these via the "Forgot Password" link on the
> signup page)
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



Re: [jira] Account signup

2007-04-18 Thread kelvin goodson

Is this intentional on somebody's part or is it malicious in some way.  I
can't see that it would be particularly malicious,  but I imagine that
anyone subscribed to tucany-dev will now get JIRA notifications twice. Can
whoever has done this please explain why?

Thanks, Kelvin.

On 18/04/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:


You have signed up for a JIRA account at:

   https://issues.apache.org/jira

Here are the details of your account:
-
Username: tuscany-dev@ws.apache.org
   Email: tuscany-dev@ws.apache.org
   Full Name: Tuscany Developers
Password: ant8pies
(You can always retrieve these via the "Forgot Password" link on the
signup page)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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




[jira] Account signup

2007-04-18 Thread jira
You have signed up for a JIRA account at:

   https://issues.apache.org/jira

Here are the details of your account:
-
Username: tuscany-dev@ws.apache.org
   Email: tuscany-dev@ws.apache.org
   Full Name: Tuscany Developers
Password: ant8pies
(You can always retrieve these via the "Forgot Password" link on the signup 
page)
-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



Re: Monitoring, logging, and exceptions (was: Re: Notifcation of missing extensions)

2007-04-18 Thread Simon Laws

Ant

Replies in line

On 4/18/07, ant elder <[EMAIL PROTECTED]> wrote:


On 4/17/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:



I found our current Monitor stuff difficult to follow as well. I suggest
> that we start a new discussion thread to discuss monitoring in general,
> and try to come up with something that will be more usable and easier to
> adopt through our whole runtime.


Starting the new thread for you...

I agree we should improve monitoring and logging in the runtime.

I've used AOP before for this type of thing, its cool, but it does add yet
another new thing to know about which could be off putting for new
developers. How about just using one of the existing logging packages that
most people are already completely familiar with? Commons Logging looks
like
its coming to its end, no one really likes java.util.logging, so how about
SLF4J, its really easy and nice to use?



Simple is good. I've not done much with Aspects but we could really do with
keeping down the complexity quotient I think. I'm keen that whatever
information we put out can be transported to whatever management solution is
used in the future so having a facade for accepting logged information
sounds good. We can start off with a simple console logger and migrate to
more complex distributed managment/logging solutions if required in the
future.

I also think exception handling could be improved, I don't find the current

exception formatter design easy to use, and most times stack traces end up
missing the important bit of information you need. How about just using
the
traditional way of  putting everything in the exception message and  using
properties files to allow for I18N?



I agree that I find the current exception messages lacking but I have to
admit to not having studied how they are implemented so I'll go take a look
and come back on this one.

One thing I've wondered about was having a release specifically targeting

these RAS type features. So once we've worked out the strategy for
logging,
exceptions, internationalization etc we have a release where a big focus
is
on implementing/fixing/testing all these RAS things.



+1 I'm stringly in favour of this and would very much like to help out. Even
if it's not all of the community if a few of us can take a sweep through the
code and get the level of error reporting/logging up a notch then that's
going to improve our usability no end. People don't expect the software to
be perfect but if it fails and doesn't give any clues in lots of cases that
that gives a bad impression. This is particulalry the case when the failure
is down to user input. So we need to be really careful about loading the
assembly model and loading extensions to report any detected inconsistencies
in a easy to understand manner.

  ...ant




Simon


Monitoring, logging, and exceptions (was: Re: Notifcation of missing extensions)

2007-04-18 Thread ant elder

On 4/17/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:



I found our current Monitor stuff difficult to follow as well. I suggest

that we start a new discussion thread to discuss monitoring in general,
and try to come up with something that will be more usable and easier to
adopt through our whole runtime.



Starting the new thread for you...

I agree we should improve monitoring and logging in the runtime.

I've used AOP before for this type of thing, its cool, but it does add yet
another new thing to know about which could be off putting for new
developers. How about just using one of the existing logging packages that
most people are already completely familiar with? Commons Logging looks like
its coming to its end, no one really likes java.util.logging, so how about
SLF4J, its really easy and nice to use?

I also think exception handling could be improved, I don't find the current
exception formatter design easy to use, and most times stack traces end up
missing the important bit of information you need. How about just using the
traditional way of  putting everything in the exception message and  using
properties files to allow for I18N?

One thing I've wondered about was having a release specifically targeting
these RAS type features. So once we've worked out the strategy for logging,
exceptions, internationalization etc we have a release where a big focus is
on implementing/fixing/testing all these RAS things.

  ...ant


[jira] Commented: (TUSCANY-1217) Loading nested includes.

2007-04-18 Thread Simon Laws (JIRA)

[ 
https://issues.apache.org/jira/browse/TUSCANY-1217?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12489687
 ] 

Simon Laws commented on TUSCANY-1217:
-

This is discussed on the list in this thread:

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

And is currently demonstrated in the databinding itest. 

> Loading nested includes. 
> -
>
> Key: TUSCANY-1217
> URL: https://issues.apache.org/jira/browse/TUSCANY-1217
> Project: Tuscany
>  Issue Type: Bug
>  Components: Java SCA Kernel
>Affects Versions: Java-SCA-Next
> Environment: All
>Reporter: Simon Laws
>Priority: Minor
>
> Lest we forget...
> Currently there is code in WSDLDocumentProcessor.read()  (the two lines with 
> the comment above them).
> // Read inline schemas
> Types types = definition.getTypes();
> if (types != null) {
> wsdlDefinition.getInlinedSchemas().setSchemaResolver(new 
> URIResolverImpl());
> for (Object ext : types.getExtensibilityElements()) {
> if (ext instanceof Schema) {
> Element element = ((Schema)ext).getElement();
> // TODO: temporary fix to make includes in imported
> //   schema work. The XmlSchema library was 
> crashing
> //   because the base uri was not set. This 
> doesn't
> //   affect imports.
> XmlSchemaCollection schemaCollection = 
> wsdlDefinition.getInlinedSchemas();   
> 
> schemaCollection.setBaseUri(((Schema)ext).getDocumentBaseURI());
> wsdlDefinition.getInlinedSchemas().read(element, 
> element.getBaseURI());
> }
> }
> }
> Which sets the base dir against which included XSD files are loaded.  However 
> this seems to mean that in the scenario:
> WSDL1 import---> XSD1 inlcude.---> XSD2
>  
> Then XSD2 has to be included relative to the location of WSDL1 which doesn't 
> sound right. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



[jira] Created: (TUSCANY-1217) Loading nested includes.

2007-04-18 Thread Simon Laws (JIRA)
Loading nested includes. 
-

 Key: TUSCANY-1217
 URL: https://issues.apache.org/jira/browse/TUSCANY-1217
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Kernel
Affects Versions: Java-SCA-Next
 Environment: All
Reporter: Simon Laws
Priority: Minor


Lest we forget...

Currently there is code in WSDLDocumentProcessor.read()  (the two lines with 
the comment above them).

// Read inline schemas
Types types = definition.getTypes();
if (types != null) {
wsdlDefinition.getInlinedSchemas().setSchemaResolver(new 
URIResolverImpl());
for (Object ext : types.getExtensibilityElements()) {
if (ext instanceof Schema) {
Element element = ((Schema)ext).getElement();

// TODO: temporary fix to make includes in imported
//   schema work. The XmlSchema library was crashing
//   because the base uri was not set. This doesn't
//   affect imports.
XmlSchemaCollection schemaCollection = 
wsdlDefinition.getInlinedSchemas();   

schemaCollection.setBaseUri(((Schema)ext).getDocumentBaseURI());

wsdlDefinition.getInlinedSchemas().read(element, 
element.getBaseURI());
}
}
}

Which sets the base dir against which included XSD files are loaded.  However 
this seems to mean that in the scenario:

WSDL1 import---> XSD1 inlcude.---> XSD2
 
Then XSD2 has to be included relative to the location of WSDL1 which doesn't 
sound right. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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



Re: Use of HelperContext to indetify SDO databinding?

2007-04-18 Thread Simon Laws

On 4/16/07, Raymond Feng <[EMAIL PROTECTED]> wrote:


Hi, Simon.

I think you hit the point. We still need to flush out the complete design
on
how to scope SDO metadata and how to provide access to the SCA components.
At this moment, I register the SDO types with the default helper context
too
(HelperProvider.getDefaultContext()). Please let me know which test case I
can use to further investigate.

Thanks,
Raymond

- Original Message -
From: "Simon Laws" <[EMAIL PROTECTED]>
To: "tuscany-dev" 
Sent: Monday, April 16, 2007 2:04 PM
Subject: Use of HelperContext to indetify SDO databinding?


> Static SDO used in the databinding tests with the Axis2 binding are not
> being successfully identified as SDOs.
> In SDODataBinding.introspect() one of the tests use to identify and SDO
> from
> a Java type is as follows
>
>HelperContext context = HelperProvider.getDefaultContext();
>
>...
>
>// FIXME: We need to access HelperContext
>Type type = context.getTypeHelper().getType(javaType);
>if (type == null) {
>return false;
>}
>
> However when the ImportSDO functionality runs it associates the importer
> with a HelperContext from the helperContextRegistry.
>
>   helperContext = helperContextRegistry.getHelperContext(id);
>
> This doesn't look right to me as I expect different HelperContexts will
be
> used. I can't work out how to get to the helperContextRegistry from the
> SDODataBinding (and it's getting late) but if someone who knows
> databindings
> could take a look and confirm or not whether this is an issue I can take
a
> look tomorrow.
>
> Regards
>
> Simon
>


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

Hi Raymond


Sorry about the delay, I had to go do something else yesterday. Anyhow I
tracked down the problem this morning. The CompositeProcessor resolves the
artifacts in the composite in the wrong order. I.e. it resolves components
before it has resolves the extensions, e.g. SDO imports, that the components
depend on.

Moving the extension processing loop above the component processing loop in
CompositeProcessor.resolve works for me. Am just testing my build etc. to
make sure there are no detrimental effects but will check this in when done.

Regards

Simon


Re: Intermittent failures in tests using the HTTP services

2007-04-18 Thread Simon Laws

On 4/18/07, ant elder <[EMAIL PROTECTED]> wrote:


I get intermittent build failures when running the build in the testcases
which use the HTTP service, the error is pasted in below, is anyone else
seeing this?

Its really easy (in my environment) to recreate, change into
sca\modules\binding-ws-axis2 and run mvn, around 50% of the time one of
the
testcases will fail.

This looks just like the problem some of us were seeing with testcases in
the integration branch, that did seem to be a Windows only problem, but
I'm
not sure we ever got to the bottom of it.

   ...ant

Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(
ServerSocketChannelImpl.java:119)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java
:59)
at org.mortbay.jetty.nio.SelectChannelConnector.open(
SelectChannelConnector.java:198)
at org.mortbay.jetty.AbstractConnector.doStart(
AbstractConnector.java:251)
at org.mortbay.jetty.nio.SelectChannelConnector.doStart(
SelectChannelConnector.java:233)
at org.mortbay.component.AbstractLifeCycle.start(
AbstractLifeCycle.java:40)
at org.mortbay.jetty.Server.doStart(Server.java:221)
at org.mortbay.component.AbstractLifeCycle.start(
AbstractLifeCycle.java:40)
at org.apache.tuscany.http.jetty.JettyServer.addServletMapping(
JettyServer.java:175)


Ant

I'm on windows but not seeing this at the moment. The only time I have seen
the message is when I've had another app open on 8080 by accident (A VOIP
app as it happens with took me by surprise a little). I'll keep an eye out
and report back here if I start to see it.

Simon


RE: [Java SDO CTS] Junit 4.1 pattern for calling setUp when classes don't inherit from TestCase

2007-04-18 Thread Andy Grove
Hi Kelvin,
 
Robbie's main concern seems to be the ability to run the tests within a
J2EE or service container and he mentions "classloader hierarchy" issues
in his description. I'm guessing that the junit test runner uses a
custom class loader that caused problems when used within a J2EE
container. Now that we have established that the test cases themselves
can be invoked using reflection it seems that users should be able to
write code that calls the tests directly from their own, or from some
other testing framework, without any dependency on the junit test
runner.
 
Thanks,
 
Andy.



From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of kelvin goodson
Sent: 17 April 2007 16:59
To: Andy Grove
Cc: tuscany-dev@ws.apache.org
Subject: Re: [Java SDO CTS] Junit 4.1 pattern for calling setUp when
classes don't inherit from TestCase


Andy,
  that's really helpful.  I guess my problem was, and still is to some
extent, knowing whether reliance upon the junit.jar is acceptable to the
set of people we are trying to cater for.  I think your example has made
something clear to me though,  which is that our prime aim would be to
cater for the junit harness or anyone's home grown harness,  but not
necessarily another 3rd party harness.  Do you think this is what the
original intention of the meaning of "harness agnostic" is? 

Regards, Kelvin.



On 17/04/07, Andy Grove <[EMAIL PROTECTED]> wrote: 


To better understand this myself, I just put a simple test case
together
using junit 4.1 with annotations and made use of the junit
assertion
calls e.g.

public class MyTest {
@Test
public void testSomething() { 
// this test will fail
assertEquals( "numbers are same", 1, 2 );
}
}

I then wrote a simple test harness to load the test class using
reflection and invoke any methods starting with "test". 

public static void main(String[] args) throws Exception {
Class testClass = Class.forName( "test.MyTest" );
Object testObject = testClass.newInstance();
Method method[] = testClass.getMethods();
for (int i = 0; i < method.length; i++) {
if (method[i].getName().startsWith("test")) {
System.out.println("Running " +
method[i].getName()); 
try {
method[i].invoke( testObject );
} catch (Throwable th) {
th.printStackTrace();
}
}
}
}

This ran the above test method and caught the following
exception:

java.lang.AssertionError: numbers are same expected:<1> but
was:<2>

For me, this seems to demonstrate that using junit 4.1 style
tests will
allow people to call their tests from their own test harnesses
without
requiring junit-users to have to go to any special effort. The
junit
Assert.* methods simply check some criteria and then call fail()
if that 
criteria is false. The fail() method simply throws an
AssertionError.

Writing the CTS tests using junit with annotations (rather than
extending TestCase) does seem to provide everything required to
allow
users to run the tests outside of junit, albeit with a
dependency on
junit.jar but I don't see why that would be a problem for
anyone? We
could write our own versions of the assert* methods but they
would do
exactly the same thing as the junit implementation so this seems
rather
pointless.

My conclusion is that we should continue writing SDO CTS tests
using
junit, but ensure we use the annotation pattern rather than
extending 
TestCase. Is everyone happy with this?

Thanks,

Andy.


-Original Message-
From: kelvin goodson [mailto:[EMAIL PROTECTED]
Sent: 17 April 2007 14:53 
To: tuscany-dev@ws.apache.org
Subject: Re: [Java SDO CTS] Junit 4.1 pattern for calling setUp
when
classes don't inherit from TestCase

Yes, I was about to write to the list on this subject. I'd like
to 
understand more of how the test harness agnosticism was
intended, and
whether its really practical. As it stands there is still junit
through
and through,  in particular, each test method still references
junit
assertion calls.  Even if we could do assertions from
annotations (as
per JML pre and post conditions),  we still have all the junit
imports.
If that were possible, then I guess each of the test methods
could be
invoked by something other than the junit test harness,  but
they would

Intermittent failures in tests using the HTTP services

2007-04-18 Thread ant elder

I get intermittent build failures when running the build in the testcases
which use the HTTP service, the error is pasted in below, is anyone else
seeing this?

Its really easy (in my environment) to recreate, change into
sca\modules\binding-ws-axis2 and run mvn, around 50% of the time one of the
testcases will fail.

This looks just like the problem some of us were seeing with testcases in
the integration branch, that did seem to be a Windows only problem, but I'm
not sure we ever got to the bottom of it.

  ...ant

Caused by: java.net.BindException: Address already in use: bind
   at sun.nio.ch.Net.bind(Native Method)
   at sun.nio.ch.ServerSocketChannelImpl.bind(
ServerSocketChannelImpl.java:119)
   at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
   at org.mortbay.jetty.nio.SelectChannelConnector.open(
SelectChannelConnector.java:198)
   at org.mortbay.jetty.AbstractConnector.doStart(
AbstractConnector.java:251)
   at org.mortbay.jetty.nio.SelectChannelConnector.doStart(
SelectChannelConnector.java:233)
   at org.mortbay.component.AbstractLifeCycle.start(
AbstractLifeCycle.java:40)
   at org.mortbay.jetty.Server.doStart(Server.java:221)
   at org.mortbay.component.AbstractLifeCycle.start(
AbstractLifeCycle.java:40)
   at org.apache.tuscany.http.jetty.JettyServer.addServletMapping(
JettyServer.java:175)


RE: [Java SDO CTS] Junit 4.1 pattern for calling setUp when classes don't inherit from TestCase

2007-04-18 Thread Andy Grove

Frank,

You're absolutely right. I guess I'd forgotten that you could override a
protected method and make it public.

In that case, it doesn't seem to matter if we use "old-style" junit or
annotations - it should still be possible to call the tests without
using the junit test runners.

Andy.

-Original Message-
From: Frank Budinsky [mailto:[EMAIL PROTECTED] 
Sent: 17 April 2007 18:01
To: tuscany-dev@ws.apache.org
Subject: RE: [Java SDO CTS] Junit 4.1 pattern for calling setUp when
classes don't inherit from TestCase

Hi Andy,

Java allows you make something more visible in a derived class than in
the base, so declaring setUp() public in MyTest wouldn't seem to be a
problem. 


Frank

"Andy Grove" <[EMAIL PROTECTED]> wrote on 04/17/2007 12:19:37 PM:

> Hi Frank,
> 
> The TestCase class defines setUp and tearDown as protected methods,
> forcing the child class to also declare them as protected methods and
> this means they can't be loaded using reflection.
> 
> Using junit 4.1 means we can declare the methods as public.
> 
> Thanks,
> 
> Andy.
> 
> -Original Message-
> From: Frank Budinsky [mailto:[EMAIL PROTECTED] 
> Sent: 17 April 2007 17:03
> To: tuscany-dev@ws.apache.org
> Subject: RE: [Java SDO CTS] Junit 4.1 pattern for calling setUp when
> classes don't inherit from TestCase
> 
> Hi Andy,
> 
> Maybe this is a stupid question (my junit ignorance showing through
:-),
> but couldn't you have run your simple test harness (main) even if
MyTest
> extended from TestCase? Is there something about having the base class
> that prevents you from simply invoking the test methods directly?
> 
> Frank.
> 
> "Andy Grove" <[EMAIL PROTECTED]> wrote on 04/17/2007 11:21:49 AM:
> 
> > 
> > To better understand this myself, I just put a simple test case 
> > together using junit 4.1 with annotations and made use of the junit 
> > assertion calls e.g.
> > 
> > public class MyTest {
> > @Test
> > public void testSomething() {
> > // this test will fail
> > assertEquals( "numbers are same", 1, 2 );
> > }
> > }
> > 
> > I then wrote a simple test harness to load the test class using 
> > reflection and invoke any methods starting with "test".
> > 
> >  public static void main(String[] args) throws Exception {
> > Class testClass = Class.forName( "test.MyTest" );
> > Object testObject = testClass.newInstance();
> > Method method[] = testClass.getMethods();
> > for (int i = 0; i < method.length; i++) {
> > if (method[i].getName().startsWith("test")) {
> > System.out.println("Running " +
method[i].getName());
> > try {
> > method[i].invoke( testObject );
> > } catch (Throwable th) {
> > th.printStackTrace();
> > }
> > }
> > }
> > }
> > 
> > This ran the above test method and caught the following exception:
> > 
> > java.lang.AssertionError: numbers are same expected:<1> but was:<2>
> > 
> > For me, this seems to demonstrate that using junit 4.1 style tests 
> > will allow people to call their tests from their own test harnesses 
> > without requiring junit-users to have to go to any special effort.
The
> 
> > junit
> > Assert.* methods simply check some criteria and then call fail() if 
> > that criteria is false. The fail() method simply throws an
> AssertionError.
> > 
> > Writing the CTS tests using junit with annotations (rather than 
> > extending TestCase) does seem to provide everything required to
allow 
> > users to run the tests outside of junit, albeit with a dependency on

> > junit.jar but I don't see why that would be a problem for anyone? We

> > could write our own versions of the assert* methods but they would
do 
> > exactly the same thing as the junit implementation so this seems 
> > rather pointless.
> > 
> > My conclusion is that we should continue writing SDO CTS tests using

> > junit, but ensure we use the annotation pattern rather than
extending 
> > TestCase. Is everyone happy with this?
> > 
> > Thanks,
> > 
> > Andy.
> > 
> > 
> > -Original Message-
> > From: kelvin goodson [mailto:[EMAIL PROTECTED]
> > Sent: 17 April 2007 14:53
> > To: tuscany-dev@ws.apache.org
> > Subject: Re: [Java SDO CTS] Junit 4.1 pattern for calling setUp when

> > classes don't inherit from TestCase
> > 
> > Yes, I was about to write to the list on this subject. I'd like to 
> > understand more of how the test harness agnosticism was intended,
and 
> > whether its really practical. As it stands there is still junit 
> > through and through,  in particular, each test method still
references
> 
> > junit assertion calls.  Even if we could do assertions from 
> > annotations (as per JML pre and post conditions),  we still have all
> the junit imports.
> > If that were possible, then I guess each of the test methods could
be 
> > invoked by something other than the junit test harness,  but they 
> > would h

Re: Problem (?) in sdo2om databinding test case

2007-04-18 Thread Simon Laws

On 4/17/07, Raymond Feng <[EMAIL PROTECTED]> wrote:


Hi,

Did you run with "mvn clean install"? It seems that you have some obsolete
classes in the target folder.

Thanks,
Raymond

- Original Message -
From: "Simon Laws" <[EMAIL PROTECTED]>
To: "tuscany-dev" 
Sent: Tuesday, April 17, 2007 10:15 AM
Subject: Problem (?) in sdo2om databinding test case


> Just doing a complete build from scratch (repo clean etc.) and I go the
> following in the maven build
>
> Running
org.apache.tuscany.databinding.sdo2om.DataObject2OMElementTestCase
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.011sec
> <<< FA
> ILURE!
> testTransform(
> org.apache.tuscany.databinding.sdo2om.DataObject2OMElementTestCase
> )  Time elapsed: 0.891 sec  <<< ERROR!
> java.lang.NoSuchFieldError:
> org/apache/tuscany/databinding/sdo2om/DataObject2OME
> lementTestCase.context
>at
> org.apache.tuscany.databinding.sdo2om.DataObject2OMElementTestCase.te
> stTransform(DataObject2OMElementTestCase.java:32)
>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.
> java:64)
>at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAcces
> sorImpl.java:43)
>at java.lang.reflect.Method.invoke(Method.java:615)
>at junit.framework.TestCase.runTest(TestCase.java:168)
>at junit.framework.TestCase.runBare(TestCase.java:134)
>at junit.framework.TestResult$1.protect(TestResult.java:110)
>at junit.framework.TestResult.runProtected(TestResult.java:128)
>at junit.framework.TestResult.run(TestResult.java:113)
>
> Is anyone else seeing this or should I be looking to start from scratch
> again?
>
> Regards
>
> Simon
>


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

Thanks Raymond. Your are of course right. Coming back with a fresh eye

this morning it all builds OK.

Thanks

Simon